翻訳を処理するためのカスタム セットアップがあり、ビルド時に翻訳を抽出してダウンロードし、実行時に翻訳を置き換えます。基本的に、babel プラグインを使用して翻訳タグを抽出し、すべてのタグを取得したら、言語ごとにそれらを含むファイルを生成します。
例
<Trans
tag="tag_name"
variables={{
var1,
var2
}}
/>
このようなタグのリストを生成します
[
{
"tag": "tag_name"
}
]
次に、言語ごとにタグの値が取得されます。翻訳値は現在、各タグの JavaScript 関数です。現在、アプリ全体の言語ごとに 1 つの翻訳バンドルを生成しています。
ただし、このソリューションは大きな翻訳バンドルにつながるため、スケーラブルではありません。したがって、これをバンドル/チャンクで分割します。
これを解決するために、チャンク/バンドルに翻訳データを含めたいと考えています。コードを調べて翻訳タグを抽出し、どのタグがどのチャンクに属しているかを調べます。このためoptimizeTree
に、コンパイルでフックにフックするプラグインを作成しました。
この後、それらをそれぞれのチャンクに追加し、コードに含めます。
このために、いくつかの問題に直面しています。
各言語のビルド プロセスを再度回避する方法はありますか? 基本的に、チャンク/バンドルが生成されたら、それに翻訳データを追加できますか? 言語ごとに 1 つのチャンクを生成したいと考えています。そのため、言語ごとにチャンク内のコードを「n」回コピーする必要があります。最適化された方法でこれを行うにはどうすればよいでしょうか。
ファイルへのインポートが解決されて翻訳済みファイルがインポートされることを確認するにはどうすればよいですか?