Replies: 3 comments 1 reply
-
Proposal: NativeAOT-friendly Core Localization Model for MewUII would like to propose a core localization model for MewUI that works well with NativeAOT, small deployment size, and explicit package-based configuration. The main idea is:
This proposal covers two related stages:
GoalsThe proposed localization model has the following goals:
High-level ModelThe proposed model can be summarized as: The normal .NET localization model is usually: The proposed MewUI localization model has two stages: MewUI Package Build FlowThe MewUI source repository contains the canonical Example: When MewUI packages are built, these core The Each Example: Each localization package contains: The package does not rely on runtime satellite assemblies. flowchart TD
subgraph Repo["MewUI source repository"]
SRC[Core source code]
EN[Default English core .resx]
KR[Core ko-KR .resx]
JA[Core ja-JP .resx]
CN[Core zh-CN .resx]
end
subgraph Pack["MewUI package build"]
PACK[Pack targets]
end
subgraph Packages["Produced NuGet packages"]
CORE[MewUI package]
LKR[MewUI.Localization.ko-KR package]
LJA[MewUI.Localization.ja-JP package]
LCN[MewUI.Localization.zh-CN package]
end
SRC --> PACK
EN --> PACK
KR --> PACK
JA --> PACK
CN --> PACK
PACK --> CORE
PACK --> LKR
PACK --> LJA
PACK --> LCN
Runtime Package Roles
|
Beta Was this translation helpful? Give feedback.
-
|
I think the current work mixes two different concerns: The second item still needs more discussion around policy and structure. Therefore, I think this work should be split into two separate PRs rather than included in a single PR. In other words: Until the localization policy is finalized, localization can still be handled from outside the core by updating This keeps the first PR as a clear string-resource refactoring step, while leaving the policy and structure of the Localization System to be designed in the Discussion and handled in the second PR. |
Beta Was this translation helpful? Give feedback.
-
|
Just want to report that no other change is required in MewUI main repo except #154 when I tried to apply localization of this app with ProTranslate. So, I wonder if there is really a need to modify MewUI itself, or at which degree the change should be. |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
Thanks for the PR.
I think this should start as an Issue or Discussion first.
According to CONTRIBUTING, PRs that affect public API surface, architecture, or project direction require prior agreement. However, this PR does not link a related Issue or Discussion, and the PR template is mostly unfilled.
This is not just a localized string update. It introduces a ResourceManager-based string system, new public API surface, and a resource deployment model that may affect package layout, runtime behavior, and NativeAOT publish output.
Please move this to a proposal Issue or Discussion first. Before implementation, we need to agree on whether localization belongs in core, whether ResourceManager/resx is an appropriate direction, and what validation is required.
ResourceManager-based localization is especially relevant to MewUI’s NativeAOT direction because it can involve resource probing, culture fallback, and satellite resource deployment. Before adding this to the core library, we need to evaluate its effect on the actual NativeAOT publish result and whether that matches MewUI’s intended deployment model.
I will keep this as draft / not merge it in its current form.
Originally posted by @al6uiz in #155 (comment)
Beta Was this translation helpful? Give feedback.
All reactions