Astuce [eZ4] Internationaliser un texte

Créez un fichier de traduction dans votre extension :

extension/mon_extension/translations/ma_lang/translation.ts avec ma_lang l'identifiant d'un langage (ex: fre-FR).

Malgré l'extension ts, il est formaté en XML :

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
<TS version="2.0">
 
<!-- Contexte -->
<context>
    <name>mon/contexte</name>
    <message>
        <source>Ma phrase à traduire</source>
        <translation>Ma phrase traduite</translation>
    </message>
</context>
 
</TS>

Pour traduire un mot ou une phrase dans un template, utilisez la méthode i18n() :

{* La ligne suivante affichera 'Ma phrase traduite' *}
{'Ma phrase à traduire'|i18n( 'mon/contexte' )}

Remarque :

Les contextes permettent de regrouper les traductions, par thème, par page, etc.