diff --git a/en/gnome/docs/porting.sgml b/en/gnome/docs/porting.sgml index a7c6f1eba7..aa23172687 100644 --- a/en/gnome/docs/porting.sgml +++ b/en/gnome/docs/porting.sgml @@ -14,6 +14,7 @@

General instructions can be found in the FreeBSD Porter's Handbook.

+

GNOME Makefile Macros

For ports that require GNOME, you should define the following in your port's Makefile:

@@ -68,6 +69,52 @@ WANT_GNOME= yes + +

GNOME Internationalization

+

GNOME relies on the gettext port to do + internationalization (I18N). FreeBSD currently supports two versions + of gettext: 0.10.35 and 0.10.40. Most ports can use + 0.10.35. However, if, when compiling your port, you get an error + building the .po translation files similar to the following you will + need to use the newer version of gettext:

+ +
+/usr/local/bin/msgfmt -o zh_TW.mo zh_TW.po
+zh_TW.po:255: end-of-line within string
+zh_TW.po:912: illegal control sequence
+zh_TW.po:2806: end-of-line within string
+zh_TW.po:2856: end-of-line within string
+zh_TW.po:2879: illegal control sequence
+zh_TW.po:2982: end-of-line within string
+found 6 fatal errors
+        
+ +

To use the newer gettext, add the following to your port's + Makefile:

+ +
+BUILD_DEPENDS=  msgfmt-new:${PORTSDIR}/devel/gettext-devel
+CONFIGURE_ENV+= MSGFMT=${LOCALBASE}/bin/msgfmt-new \
+				XGETTEXT=${LOCALBASE}/bin/xgettext-new
+		
+ +

When installing GNOME applications, make sure the translation + files are put in /usr/X11R6/share/locale and + not /usr/X11R6/share/gnome/locale. To do this, add the + following to your port's Makefile's pre-patch: section:

+ +
+pre-patch:
+	@find ${WRKSRC} -name "Makefile.in*" | xargs ${PERL} -pi -e \
+		's|\$\(datadir\)/gnome/|\$\(datadir\)/|g ; \
+		s|\$\(datadir\)/locale|\$\(prefix\)/share/locale|g'
+        
+ +

Also, make sure the translation files are installed as .mo files and + not .gmo files. To do this, you can generally use this + patch.

+ +

The more ported applications we have, the better.