ArV*_*Van 6 translation symfony
我已经为我的Symfony2项目添加了翻译服务.我在控制器和枝条模板中都使用它.它配置正常,所有{% trans %}
标签都按照它们的意思工作.但在某些情况下,我需要使用{% transchoice %}
标签,而不是翻译.这是我的代码中的一个例子.
{% transchoice post['comments']['count'] %}
{0} Comments| {1} Comment| ]1,Inf] Comments
{% endtranschoice %}
Run Code Online (Sandbox Code Playgroud)
也尝试过写一行.
我得到了评论计数的正确选择,但这个词本身并未被翻译.像译者一样无法找到相应的翻译.在messages.de.yml我有
Comment: "Kommentar"
Comments: "Kommentare"
Run Code Online (Sandbox Code Playgroud)
我的transchoice语法有问题吗?也许我需要在某个地方放置空间,或类似的东西?
gre*_*ire 11
在您的翻译文件中,您应该写这个:
{0} Comments| {1} Comment| ]1,Inf] Comments: "{0} Kommentare| {1} Kommentar| ]1,Inf] Kommentare"
Run Code Online (Sandbox Code Playgroud)
更新: 一个适用于我的xliff示例:
<trans-unit id="search.results.summary">
<source>search.results.summary</source>
<target>{0}Pas d'annotations trouvée pour "%search_text%"|{1}Une annotation trouvée pour "%search_text%"|]1,Inf]%search_count% annotations trouvées pour "%search_text%"</target>
</trans-unit>
Run Code Online (Sandbox Code Playgroud)
我怎么用它:
<h2>{{ 'search.results.summary' | transchoice(search_count, {
'%search_text%': search_text,
'%search_count%': search_count}) }}</h2>
Run Code Online (Sandbox Code Playgroud)
如你所见,我没有使用复杂的符号作为我翻译的来源,因为它很无用,会使模板的可读性降低.相反,我把一个以点分隔的字符串表示我的字符串的语义值.
在你的情况下,我想正确的使用方法是这样的:
comment.summary: "{0} Kommentare|{1} Kommentar|]1,Inf] Kommentare"
Run Code Online (Sandbox Code Playgroud)
和
{% transchoice post['comments']['count'] %}
'comment.summary'
{% endtranschoice %}
Run Code Online (Sandbox Code Playgroud)
祝好运.
归档时间: |
|
查看次数: |
5889 次 |
最近记录: |