Re: [Freeipa-devel] [PATCH] Use pygettext to generate translatable strings from plugin files.

2011-03-02 Thread Rob Crittenden

Jakub Hrozek wrote:

On Mon, Feb 21, 2011 at 04:12:31PM +0100, Pavel Zůna wrote:

This goes on top of my other localization patches!

This patch replaces xgettext with a custom pygettext to generate
translatable strings from plugin files in ipalib/plugins. pygettext
was modified to handle plural forms (credit goes to Jan Hendrik
Goellner) and had some bugs fixed by myself. We only use it for
plugins, because it's the only place where we need to extract
docstrings for the built-in help system.

I also had to make some changes to the way the built-in
documentation system gets docstrings from modules for this to work.

How to test?


1)
First, apply all of the localization patches found in thread
"Localization patches" on freeipa-devel. Then apply this patch.

2)
Regenerate your install/po/Makefile:
- delete install/po/Makefile
- run `./configure` in install

3)
Regenerate the pot and po files:
- run `make update-pot` in install/po
- run `make update-po` in install/po


I noticed that none of the .po files is regenerated when we run make
dist. Is that intentional? I think that all the released tarballs should
contain up-to-date translations.



4)
Make a change to one of the translations:
- example: add translation to the ACI docstring
   * find docstring for ACI in install/po/es.po
   * change the corresponding msgstr "" to
 msgstr "\nBuenos dias, amigos!\n"

Note: if the translatable string begins with \n, the translation
also needs to begin with \n. Same goes for ending.

5)
Install the modified translations:
- run `make install` in install/po

Note: I had some problems with this and had to make rpms and install
IPA from beginning for it to work. Looks like doing `make install`
manually updates /usr/local/share/locale instead of
/usr/share/locale, but maybe I just did something wrong.



./configure --datadir=/usr/share

My buildscript contains a variation of "rpm -E %configure".

___
Freeipa-devel mailing list
Freeipa-devel@redhat.com
https://www.redhat.com/mailman/listinfo/freeipa-devel


This was pushed with the mass of i18n patches

___
Freeipa-devel mailing list
Freeipa-devel@redhat.com
https://www.redhat.com/mailman/listinfo/freeipa-devel

Re: [Freeipa-devel] [PATCH] Use pygettext to generate translatable strings from plugin files.

2011-02-22 Thread Jakub Hrozek
On Mon, Feb 21, 2011 at 04:12:31PM +0100, Pavel Zůna wrote:
> This goes on top of my other localization patches!
> 
> This patch replaces xgettext with a custom pygettext to generate
> translatable strings from plugin files in ipalib/plugins. pygettext
> was modified to handle plural forms (credit goes to Jan Hendrik
> Goellner) and had some bugs fixed by myself. We only use it for
> plugins, because it's the only place where we need to extract
> docstrings for the built-in help system.
> 
> I also had to make some changes to the way the built-in
> documentation system gets docstrings from modules for this to work.
> 
> How to test?
> 
> 
> 1)
> First, apply all of the localization patches found in thread
> "Localization patches" on freeipa-devel. Then apply this patch.
> 
> 2)
> Regenerate your install/po/Makefile:
> - delete install/po/Makefile
> - run `./configure` in install
> 
> 3)
> Regenerate the pot and po files:
> - run `make update-pot` in install/po
> - run `make update-po` in install/po

I noticed that none of the .po files is regenerated when we run make
dist. Is that intentional? I think that all the released tarballs should
contain up-to-date translations.

> 
> 4)
> Make a change to one of the translations:
> - example: add translation to the ACI docstring
>   * find docstring for ACI in install/po/es.po
>   * change the corresponding msgstr "" to
> msgstr "\nBuenos dias, amigos!\n"
> 
> Note: if the translatable string begins with \n, the translation
> also needs to begin with \n. Same goes for ending.
> 
> 5)
> Install the modified translations:
> - run `make install` in install/po
> 
> Note: I had some problems with this and had to make rpms and install
> IPA from beginning for it to work. Looks like doing `make install`
> manually updates /usr/local/share/locale instead of
> /usr/share/locale, but maybe I just did something wrong.
> 

./configure --datadir=/usr/share

My buildscript contains a variation of "rpm -E %configure".

___
Freeipa-devel mailing list
Freeipa-devel@redhat.com
https://www.redhat.com/mailman/listinfo/freeipa-devel

[Freeipa-devel] [PATCH] Use pygettext to generate translatable strings from plugin files.

2011-02-21 Thread Pavel Zůna

This goes on top of my other localization patches!

This patch replaces xgettext with a custom pygettext to generate 
translatable strings from plugin files in ipalib/plugins. pygettext was 
modified to handle plural forms (credit goes to Jan Hendrik Goellner) 
and had some bugs fixed by myself. We only use it for plugins, because 
it's the only place where we need to extract docstrings for the built-in 
help system.


I also had to make some changes to the way the built-in documentation 
system gets docstrings from modules for this to work.


How to test?


1)
First, apply all of the localization patches found in thread 
"Localization patches" on freeipa-devel. Then apply this patch.


2)
Regenerate your install/po/Makefile:
- delete install/po/Makefile
- run `./configure` in install

3)
Regenerate the pot and po files:
- run `make update-pot` in install/po
- run `make update-po` in install/po

4)
Make a change to one of the translations:
- example: add translation to the ACI docstring
  * find docstring for ACI in install/po/es.po
  * change the corresponding msgstr "" to
msgstr "\nBuenos dias, amigos!\n"

Note: if the translatable string begins with \n, the translation also 
needs to begin with \n. Same goes for ending.


5)
Install the modified translations:
- run `make install` in install/po

Note: I had some problems with this and had to make rpms and install IPA 
from beginning for it to work. Looks like doing `make install` manually 
updates /usr/local/share/locale instead of /usr/share/locale, but maybe 
I just did something wrong.


6)
Set language to Spanish or whatever translation you modified:
- example:
  * # LANG="es_ES.utf8"
# export LANG

7)
Display the translated documentation:
- example:
  * # ipa help aci
Buenos dias, amigos!


Pavel


freeipa-pzuna-83-pygettext.patch
Description: application/mbox
___
Freeipa-devel mailing list
Freeipa-devel@redhat.com
https://www.redhat.com/mailman/listinfo/freeipa-devel