From: martin-s Date: Thu, 12 Jul 2007 19:35:44 +0000 (+0000) Subject: Improved i18n support X-Git-Tag: navit-0.5.0.5194svn~4821 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=114a3857ee88db30626999d8473cda6dbde1434a;p=profile%2Fivi%2Fnavit.git Improved i18n support git-svn-id: https://navit.svn.sourceforge.net/svnroot/navit/trunk@327 ffa7fe5e-494d-0410-b361-a75ebd5db220 --- diff --git a/navit/configure.in b/navit/configure.in index cdaab14..218e7fc 100644 --- a/navit/configure.in +++ b/navit/configure.in @@ -175,6 +175,63 @@ AC_SUBST(PYTHON_CFLAGS) AC_SUBST(PYTHON_LIBS) AM_CONDITIONAL(BINDING_PYTHON, [test "x$python" = "xyes"]) +# NLS + +AC_ARG_ENABLE(nls, + [ --disable-nls disable Native Language Support ( gettext/libintl )], + enable_nls=$enableval, enable_nls=yes) + + +INTLIBS="" +MOFILES="" +POFILES="" +LINGUAS="" + +if test x$enable_nls = xyes; then + + AC_CHECK_FUNC(gettext, [HAVEGETTEXT="yes"], + AC_CHECK_LIB(intl, gettext, [INTLIBS="-lintl" HAVEGETTEXT="yes"], + INTLIBS="" )) + + AC_CHECK_PROG(XGETTEXT, xgettext, xgettext) + AC_CHECK_PROG(MSGMERGE, msgmerge, msgmerge) + AC_CHECK_PROG(MSGFMT, msgfmt, msgfmt) + + if test "$XGETTEXT" != ""; then + if $XGETTEXT --help 2>&1 | grep illegal >/dev/null ; then + echo "xgettext isn't GNU version" + XGETTEXT="" + fi + fi + + if test "$XGETTEXT" != "" -a "$HAVEGETTEXT" != ""; then + PO="" + if test "$LINGUAS" = ""; then + ling=` (cd po; /bin/ls *.po) ` + for l in $ling; do + lcode=`basename $l .po` + LINGUAS="$LINGUAS$lcode " + done + fi + AC_DEFINE(ENABLE_NLS, [1], [NLS Please]) + echo "xgettext and gettext() exist; will build i18n support for $LINGUAS" + else + LINGUAS="" + PO="" + echo "xgettext and libintl.a don't both exist; will not build i18n support" + fi + for lang in $LINGUAS; do + MOFILES="$MOFILES $lang.mo" + done + for lang in $LINGUAS; do + POFILES="$POFILES $lang.po" + done +fi + +AC_SUBST(INTLIBS) +AC_SUBST(MOFILES) +AC_SUBST(POFILES) + LIBS="$LIBS -lm -rdynamic" PACKAGE=navit @@ -182,8 +239,6 @@ AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE") AC_DEFINE_UNQUOTED(VERSION, "$VERSION") AC_SUBST(PACKAGE) AC_SUBST(VERSION) -ALL_LINGUAS="fr de pl it" -AM_GNU_GETTEXT AC_OUTPUT([ Makefile diff --git a/navit/po/Makefile.am b/navit/po/Makefile.am new file mode 100644 index 0000000..107ce23 --- /dev/null +++ b/navit/po/Makefile.am @@ -0,0 +1,47 @@ +CATALOGS = @MOFILES@ + +CLEANFILES = $(CATALOGS) navit.pot + +# keep this sorted +EXTRA_DIST = @POFILES@ + +POTFILES = \ + $(top_builddir)/src/main.c \ + $(top_builddir)/src/navigation.c \ + $(top_builddir)/src/navit.c \ + $(top_builddir)/src/country.c \ + $(top_builddir)/src/gui/gtk/destination.c \ + $(top_builddir)/src/gui/gtk/gui_gtk_action.c + + +SUFFIXES = .po .mo + +.po.mo: + $(MSGFMT) --check --verbose --statistics --output-file=$@ $< + +all: @MOFILES@ + +@POFILES@: navit.pot + $(MSGMERGE) --update --verbose $@ navit.pot + +navit.pot: $(POTFILES) + $(XGETTEXT) --default-domain=navit \ + --add-comments --keyword=_ --keyword=_n $(POTFILES) + if cmp -s navit.po navit.pot; then \ + rm -f navit.po; \ + else \ + mv -f navit.po navit.pot; \ + fi + +install-data-local: $(CATALOGS) + $(mkinstalldirs) $(DESTDIR)$(datadir)/locale + chmod 755 $(DESTDIR)$(datadir)/locale + for n in $(CATALOGS) __DuMmY ; do \ + if test "$$n" -a "$$n" != "__DuMmY" ; then \ + l=`basename $$n .mo`; \ + $(mkinstalldirs) $(DESTDIR)$(datadir)/locale/$$l/LC_MESSAGES; \ + chmod 755 $(DESTDIR)$(datadir)/locale/$$l; \ + chmod 755 $(DESTDIR)$(datadir)/locale/$$l/LC_MESSAGES; \ + $(INSTALL_DATA) -m 644 $$n $(DESTDIR)$(datadir)/locale/$$l/LC_MESSAGES/navit.mo; \ + fi; \ + done diff --git a/navit/po/Makefile.in b/navit/po/Makefile.in deleted file mode 100644 index 8447494..0000000 --- a/navit/po/Makefile.in +++ /dev/null @@ -1,47 +0,0 @@ -PO-FILES=de.po fr.po pl.po it.po -LANGUAGES=$(PO-FILES:.po=) - -# Maybe this should be autogenerated by "configure". -LOCALEDIR=@LOCALEDIR@ - -# If other files will be translated, they must be also here: -CSOURCES=../src/main.c \ - ../src/navigation.c \ - ../src/navit.c \ - ../src/country.c \ - ../src/gui/gtk/destination.c \ - ../src/gui/gtk/gui_gtk_action.c \ - ../src/gui/sdl/gui_sdl_window.cpp - - -MO-FILES = $(LANGUAGES:=.mo) - -all: $(MO-FILES) - -install: $(MO-FILES) - @for i in $(LANGUAGES); do \ - /usr/bin/install -c -d $(DESTDIR)$(LOCALEDIR)/$$i/LC_MESSAGES; \ - /usr/bin/install -c -m 444 $$i.mo $(DESTDIR)$(LOCALEDIR)/$$i/LC_MESSAGES/xaos.mo; \ - done - -clean: - rm -f $(MO-FILES) - -distclean: clean - rm Makefile - -navit.pot: $(CSOURCES) - /usr/bin/xgettext -k_ -k_n -o navit.pot $(CSOURCES) - -$(PO-FILES): navit.pot - test -e $@ - /usr/bin/msgmerge $@ navit.pot > $@.new - mv $@.new $@ - -$(MO-FILES): $(PO-FILES) - /usr/bin/msgfmt -o $@ -c -v --statistics $(@:.mo=.po) - -new-languages: Makefile - @for i in $(LANGUAGES); do \ - test -e $$i.po || cp navit.pot $$i.po; \ - done diff --git a/navit/po/Makefile.in.in b/navit/po/Makefile.in.in deleted file mode 100644 index ae108ad..0000000 --- a/navit/po/Makefile.in.in +++ /dev/null @@ -1,41 +0,0 @@ -PO-FILES=fr.po -LANGUAGES=$(PO-FILES:.po=) - -# Maybe this should be autogenerated by "configure". -LOCALEDIR=@LOCALEDIR@ - -# If other files will be translated, they must be also here: -CSOURCES=../src/main.c ../src/navigation.c - - -MO-FILES = $(LANGUAGES:=.mo) - -all: $(MO-FILES) - -install: $(MO-FILES) - @for i in $(LANGUAGES); do \ - @INSTALL@ -d $(DESTDIR)$(LOCALEDIR)/$$i/LC_MESSAGES; \ - @INSTALL@ -m 444 $$i.mo $(DESTDIR)$(LOCALEDIR)/$$i/LC_MESSAGES/xaos.mo; \ - done - -clean: - rm -f $(MO-FILES) - -distclean: clean - rm Makefile - -messages.pot: $(CSOURCES) - @XGETTEXT@ -o navit.pot $(CSOURCES) - -$(PO-FILES): navit.pot - test -e $@ - @MSGMERGE@ $@ navit.pot > $@.new - mv $@.new $@ - -$(MO-FILES): $(PO-FILES) - @MSGFMT@ -o $@ -c -v --statistics $(@:.mo=.po) - -new-languages: Makefile - @for i in $(LANGUAGES); do \ - test -e $$i.po || cp navit.pot $$i.po; \ - done diff --git a/navit/po/navit.pot b/navit/po/navit.pot deleted file mode 100644 index 8e43422..0000000 --- a/navit/po/navit.pot +++ /dev/null @@ -1,517 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# FIRST AUTHOR , YEAR. -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: PACKAGE VERSION\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2007-07-12 20:20+0200\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME \n" -"Language-Team: LANGUAGE \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=CHARSET\n" -"Content-Transfer-Encoding: 8bit\n" - -#: ../src/main.c:110 -#, c-format -msgid "Error parsing '%s': %s\n" -msgstr "" - -#: ../src/main.c:112 -#, c-format -msgid "Using '%s'\n" -msgstr "" - -#: ../src/main.c:115 -#, c-format -msgid "No instance has been created, exiting\n" -msgstr "" - -#: ../src/navigation.c:181 -#, c-format -msgid "%d meters" -msgstr "" - -#: ../src/navigation.c:183 -#, c-format -msgid "in %d meters" -msgstr "" - -#: ../src/navigation.c:189 -#, c-format -msgid "%d.%d kilometer" -msgstr "" - -#: ../src/navigation.c:191 -#, c-format -msgid "in %d.%d kilometers" -msgstr "" - -#: ../src/navigation.c:197 -msgid "one kilometer" -msgstr "" - -#: ../src/navigation.c:199 -msgid "in one kilometer" -msgstr "" - -#: ../src/navigation.c:202 -msgid "two kilometers" -msgstr "" - -#: ../src/navigation.c:204 -msgid "in two kilometers" -msgstr "" - -#: ../src/navigation.c:207 -msgid "three kilometers" -msgstr "" - -#: ../src/navigation.c:209 -msgid "in three kilometers" -msgstr "" - -#: ../src/navigation.c:212 -msgid "four kilometers" -msgstr "" - -#: ../src/navigation.c:214 -msgid "in four kilometers" -msgstr "" - -#: ../src/navigation.c:217 -#, c-format -msgid "%d kilometers" -msgstr "" - -#: ../src/navigation.c:219 -#, c-format -msgid "in %d kilometers" -msgstr "" - -#: ../src/navigation.c:423 -msgid "right" -msgstr "" - -#: ../src/navigation.c:431 -msgid "left" -msgstr "" - -#: ../src/navigation.c:435 -msgid "easily " -msgstr "" - -#: ../src/navigation.c:439 -msgid "strongly " -msgstr "" - -#: ../src/navigation.c:442 -msgid "unknown " -msgstr "" - -#: ../src/navigation.c:448 -msgid "When possible, please turn" -msgstr "" - -#: ../src/navigation.c:455 -#, c-format -msgid "Follow the road for the next %s" -msgstr "" - -#: ../src/navigation.c:459 -msgid "soon" -msgstr "" - -#: ../src/navigation.c:465 -msgid "now" -msgstr "" - -#: ../src/navigation.c:468 -msgid "error" -msgstr "" - -#: ../src/navigation.c:473 -msgid "strength_pos" -msgstr "" - -#: ../src/navigation.c:475 -msgid "direction_pos" -msgstr "" - -#: ../src/navigation.c:477 -msgid "distance_pos" -msgstr "" - -#: ../src/navigation.c:487 -#, c-format -msgid "Turn %s%s %s" -msgstr "" - -#: ../src/navigation.c:490 -#, c-format -msgid "You have reached your destination %s" -msgstr "" - -#: ../src/navit.c:313 ../src/gui/gtk/gui_gtk_action.c:159 -msgid "Layout" -msgstr "" - -#: ../src/navit.c:326 -msgid "Projection" -msgstr "" - -#: ../src/country.c:23 -msgid "Czech Republic" -msgstr "" - -#: ../src/country.c:24 -msgid "Slovakia" -msgstr "" - -#: ../src/country.c:25 -msgid "San Marino" -msgstr "" - -#: ../src/country.c:26 -msgid "Estonia" -msgstr "" - -#: ../src/country.c:27 -msgid "Georgia" -msgstr "" - -#: ../src/country.c:28 -msgid "Latvia" -msgstr "" - -#: ../src/country.c:29 -msgid "Lithuania" -msgstr "" - -#: ../src/country.c:30 -msgid "Moldova" -msgstr "" - -#: ../src/country.c:31 -msgid "Russian Federation" -msgstr "" - -#: ../src/country.c:32 -msgid "Ukraine" -msgstr "" - -#: ../src/country.c:33 -msgid "Belarus" -msgstr "" - -#: ../src/country.c:34 -msgid "Egypt" -msgstr "" - -#: ../src/country.c:35 -msgid "Greece" -msgstr "" - -#: ../src/country.c:36 -msgid "Netherlands" -msgstr "" - -#: ../src/country.c:37 -msgid "Belgium" -msgstr "" - -#: ../src/country.c:38 -msgid "France" -msgstr "" - -#: ../src/country.c:39 -msgid "Spain" -msgstr "" - -#: ../src/country.c:40 -msgid "Hungary" -msgstr "" - -#: ../src/country.c:41 -msgid "Italy" -msgstr "" - -#: ../src/country.c:42 -msgid "Romania" -msgstr "" - -#: ../src/country.c:43 -msgid "Switzerland" -msgstr "" - -#: ../src/country.c:44 -msgid "Austria" -msgstr "" - -#: ../src/country.c:45 -msgid "United Kingdom" -msgstr "" - -#: ../src/country.c:46 -msgid "Denmark" -msgstr "" - -#: ../src/country.c:47 -msgid "Sweden" -msgstr "" - -#: ../src/country.c:48 -msgid "Norway" -msgstr "" - -#: ../src/country.c:49 -msgid "Poland" -msgstr "" - -#: ../src/country.c:50 -msgid "Germany" -msgstr "" - -#: ../src/country.c:51 -msgid "Gibraltar" -msgstr "" - -#: ../src/country.c:52 -msgid "Portugal" -msgstr "" - -#: ../src/country.c:53 -msgid "Luxembourg" -msgstr "" - -#: ../src/country.c:54 -msgid "Ireland" -msgstr "" - -#: ../src/country.c:55 -msgid "Iceland" -msgstr "" - -#: ../src/country.c:56 -msgid "Albania" -msgstr "" - -#: ../src/country.c:57 -msgid "Malta" -msgstr "" - -#: ../src/country.c:58 -msgid "Cyprus" -msgstr "" - -#: ../src/country.c:59 -msgid "Finland" -msgstr "" - -#: ../src/country.c:60 -msgid "Bulgaria" -msgstr "" - -#: ../src/country.c:61 -msgid "Lebanon" -msgstr "" - -#: ../src/country.c:62 -msgid "Andorra" -msgstr "" - -#: ../src/country.c:63 -msgid "Syria" -msgstr "" - -#: ../src/country.c:64 -msgid "Saudi Arabia" -msgstr "" - -#: ../src/country.c:65 -msgid "Libia" -msgstr "" - -#: ../src/country.c:66 -msgid "Israel" -msgstr "" - -#: ../src/country.c:67 -msgid "Palestinia" -msgstr "" - -#: ../src/country.c:68 -msgid "Liechtenstein" -msgstr "" - -#: ../src/country.c:69 -msgid "Morocco" -msgstr "" - -#: ../src/country.c:70 -msgid "Algeria" -msgstr "" - -#: ../src/country.c:71 -msgid "Tunisia" -msgstr "" - -#: ../src/country.c:72 -msgid "Serbia" -msgstr "" - -#: ../src/country.c:73 -msgid "Jordan" -msgstr "" - -#: ../src/country.c:74 -msgid "Croatia" -msgstr "" - -#: ../src/country.c:75 -msgid "Slovenia" -msgstr "" - -#: ../src/country.c:76 -msgid "Bosnia and Herzegovina" -msgstr "" - -#: ../src/country.c:77 -msgid "Macedonia" -msgstr "" - -#: ../src/country.c:78 -msgid "Turkey" -msgstr "" - -#: ../src/country.c:79 -msgid "Monaco" -msgstr "" - -#: ../src/country.c:80 -msgid "Azerbaijan" -msgstr "" - -#: ../src/country.c:81 -msgid "Armenia" -msgstr "" - -#: ../src/country.c:82 -msgid "Faroe Islands" -msgstr "" - -#: ../src/country.c:83 -msgid "Western Sahara" -msgstr "" - -#: ../src/country.c:84 -msgid "Svalbard and Jan Mayen" -msgstr "" - -#: ../src/gui/gtk/destination.c:293 ../src/gui/sdl/gui_sdl_window.cpp:610 -msgid "Country" -msgstr "" - -#: ../src/gui/gtk/destination.c:295 -msgid "Zip Code" -msgstr "" - -#: ../src/gui/gtk/destination.c:297 ../src/gui/sdl/gui_sdl_window.cpp:611 -msgid "City" -msgstr "" - -#: ../src/gui/gtk/destination.c:299 -msgid "District/Township" -msgstr "" - -#: ../src/gui/gtk/destination.c:302 ../src/gui/sdl/gui_sdl_window.cpp:612 -msgid "Street" -msgstr "" - -#: ../src/gui/gtk/destination.c:304 -msgid "Number" -msgstr "" - -#: ../src/gui/gtk/gui_gtk_action.c:156 -msgid "Display" -msgstr "" - -#: ../src/gui/gtk/gui_gtk_action.c:157 -msgid "Route" -msgstr "" - -#: ../src/gui/gtk/gui_gtk_action.c:158 -msgid "Map" -msgstr "" - -#: ../src/gui/gtk/gui_gtk_action.c:160 ../src/gui/sdl/gui_sdl_window.cpp:595 -msgid "ZoomOut" -msgstr "" - -#: ../src/gui/gtk/gui_gtk_action.c:161 ../src/gui/sdl/gui_sdl_window.cpp:592 -msgid "ZoomIn" -msgstr "" - -#: ../src/gui/gtk/gui_gtk_action.c:162 -msgid "Refresh" -msgstr "" - -#: ../src/gui/gtk/gui_gtk_action.c:163 -msgid "Info" -msgstr "" - -#: ../src/gui/gtk/gui_gtk_action.c:164 -msgid "Destination" -msgstr "" - -#: ../src/gui/gtk/gui_gtk_action.c:165 -msgid "Test" -msgstr "" - -#: ../src/gui/gtk/gui_gtk_action.c:166 -msgid "_Quit" -msgstr "" - -#: ../src/gui/gtk/gui_gtk_action.c:173 -msgid "Cursor" -msgstr "" - -#: ../src/gui/gtk/gui_gtk_action.c:174 -msgid "Orientation" -msgstr "" - -#: ../src/gui/gtk/gui_gtk_action.c:181 -msgid "Data" -msgstr "" - -#: ../src/gui/gtk/gui_gtk_action.c:182 -msgid "VisibleBlocks" -msgstr "" - -#: ../src/gui/gtk/gui_gtk_action.c:183 -msgid "VisibleTowns" -msgstr "" - -#: ../src/gui/gtk/gui_gtk_action.c:184 -msgid "VisiblePolys" -msgstr "" - -#: ../src/gui/gtk/gui_gtk_action.c:185 -msgid "VisibleStreets" -msgstr "" - -#: ../src/gui/gtk/gui_gtk_action.c:186 -msgid "VisiblePoints" -msgstr "" - -#: ../src/gui/sdl/gui_sdl_window.cpp:586 -msgid "RoadBook" -msgstr "" - -#: ../src/gui/sdl/gui_sdl_window.cpp:598 -msgid "Quit" -msgstr ""