【问题标题】:Translations issues, missing pipe翻译问题,缺少管道
【发布时间】:2021-04-12 07:38:45
【问题描述】:

我正在尝试将翻译添加到斯巴达克斯。我设法更改配置并在我的本地进行常规翻译 JSON,但是当我尝试向我的 HTML 添加新翻译时,我总是遇到同样的问题:

“错误错误:找不到管道'cxTranslate'!”

这是我的代码中的内容:

<label for="sortDocType">Type of document: {{ 'common.back' | cxTranslate }}</label>

还有我的配置模块:

import { ConfigModule, I18nConfig } from '@spartacus/core';
import { NgModule } from '@angular/core';
import { translationChunksConfig } from '@spartacus/assets';    
@NgModule({
      declarations: [],
      imports: [
        ConfigModule.withConfig({
          i18n: {
            backend: {
              loadPath: '../../assets/i18n-assets/{{lng}}/{{ns}}.json'
            },
            chunks: {
              ...translationChunksConfig,
            },
            fallbackLang: 'en'
          },
        } as I18nConfig)
      ],
    })

【问题讨论】:

    标签: internationalization translation spartacus-storefront


    【解决方案1】:

    请在声明您的自定义组件的同一模块中导入I18nModule

    @NgModule({
      imports: [
        I18nModule,
        /*...*/
      ],
      declarations: [
        MyComponent,
        /*...*/
      ],
      /*...*/
    })
    export class MyModule {}
    

    【讨论】:

    • 我添加了模块,但我现在看到的是:[filters:filters.typeofdoc] 而不是翻译。也许我需要导入其他东西
    • 我的翻译仍有一些问题。我在这个问题上添加了我的导入。我认为缺少翻译模型?我不知道如何在本地导入它们。我认为它导入了 spartacus/core 模型。
    • Spartacus 提供默认翻译块,定义可以在哪个块中找到翻译。您可以在以下文件中看到它:projects/assets/src/translations/translation-chunks-config.ts filters 没有在其中提供,这就是为什么它可能由于找不到翻译块而无法翻译的原因。
    • 顺便说一句。请不要在静态提供的配置中使用扩展运算符。 Angular 有时会出现吞咽问题...translationChunksConfig -> translationChunksConfig。如果确实需要合并对象,请在工厂中进行(provideConfigFactory)。
    • 另一件事:您是否尝试过简单地设置相对路径assets/....... 而没有前面的../../?我不确定 ../../ 是否能正常工作 TBH
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-03
    • 1970-01-01
    • 1970-01-01
    • 2015-03-25
    • 2016-12-28
    相关资源
    最近更新 更多