我有很长的文本需要在 Ionic 4 应用程序中翻译。我正在使用 Angx ngx-translate (@ngx-translate v11.0.1)。
为了提高可读性,我希望翻译成多行而不是一行。
我已经改变了我的 i18n json,从此(en-US.json):
"common-questions-content" : "<b>Question 1?</b> Answer 1 <br> <b>Question 2?</b> Answer 2 <b>Question 3?</b> Answer 3",
Run Code Online (Sandbox Code Playgroud)
对此:
"common-questions-content" : [
"<b>Question 1?</b> Answer 1 <br>",
"<b>Question 2?</b> Answer 2 <br>",
"<b>Question 3?</b> Answer 3"
],
Run Code Online (Sandbox Code Playgroud)
没想到这竟然有效!但是,它在数组的每个值之间放置逗号:
我在 app.component.ts 中加载翻译服务:
import {TranslateService} from '@ngx-translate/core';
...
private translateService: TranslateService,
...
this.translateService.use('en-US');
Run Code Online (Sandbox Code Playgroud)
最后我在我的 html 页面中使用它,如下所示:
{{ 'common_questions' | translate }}
Run Code Online (Sandbox Code Playgroud)
是否可以更改此行为并只显示所有不带逗号的文本?
我有一个 PrimeNG 下拉控件,带有一个使用翻译管道的占位符。当我最初加载视图时,占位符会按预期显示。但是,当我刷新页面时,下拉列表始终显示选择第一个选项的下拉列表。我尝试将翻译移至代码中并通过数据绑定使用变量,但在这种情况下,占位符将仅显示翻译标签。唯一有效的方法是不使用任何翻译。在这种情况下,即使在页面刷新后,占位符也会显示。
HTML:
<p-dropdown [options]="myOptions" [(ngModel)]="option" placeholder="{{ 'LABEL' | translate }}" optionLabel="name"></p-dropdown>
Run Code Online (Sandbox Code Playgroud)
角度:
myOptions: MyOptions[];
option: string;
ngOnInit(): void {
this.myOptions: = [
{ name: 'options1' },
{ name: 'option2' },
{ name: 'option3' }
];
Run Code Online (Sandbox Code Playgroud) 我想使用ngx-translate库检测“当前语言”的切换。
我可以使用哪个 js 事件来实现这一点?
为了更好地理解我的意思,请检查这个简单的示例: https: //stackblitz.com/edit/github-yvbmgu
我想在 ngOnInit() 上检测“diff”组件中 currentLang 的变化。
typescript angular-components ngx-translate angular angular13
在ngx-translate库中,有没有办法更改TranslateService查找本地化文件(en-GB等)的路径?默认值为src/assets/i18n/[lang].json.
我按照这个教程进行了操作。
我正在尝试从具有服务URL的内容管理系统中获取翻译的文本。当我使用JSON文件时,它运作良好,但是如何使用服务URL来获取转换后的数据?
这是无效的代码:
export function createTranslateLoader(http: Http) {
return new TranslateHttpLoader(http, 'http://test.test.com/test/test/Translations/{lang}/{SiteId}');
}
Run Code Online (Sandbox Code Playgroud) 我能够使用翻译管道翻译文本,但目前正在努力使用翻译服务的 get 和 instant 方法加载翻译。下面是我在 app.component.ts 中的代码
export class AppComponent {
event : string;
constructor(private translate: TranslateService) {
translate.addLangs(["en", "fr"]);
translate.setDefaultLang('en');
let LangChangeEvent : {}
let browserLang = translate.getBrowserLang();
translate.use(browserLang.match(/en|fr/) ? browserLang : 'en');
this.translate.get('ALL_LOCATIONS_TREEVIEW').subscribe((event: String) => {
console.log(event);
});
}
}
Run Code Online (Sandbox Code Playgroud)
我正在控制台中打印事件。我希望每当用户改变语言时它的翻译也会改变。我的其余翻译(使用管道)工作正常,但我看不到控制台中语言变化的变化。我缺少什么?
我正在写信请教您。我们构建基于商店的角度应用程序,需要翻译。要求使用官方的角度i18n方法,尽管我不知道如何将翻译与商店中的值连接起来。甚至有可能,是否有人对此有任何经验,还是我应该立即使用ngx-translate库之类的解决方案?我必须说我已经研究了很多,但是还没有找到可以理解的答案(我是大三,对我来说,要掌握所有优点和缺点以及可能的一切都非常困难)。因此,如果您有任何适用经验,我的要求是分享您的知识。提前致谢!
internationalization ngrx ngx-translate angular ngrx-store-4.0
我正在使用ngx-translate lib在我的角度应用程序中支持I18N。谁能帮助我在下面的HTML代码段中进行标记?
<span *ngIf="Days < 0 && !shortSentence">
Follow-up is <span [class.font-bold]="highlightContent">{{ InDays | positiveNumber }} days</span> past due
</span>
Run Code Online (Sandbox Code Playgroud)
我只想在span标签中标记文本内容。如何将其翻译为参数化?
任何帮助将不胜感激。
提前致谢。
我正在使用 Angular 6 和 ngx-translate。在不弄乱主题的情况下切换到 rtl 的唯一方法是<html dir="rtl">在 index.html 中。
在component.ts:
switchLanguage(language: string) {
this.translate.use(language);
localStorage.setItem('lang', JSON.stringify(language));
}
Run Code Online (Sandbox Code Playgroud)
如何添加dir="rtl"到<html>if language === "ar",否则将其删除?
我有以下问题。我的翻译键如下所示:
{
"key": 'Lorem <strong>inpsum</strong>'
}
Run Code Online (Sandbox Code Playgroud)
以及html代码的一部分:
<form>
<input [placeholder]="'key | translate'">
</form>
Run Code Online (Sandbox Code Playgroud)
现在,如果我想要 html 格式,如何将键传递给占位符?目前在我的输入中我可以看到文本:Lorem <strong> ipsum </strong>。
我正在使用 Angular 7。我需要翻译带有变量的文本。假设我想将其翻译成德语。由于语言属性,单词(变量)需要改变位置。
例子:
CN: 以 Robert 身份登录。
DE:罗伯特·安格梅尔代特。
无法决定如何正确处理这种情况。有人可以用一个简单的例子来回答我吗?感谢您的反馈意见。
通常,我处理这样的翻译:
在组件中:
{{'仪表板' | 翻译}}
i18n DE.json:
“仪表板”:“Armaturenbrett”
我需要翻译这样的字符串:
描述:“{{example.asd@qwe.com}} 用户通过 {{deviceType}} 为 {{company}} 上传 {{fileType}}{{fileName}}。”
摘要:“天数:{{daysNumber}};距离:{{distanceCount}}”
angular ×12
ngx-translate ×12
angular-i18n ×2
json ×2
angular13 ×1
angular6 ×1
javascript ×1
ngrx ×1
primeng ×1
rxjs ×1
typescript ×1