[translations] Use of variables in t()
Derek Wright
drupal at dwwright.net
Wed Dec 24 00:15:17 UTC 2008
On Dec 23, 2008, at 10:42 PM, Fernando P. García wrote:
> I'm sure you have a good reason to pass string $variables to t(),
> instead of "strings".
>
> What current potx does is to respect(and honor) the Drupal coding
> starndards. So the "good practice" is to use t("string") for text
> translation.
Yes, but there are a few cases where it's impossible to do so, and
I've hit one of them.
> What I suggest is to create a tin 4 lines alias function:
...
But if someone happens to install two modules that define the same
tr() function, they get PHP errors on duplicate function definitions.
For this to be a viable work-around, it needs to be in your module's
namespace, such as mymodule_tr(). I'm not sure that's fundamentally
more readable than just doing:
$tr = 't';
$tr($foo);
And, the extra mymodule_tr() function invocation adds even more
overhead than the variable...
Anyway, thanks to everyone who participated on this thread, very
illuminating.
For anyone interested in the PHPdoc improvements, I posted the issue
(with patches) here:
http://drupal.org/node/350708
Cheers,
-Derek (dww)
More information about the translations
mailing list