[ZPT] [ANNOUNCE] i18nfool 0.1

snell tsnell at enervation.com
Mon Jul 26 05:16:22 EDT 2004


Where can it be downloaded, Jean-Michel?
Tom Snell

Jean-Michel Hiver wrote:

> What is it?
> ===========
>
> Extract and manipulate ZPT I18N strings from internationalized ZPT/TAL 
> templates.
>
> I18NFool stands for "Internationalization File Object Oriented Leech". 
> It inspects a list of internationalized templates and sucks out 
> internationalized strings to produce a series of .pot files.
>
> It also comes with a couple of shell scripts to easily manage a 
> collection of .pot and .po files with the gettext tools.
>
> It's designed to work with Petal and PHPTAL, which means it should 
> work with ZPT as well.
>
>
> How does it work?
> =================
>
> There are basically 3 scripts:
>
>
> i18nfool-extract
> ----------------
>
> To extract strings from your templates and produce a bunch of .pot 
> files (one per domain):
>
>     mkdir /opt/myapp/locale
>     cd /opt/myapp/locale
>     i18nfool-extract file1 file2 ... fileN
>
> This will create
>
>     /opt/myapp/locale/default.pot
>     /opt/myapp/locale/some_domain.pot
>     /opt/myapp/locale/some_other_domain.pot
>
>
> i18nfool-update
> ---------------
>
> To create a bunch of .po files or update existing .po files from the 
> set of .pot files:
>
>     cd /opt/myapp/locale
>
> Create some target languages:
>
>     mkdir en
>     mkdir es
>     mkdir fr
>
> Run the script:
>
>     i18nfool-update
>
> This will create
>
>     /opt/myapp/locale/en/LC_MESSAGES/default.po
>     /opt/myapp/locale/en/LC_MESSAGES/some_domain.po
>     /opt/myapp/locale/en/LC_MESSAGES/some_other_domain.po
>     /opt/myapp/locale/es/LC_MESSAGES/default.po
>     /opt/myapp/locale/es/LC_MESSAGES/some_domain.po
>     /opt/myapp/locale/es/LC_MESSAGES/some_other_domain.po
>     /opt/myapp/locale/fr/LC_MESSAGES/default.po
>     /opt/myapp/locale/fr/LC_MESSAGES/some_domain.po
>     /opt/myapp/locale/fr/LC_MESSAGES/some_other_domain.po
>
>
> i18nfool-build
> --------------
>
> Turns the .po files into .mo files.
>
>     cd /opt/myapp/locale
>     i18nfool-build
>
> This will create
>
>     /opt/myapp/locale/en/LC_MESSAGES/default.mo
>     /opt/myapp/locale/en/LC_MESSAGES/some_domain.mo
>     /opt/myapp/locale/en/LC_MESSAGES/some_other_domain.mo
>     /opt/myapp/locale/es/LC_MESSAGES/default.mo
>     /opt/myapp/locale/es/LC_MESSAGES/some_domain.mo
>     /opt/myapp/locale/es/LC_MESSAGES/some_other_domain.mo
>     /opt/myapp/locale/fr/LC_MESSAGES/default.mo
>     /opt/myapp/locale/fr/LC_MESSAGES/some_domain.mo
>     /opt/myapp/locale/fr/LC_MESSAGES/some_other_domain.mo
>
>
> Motive
> ======
>
> I've tried i18ndude but it's got a couple of crippling bugs at the 
> moment. Apparently there's a i18n-extract.py somewhere with Zope 3 but 
> having to download and setup Zope 3 just for this one tool is a bit of 
> a drag.
>
> I was on IRC today with the author of PHPTAL (a good friend of mine) 
> and he had basically the same issues... so in a joint effort, we wrote 
> this new tool.
>
> I hope it will complement nicely other similar tools. Bug reports are 
> very welcome.
>
> It fully supports namespaces and translation domains.
>
>
> Caveats & Limitations
> =====================
>
> It's written in Perl and sh. So if you want to use it, looks like 
> you'll have to make a pact with the devil ;-)
>
>     perl -MCPAN -e 'install I18NFool'
>
> Should pull out the module and any required dependencies for you 
> automatically though.
>
> At the moment, i18nfool doesn't make any assumption about the 
> character set and is character set agnostic. Hopefully it'll be a bit 
> more refined at that level in the future.
>
>
> Let me know what you think!
>
> Cheers,
> Jean-Michel.
> _______________________________________________
> ZPT mailing list
> ZPT at zope.org
> http://mail.zope.org/mailman/listinfo/zpt




More information about the ZPT mailing list