[英]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.