vsalvans / twig-translation
此包最新版本(dev-master)没有可用的许可信息。
使用YAML文件的Twig翻译扩展
dev-master / 1.0.x-dev
2015-07-26 21:52 UTC
Requires
- php: >=5.3.0
- symfony/yaml: ^2.6
- twig/twig: ~1.0
This package is not auto-updated.
Last update: 2024-10-02 09:13:42 UTC
README
使用YAML文件的Twig翻译扩展
//TranslationTwigExtension is in include folder
$twig->addExtension(new TranslationTwigExtension($lang, __DIR__.'/locale'));
第一个参数是$lang,第二个参数是翻译yaml文件文件夹
/locale/es.yaml是翻译文件
例如在es.yaml中
Hello: Hola
<a href="#">English</a>: <a href="#">Spanish</a>
Your name is @name: Your name is @name
在twig模板中使用trans函数如下
<h1>{{ "Hello" | trans }}</h1>
{{ "<a href=\"#\">English</a>" | trans | raw }} <!-- for translation of html content -->
<p>{{ "Your name is @name" | trans({"@name" : "víctor"}) }}</p> <!-- for translation with tokens -->
您可以使用第三个参数添加语言回退
$twig->addExtension(new TranslationTwigExtension($lang, __DIR__.'/locale', $fallbackLanguage));
如果没有当前语言的翻译,它会在回退语言文件中搜索翻译
您可以添加调试日志文件。每次翻译失败都会添加一个新的条目
$twig->addExtension(new TranslationTwigExtension($lang, __DIR__.'/locale', $fallbackLanguage, $logfile));
然后您可以在终端中通过输入来列出所有未翻译的字符串
$ cat log_file | sort -u