[英]ngx-translate not working on iOS device (Cordova)
首先,我已经阅读了有关此的先前线程。 没有一个解决方案对我有用。
我有一个基于 Cordova 的应用程序(非离子),它部署在 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>
我也尝试过使用其他翻译 styles 像 this.translateService.instant('something'),但它不起作用。
运行 cordova 构建 ios 后,我可以看到我的 se.json 文件位于正确的文件夹中:/assets/i184D4E8DF1B74CFA009913198428ABZ
版本信息:
"@ngx-translate/core": "^11.0.1",
"@ngx-translate/http-loader": "^4.0.0"
插件:
如果有人知道它可能是什么,我将非常感谢您的帮助。 被困在这几天了。
如果还有其他人有同样的问题。 我通过加载我的 json 文件并手动设置翻译来解决它:
导入您的.json 文件:
import jsonSe from '../assets/i18n/se.json';
使用翻译服务手动设置语言:
let jsonSeData = (jsonSe as any);
this.translate.setTranslation('se', jsonSeData, true);
try to add this lines to your config.xml if you are using wkwebview (cordova ios 6.0.0) This can be found in the documentation: 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" />
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.