[horde] [Horde 4.0-git] i18n test Locales

Gerard Breiner gerard.breiner at ias.u-psud.fr
Wed Oct 6 14:58:03 UTC 2010


Gerard Breiner a écrit :
> Jan Schneider a écrit :
>> So it's exactly what I said: a permission error. Unless you run the 
>> script as the Apache user.
>>
>>
>> "Gerard Breiner" <gerard.breiner at ias.u-psud.fr> schrieb:
>>
>>  
>>> Jan Schneider a écrit :
>>>    
>>>> Zitat von Gerard Breiner <gerard.breiner at ias.u-psud.fr>:
>>>>
>>>>      
>>>>> Jan Schneider a écrit :
>>>>>        
>>>>>> Zitat von Gerard Breiner <gerard.breiner at ias.u-psud.fr>:
>>>>>>
>>>>>>          
>>>>>>> Hello,
>>>>>>>
>>>>>>> Horde 4.0-git Debian Lenny
>>>>>>>
>>>>>>> I'm encountering some issues with locales that are not translated.
>>>>>>>             So, I've read the excellent  tuto 
>>>>>>> horde/docs/TRANSLATIONS and  now
>>>>>>>             I'm trying the langtest.php in the Horde's PHP Shell.
>>>>>>>             
>>>>>> That's the problem. Don't run it in the shell.
>>>>>>
>>>>>>          
>>>>>>> I'am a little puzzled by the result . It seems that the
>>>>>>>             
>>> translation    
>>>>>>> does not work.
>>>>>>>
>>>>>>> Here is the code langtest.php
>>>>>>> [CODE]
>>>>>>> <?php
>>>>>>>
>>>>>>>     setlocale(LC_MESSAGES, 'nl_NL');
>>>>>>>     putenv('LANG=nl_NL');
>>>>>>>     putenv('LANGUAGE=nl_NL');
>>>>>>>     // use the tar test.
>>>>>>>     echo dgettext('tar', 'Memory exhausted');
>>>>>>>     echo '<br />';
>>>>>>>
>>>>>>>     // Specify location of translation tables
>>>>>>>     bindtextdomain('horde', './locale');
>>>>>>>
>>>>>>>     // Choose domain
>>>>>>>     textdomain('horde');
>>>>>>>
>>>>>>>     // Print the already tested message
>>>>>>>     echo _("Message");
>>>>>>>     echo '<br />';
>>>>>>>
>>>>>>>     // this should print the same.
>>>>>>>     echo dgettext('horde', 'Message');
>>>>>>>
>>>>>>>     ?>
>>>>>>>
>>>>>>> [/CODE]
>>>>>>>
>>>>>>> Results
>>>>>>>
>>>>>>> Memory exhausted
>>>>>>> Message
>>>>>>> Message
>>>>>>>
>>>>>>> # End of results
>>>>>>>
>>>>>>>
>>>>>>> I'm wondering what is wrong or missed on my platform.
>>>>>>>
>>>>>>> Thanks in advance for any help.
>>>>>>>
>>>>>>> Best regards
>>>>>>>
>>>>>>> Gerard Breiner
>>>>>>>
>>>>>>> Institut d'Astrophysique Spatiale
>>>>>>> Campus Orsay-Ville
>>>>>>> France
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> -- 
>>>>>>> Horde mailing list - Join the hunt:
>>>>>>>             
>>> http://horde.org/bounties/#horde
>>>    
>>>>>>> Frequently Asked Questions: http://horde.org/faq/
>>>>>>> To unsubscribe, mail: horde-unsubscribe at lists.horde.org
>>>>>>>
>>>>>>>             
>>>>>>
>>>>>> Jan.
>>>>>>           
>>>>> Thanks Jan! However Output web browser should be "Geheugen 
>>>>> uitgeput Bericht Bericht" whereas I get "Memory exhausted Bericht 
>>>>> Bericht"...
>>>>>         Nevertheless it seems it is working.
>>>>> However it appears to me that the translation for fr-FR in imp.po of
>>>>>         imp/templates/dimp/index.inc:64 
>>>>> imp/templates/dimp/index.inc:65 imp/templates/dimp/index.inc:73 
>>>>> imp/templates/dimp/index.inc:76 and         
>>>>> imp/templates/dimp/index.inc:79 is missed. So I added them in imp.po
>>>>>         and run the compile
>>>>> horde/bin/translation  make --locale=fr_FR --module imp  
>>>>> --no-compendium but the imp.mo file is not modified.
>>>>>
>>>>> The "translation" command return :
>>>>>
>>>>> [MESSAGE]
>>>>> Horde translation generator
>>>>> ---------------------------
>>>>> Loading libraries...
>>>>> [   OK   ] Console_Getopt found.
>>>>> [   OK   ] Console_Table found.
>>>>> [   OK   ] File_Find found.
>>>>>
>>>>> Searching gettext binaries...
>>>>> [   OK   ] gettext found: /usr/bin/gettext
>>>>> [   OK   ] msgattrib found: /usr/bin/msgattrib
>>>>> [   OK   ] msgcat found: /usr/bin/msgcat
>>>>> [   OK   ] msgcomm found: /usr/bin/msgcomm
>>>>> [   OK   ] msgfmt found: /usr/bin/msgfmt
>>>>> [   OK   ] msginit found: /usr/bin/msginit
>>>>> [   OK   ] msgmerge found: /usr/bin/msgmerge
>>>>> [   OK   ] xgettext found: /usr/bin/xgettext
>>>>>
>>>>> [   OK   ] gettext version: 0.17
>>>>>
>>>>> Searching Horde applications in /www/horde-git/horde/lib/../..
>>>>> Found applications: horde, jeta, turba, passwd, trean, folks, fima,
>>>>> timeobjects, news, skoli, kronolith, agora, ingo, gollem, imp,
>>>>>         
>>> skeleton,
>>>    
>>>>> whups, vilma, mnemo, ansel, hermes, nag, beatnik, kastalia, jonah, 
>>>>> wicked,
>>>>> babel, luxor, chora
>>>>>
>>>>> Cleaning up PO files for module imp...
>>>>> Skipped...
>>>>>
>>>>>
>>>>> Building MO files for module imp...
>>>>> Skipped...
>>>>>
>>>>> Results (including Horde):
>>>>> +--------+----------+------------+-------+--------------+---------+
>>>>> | Module | Language | Translated | Fuzzy | Untranslated | Updated |
>>>>> +--------+----------+------------+-------+--------------+---------+
>>>>> |        |          |            |       |              |         |
>>>>> +--------+----------+------------+-------+--------------+---------+
>>>>> [/MESSAGE]
>>>>>         
>>>> It doesn't even compile the french translation for imp, meaning 
>>>> that it either don't find it, or can't open it.
>>>> And don't add items manually to the po file, use "translation update"
>>>>       (with the appropriate arguments).
>>>>
>>>> Jan.
>>>>
>>>>       
>>> Hum... that make me puzzle... because files imp.po and imp.mo for 
>>> the french translation exists... and are owned by the apache server.
>>> /www/horde/imp/locale/fr/LC_MESSAGES$ ls -l
>>> total 428
>>> -rw-r----- 1 webadm www 258962 2010-09-29 10:10 imp.mo
>>> -rw-r----- 1 webadm www 163899 2010-10-04 16:15 imp.po
>>>
>>> Sorry, I'm not sure to have understood how to use "translation 
>>> update"... I suppose  I have to added items via a file (foo.po) and
>>> then run :
>>> translation update --locale=fr_FR --module=imp  --compendium=foo.po
>>>
>>> In this case I get :
>>>
>>> [MESSAGE]
>>> ---------------------------
>>> Horde translation generator
>>> ---------------------------
>>> Loading libraries...
>>> [   OK   ] Console_Getopt found.
>>> [   OK   ] Console_Table found.
>>> [   OK   ] File_Find found.
>>>
>>> Searching gettext binaries...
>>> [   OK   ] gettext found: /usr/bin/gettext
>>> [   OK   ] msgattrib found: /usr/bin/msgattrib
>>> [   OK   ] msgcat found: /usr/bin/msgcat
>>> [   OK   ] msgcomm found: /usr/bin/msgcomm
>>> [   OK   ] msgfmt found: /usr/bin/msgfmt
>>> [   OK   ] msginit found: /usr/bin/msginit
>>> [   OK   ] msgmerge found: /usr/bin/msgmerge
>>> [   OK   ] xgettext found: /usr/bin/xgettext
>>>
>>> [   OK   ] gettext version: 0.17
>>>
>>> Searching Horde applications in /www/horde-git/horde/lib/../..
>>> Found applications: horde, jeta, turba, passwd, trean, folks, fima,
>>> timeobjects, news, skoli, kronolith, agora, ingo, gollem, imp,
>>> skeleton,
>>> whups, vilma, mnemo, ansel, hermes, nag, beatnik, kastalia, jonah,
>>> wicked,
>>> babel, luxor, chora
>>>
>>> Extracting from imp... not changed
>>>
>>> Cleaning up PO files for module imp...
>>> Skipped...
>>>
>>> Merging translation for module imp...
>>> Skipped...
>>>
>>> [/MESSAGE]
>>>
>>> Thanks for this advice that makes more secure the add of items.
>>> Nevertheless I do not understand what  that prevent to update the
>>> "locales".
>>>
>>> Best regards
>>>
>>> Gerard Breiner
>>> -- 
>>> Horde mailing list - Join the hunt: http://horde.org/bounties/#horde
>>> Frequently Asked Questions: http://horde.org/faq/
>>> To unsubscribe, mail: horde-unsubscribe at lists.horde.org
>>>     
>>
>>   
> Yes, I run the script as the Apache user and after checking again all 
> files are owned by apache.
> I created a file "tt.po" and fill with
> [CODE]
> #: imp/templates/dimp/index.inc:79
> msgid "Log Out"
> msgstr "Déconnexion"
> [CODE]
>
> Then I runed "translation in mode debug :
>
> /www/horde-git/horde/bin/translation --debug update --locale=fr_FR 
> --module=imp  --compendium=tt.po
> And I get :
>
> [MESSAGE]
>
> ---------------------------
> Horde translation generator
> ---------------------------
> Loading libraries...
> [   OK   ] Console_Getopt found.
> [   OK   ] Console_Table found.
> [   OK   ] File_Find found.
>
> Searching gettext binaries...
> [   OK   ] gettext found: /usr/bin/gettext
> [   OK   ] msgattrib found: /usr/bin/msgattrib
> [   OK   ] msgcat found: /usr/bin/msgcat
> [   OK   ] msgcomm found: /usr/bin/msgcomm
> [   OK   ] msgfmt found: /usr/bin/msgfmt
> [   OK   ] msginit found: /usr/bin/msginit
> [   OK   ] msgmerge found: /usr/bin/msgmerge
> [   OK   ] xgettext found: /usr/bin/xgettext
>
> [   OK   ] gettext version: 0.17
>
> Searching Horde applications in /www/horde-git/horde/lib/../..
> Found directories:
> /www/horde-git/horde/lib/..
> /www/horde-git/horde/lib/../../jeta
> /www/horde-git/horde/lib/../../turba
> /www/horde-git/horde/lib/../../passwd
> /www/horde-git/horde/lib/../../trean
> /www/horde-git/horde/lib/../../folks
> /www/horde-git/horde/lib/../../fima
> /www/horde-git/horde/lib/../../timeobjects
> /www/horde-git/horde/lib/../../news
> /www/horde-git/horde/lib/../../skoli
> /www/horde-git/horde/lib/../../kronolith
> /www/horde-git/horde/lib/../../agora
> /www/horde-git/horde/lib/../../ingo
> /www/horde-git/horde/lib/../../gollem
> /www/horde-git/horde/lib/../../imp
> /www/horde-git/horde/lib/../../skeleton
> /www/horde-git/horde/lib/../../whups
> /www/horde-git/horde/lib/../../vilma
> /www/horde-git/horde/lib/../../mnemo
> /www/horde-git/horde/lib/../../ansel
> /www/horde-git/horde/lib/../../hermes
> /www/horde-git/horde/lib/../../nag
> /www/horde-git/horde/lib/../../beatnik
> /www/horde-git/horde/lib/../../kastalia
> /www/horde-git/horde/lib/../../jonah
> /www/horde-git/horde/lib/../../wicked
> /www/horde-git/horde/lib/../../babel
> /www/horde-git/horde/lib/../../luxor
> /www/horde-git/horde/lib/../../chora
> Found applications: horde, jeta, turba, passwd, trean, folks, fima,
> timeobjects, news, skoli, kronolith, agora, ingo, gollem, imp, skeleton,
> whups, vilma, mnemo, ansel, hermes, nag, beatnik, kastalia, jonah, 
> wicked,
> babel, luxor, chora
>
> Extracting from imp... Executing:
> /usr/bin/xgettext --language=PHP --from-code=iso-8859-1 --keyword=_ 
> --sort-output --copyright-holder="Horde Project" 
> --msgid-bugs-address="dev at lists.horde.org" 
> --files-from=locale/imp.pot.list --output=locale/imp.pot.tmp.pot
> In: /www/horde-git/imp
> Executing:
> /usr/bin/msgcomm --more-than=0 --sort-output "locale/imp.pot.tmp.pot" 
> "locale/imp.pot.templates" --output-file "locale/imp.pot.tmp.pot"
> Executing:
> /usr/bin/msgcomm --more-than=0 --sort-output "locale/imp.pot.tmp.pot" 
> "locale/imp.pot.config" --output-file "locale/imp.pot.tmp.pot"
> not changed
>
> Cleaning up PO files for module imp...
> Skipped...
>
> Merging translation for module imp...
> Skipped...
>
> [/MESSAGE]
>
> You've certainly right  but I do not see where there is a permission 
> error.
>
> Best regards
>
> Gerard Breiner
Hello,

 I would be interested please to know how to add items to a po file 
without opening the file itself . You advise me of using "translation 
update "with the good arguments" but I have to say I don't know how to 
use it.
So I modified imp.po file manually (vim imp.po) and added what was 
missed. Then I runed  "msgfmt imp.po -o imp.mo" and it works very fine. 
I guess that is not the proper method if we consider that "translation" 
has been created  for making this job.

Best regards

Gerard Breiner




More information about the horde mailing list