问题标签 [angular-i18n]

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 回答
273 浏览

angular - Angular4+ 可以通过 HTTP Header Accept_Language 提供本地化吗?

在阅读Angular i18n 指南时,我被以下行所震撼:

您需要为每种支持的语言构建和部署应用程序的单独版本。

似乎很少有系统提供商会想要这种模型。我知道我们不想要它。是否有任何建议的方式通过部署一个系统的 HTTP Accept_Language 标头提供本地化数据?

0 投票
3 回答
4200 浏览

javascript - Angular中动态内容的国际化?

Angular.io 对 i18n 标签的描述如下:

Angular i18n 属性标记可翻译内容。将其放置在要翻译其固定文本的每个元素标记上。

所以我的问题是这个。如果我有一个内容是动态的元素怎么办?例如下面这张显示资产列表的表格。“描述”列在某些情况下需要是英语,在某些情况下需要使用其他语言。

我在想这样的事情:

……但我错了。有什么建议么?

0 投票
3 回答
29759 浏览

angular - Angular 5 国际化

我正在使用最新的 Angular5 构建一个应用程序,我需要的是让用户能够切换语言。我从来不需要在 Angular2+ 中实现这个(实际上我使用的是 Angular5)。

我需要在两个地方设置翻译:

  • 组件的模板 html - 将标签更改为指定的语言
  • 在 component.ts 文件中的代码中 - 我可能需要翻译一些在代码中特定条件下动态构建的字符串

我正在查看ngx-translation,它看起来可以满足我的所有需求,因为它允许您在不重新构建代码的情况下更改语言,请参见此处。但是我读到它可能会被弃用,因为主要开发人员转移到 Angular 团队来开发他们的 i18n 代码。

我也了解当前的i18n不支持我现在需要的一切,请参见此处

我的问题 - 最新版本的 Angular 中翻译的状态如何?是否有人会推荐其他库,如果确实,Angular 本身还没有得到完全支持(用于更改语言而不重新编译)?ngx-translate 对未来有好处吗?

非常感谢这方面的任何指导!

0 投票
1 回答
790 浏览

angular - Angular 2 typescript 从类中导出值

导出让 exportLanguage = ExportLanguageFun.setValue(); //错误:“typeof ExportLanguageFun”类型上不存在属性“setValue”。

预期输出 console.log(let+"someValue");

0 投票
0 回答
694 浏览

angular - 国家子文件夹中的 Angular 5 服务器端渲染

多亏了通用启动器,我已经在我的 angular 5 应用程序上成功实现了服务器端渲染。

我现在被角原生国际化所困扰。我可以 ng build --locale=fr --ouput-path=dist/fr --base-href=fr在没有通用渲染的情况下成功。

如何将国际化与通用渲染相结合?

我可以通过在服务器/浏览器中创建语言文件夹

ng build --prod --locale=fr --i18n-file src/locale/messages.fr.xlf --base-href=/fr --deploy-url=/fr --output-path=dist/browser/fr

ng build --prod --locale=fr --i18n-file src/locale/messages.fr.xlf --base-href=/fr --deploy-url=/fr --output-path=dist/server/fr --app 1 --output-hashing=false

我的 dist 文件夹看起来像:

...距离

.....鲍泽

........... zh

...........

.....服务器

........... zh

...........

我怎样才能使server.ts基于 url 基础服务所有语言?

希望有人能帮忙!

非常感谢

0 投票
0 回答
1628 浏览

angular - 在 Angular 5 中实现多语言的建议

我需要一些帮助来在我的 ng2 应用程序中实现多语言。为此,我需要执行以下操作:

1) 根据语言更改 URL。示例 myapp.com/ar/jobsmyapp.com/en/jobs

2) 加载特定语言的 CSS。

3) 翻译页面上的所有文本。


1)为了能够根据我想使用 UIRouterModule 的语言更改 URL,但我不确定这是否是最好的方法。我从这篇文章中遇到了 UIRouterModule http://cloudmark.github.io/Multilingual-Routing/

任何人都可以告诉我是否有更好的方法来更改基于语言的 URL(例如 myapp.com/ar/jobs)?

2)加载额外的语言特定的CSS:我创建了2个组件app.eng.component和app.arabic.component,它们是基于一个条件app.eng.component和app.arabic.component从app.component加载的特定语言的特定 CSS。

我不确定这是否是最好的方法。谁能帮我找到更好的解决方案?

3)要翻译,我将创建一个像这样的管道 https://scotch.io/tutorials/simple-language-translation-in-angular-2-part-1

有更好的方法吗?

0 投票
1 回答
149 浏览

angular - 服务 i18n 翻译 angular cli 提供英文文本

我几乎按照官方 i18n 角度指南进行角度翻译。但是,当使用

g serve --aot --i18nFile=src/locale/messages.fr.xlf --i18nFormat=xlf --locale=fr

我仍然得到英文文本。

我有一个 messages.xlf 和 messages.fr.xlf :

src/messages.xlf

src/locale/messages.fr.xlf

和我的测试应用程序模板:

0 投票
0 回答
1614 浏览

angular - 对多个 i18n 文件的 Angular 支持

要编译翻译的应用程序,我会:

ng build -bh=fr --i18nFile=src/i18n/messages.fr.xlf --locale=fr --output-path=dist/fr

如果我有一个包含法语本地化消息的第三方组件,是否有办法将其翻译也包含在最终输出中?或者我是否需要确保它们在消费应用程序中被翻译并将它们传递到组件中。

特别是,如果我有 my-app-1 和 my-app-2,我是否可以轻松导入 @my/component-module 及其自己的消息 (/node_modules/@my/component-module/i18n/messages.fr. xlf)?

只需将字符串添加到 my-app-1/src/i18n/messages.fr.xlf 和 my-app-2/src/i18n/messages.fr.xlf 并将它们作为输入传递给 @my/component-module 更少不理想,因为这意味着我现在必须在 3 个不同的地方维护这些字符串。

0 投票
0 回答
714 浏览

angular - 带有 JIT 的 Angular 5 i18n - 延迟加载语言文件

我们正在使用带有 JIT 的 Angular 5,并希望根据查询字符串值替换应用程序中用于翻译的 XLF 内容。boot.browser.ts中没有指定特定的文化会导致所有xlf文件使用 webpack 捆绑到 main-client.js

是否可以在应用程序加载时替换翻译提供商提供的值并根据语言加载新的 XLF 文件?

0 投票
6 回答
8200 浏览

angular - angular-i18n 代码翻译的解决方法?

我们必须等到 Angular 6 才能让 angular-i18n 支持错误消息等的代码翻译。

对于那些使用 angular-i18n(例如,而不是 ngx-translate)的人,您在此期间正在做什么来处理代码中的翻译?我突然想到,如果没有很多字符串,那么一个简单的语言服务可以使用通过语言代码和 id 获取翻译的方法,但我对更优雅和“有角度”的东西感兴趣。

我不知道承诺的代码翻译支持会是什么样子,但理想情况下,任何临时解决方案在上线时都可以轻松转换为 angular-i18n 方式。

人们在做什么来处理这个问题?有任何想法吗?