我们建议将所有平台键存储在同一个项目中,以避免复制翻译.由于每个平台需要特定的占位符,我们将在上传时用本地化通用占位符替换它们。如果您在编辑器中手动添加键,请确保根据下表使用Lokalise占位符。


普遍的占位符

[% s], [% 1 $ s], [% s的名字):——字符串。

[%我],[% 1 $ i],[%我的名字):——整数。

[% f]、[%。2 f]、[% 1 $。2 f]、[% .2f名称):——浮动。

:名称仅用于支持命名占位符的占位符格式,对于其他格式将被忽略。

参考占位符

[% key_id key_id %):- - - - - -引用关键。

特殊的占位符

(%)-将自动导出为%%printfiOS如果字符串包含至少一个占位符(将被导出为否则)。

(空白)-导出为空字符串,但在系统中计算为翻译。

(真正的),(假)-导出为布尔值。

请注意,(空白)(真正的)(假)应该是给定译文中唯一的文本。这个句子是[错误]the的错误用法是(假)占位符,将简单地导出为文本。


设置输出占位符格式

当您的占位符转换为本地化占位符时,您可以选择它们的输出占位符格式。有些文件格式只支持通用实现(如Gettext),然而有些文件格式支持各种类型(如JSON)。您可以在下载页面上选择输出占位符格式(或使用placeholder_formatAPI / CLI参数。


占位符的格式

例如字符串,我的名字是[%s:name]。我有[%。2 f]美元。

printf

Printf-style占位符-我的名字是%s。我有%。2 f美元。

%我被转换为% d.其他变体保持不变。

ios

iOS-style占位符-我的名字是%@。我有%。2 f美元。

% s被转换为% @%我被转换为%李%李用于支持32位和64位整数)。其他变体保持不变。

加护病房

ICU消息格式占位符-我的名字是{name}。我有{0}美元。

具有名称的占位符将被导出为{名称},其他占位符将导出为{n}在哪里n是占位符的位置索引。用于ICU复数时,位置索引为的占位符1将以

.NET占位符格式我的名字是{0}。我有{0:00}美元。

symfony

Symfony占位符格式-我叫%name%。我有%placeholder_1%美元。

没有名称的占位符,将导出为导出placeholder_n在哪里n是占位符的位置索引。

i18n

在许多工具和框架中使用的常见格式(例如,在基于javascript的应用程序的某些i18n解决方案中):我叫{{name}}

不会对占位符应用任何格式。

这回答了你的问题了吗?