J'ai créé le plugin ContentManager pour mes applications cakephp (3.2). Il a le fichier de traduction de base dans /plugins/ContentManager/src/Locale/ru/content_manager.po
.Localisation du plugin CakePHP dans différents fichiers
Maintenant, je veux ajouter quelques ajouts de traductions au niveau de l'application. J'ai donc besoin d'un fichier supplémentaire po
pour mon plugin. Si je mets un autre fichier content_manager.po
dans le dossier app\src\Locale\ru
, il remplace le fichier de base.
Est-il possible d'ajouter un fichier comme content_manager.0.po, content_manager.base.po
ou quelque chose, et de faire travailler ensemble? Quoi qu'il en soit, j'ai besoin d'étendre les transitions de plugin en quelque sorte.
contient des chaînes comme celles-ci
msgid "tab_MenuItems"
msgid "content.type.News"
msgid "users.role.admin"
et ainsi de suite.
fichier supplémentaire contient des chaînes spécifiques à l'application comme:
msgid "content.type.Products"
msgid "content.type.Orders"
msgid "users.role.manager"
plug-in
lui-même utilise les traductions comme (exemple, smarty
) ceci:
{foreach $registered_types as $ct}
<li>{__d("content_manager", "content.type.$ct")}</li>
{/foreach}
oui, que je peux utiliser 'default.po', mais ce n'est pas une bonne solution dans mon cas, comme il est utilisé pour d'autres traductions ations et je ne veux pas les mélanger. J'ai lu un peu sur le fallback, mais je n'ai pas encore essayé de l'utiliser. Merci, je vais vérifier demain – teran
hm, en utilisant ce code, le chargeur essaie de trouver le fichier 'base' dans le dossier' src/Locale', et ne cherche pas dans le dossier des plugins. – teran
il me semble que je devrais implémenter ma propre classe 'MessagesFileLoad' pour le domaine de traduction' base' et remplacer la méthode 'translationsFolders' – teran