[i18n] ability to dynamically load translations for the app
- 主要言語
- TypeScript
- スター
- 27k
- フォーク
- 11.8k
- 平均マージ
- 14時間 23分
- マージ済み PR(30日)
- 162
説明
# 🐞 bug report
### Affected Package
@angular/localize
### Is this a regression?
Yes, it's a regression from v8
### Description
In v8 was a very handy solution to load your translation data for development.
It's described on this documentation page https://v8.angular.io/guide/i18n#merge-with-the-jit-compiler
With the migration to v9 there's no corresponding solution that will allow to quickly switch locales during runtime for development. As far as I understand, the suggested replacement is to run `ng serve` with the desired locale every time.
A little bit background here. We have 2 applications, every with 4 languages. For production, we build it with AOT as suggested. For development we use JIT and load corresponding translation depending on the browser URL (German for `/de/` for example), this mimics prod behavior. So, to switch translation and check how the interface looks in a different language, you just need to pick up another item in the language menu. The page reloads at the same URL but with a different language. Starting from v9 it's not supported, so we would have to run `ng serve` every time for a new language and start from the home page for every language again.
What would be a suggested way repeat v8 behavior? I checked `loadTranslatios` but it accepts a key-value object, not a XLIFF data. Is any function that can transform from XLIFF to a format understandable for `loadTranslations`
## 🌍 Your Environment
**Angular Version:**
Angular CLI: 9.1.9
Node: 12.4.0
OS: darwin x64
Angular: 9.1.11
... animations, common, compiler, compiler-cli, core, forms
... language-service, localize, platform-browser
... platform-browser-dynamic, router
Ivy Workspace: Yes
Package Version
------------------------------------------------------------
@angular-devkit/architect 0.901.9
@angular-devkit/build-angular 0.901.9
@angular-devkit/build-ng-packagr 0.901.9
@angular-devkit/build-optimizer 0.901.9
@angular-devkit/build-webpack 0.901.9
@angular-devkit/core 9.1.9
@angular-devkit/schematics 9.1.9
@angular/cdk 9.2.4
@angular/cli 9.1.9
@angular/material 9.2.4
@angular/material-moment-adapter 9.2.4
@ngtools/webpack 9.1.9
@schematics/angular 9.1.9
@schematics/update 0.901.9
ng-packagr 9.1.5
rxjs 6.5.5
typescript 3.8.3
webpack 4.42.0
コントリビューションガイド
調査の方向性
@angular/localize とリンクされている v8 JIT i18n ドキュメントから始め、v9 loadTranslations API と、要求されている XLIFF および runtime-locale のワークフローを比較します。開発中にロケールを切り替えるためのサポートされている方法があり、XLIFF データの扱い方も含まれていれば完了です。
索引モデルが issue の本文から書いたものです。
評価
- 技術スタック
- angular, typescript
- 領域
- localization
- issue の種類
- バグ
- 難易度
- 5/5
- 見積もり時間
- 1週間以上
- 活発さ
- 停滞
- 明瞭さ
- 説明が足りない
- 初心者へのやさしさ
- 25/100