Skip to content

i18n/Weiwudi Migration Plan #236

@kochizufan

Description

@kochizufan

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

具体的な変更点

  1. package.json:

    • i18next 等が必要であれば追加(Coreから削除されたため)。
  2. 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周りのイベントハンドリング)
  3. src/functions.js (新規または既存):

    • Coreから削除された createElement の高機能版(短縮記法、din 属性置換)を実装する。
      • 参照: Core src/functions.ts L1-16 (createElement)
    • 新しい app.createElement メソッドを作成し、Coreの createElement をラップする形で利用する。

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions