118
edits
m (→The directory structure: locale/ dir) |
(→Design considerations: Terms retirement concept added) |
||
| Line 59: | Line 59: | ||
* classic '''.po''' files, more convenient to localizers community because of [http://translate.sourceforge.net/wiki/toolkit/index mature tools] | * classic '''.po''' files, more convenient to localizers community because of [http://translate.sourceforge.net/wiki/toolkit/index mature tools] | ||
* [http://search.cpan.org/dist/Locale-Maketext-Lexicon-DBI/lib/Locale/Maketext/Lexicon/DBI.pm database backend] is in progress | * [http://search.cpan.org/dist/Locale-Maketext-Lexicon-DBI/lib/Locale/Maketext/Lexicon/DBI.pm database backend] is in progress | ||
IMHO we should stick to '''.po''', see [[#Terms retirement]] below. | |||
==== The directory structure ==== | ==== The directory structure ==== | ||
| Line 69: | Line 71: | ||
; <tt>po/<i>LANG</i>.po</tt> or <tt>locale/<i>LANG</i>.po</tt>: Why not create a separate dir? | ; <tt>po/<i>LANG</i>.po</tt> or <tt>locale/<i>LANG</i>.po</tt>: Why not create a separate dir? | ||
==== Terms retirement ==== | |||
In object-oriented spirit of Maketext, application should not care about ''how'' to say something, just ''what'' to say. So default English templates may safely refer to 'bugs', and leave the rest to l10n logic. Example: | |||
<tt>template/en/default/bug/create/create.html.tmpl</tt>: | |||
[%# no need to PROCESS "global/variables.none.tmpl" %] | |||
[%# no need to PROCESS "global/field-descs.none.tmpl" %] | |||
... | |||
[% |l %]Bugzilla – Enter Bug[% END %] | |||
customized <tt>en.po</tt>: | |||
msgid "Bugzilla – Enter Bug" | |||
msgstr "Bugzilla@mysite – Submit a Service Request" | |||
To ease such customizations (and to provide backwards compatibility) <tt>en.po</tt> would be preprocessed from <tt>en.po.tmpl</tt>: | |||
[% PROCESS "global/variables.none.tmpl" %] | |||
... | |||
msgid "Bugzilla – Enter Bug" | |||
msgstr "$terms.Bugzilla – Enter $terms.Bug" | |||
This way <tt>global/variables.none.tmpl</tt> would be used only during '''checksetup.pl''', to compile '''.po''' files | |||
== Localizable database data == | == Localizable database data == | ||
edits