Вы можете использовать NG2-Перевести на Ionic2
Сначала перейдите в каталог вашего проекта в своем терминале. Затем установите NG2-перевод, выполнив следующую команду
npm install ng2-translate --save
Теперь переходим в каталог ./src/assets. Здесь создайте папку, допустим, i18n. Теперь создайте json-файлы, содержащие пары ключ-значение. Как для примера:
en.json (./src/assets/en.json)
{
"title":"Internationalization Example"
}
fr.json (./src/assets/en.json)
{
"title":"Exemple d'internationalisation"
}
Теперь давайте сделаем некоторую загрузку. Импорт следующего в вашем app.component.ts файл
import {HttpModule} from '@angular/http';
import {Http} from '@angular/http';
import {BrowserModule} from "@angular/platform-browser";
import {TranslateStaticLoader, TranslateLoader, TranslateModule} from 'ng2-translate/ng2-translate';
Теперь создаст функцию createTranslateLoader() как:
export function createTranslateLoader(http: Http) {
return new TranslateStaticLoader(http, './assets/i18n', '.json');
}
Добавить следующее для @NgModule:
@NgModule({
---------
---------
imports: [
IonicModule.forRoot(MyApp),
TranslateModule.forRoot({
provide: TranslateLoader,
useFactory: createTranslateLoader,
deps: [Http]
}),
BrowserModule,
HttpModule,
],
exports: [BrowserModule, HttpModule, TranslateModule]
---------
---------
})
Теперь откройте приложение .component.ts. Первый импорт TranslateService
import {TranslateService} from 'ng2-translate/ng2-translate';
Обновите конструктор и инициализация перевода (ниже код в контексте app.component.ts)
constructor(platform: Platform,private translate: TranslateService) {
platform.ready().then(() => {
// Verify your lacale
var userLang = navigator.language.split('-')[0];
console.log(userLang);
//initialize ng2-translate
this.initTranslation();
});
}
initTranslation() {
var userLang = navigator.language.split('-')[0];
userLang = /(fr|en)/gi.test(userLang) ? userLang : 'en';
// Default language if file not found
this.translate.setDefaultLang('en');
// Change userLang = 'fr' to check instantly
this.translate.use(userLang);
this.translate.get("title", null).subscribe(localizedValue => console.log(localizedValue));
}
Все готовы, так открыто вашей соответствующей странице.HTML-файл и использовать следующую интерполяцию для перевода
{{"key"|translate}}
В моем случае это было бы
{{"title"|translate}}
Вот и все. Для любой помощи посетите [Использование NG2-Перевести]: https://ionicframework.com/docs/v2/resources/ng2-translate/
Просьба привести один пример стажера уровня устройства.? – AngJobs