In HTML or PHP wrap it like this
<?php p($l→t('This is some text'));?> or this
<?php print_unescaped($l→t('This is some text'));?> For the right
date format use
<?php p($l→l('date', time()));?>. Change the way
dates are shown by editing /core/l10n/l10n-[lang].php To translate text
t('appname','text to translate');
print_unescaped() should be preferred only if you would like to
display HTML code. Otherwise, using
p() is strongly preferred to
escape HTML characters against XSS attacks.
<?php p($l->t('Select file from')) . ' '; ?><a href='#' id="browselink"><?php p($l->t('local filesystem'));?></a><?php p($l->t(' or ')); ?><a href='#' id="cloudlink"><?php p($l->t('cloud'));?></a>
Select file from
’ or "
Translating these individual strings results in
local filesystem and
cloud losing case. The two white spaces surrounding
or will get lost
while translating as well. For languages that have a different
grammatical order it prevents the translators from reordering the
Html tags can be kept out of translation strings like in the example below. Then the detail of the tags is uncoupled from the translation.
If you need to add variables to the translation strings do it like this:
$l->t('%1$s is available. Get %2$smore information%3$s', [$data['versionstring'], '<a href="' . $data['web']] . '">', '</a>');
When there are multiple substitutions, number them. Then the translators have the chance to re-order them if they need to translate the whole sentence in a different word order.
Multiple nightly jobs have been setup in order to synchronize
translations - it’s a multi-step process:
perl l10n.pl read will
templates are pushed to
Transifex (tx push -s).
All translations are pulled from
Transifex (tx pull -a).
perl l10n.pl write will write the php files containing the
translations. Finally the changes are pushed to git.
Create a folder
l10n. Create the file
ignorelist which can contain
files which shall not be scanned during step 4. Edit
and copy/past a config section and adopt it by changing the app/folder
perl l10n.pl read with l10n Add the newly created
translation template (l10n/Templates/<appname>.pot) to git and commit
the changes above. After the next nightly sync job a new resource will
appear on Transifex and from now on every night the latest translations
Caution: information below is in general not needed!
cd l10n/ && perl l10n.pl read && tx push -s && tx pull -a && perl l10n.pl write && cd ..
The translation script requires Locale::PO, installable via
apt-get install liblocale-po-perl