I'm sure others have a better handle on this, than I, and I'm sure
they will chime in here.
My understanding is that you could run the output through t() but you
would have to make sure that the users know and the edit page explains
that the strings must be entered in English, and then in turn
translated for each language by hand, using Locale.
One important point to note though, is that you will want to make sure
that the default strings are run through t() somewhere in your code so
that the extractor picks them up, and they are included in packaged
translations. Do not however use the output of t() to insert as
defaults into the database, as the default strings in the database
must remain in English.
I believe I've read somewhere that some modules accomplish this by
including a module_name.locale.php file or some similar with something
like:
<?php
$foo = t('A string my module stores in the database');
$foo = t('Another string my module stores in the database');
So that the extractor will find these strings and include them in
translation templates.
-Mike
__________________
Michael Prasuhn
503.512.0822 office
503.539.3864 cell
503.661.7574 home
[email protected]
http://mikeyp.net
On Sep 22, 2009, at 6:23 PM, Jeremy Andrews wrote:
Hello,
I'm looking for advice on the proper way to resolve this issue:
http://drupal.org/node/571742
Summary:
The support module [1] defines four default states ("new", "active",
"pending", "closed") and four default priorities ("low", "normal",
"high", "critical"). These fields are defined in the database to
allow
the easy creation of custom states and priorities. Because of this,
I'm
unsure on how to correctly make them translatable.
The t() api documentation page [2] explicitly states, "however
tempting
it is, custom data from user input or other non-code sources should
not
be passed through t()." It goes on to explain that doing so can
lead to
orphaned words, mistranslation of non-English words, etc. My question
then is, what is the correct way to make these states and priorities
translatable?
Yes, they can simply be changed in the database if you'd like to
change
them to another language, but some websites want the ability to
translate them into multiple languages.
If replying, please do so in the issue linked above.
Thanks,
-Jeremy
[1] http://drupal.org/project/support
[2] http://api.drupal.org/api/function/t/6