问题标签 [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.
json - 使用 ngx-translate 和 angular cli 自动重新编译
我ngx-translate
在一个由Angular CLI控制的项目中使用。我在 json 文件中有我的语言字符串 - 一切都按照 ngx-translate 文档进行设置。
我通过 http 包含 json 文件,如文档说明
这很好用。但是,如果我使用新的文本字符串更新 json 文件。Angular CLI 不会自动获取更改并重新加载应用程序。此外,如果我手动重新加载页面,更改也不会被拾取 - 可能是因为所有内容都在内存中。
如何告诉 Angular CLI 监视 json 文件的更改?
我需要弹出 webpack 配置,然后手动配置吗?我宁愿不这样做,因为许多从事该项目的开发人员不太适合直接在 webpack 配置文件中搞乱。
angular - Angular / ngx-translate 在内部模块中使用单独的翻译不起作用
我们想做的事
使用单独的 translateLoader 为我们的应用程序中的某个模块加载它自己的翻译。
我们尝试过的
TranslateModule.forChild
/的许多不同组合TranslateModule.forRoot
,有或没有isolate: true
Plunker 显示问题
https://embed.plnkr.co/iw7fnwRwK0BbySVKxnZd/
我们做错了什么还是 ngx-translate 中的问题?
ps 我在 ngx-translate 的 GitHub 问题中发布了同样的问题:https ://github.com/ngx-translate/core/issues/682
angular - 如何创建新的 ngx-translate 管道(纯与不纯)
编辑:我想基本上扩展 ngx-translate 提供的管道,如下所示:
这仅在 pure 设置为 false 时有效,因此我认为 ngx-translate 的加载器尚未准备好。有没有办法检查?这样我可以保持管道纯净和工作。
原帖(不相关):
我创建了一个简单地调用 translateService.instant 并返回结果的管道。
如果不将此标记为纯:false,则管道仅返回该值。有了它(我认为文件加载器已经完成)。
我的问题是每个管道被调用了大约 8 次,我可以通过更改检测来告诉管道在检索到值后停止检查吗?
angular - 如何扩展 ngx-translate 管道
我想扩展 ngx-translate 的管道,使其在我的应用程序中具有潜在的多功能性。
我的管道:
为了等待相关的翻译模块加载,我使用了 Angular 的 APP_INITIALIZER:
应用程序模块:
(上面的代码取自这里)
除非 pure 设置为 false,否则我的管道仍然无法工作,从而导致多次不必要的调用。没有错误,它只是不会改变内容。
javascript - Angular 4 和 ngx-translate:避免模板中相同键的翻译管道重复
我在使用 ngx-translate 的 Angular 4 应用程序的模板中有以下代码
这很完美。但我必须复制检索“birthdays.title”翻译的代码。有没有办法在模板中将其设置为变量并使用该变量?
类似的东西(伪代码):
angular - 在 angular4 应用程序上处理 RTL
我是 angular4 的新手,有没有办法将rtlcss与ngx-translate或直接在 angular4 打字稿上集成?
RTLCSS:http: //rtlcss.com/learn/
ngx 翻译:https ://www.npmjs.com/package/@ngx-translate/core
我已经集成了 ngx-translate,但我遇到了 RTL 问题,然后我来到rtlcss.com,这似乎很好,但我不知道如何在那里实现它,因为他们没有在文档中提供它。
任何建议或样品将不胜感激。谢谢你。
angular - 仅使用管道系统,无需在每个组件上导入 TranslateService
我已经把 ngx-translate 全部设置好了。但目前我必须导入“TranslateService”
在每个组件上,以便只使用模板上的管道,例如:
有没有办法可以避免每次都必须导入它?
angular - Angular 4 PrimeNG 下拉翻译选择的选项
在使用 ngx-translate 服务的 PrimeNG 组件的 Angular 4 应用程序中,我还想翻译下拉列表的 selectedOption,而不仅仅是下拉列表的选项。
在我的组件中,我已经声明了选项和选定的选项
在相应的 html 中,我插入了相应的 primeNG 下拉列表
问题是选项显示已翻译,但下拉列表的选定值未翻译。正如在下图中可以看到的,选项被翻译成英文,但选定的值仍然是德语(初始值)。
有没有办法翻译所选值或为所选值添加模板。同样在 primeNG下拉列表的 api 上,我没有看到为所选值添加模板的选项。
javascript - Ngx 翻译编译器,不编译
我正在尝试在 CustomCompiler 中编译请求响应,但遇到了问题。编译数据后,我返回编译后的变量,但是当我使用翻译过滤器时,我仍然看到旧的翻译文本。
我的加载器工厂和自定义编译器代码:
翻译模块导入为:
网页:
angular - 如何使用共享库“npm link”Angular 库?
对于我的 Angular 4.x 应用程序(App),我编写了一个当前不兼容 AoT 的库(例如“Lib”)。
App 和 Lib 都依赖于第 3 方库(例如“X”)。当我在 App 中使用“<strong>npm link”开发 Lib 时,由于 X 现在在 App/node_modules 和 Lib/node_modules 中,有些事情停止工作,并且在运行时似乎有来自 X 的多个提供程序实例。当我从 Lib/node_modules 中删除 X 一切正常。我怀疑这是提供者的一般限制,与 X 无关,但在我的情况下,X 实际上是 ngx-translate。
我发现的“最干净”的解决方法是只为 App 而不是 Lib 运行“npm install”。这样,大多数依赖项(包括 X)仅存在于 App node_modules 中,并且应用程序运行良好。但是,这会在开发 Lib 时导致 IDE 问题:1)如果我在 Lib 的项目上工作,它缺少依赖项并且没有智能感知(例如,它不构建)。2)如果我从 App 的项目(直接在 node_modules\Lib 上)开发 Lib,它没有正确的版本控制集成(例如,我无法签出)。
非常感谢!