i18n 如何翻译 javascript 中的文本

i18n how translate text in javascript

我尝试翻译 javascript 脚本中的一些文本。我有:

i18n: {
  messages: {
    en: {
      i18n_profile_alert:'Please draw a geometry with the Geometry selection',
    },
    de: {
      i18n_profile_alert:'Bitte zeichnen Sie mit der Geometry Auswahl eine Geometry',
    },
  },
},

在 HTML 我可以这样得到我的翻译消息:

<span>{{$t('i18n_profile_alert')}}</span>

但在 javascript 它不起作用:

entegetGeometry() {
    const drawingUtil = vcs.vcm.util.Drawing.getInstance();
    const drawingId = this.$refs.geometrySelection.getDrawingId();
    if (!drawingId) {
      this.notifyError({{$t('i18n_profile_alert')}});
      return;
    }

如何在 javascript 代码中引用我的消息?

如果您正在使用 angular 并且您已经使用 Angular CLI 创建了项目,那么您可以使用这个包。 https://www.npmjs.com/package/ng2-translate

使用 ng2-translate 你可以在你的项目中使用多种语言翻译。