我正在使用Angular4 i18n支持我的项目将英语翻译成西班牙语。我生成的messages.xlf文件是UTF-8编码的。
<?xml version="1.0" encoding="UTF-8" ?>
我还有2个其他文件,翻译文本为messages.en.xlf和messages.es.xlf。这两个文件也有UTF-8编码。
Angular project index.html也有UTF-8编码。
<meta charset="UTF-8">
<meta http-equiv="Content-type" content="text/html; charset=UTF-8">
messages.es.xlf中的翻译文本如下所示。
<trans-unit id="dashGeneric" datatype="html">
<source>Generic</source>
<target state="translated">Genérico</target>
<context-group purpose="location">
<context context-type="sourcefile">product.component.d.ts</context>
<context context-type="linenumber">66</context>
</context-group>
<note priority="1" from="description">product- generic</note>
</trans-unit>
翻译后的文字在浏览器中显示为Genérico 。但它应该像在messages.es文件中一样Genérico。
我在notepad ++中打开了消息文件,并确保它们以UTF-8编码。但仍然没有运气。有什么建议吗?
答案 0 :(得分:0)
我已经通过在tomcat服务器web.xml文件中将mime类型设置为charset = UTF-8来解决这个问题。
答案 1 :(得分:0)
Add charset="UTF-8" to script tags which you are using to include the generated js files.
<script type="text/javascript" src=" source path " charset="UTF-8">
eg:
<script type="text/javascript" src="inline.bundle.js" charset="UTF-8"></script>
<script type="text/javascript" src="polyfills.bundle.js" charset="UTF-8"></script>
Note : Like the above example, add charset="UTF-8" for all the js files which you want to include
&#13;