标签: ngx-translate

使用 Angx ngx-translate 翻译 json 数组

我有很长的文本需要在 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)

是否可以更改此行为并只显示所有不带逗号的文本?

json ionic-framework ngx-translate angular

2
推荐指数
1
解决办法
6360
查看次数

PrimeNG DropDown 占位符在刷新时无法与翻译一起使用

我有一个 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)

primeng ngx-translate angular

2
推荐指数
1
解决办法
5572
查看次数

ngx-translate:检测语言变化的事件(Angular)

我想使用ngx-translate库检测“当前语言”的切换。

我可以使用哪个 js 事件来实现这一点?

为了更好地理解我的意思,请检查这个简单的示例: https: //stackblitz.com/edit/github-yvbmgu

我想在 ngOnInit() 上检测“diff”组件中 currentLang 的变化。

typescript angular-components ngx-translate angular angular13

2
推荐指数
1
解决办法
7144
查看次数

ngx-translate:更改本地化文件的路径

ngx-translate库中,有没有办法更改TranslateService查找本地化文件(en-GB等)的路径?默认值为src/assets/i18n/[lang].json.

我按照这个教程进行了操作。

ngx-translate angular

2
推荐指数
1
解决办法
2945
查看次数

如何在ngx-translate中将TranslateHttpLoader与服务URL一起使用

我正在尝试从具有服务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)

javascript json ngx-translate angular

1
推荐指数
1
解决办法
2962
查看次数

无法使用 ngx-translate 的 service-translate.get 翻译文本

我能够使用翻译管道翻译文本,但目前正在努力使用翻译服务的 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)

我正在控制台中打印事件。我希望每当用户改变语言时它的翻译也会改变。我的其余翻译(使用管道)工作正常,但我看不到控制台中语言变化的变化。我缺少什么?

internationalization rxjs ngx-translate angular

1
推荐指数
1
解决办法
5374
查看次数

在angular4应用程序上处理RTL

我是angular4的新手,有没有办法将rtlcssngx-translate或者直接在angular4打字稿上集成?

RTLCSS:http: //rtlcss.com/learn/

ngx-translate:https://www.npmjs.com/package/@ngx-translate/core

我已经集成了ngx-translate但是我有一个RTL的问题然后我来到rtlcss.com这似乎很好,但我不知道如何在那里实现它,因为他们没有在文档上提供它.

任何建议或样品将不胜感激.谢谢.

right-to-left ngx-translate angular

1
推荐指数
1
解决办法
3987
查看次数

带ngrx存储的i18n-翻译角度应用

我正在写信请教您。我们构建基于商店的角度应用程序,需要翻译。要求使用官方的角度i18n方法,尽管我不知道如何将翻译与商店中的值连接起来。甚至有可能,是否有人对此有任何经验,还是我应该立即使用ngx-translate库之类的解决方案?我必须说我已经研究了很多,但是还没有找到可以理解的答案(我是大三,对我来说,要掌握所有优点和缺点以及可能的一切都非常困难)。因此,如果您有任何适用经验,我的要求是分享您的知识。提前致谢!

internationalization ngrx ngx-translate angular ngrx-store-4.0

1
推荐指数
1
解决办法
726
查看次数

ngx-translate:翻译html中的字符串

我正在使用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-i18n ngx-translate angular

1
推荐指数
1
解决办法
2042
查看次数

如何从组件切换到 &lt;html="rtl"&gt;?

我正在使用 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",否则将其删除?

ngx-translate angular angular6

1
推荐指数
1
解决办法
1180
查看次数

ngx翻译角度,如何将html格式的文本传递给占位符属性

我有以下问题。我的翻译键如下所示:

{
  "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>。

ngx-translate angular

1
推荐指数
1
解决办法
8707
查看次数

在这种情况下我应该如何使用 i18n 翻译?(翻译带有变量的文本)

我正在使用 Angular 7。我需要翻译带有变量的文本。假设我想将其翻译成德语。由于语言属性,单词(变量)需要改变位置。

例子:

CN: 以 Robert 身份登录。

DE:罗伯特·安格梅尔代特。

无法决定如何正确处理这种情况。有人可以用一个简单的例子来回答我吗?感谢您的反馈意见。

通常,我处理这样的翻译:

在组件中:

{{'仪表板' | 翻译}}

i18n DE.json:

“仪表板”:“Armaturenbrett”

我需要翻译这样的字符串:

描述:“{{example.asd@qwe.com}} 用户通过 {{deviceType}} 为 {{company}} 上传 {{fileType}}{{fileName}}。”

摘要:“天数:{{daysNumber}};距离:{{distanceCount}}”

internationalization angular-i18n ngx-translate angular

0
推荐指数
1
解决办法
2454
查看次数