我正在尝试翻译位于Resources / views / User / folder中的twig模板中的标签:
<label for="username">{% trans %}Username{% endtrans %} </label>
以下是我的login.ka.xliff文件中的一个部分,该文件位于我的项目“translations”文件夹下:
<?xml version="1.0"?>
<xliff version="1.2" xmlns="urn:oasis:names:tc:xliff:document:1.2">
<file source-language="en" datatype="plaintext" original="file.ext">
<body>
<trans-unit id="1">
<source>Username</source>
<target>მომხმარებელი</target>
</trans-unit>
</body>
</file>
</xliff>
这是我登录页面的路线:
login:
path: /login/{_locale}
defaults: { _controller: ExampleBundle:LogIn:login }
requirements:
_locale: en|ka
我有两个问题:
当我尝试使用区域设置(例如,ka)打开登录页面时,我得到了:
500内部服务器错误 - Twig_Error_Runtime 1个链接异常: InvalidResourceException»
我知道我可以使用$ request-&gt; getLocale()获取请求中的语言环境但是如何指定登录页面应该使用login.ka.xliff文件进行翻译?
好吧,我似乎没有提供足够的信息,所以这里是:
我把我的翻译文件放在例子中:MyBundle:Resources:translations(这就是我在“我的项目中”的意思)。
在重新登录我的登录视图时出现异常,以下是我得到的异常的完整版本:
“在ExampleMyBundle:User:login.html.twig第32行渲染模板(”“)期间抛出了异常。
500内部服务器错误 - Twig_Error_Runtime 1个链接异常: InvalidResourceException»“
是的,我每次做出更改时都尝试清除缓存,但它没有帮助。
另外,我添加了login.ka.xliff文件的完整版本。
再次感谢!
答案 0 :(得分:0)
您的xliff文件似乎无效 - 它应如下所示:(包含xml-namespace,body,...)。
<!-- messages.ka.xliff -->
<?xml version="1.0"?>
<xliff version="1.2" xmlns="urn:oasis:names:tc:xliff:document:1.2">
<file source-language="en" datatype="plaintext" original="file.ext">
<body>
<trans-unit id="1">
<source>Username</source>
<target>მომხმარებელი</target>
</trans-unit>
</body>
</file>
</xliff>
如果您未在模板中实际指定其他translation domain,则该文件应命名为messages.ka.xliff
!
{{ 'Username'|trans({}, "login") }}
...或在模板中配置了不同的默认翻译域...
{% trans_default_domain "login" %}
<trans-unit id="1">
<source>Username</source>
<target>მომხმარებელი</target>
</trans-unit>
...是无效的xliff文件。