lit translate显示代码或键,而不是翻译

hi3rlvi2  于 2021-09-29  发布在  Java
关注(0)|答案(0)|浏览(254)

我正在尝试使用lit translate将我的“elmish”打字脚本网站翻译成不同的语言。我使用网页包和网络。
在我的index.ts中,我注册了翻译配置:

registerTranslateConfig({
    lookup: (key, config) => config.strings != null ? config.strings[key] : key,
    empty: key => key,
    loader: lang => {
          return new Promise((resolve, reject) => {
            resolve({"title": "Der Titel"});
          })}   
    });

use("en");

(加载程序是硬编码的,因为获取本地化文件也不起作用,但现在这并不重要)。
在我使用的html中 get("title")translate("title") 为了得到翻译。我没有翻译,而是读[标题]或 (part) => { partCache.set(part, cb); updatePart(part, cb); } 如果我指定 translate() 对于变量,我在对象内部得到以下结果:

TypeError: 'caller', 'callee', and 'arguments' properties may not be accessed on strict mode functions or the arguments objects for calls to them
    at Function.r (<anonymous>:1:83)
    at Module../src/index.ts (http://localhost:8080/app.bundle.js:9800:10)
    at __webpack_require__ (http://localhost:8080/app.bundle.js:12476:33)
    at http://localhost:8080/app.bundle.js:13494:11
    at http://localhost:8080/app.bundle.js:13497:12

我已经尝试禁用webpack严格模式。
完整类如下所示:

export class App extends Application<Model, Message, {}> {
  @property({type: Boolean})
  hasLoadedStrings = false;

    init(): [Model, Cmd] {
    const initModel: Model = {
      openPage: [{title: "Home"}, home]
    }

    return [initModel, Cmd.none]
  }

  constructor() {
    super();
    this.hasLoadedStrings = false;
  }

  shouldUpdate (changedProperties: Map<string | number | symbol, unknown>) {
    return this.hasLoadedStrings && super.shouldUpdate(changedProperties);
  }

  async connectedCallback () {
    super.connectedCallback();

    await use("en");
    this.hasLoadedStrings = true;
  }

}

customElements.define('my-element', App);

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题