i18n/Weiwudi Migration Issue for MaplatUI
WHY
MaplatCoreの軽量化・疎結合化に伴い、削除された i18n (国際化) および weiwudi (オフラインキャッシュ) の機能をUI側で引き取り、アプリケーションとして正しく動作させるため。
WHAT
MaplatCoreから削除された機能をMaplatUI側に移植・再実装する。
CoreのAPI変更(createElementの挙動変更、オプション変更)に追従する。
HOW
以下の実装計画 (implementation_plan.md) に基づき実装を行う。
移植にあたっては、MaplatCoreの削除前の先行実装を参照し、「機能の再発明」を避けること。
参照元情報 (Reference Sources)
MaplatCore Commit Hash: 7d946cde3215e56dab53af63f353023b137b3062
具体的な変更点
-
package.json:
i18next 等が必要であれば追加(Coreから削除されたため)。
-
src/index.js (または適切なエントリポイント):
- i18nセットアップ: Core初期化前に
i18next を初期化し、UI要素の翻訳フローを確立する。
- Weiwudi初期化: UI側で
Weiwudi を初期化する。Coreから削除された registerMapToSW 相当の処理を実装し、キャッシュ対応URLを取得してCoreに渡す。
- 参照: Core
src/source_ex.ts L230-264 (registerMapToSW)
- オフラインUI: Coreから削除されたイベントリスナー処理(プログレスバー表示など)を移植する。
- 参照: Core
src/source/mixin.ts L197-218 (fetchAllTileCacheAsync周りのイベントハンドリング)
-
src/functions.js (新規または既存):
- Coreから削除された
createElement の高機能版(短縮記法、din 属性置換)を実装する。
- 参照: Core
src/functions.ts L1-16 (createElement)
- 新しい
app.createElement メソッドを作成し、Coreの createElement をラップする形で利用する。
i18n/Weiwudi Migration Issue for MaplatUI
WHY
MaplatCoreの軽量化・疎結合化に伴い、削除された
i18n(国際化) およびweiwudi(オフラインキャッシュ) の機能をUI側で引き取り、アプリケーションとして正しく動作させるため。WHAT
MaplatCoreから削除された機能をMaplatUI側に移植・再実装する。
CoreのAPI変更(
createElementの挙動変更、オプション変更)に追従する。HOW
以下の実装計画 (
implementation_plan.md) に基づき実装を行う。移植にあたっては、MaplatCoreの削除前の先行実装を参照し、「機能の再発明」を避けること。
参照元情報 (Reference Sources)
MaplatCore Commit Hash:
7d946cde3215e56dab53af63f353023b137b3062具体的な変更点
package.json:i18next等が必要であれば追加(Coreから削除されたため)。src/index.js(または適切なエントリポイント):i18nextを初期化し、UI要素の翻訳フローを確立する。Weiwudiを初期化する。Coreから削除されたregisterMapToSW相当の処理を実装し、キャッシュ対応URLを取得してCoreに渡す。src/source_ex.tsL230-264 (registerMapToSW)src/source/mixin.tsL197-218 (fetchAllTileCacheAsync周りのイベントハンドリング)src/functions.js(新規または既存):createElementの高機能版(短縮記法、din属性置換)を実装する。src/functions.tsL1-16 (createElement)app.createElementメソッドを作成し、CoreのcreateElementをラップする形で利用する。