角度国际化(i18n)似乎不起作用

时间:2017-08-31 18:59:17

标签: angular internationalization angular-i18n

我想将英语翻译成马拉地语(印度语区域语言 - mr_IN)。 我已按照https://angular.io/guide/i18n的所有翻译说明进行操作。确保所有依赖项都存在,但是,虽然应用程序编译成功但没有完成翻译。 以下是有助于了解更多信息的详细信息。

要翻译的段落:

 <p i18n="@@intro_p1">Text to translate.</p>

./区域设置/ messages.mr_IN.xlf

<?xml version="1.0" encoding="UTF-8" ?>
<xliff version="1.2" xmlns="urn:oasis:names:tc:xliff:document:1.2">
  <file source-language="en" datatype="plaintext" original="ng2.template">
    <body>
      <trans-unit id="intro_p1" datatype="html">
        <source>Text to translate.</source>
        <target state="new">टेक्स्ट चे भाषांतर.</target>
        <context-group purpose="location">
          <context context-type="sourcefile">src/app/home/home.component.ts</context>
          <context context-type="linenumber">8</context>
        </context-group>
      </trans-unit>
    </body>
  </file>
</xliff>

main.ts

import './polyfills.ts';
import { enableProdMode } from '@angular/core';
import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';
import { getTranslationProviders } from './app/i18n-providers';

import { AppModule } from './app/app.module';
import { environment } from './environments/environment';

if (environment.production) {
  enableProdMode();
}

getTranslationProviders().then(providers => {
  const options = { providers };
  platformBrowserDynamic().bootstrapModule(AppModule, options);
});
index.html中的

脚本

<script>
      // Get the locale id somehow
      document.locale = 'mr_IN';
      // Map to the text plugin
      System.config({
        map: {
          text: 'systemjs-text-plugin.js'
        }
      });
      // Launch the app
      System.import('main.js').catch(function(err){ console.error(err); });
</script>

这是什么问题?有人能搞清楚吗?

感谢。

1 个答案:

答案 0 :(得分:0)

ng serve --aot \
           --i18n-file=src/i18n/messages.es.xlf \
           --locale=es \
           --i18n-format=xlf

这是启动带有翻译的角度app的命令,我不知道。