[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