【问题标题】:Region or country in ngx-translate (Angular)ngx-translate (Angular) 中的地区或国家/地区
【发布时间】:2019-07-17 22:02:20
【问题描述】:

我昨天和今天都搜索过,但没有运气。也许我只是想念它。如何在美国、英国和澳大利亚有不同的英语翻译?

我不确定这方面的术语是否称为地区、国家或地区。语言环境通常意味着语言和地区,但 ngx-translate 似乎并非如此。

编辑:

我能够在 getTranslation() 调用中使用区域信息来定向到正确的翻译文件。由于该区域不是由 javascript/angular 提供的,因此我只能通过检查网站的域名来完成此操作(我对不同的国家有不同的域名)。没有不同的域名,我不知道如何确定地区/国家。

【问题讨论】:

    标签: angular ngx-translate


    【解决方案1】:

    在您的模块中导入翻译:

    TranslateModule.forRoot({
          loader: {
            provide: CustomTranslateLoader,
          }
        }),
    

    CustomTranslateLoader,只需将“ca, en, es”替换为你想要的语言

    import { TranslateLoader } from '@ngx-translate/core';
    import { Observable } from 'rxjs';
    import es from '../../locales/es/translation.json';
    import en from '../../locales/en/translation.json';
    import ca from '../../locales/ca/translation.json';
    
    export class CustomTranslateLoader implements TranslateLoader {
        public getTranslation(lang: string): Observable<any> {
            return Observable.create(observer => {
                switch (lang) {
                    case 'es':
                        observer.next(es);
                        break;
                    case 'en':
                        observer.next(en);
                        break;
                    case 'ca':
                        observer.next(ca);
                        break;
                }
    
                observer.complete();
            });
        }
    }
    

    最后,在您的 AppComponent 上默认放置一个并尝试使用用户在其浏览器中拥有的那个:

    constructor(
        private translate: TranslateService,
      ) {
        translate.setDefaultLang('es');
        translate.use(translate.getBrowserLang());
      }
    

    所有语言环境的列表: List of All Locales and Their Short Codes?

    【讨论】:

    • 我终于能够测试...我能够在 getTranslation() 调用中使用其他(区域)信息来定向到正确的翻译文件。谢谢指点!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-05
    • 2016-01-01
    相关资源
    最近更新 更多