Skip to content

refactor(i18n): split application translation catalogs - #80

Merged
Leonmmcoset merged 2 commits into
mainfrom
refactor/per-application-locales
Nov 13, 2026
Merged

Leonmmcoset merged 2 commits into
mainfrom
refactor/per-application-locales

Conversation

@VasilyZa

Copy link
Copy Markdown
Collaborator

变更内容

  • 将 47 个应用拆分为独立 gettext 翻译域,在 configs/nls/po/<应用>/ 分别维护 POT 模板和各语言 PO 文件。
  • 应用加载 /usr/share/locale/<语言>/LC_MESSAGES/<应用>.mo,公共 FLTK 控件文案随各应用收录。
  • 迁移现有在用译文,将共享实现及动态状态、错误消息中依赖公共词条的 52 处引用补入对应应用的目录。
  • 增加 configs/nls/DOMAINS 和 make nls-update-<应用>,支持按应用更新模板和译文。
  • 同步 rootfs 安装、APK 归属、QEMU 测试资源注入和本地化文档。
  • 清理旧集中式翻译文件和消息注册文件,调整提取器的文件结尾格式。

验证结果

  • 翻译资源构建通过,共生成 47 个独立 MO 文件。
  • make nls-update 的内容幂等检查通过。
  • tests/build/test-nls-build.sh、test-nls-extract.sh 和 test-nls-stage.sh 通过,创建 PR 前已复核。
  • 区域配置、桌面 rootfs staging 和 Diskmgr 的相关测试通过。
  • Fileman、Taskmgr、Installer 和 ReliefAskpass 经正常 Kbuild 入口编译通过。
  • 在私有 QEMU/KVM 测试 ISO 中,FLTK 探针验证了 Fileman、Taskmgr、ReliefExcel、ReliefWord 和 network-controller 的翻译域及共享、动态文案。
  • Fileman 和 Taskmgr 的中文界面已运行并截图检查。
  • 包含新文件在内的完整变更通过空白检查,已发布源码树与验证快照一致。

已知验证限制

  • 品牌门禁存在 19 项既有失败。与基线对照后,当前失败项均在原有问题范围内。
  • test-reliefmath-integration.sh 在既有的 Kconfig 默认值断言处失败,对应 Kconfig 文件与分支基线一致。
  • 构建与图形运行验证覆盖上述目标和私有测试镜像。
  • VMware 验证未完成。

Give 47 applications independent gettext domains and PO/POT files.
Migrate existing translations, shared widget labels and indirect model
messages into each application's catalog. Update native NLS maintenance,
rootfs staging, QEMU payloads, tests and localization documentation.
Normalize extractor output to one trailing newline.

Verified catalog isolation, extraction, staging and repeatable nls-update.
Fileman, Taskmgr, Installer and askpass builds passed. QEMU/KVM verified
five translation domains and the Fileman and Taskmgr Chinese interfaces.

Existing brand-identity and ReliefMath Kconfig checks have baseline
failures. VMware validation remains pending.
@Leonmmcoset
Leonmmcoset merged commit 359182a into main Nov 13, 2026
5 checks passed
@Leonmmcoset
Leonmmcoset deleted the refactor/per-application-locales branch November 13, 2026 00:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants