web-dev-qa-db-ja.com

多言語のインストールを有効にする方法Angular単一のサービスワーカーでのPWA?

ローカライズされた言語バージョンのアプリケーションを準備しました。この目的のために、私はnative Angular i18n moduleを使用しました。これは、それぞれに適切な言語で2つのアプリケーションパッケージを準備しました。

アプリケーションの各バージョンは、私のnginxサーバーの個別の場所で使用できます。

  • myapp.com/en/...
  • myapp.com/pl/...

アプリケーションにPWAとして一度インストールするを使用し、(単一?)サービスワーカーを使用して両方の言語バージョンを提供します。

残念ながら、@ angular/pwa moduleで今できることは、アプリケーションごとに個別のService Workerを提供することです。これにより、アプリケーションの各言語バージョンを個別にインストールする必要があります。

私の質問は:アプリケーションが@ angular/pwaまたはWorkboxを使用して説明した方法で機能する方法はありますか?

//ちなみに、Angularの作成者が@ angular/localizeと@ angular/pwaの統合を強調していなかったのは少し意外です。

7
Jelly

言語ごとにN個のアプリがあります。それらは異なるドメインでホストされています。それらは実際には異なるアプリです。したがって、すべてを1つのURLにインストールしても、すべてをインストールできます。

さまざまなアプリで1つのドメインを使用するオプションとして、すべての言語とそれに対応するJSファイルで構成を作成するか、index.htmlのパーサーを作成できます。次に、ページの読み込み時に適切なスクリプトを挿入する独自のワーカーを作成する必要があります(JSコードが既に読み込まれているため、実行中には実行できません)。これにより、適切なアプリが読み込まれます。そして、そこには各アプリのワーカーが含まれていると思います。

Googleストアでハイブリッドアプリとして公開する場合は、i18nツールの切り替えを検討してください。

別のオプションとして、WebViewにレイヤーを提供し、ユーザーが選択した言語に応じて異なるURLをロードすることができます。

1
Sergey