问题标签 [ngx-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 投票
1 回答
669 浏览

angular - ng2-translate 单元测试不断失败

正常运行应用程序时一切正常。但是,我在尝试编写这些单元测试时遇到了问题。我从下面的代码中删除了任何项目特定的代码/类。

我得到的错误是

Chrome 51.0.2704 (Mac OS X 10.11.6) 应用程序:Angular 遇到声明异常 FAILED TypeError:无法读取 AngularAppComponent.translationConfig (/Users/angular/dist/app/angular.component.js: 40:23)

任何帮助是极大的赞赏。

我在 main.ts 中引导它

这是我的 angular.component.ts

这是我的 angular.component.spec.ts

0 投票
1 回答
1362 浏览

angular - ngx-translate:管道与指令

我已经实现了 ngx-translate i18n 模块并得到了奇怪的行为

使用指令它只能工作一次,如果我切换到另一种语言,它不会更新文本,但是管道方法有效:

这是预期的行为吗?

UPD:创建了一个关于它的问题

在这里你可以在 plunker 中尝试一下。

0 投票
1 回答
2811 浏览

angular - 使用 Angular Universal 进行 Ngx 翻译

我刚刚在我的 Angular 2 通用应用程序中从ng2-translate( v. 5.x.x) 升级到ngx-translate( )。v. 6.x.x

在升级之前,我使用了这个加载器(在这里找到):

我是这样使用的:

但是,升级到 后ngx-translate,我在终端控制台中收到此错误(因此,服务器端错误):

因此,任何人都知道如何使用 Angular Universal 为服务器端支持设置自定义加载器ngx-translate

0 投票
1 回答
36608 浏览

javascript - 如何在angular2中使用ngx-translate获取当前语言

我想用 获取当前语言this.translate.getBrowserLang(),但无论当前语言是什么以及支持的语言是什么,它总是返回“en”。

这是 plnkr:https ://plnkr.co/edit/JEXgj8WcISYGtDg75VoR?p=preview ,


也许plnkr坏了,你可以试试stackblitz:https ://stackblitz.com/edit/github-kk1mud-a7gxbb

0 投票
1 回答
799 浏览

angular - Angular 2不纯管道与指令性能

我正在ngx-translates研究提供翻译输入的两种方式。

  1. 要么作为管道{{'messageId' | translate}}
  2. 或作为指令<span [translate]="'messageId'">

管道是一个不纯的管道,可以处理翻译和任何异步加载文本。我看到的这种方法的缺点是每次摘要循环运行时都会触发。

另一种方法是使用指令。在这种情况下,我们可以通过使用事件或 Observables 来控制方法何时被触发。这种方法将减少不必要的更新。

但是由于指令操纵 DOM,我的问题是指令方法会使事情总体上变慢吗?另外,有没有办法衡量一个比另一个的表现?

0 投票
1 回答
179 浏览

angular - 在初始化其他模块之前等待全局用户对象

我有一个load()在全局授权服务中运行的方法,该服务从服务器获取用户对象。此方法与 APP_INITIALIZER 一起运行。该方法如下所示:

我正在使用 ngx-translate 在服务器上获取用户的语言,然后加载相应的翻译文件。我的翻译模块如下所示:

问题是在执行translate.use(this.auth.user.language). 如何让一切都等待用户对象从服务器加载,然后再执行其他操作?

0 投票
1 回答
2584 浏览

angular - 如何加载特定的 JSON-Files 模块?Angular 4 - ngx 翻译

我是 Angular 4 和 ngx-translate 的新手。我正在寻找一种为每个模块加载特定 JSON 文件的方法。

在我的 app.module.ts 中,这段代码为每种语言加载了 json 文件:

但是在另一个模块中,此代码:

这段代码没有被执行......

这不起作用的原因是什么?

0 投票
1 回答
1088 浏览

angular - TranslateModule 配置不起作用

我创建了以下文件来隔离ngx-translate配置:

然后我只是在我的应用程序模块imports部分中使用以下内容:

TranslateModule.forRoot(translateModuleConfig)

但它实际上不再起作用了,这与我将配置直接内联而不是函数时不同。我做错了什么?

0 投票
1 回答
461 浏览

ionic-framework - 在 Ionic 2 中使用 ngx-translate:如何添加下载的外部语言文件?动态更改 json 文件夹或使用 setTranslate?

我在 Ionic 2 项目中使用 nxg-translate。

在我的app.module.ts,我使用translateHttpLoader

在我的应用程序中,我必须从外部 zip 下载 lang 文件,因为客户希望有可能在不重新发布应用程序的情况下更改 traductions,并且语言文件包含可能更改的特定元素(地图标记等)

所以我下载并解压缩文件,当我有 lang (= data) 的 json 内容时,我用方法将它添加到翻译工具中setTranslate

this.translate.setTranslation(lang,data);

但是,当我使用 getTranslation 方法检查语言是否正确添加时,我遇到了错误,因为它找不到文件。(http 请求错误)。这很正常,我的文件夹assets/i18n/是空的,但是使用该setTranslation方法,我认为我通常应该找到我之前添加的内容?或者我没有按预期使用模块?

我试图在 assets/in18n 文件夹中放置一个空文件(例如 fr.json),看看它是否可以工作,但它不会改变任何东西。

如果我更改 translateHttpLoader 中文件夹的 url,以获得准确下载的 zip 内容文件夹,它可以工作,但问题是我可以更改平台(ios/android)的功能,因为 zip 的文件夹不一样在操作系统的功能。

我的问题是: - 我可以在我的createTranslateLoader功能中(或在应用程序初始化后)更改平台功能中的资产文件夹 - setTranslation 方法如何工作:它是否需要文件i18n夹中的最小文件才能工作?- 你有想法改进我对 ngx-translate 的使用吗?

谢谢 !

大卫

0 投票
3 回答
7687 浏览

angular - @ngx-translate 使用不同的模块

我有许多模块的应用程序。我将 ngx-translate 用于多语言功能。但是,它不起作用。

i18n.module.ts

i18n.component.ts

我在我的另一个模块中使用了类似的东西。

但是,这会引发“模板解析错误:找不到管道'翻译' ”错误。