问题标签 [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.
kendo-ui - 如何在 xi18n Angular5 本地化中转义单个大括号
我有一个 kendo 下拉列表,我想在其中本地化默认文本。有什么方法可以逃避 [defaultItem] 所需的单个花括号吗?已尝试 [defaultItem]="{{'{ text: 'Product Line', value: null }'}}" 给出解析器错误:得到插值 ({{}})
home.component.html
消息.en.xlf
Angular i18n 应该识别 kendo-dropdownlist [defaultItem] 并从翻译 .xlf 文件中选择匹配项。
angular - 在这种情况下我应该如何使用 i18n translate?(翻译带有变量的文本)
我正在使用 Angular 7。我需要翻译带有变量的文本。假设我想把它翻译成德语。由于语言属性,单词(变量)需要改变位置。
例子:
CN: 以罗伯特的身份登录。
DE: 饰演 Robert angelmeldet。
无法决定如何正确处理这种情况。有人可以用一个简单的例子来回答我吗?感谢您的反馈意见。
通常,我正在处理这样的翻译:
在组件中:
{{'仪表板' | 翻译}}
i18n DE.json:
“仪表板”:“Armaturenbrett”
我需要翻译这样的字符串:
描述:“{{example.asd@qwe.com}} 用户通过 {{deviceType}} 为 {{company}} 上传 {{fileType}}{{fileName}}。”
摘要:“天数:{{daysNumber}};距离:{{distanceCount}}”
javascript - 无法在 ngx-translate-messageformat-compiler 中组合选择和复数
我在我的 Angular 应用程序中使用 ngx-translate-messageformat-compiler。我在 ngOnInit 中初始化了一个组件属性:
this.translations = { count: this.selections.length, status: this.toStatus };
在我的查找字符串中,我有这样的事情:
"markedThing": "Marked {count} thing{count, plural, =0{s} one{} other{s}} as",
"closedSelections": "You've selected {count} thing{count, plural, =0{s} one{} other{s}} to close",
这一切都很好,并从这里尝试“选择”示例:
"people": "{gender, select, male{He is} female{She is} other{They are}} {how}",
也可以正常工作。
我的问题是,当我结合选择和复数翻译时,翻译会中断,没有错误,只是应用程序中的字符串保留为它们的“关键”版本(like.this)。
我想要做的工作是这样的:
"markThing": "Mark thing{count, plural, =0{s} one{} other{s}} as {status, select, UNREAD{unread} READ{read} CLOSED{closed}}",
知道我做错了什么吗?我的模板如下所示:
{{'markThing' | translate:translations}}
json - Angular i18n json 文件中的自动比较检查
我在 Angular 应用程序中有 2 个文件en.json
和翻译。xx.json
常见的想法是在两个文件中为多语言应用程序创建翻译,但有时一些程序员只在其中一个文件中添加翻译,因为他们只用他们的语言测试应用程序。
我正在寻找在两个 JSON 文件中检查相同结构的工具,否则它会引发错误,并且在您为第二语言创建翻译时有助于添加。你知道这方面的任何好的做法、工具或插件吗?我正在使用 WebStorm。
angular - i18n 国际化 不断变化的术语
我想更改我的 Angular 应用程序的术语。
基本上 i18n 是我需要的,但是我不关心更改本地甚至获取本地化和切换语言。语言将是英语,唯一要改变的是我的应用程序中的一些文本。
例如,我有两个术语(T1 和 T2),无论我选择这两个术语中的一个,我都希望更改不同的静态文本。
T1:创建一个对象
T2:创建一个对象(一些其他文本)
你知道怎么做吗?我的主要问题是 i18n 模块的复杂性,因为它完全改变了语言。
谢谢。
angular - Angular mat-icon 正在“翻译”?
摘要:我在页面上使用“+”号材料图标来表示添加新项目。
在网站的英文版上,它显示得很好。在网站的西班牙语版本上,它显示“ñ”
问题:标签之间不应该有任何文字吗?还是我根本不应该添加翻译元素?
我尝试对此进行调查,但无法通过 SO 或谷歌找到任何内容,我也没有在文档页面上看到它:https ://material.angular.io/components/icon/overview
预期:在英语和西班牙语版本的网站中保留“+”号。
实际:翻译为“ñ”
angular - 使用 Angular 日期格式,但不在管道中
我想使用 Angular 的 datePipe 使用的函数 formatDate,该函数位于:
angular/packages/common/src/i18n/format_date.ts
当我尝试导入它时:
import {format_date} from '@angular/common/src/i18n/format_date'
我收到一个错误:
找不到模块“@angular/common/src/i18n/format_date”
在业务逻辑文件(不是管道)中使用此功能(或管道上使用的任何其他功能)的任何解决方案
json - 使用 nginx 的 Angular i18n json 缓存问题
我在 de.json 和 en.json 等 json 文件中使用 angular 和 i18n 翻译。在我的生产环境(nginx)中,我遇到了这些 JSON 文件被 Web 浏览器缓存的问题。升级后,即使日期标头已更改,Chrome 也不会下载当前 json 文件的新版本。
请求信息(Chrome):
- 请求网址:https://[my-site]/assets/i18n/de.json
- 请求方法:GET
- 状态码:200(来自磁盘缓存)
- 远程地址:XXXX:443
- 推荐人政策:降级时无推荐人
响应标头:
- 内容编码:gzip
- 内容类型:应用程序/json
- 日期:格林威治标准时间 2019 年 2 月 15 日星期五 09:04:42
- etag:W/“5c62bf4d-2aea”
- 最后修改时间:格林威治标准时间 2019 年 2 月 12 日星期二 12:42:53
- 服务器:nginx/1.14.0 (Ubuntu)
- 状态:304
有没有人有这个问题的经验并且可以帮助我?
angular - i18n 多方向 RTL 角度
我正在使用 Angular 4,我正在尝试在我的应用程序中实现 i18n 的技术,问题是:我不知道我应该在哪里写方向 LTR/RTL 在翻译 messages.ar.xlf 的文件中,甚至当我使用i18n-dir dir="ltr"在原始 html 文件中的每个标签中提到它时,我没有得到由 cmd ng xi18n提取的文件 messages.xlf 中的方向,所以我无法改变方向页面:/
新post.component.html
消息.xlf