工具比较什么
- Apple 格式:
%@、%1$@、%d、%ld、%lld、%.2f、%u、%i和%s,逐个位置比较。%%是普通文本。 - Flutter ICU 占位符:
{name},包括plural和select分支中的占位符。
%e 或 %x 等少见的转换会被有意忽略,以免把 "20%en" 这样的文本误判为错误。
粘贴源字符串及其译文:工具会标记丢失、改名、类型或顺序改变的占位符,同时适用于 Apple 格式(%@、%1$@、%lld)和 Flutter ICU 消息。免费,无需注册,文本始终不会离开你的浏览器。
在你的浏览器中比较:不会上传任何内容。
LocalePilot 是一款桌面应用,可自动把所有译文的占位符与原文比对(%@、%1$@、%lld、ICU),在质量检查中心中列出问题,并在阻断性问题修复之前阻止导出。macOS 版即将完成:留下邮箱,即可收到上线通知。
%@、%1$@、%d、%ld、%lld、%.2f、%u、%i 和 %s,逐个位置比较。%% 是普通文本。{name},包括 plural 和 select 分支中的占位符。%e 或 %x 等少见的转换会被有意忽略,以免把 "20%en" 这样的文本误判为错误。
%lld 换成 %@ 后,整数会被当作对象读取,可能导致崩溃。%1$@、%2$@);混用带编号和不带编号的说明符属于未定义行为。% d 被当作说明符读取。请把百分号写两次:%%。{count} 被改成 {nombre},会改变 Flutter 中所有语言的 API。这些情况在 iOS 格式说明符指南和 ICU 占位符指南中有详细说明。
本工具只比较占位符,不检查含义:当参数未编号时,它无法发现两个被互换的 %@,也无法发现翻译得不好的句子。它不解析 ICU 的撇号转义(Flutter 的 use-escaping 选项):'{' 会被当作花括号读取。它一次只比较一个字符串;如需检查整个文件,请使用 ARB 缺失键检查器,或使用能检查每个键的编辑器。
%@、%1$@(以及其他位置)、%d、%ld、%lld、%.2f、%u、%i、%s;%% 被视为普通文本。%e 或 %x 等少见的转换会被有意忽略。
在格式字符串中,“% d”是一个有效的说明符(空格是 printf 的标志位),所以“%lld % de remise”中有两个说明符,却只有一个参数。应写成“%lld %% de remise”。
可以,只要给每个参数编号:%1$@ 是第一个,%2$@ 是第二个,无论它们在句子中的位置如何。在同一个字符串中,要么全部编号,要么全部不编号。
是的:花括号中的占位符会与原文比对,包括 plural 和 select 分支中的占位符。
不会。你的字符串(有时还未发布)在页面中比对:不会发送任何内容。
本工具一次比较一个字符串。LocalePilot 是一款即将推出的 macOS 桌面应用,可比较 ARB、.strings 和 .xcstrings 文件中的每个键,并在出现阻断性问题时阻止导出。
LocalePilot 正在做最后的完善。留下你的邮箱,上线时我们会通知你。