问题标签 [ng2-translate]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1467 浏览

angular - ng2-translate 组件文件

我在我的 ionic2 应用程序上使用 ng2-translate,我让它在 html 上的静态文本上运行良好,例如:

我翻译了这个标题,但是当我尝试翻译这个时:

我无法使用翻译管道作为离子标题翻译 p.title。我只能通过以下方式做到这一点:

但我不想订阅我要翻译的每个 ngfor 或数组。还有另一种方法可以使这项工作吗?

我对 app.module 的配置:

0 投票
1 回答
826 浏览

angular - 使用 ng2-translate 翻译文本

我曾经ng2-translate在我的angular2网络应用程序中翻译标题和文本。但是当我试图翻译从.ts文件中传递的文本时,我现在很困惑。
例如,我可以翻译 html 文件中的文本,如下所示。

但是,如果我有.ts如下文件文本。然后我如何翻译这些文本。

在上面的例子中,我想翻译文本

'请选择一个位置'、'选项 1'、'选项 2'、'确定'...

如果有人有解决这个问题的想法,请帮助我。谢谢。

0 投票
1 回答
1771 浏览

unit-testing - 如何在 Angular2 中使用 karma-jasmine 对 ng2-translate 进行单元测试

我正在尝试使用 ng2-translate 翻译带有德语和英语选项的页面。

navbar.component.html

navbar.component.spec.ts

翻译正在进行,{{ 'PAGE.GENERAL' | translate}}被正确翻译。因此在规范中,TranslateService 的 getTranslation() 是从 Json 文件(en.json 和 de.json)中获取数据。我在 TranslateServiceMock 中嘲笑这项服务。我该如何测试这个?有什么帮助吗?

0 投票
2 回答
735 浏览

angular - 如何在延迟加载的 ngModule 中通过 shared.module 加载服务,仅通过 forRoot() 实例化一次

如何通过 SharedModule 将服务加载为延迟加载的 ngModule 中的单例?

如何在延迟加载的 ngModule 中将服务加载为单例?

我确实有一个提供 i18n 和 API 等服务的 SharedModule。这些服务是自己的 ngModules,它们提供自己的 forRoot 功能。现在我想使用 forRoot 在一个花边加载的模块中从 SharedModule 加载服务,这样就不会通过依赖注入创建新实例。

我尝试了以下类似的方法,但似乎没有任何效果

shared.module.ts

app.module.ts

进入模块和 forRoot / for child 的好资源是http://blog.angular-university.io/angular2-ngmodule/

0 投票
2 回答
832 浏览

angular - ionic2 ng2-translate 在模态下不起作用

我在将 ng2-translate 与 ionic2 中的模态结合使用时遇到问题。正常页面中的翻译工作正常。

这是我的app.module.ts文件:

例如,在我的仪表板中,我可以使用以下 HTML 代码并获得正确的翻译:

<h2>{{'general.tasks' | translate}}</h2>

但是,当我现在通过以下代码使用 ionic-angular 的 ModalController 打开一个新模式时:

在新的 TaskCancelPage 中具有相同的 HTML 代码

<h2>{{'general.tasks' | translate}}</h2>

但在这里我只得到general.tasks而不是翻译后的值。

0 投票
2 回答
924 浏览

angular - ng2-translate 指令在管道运行时不起作用

Ng2-translate directive给我带来了一些问题,但如果我做错了什么或者它是一个错误,我不明白。

在同一个组件的html模板上,翻译pipe工作正常,而翻译工作directive不工作。

尤其是:

https://github.com/ocombe/ng2-translate#4-use-the-service-the-pipe-or-the-directive

我错过了什么还是应该工作?

编辑

变量feature.linkTxt指向string LEARNMORE,它对应于以下json字符串:

如果我使用相同的变量从指令切换到管道,则会显示翻译后的文本。

feature.linkTxt变量由以下*ngFor语句生成:

0 投票
1 回答
1540 浏览

angular - 在 HTML 模板中制作简单的 ng2-translate 翻译工作

我刚刚将ng2-translate (5.0.0) 添加到我们的 angular (2.4.1) + typescript (2.0.3) + webpack (2.1.0-beta.25) 项目中。在构建的早期,我正在通过内存中的一些字典手动定义翻译。setTranslation

当我TranslateService在组件代码中使用时,一切正常。现在,我无法为 HTML 模板中的指令和管道找到正确的语法。

一组翻译有,例如:

1) 管道

当模板具有:

应用程序在运行时中断,在很早的阶段,platformBrowserDynamic().bootstrapModule(AppModule)

引导应用程序时出错。语法错误

2) 指令+内容

当模板具有:

应用程序不会中断,但页面只显示未翻译的键,loginTitle.

3) 指令

当模板具有:

应用程序没有中断,但页面没有显示任何应该显示的文本,DOM 节点不包含任何文本。

正如文档中所建议的那样,我已经TranslateModule在应用模块级别(使用forRoot)以及共享模块中进行了导入,而共享模块又被其他区域模块导入。

我还尝试了其他变体,有嵌套翻译,没有单引号等等,但没有运气。我究竟做错了什么?

编辑在场景 #1 中,我能够记录有关初始错误的更多信息:

错误:模板解析错误:找不到管道“翻译”

但这应该已经是 ng2-translate 的一部分

0 投票
0 回答
392 浏览

javascript - Angular 2在使用多个模块时保持ng2-translate DRY

我是使用 Angular 2 的新手,并且有一个关于在使用多个模块时保持代码干燥的问题。

我有一个共享模块,我在其中导入和导出其他模块的常用功能。

其中一个进口是 ng2-translate。

但是当我将它SharedModule导入一个新模块时,我需要再次导入和配置TranslateModulefrom ng2-translate,以便能够配置它。

如果我应该使用多个模块,这给了我一个我不喜欢的模式。

那么我将如何保持此代码干燥保持最佳实践呢?

应用模块

这是我的基本结构,如果我添加一个新模块,我将不得不导入SharedModuleTranslateModule并重新设置默认语言TranslateService

如何防止这种模式?

0 投票
0 回答
308 浏览

angular - 使用管道获取 ng2-translate 中两个键的翻译

我有这种情况,我插入包含动态值的错误变量。

每次出现任何类型的错误时,我都会为 errorMsg 提供一个键。喜欢

这些是我的键,由管道翻译,效果很好。

但我想同时翻译两个键。我怎么做?就像是:

这应该导致

en-US.json 中的键值对是:

这是可行的吗?

0 投票
0 回答
348 浏览

angular - 更新 ng2-translate 指令中的 translateParams

给定一个翻译字符串,例如:

是否有可能以value这样的方式绑定,ng2-translate当底层参数发生变化时它会触发更新翻译的字符串?

上面的组件将Timeout in 10 seconds.静态显示,但第二个跨度(和控制台)将显示值递减,如您所料。

我解决这个问题的方法(如上所示)是使用TranslationService来在间隔的每个刻度上获取翻译的字符串,并更新message模板内组件上的绑定属性。