尧图建网站 尧图建网站 YAOTU WEB BUILD 免费咨询
ARTICLE DETAIL

资讯详情

深耕网站建设与建站编程的一线实战洞察。

Scanner支持22种语言:UWP多语言本地化resw实战,以及如何贡献你的翻译

Scanner支持22种语言:UWP多语言本地化resw实战,以及如何贡献你的翻译 Scanner支持22种语言UWP多语言本地化resw实战以及如何贡献你的翻译【免费下载链接】scannerAn all-in-one scanner app for Windows项目地址: https://gitcode.com/gh_mirrors/scanner/scannerScanner 是一款 Windows 平台的一站式扫描应用而它的多语言本地化让全球用户都能用母语完成扫描、编辑和保存文档。本文带你快速了解 Scanner 如何实现 UWP 多语言支持、resw 资源文件在其中的核心作用以及普通用户如何贡献自己的翻译——零基础也能看懂。 为什么扫描仪软件需要多语言本地化扫描仪用户往往是在处理重要文档时操作软件合同、发票、证件。用母语看到每个按钮、每个提示才能避免误操作。Scanner 目前支持22 种语言覆盖 25 个地区化区域设置包括语言语言代码语言语言代码简体中文zh-Hans荷兰语nl德语de波兰语pl法语 / 比利时法语fr/fr-be葡萄牙语 / 巴西葡萄牙语pt/pt-br英语美 / 英 / 加en/en-gb/en-ca俄语 / 乌克兰语ru/uk西班牙语es罗马尼亚语ro意大利语it匈牙利语 / 斯洛伐克语hu/sk捷克语cs挪威语nb希伯来语 / 印地语he/hi印尼语id加泰罗尼亚语ca阿拉伯语突尼斯ar-tn对开发者来说UWP 的多语言本地化有一套标准机制对贡献者来说理解它只需 10 分钟。⚙️ Scanner 的语言切换是如何工作的在设置 → 应用语言中你可以选择跟随系统或任意一种支持的语言。背后分三步列出可选语言Scanner/ViewModels/SettingsViewModel.cs 通过ApplicationLanguages.ManifestLanguages读取应用清单中声明的所有语言并额外把SYSTEM跟随系统插在列表最前面应用语言设置Scanner/App.xaml.cs 在启动时检查设置值若为SYSTEM则清除PrimaryLanguageOverride否则将其设为对应语言代码兜底校验Scanner/Services/SettingsService.cs 会验证保存的语言是否在清单中可用不可用则自动回退到SYSTEM防止显示乱码界面。界面中的语言下拉列表还借助 Scanner/Views/Converters/AppLanguageSettingConverter.cs 把de、fr这类代码转换成本地化后的自然语言名称让用户看到的是Deutsch而不是de。 UWP 多语言本地化核心resw 资源文件UWP 应用的所有界面文字都不是写死在代码里的而是集中存放在.reswXAML 资源字典文件中。Scanner 的翻译文件位于Scanner/Resources/Localization/语言代码/Resources.resw例如简体中文的翻译文件是Scanner/Resources/Localization/zh-Hans/Resources.resw一个 resw 条目长什么样以裁剪按钮为例摘自中文翻译文件data nameButtonEditCrop.ToolTipService.ToolTip xml:spacepreserve value裁剪页面/value commentThe tooltip text that appears while hovering the crop button in the edit toolbar./comment /dataname资源键和界面上的控件一一对应键名里还带有控件路径信息如编辑工具栏中的裁剪按钮value实际显示给用户的翻译文本comment给翻译者的上下文说明——这是贡献翻译时最有帮助的部分。代码侧只需通过 Scanner/Utilities.cs 中的LocalizedString(资源键)一行代码即可取到当前语言的文本。而应用名称等清单级文字如开始菜单显示名则写在 Scanner/Package.appxmanifest 中通过ms-resource:引用并自动参与本地化。![Scanner 扫描软件编辑界面工具栏按钮文字均可通过 resw 资源文件本地化](https://raw.gitcode.com/gh_mirrors/scanner/scanner/raw/f2d659d6e2520a13b0e0e17072bd313e16cadb2f/Scanner/Assets/ClipShelf/Hero Image Alt Close-Up.jpg?utm_sourcegitcode_repo_files)✍️ 如何贡献你的翻译5 步走第 1 步获取代码git clone https://gitcode.com/gh_mirrors/scanner/scanner第 2 步找到你的语言目录打开Scanner/Resources/Localization/语言已存在如de、fr直接在对应Resources.resw中补全空缺条目语言不存在新建文件夹用标准地区代码如ja、ko从en/Resources.resw复制一份作为模板地区变体如en-gb、pt-br从最接近的基语言en、pt复制只改差异部分。第 3 步逐条翻译对照英文文件Scanner/Resources/Localization/en/Resources.resw逐条填写value重点阅读每条的comment它解释了文字出现的场景避免翻译歧义保持 XML 结构完整特别注意转义、、等特殊字符中文等 CJK 语言目录用zh-Hans这类标准代码命名。第 4 步本地验证用 Visual Studio 打开Scanner/Scanner.sln并部署运行在设置 → 应用语言中切换到你的语言新语言需确保清单中已生成对应资源x-generate模式会在构建时自动收集检查显示效果。第 5 步提交贡献按常规流程提交你的分支并发起合并请求附上语言名称和新增/补全了哪些条目的说明即可。❓ 常见问题 FAQQ1新加一种语言后设置里看不到怎么办Scanner通过ApplicationLanguages.ManifestLanguages从应用清单读取语言列表构建时Languagex-generate见 Scanner/Package.appxmanifest会自动把新增的 resw 目录注册进清单重新构建即可。Q2为什么选择跟随系统而不是指定语言选SYSTEM时应用会清除PrimaryLanguageOverride完全跟随 Windows 的区域设置这也是 Scanner/Services/SettingsService.cs 的默认值。Q3resw 和 resx 有什么区别.resx是 .NET 资源文件.resw是 XAML 专用资源字典UWP/XAML 界面绑定文本时使用后者两者结构高度相似。Q4翻译时能否调整文案结构建议忠实于原意、仅做必要的语序调整按钮、提示框空间有限文案过长可能被截断。小结Scanner 已支持22 种语言翻译全部集中在Scanner/Resources/Localization/下的 resw 文件中语言切换由清单声明 设置持久化 启动时应用PrimaryLanguageOverride三者协同完成想贡献翻译克隆仓库 → 找到或新建语言目录 → 参考英文文件和comment提示逐条翻译 → 提交即可。哪怕只补全几个词条也能让一位母语用户的使用体验大大改善——这就是多语言本地化的魅力。【免费下载链接】scannerAn all-in-one scanner app for Windows项目地址: https://gitcode.com/gh_mirrors/scanner/scanner创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表