【问题标题】:ngx-translate not working on iOS device (Cordova)ngx-translate 在 iOS 设备上不起作用(Cordova)
【发布时间】:2020-09-24 14:37:21
【问题描述】:

首先,我已经阅读了有关此的先前线程。没有一个解决方案对我有用。

我有一个基于 Cordova 的应用程序(不是 ionic),它部署在 android 和 iOS 上。一切正常,除了我的翻译在 iOS 设备(模拟器或真实设备)上不起作用。我正在使用 ngx-translate,它在浏览器或 Android 设备上没有问题。

这是我的设置:

app.module.ts

TranslateModule.forRoot({
      loader: {
        provide: TranslateLoader,
        useFactory: HttpLoaderFactory,
        deps: [HttpClient]
      }
    }),

export function HttpLoaderFactory(http: HttpClient) {
  return new TranslateHttpLoader(http, './assets/i18n/', '.json');
}

app.component.ts

import localeSv from '@angular/common/locales/sv';
ngOnInit(): { 
this.translate.setDefaultLang('se');  
registerLocaleData(localeSv); 
}

实施:

<div translate>Click to close</div>

我也尝试过使用其他翻译样式,例如 this.translateService.instant('something'),但它不起作用。

运行 cordova build ios 后,我可以看到我的 se.json 文件位于正确的文件夹中:/assets/i18n/se.json

版本信息:

"@ngx-translate/core": "^11.0.1",
"@ngx-translate/http-loader": "^4.0.0"
  • 9.0.0 (cordova-lib@9.0.1)
  • ios 5.1.1
  • 使用 WKWebViewOnly
  • 允许 config.xml 中的所有 http-intent 和 http-navigation

插件:

  • cordova-plugin-customconfigparameters 3.0.0“自定义配置参数”
  • cordova-plugin-device 2.0.3“设备”
  • cordova-plugin-geolocation 4.0.2“地理位置”
  • cordova-plugin-splashscreen 5.0.3“闪屏”
  • cordova-plugin-whitelist 1.3.4“白名单”
  • cordova-plugin-wkwebview-engine 1.2.1“Cordova WKWebView 引擎”
  • onesignal-cordova-plugin 2.9.0“OneSignal 推送通知”
  • skwas-cordova-plugin-datetimepicker 2.1.1 “日期时间选择器”

如果有人知道它可能是什么,我将非常感谢您的帮助。被困在这几天了。

【问题讨论】:

    标签: ios cordova ngx-translate


    【解决方案1】:

    如果有其他人有同样的问题。我通过加载我的 json 文件并手动设置翻译来解决它:

    导入您的 .json 文件:

    import jsonSe from '../assets/i18n/se.json';
    

    使用翻译服务手动设置语言:

        let jsonSeData = (jsonSe as any);
        this.translate.setTranslation('se', jsonSeData, true);
    

    【讨论】:

      【解决方案2】:

      如果您使用的是 wkwebview (cordova ios 6.0.0),请尝试将此行添加到您的 config.xml 这可以在文档中找到:https://cordova.apache.org/announcements/2020/06/01/cordova-ios-release-6.0.0.html

      <preference name="scheme" value="app" />
      <preference name="hostname" value="localhost" />
      

      【讨论】:

        猜你喜欢
        • 2017-05-15
        • 1970-01-01
        • 2016-12-02
        • 1970-01-01
        • 2018-04-01
        • 1970-01-01
        • 2018-01-14
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多