Я попытался добавить i18n в проект Angular 2 в .pug-файлах. Команда «./node_modules/.bin/ng-xi18n» терпит неудачу с «не может разрешить модуль @ angular/core/src/di/metadata из« .. \ index.ts »». Есть ли способ использовать локализацию i18n и .pug или html - единственное решение? Благодарю.Есть ли способ использовать i18n в .pug-файлах в Angular 2
1
A
ответ
0
Да, используя angular/cli + ngx-translate + pug-cli будет выполнять работу.
Сначала настройте TranslationConfigModule. Создайте новый модуль под названием translation.config.module.ts
import { HttpModule, Http } from '@angular/http';
import { NgModule, ModuleWithProviders } from '@angular/core';
import { TranslateModule, TranslateLoader, TranslateService } from '@ngx-translate/core';
import { TranslateHttpLoader } from '@ngx-translate/http-loader';
export function HttpLoaderFactory(http: Http) {
return new TranslateHttpLoader(http, '../../../assets/i18n/', '.json');
}
const translationOptions = {
loader: {
provide: TranslateLoader,
useFactory: HttpLoaderFactory,
deps: [Http]
}
};
@NgModule({
imports: [TranslateModule.forRoot(translationOptions)],
exports: [TranslateModule],
providers: [TranslateService]
})
export class TranslationConfigModule {
/**
* @param translate {TranslateService}
*/
constructor(private translate: TranslateService) {
// Setting up Translations
translate.addLangs(['en', 'it']);
translate.setDefaultLang('en');
const browserLang = translate.getBrowserLang();
// English and Italian, just an example
translate.use(browserLang.match(/en|it/) ? browserLang : 'it');
}
}
Затем импортировать его в любой модуль, который вы хотите, например. app.module.ts
. . .
import { TranslationConfigModule } from '../shared/modules/translation.config.module';
. . .
@NgModule({
declarations: [ ],
imports: [
TranslationConfigModule
],
exports: [ ]
})
Теперь вам нужно построить несколько i18n.json
с в myapp/src/assets/i18n
. E.G. en.json
, который будет содержать:
{
"TEST" : {
"TITLE" : "Herro Pug!"
}
}
Теперь установите мопс интеграции следующих шагов на этом мой ответ Use Jade as angular2 template engine.
Теперь наслаждайтесь мобными шаблонами с i18n. Конечно, вы можете использовать этот модуль перевода только для компонентов, объявленных и экспортированных в модуле, в котором вы импортируете этот.
test.pug
h3 {{ 'TEST.TITLE' | translate }}
Смежные вопросы
- 1. Angular 2 - * ngFor: Есть ли способ использовать альтернативное условие остановки?
- 2. Есть ли способ предотвратить удаление DOM в Angular 2 RC5?
- 3. Есть ли способ сбросить $ touched в Angular?
- 4. Angular 2 i18n: Динамическая обратная связь
- 5. Есть ли способ передать директиву атрибута Angular 2 функцию
- 6. Есть ли способ в Angular i18n/ngPluralize для извлечения множественной категории числа?
- 7. Есть ли шаблоны для шаблонов Angular 2?
- 8. Когда использовать @angular tags в Angular 2?
- 9. Можно ли использовать трубу в коде в Angular 2?
- 10. Есть ли способ динамически оценить/использовать угловую (угловую 2+) трубку?
- 11. Есть ли способ использовать adsense в javafx 2.x webview
- 12. Есть ли способ использовать JSF 2.x в среде JSF1.2
- 13. Угловые 2 и i18n
- 14. Есть ли значки для Angular 2?
- 15. Есть ли способ использовать Angular 2 на jsfiddle или plunker без systemjs?
- 16. Лучший способ сделать модалы в Angular 2?
- 17. Есть ли способ использовать объединение в GLSL?
- 18. I18N/Angular JS/Javascript Text
- 19. Как использовать WOW.js в Angular 2 Webpack?
- 20. Prismic.io в Angular 2
- 21. Есть ли способ использовать SpannableString в TabLayout?
- 22. Есть ли способ использовать logger в application.rb?
- 23. Есть ли способ использовать GUID в django?
- 24. Есть ли способ использовать смартфон в PhoneJS?
- 25. Есть ли способ использовать пробелы в BNFC?
- 26. Есть ли способ использовать SearchView в Fragment?
- 27. Есть ли способ использовать get_sidebar в функции?
- 28. есть ли способ использовать теги в Android?
- 29. Есть ли способ использовать функцию в sql?
- 30. Есть ли способ использовать C++ в JavaScript?