From: David E. <dav...@ad...> - 2004-11-10 00:21:14
|
I'm working to update the Debian package to the latest CVS. Has anything progressed for this? Is it known what the installation logic should be? On Tue, Oct 12, 2004 at 10:30:50PM +0300, Erik Berglund wrote: > Wolfgang Pichler wrote: > >after creating directory ./locale to get rid of errors regarding > >nonexistence of assumed directory (language.inc: getLanguages()) some > >more errors show up > > The error produced by opendir() is now suppressed. ./locale and language > files will be created by a script during installation, but that is still > work in progress. > > >PHP Notice: Undefined offset: 0 in /home/httpd/emilda/lib/language.inc > >on line 67 > > management.php? The offset is now checked before accessing the language > name array (i.e. fixed =). > > >PHP Notice: Use of undefined constant USER_NAME - assumed 'USER_NAME' > >in /home/httpd/emilda/lib/sessions.inc on line 59 > > A small mistake in writeLog(). Fixed. > > >1) btw. would try to test some translations using e.g. de (partially > >translated/copied from en) so what to do _exactly_ (promise to > >contribute a german translation :-) ? > > Are you using ./lang/emilda.pot as template? (Or en.po, which is > basically the same thing.) I'm afraid that those files are seriously > outdated, but you can use them for testing purposes. Just keep in mind > that gettext needs an _exact_ match for the string to be translated, > i.e. even small text changes in the source code will render individual > text translations useless. Detailed explanation follows: > > Translations are always made on snapshots of the source code; xgettext > is used to extract all _("strings") from the .php/.inc files. In > addition to this we need to extract some strings half-manually from > emilda.sql and the config files (we will probably create a simple script > for this purpose). The result of the merged extractions is emilda.pot, a > translation template file, the current ./lang/emilda.pot is based on an > early 1.2 snapshot. > > Based on this template anyone can translate text that is used in Emilda. > The .pot file is copied to my_language_code.po, which is where the > translated strings will be entered. The syntax of a .po file is very > simple; msgid is the identifier and the text in English, msgstr is the > translated text. Gettext tries to find a msgid that matches _("this > string") and uses the msgstr if successful. Hence if the source text is > changed to _("another string") gettext won't find a match anymore. > Please see http://www.uberdose.com/php/php-and-gettext-for-i18n/ for > examples. > > Finally the .po file is compiled using msgfmt, renamed emilda.mo and > placed in the ./locale/[language_code]/LC_MESSAGES folder. Emilda will > search for these directories and try to use the language files in them. > > So the steps are: > > [1. Extract all strings from the source code using xgettext.] > > [2. Merge results into emilda.pot template.] > > 3. cd lang/ && cp emilda.pot [my_lang].po > > 4. Translate strings. > > 5. mkdir -p ../locale/[my_lang]/LC_MESSAGES > > 6. msgfmt -o ../locale/[my_lang]/LC_MESSAGES/emilda.mo [my_lang].po > > 7. Change language on your personal Emilda configuration page. > > If this doesn't work, please check that [my_lang] locale is installed on > your system (locale -a) and that [my_lang] corresponds to that language > code. See user comments at http://fi.php.net/gettext for more help. > > >2) btw. i see some problem if you rely on LANG/LANGUAGE fetched from > >environment since > >- it is very uncommon to have locale other than en _systemwide_ under > >linux ! > > True, but is there any other way to do this in PHP? Anyone here with > more PHP-gettext experience? > > >lg.w. > > Regards, > -- > Erik Berglund > Partner, Marketing > Oy Realnode Ab > > las...@re... > www.realnode.com > _______________________________________________ > Emilda mailing list > Em...@li... > http://lists.realnode.com/mailman/listinfo/emilda > > -- Encrypted Mail Preferred: Key ID: 8527B9AF Key Fingerprint: E1B6 40B6 B73F 695E 0D3B 644E 6427 DD74 8527 B9AF Information: http://www.gnupg.org/ ASCII ribbon campaign: () against HTML email /\ against Microsoft attachments Information: http://www.expita.com/nomime.html |