我们建议将所有平台键存储在同一个项目中,以避免复制翻译.由于每个平台需要特定的占位符,我们将在上传时用本地化通用占位符替换它们。如果您在编辑器中手动添加键,请确保根据下表使用Lokalise占位符。
普遍的占位符
[% s], [% 1 $ s], [% s的名字):
——字符串。
[%我],[% 1 $ i],[%我的名字):
——整数。
[% f]、[%。2 f]、[% 1 $。2 f]、[% .2f名称):
——浮动。
:名称
仅用于支持命名占位符的占位符格式,对于其他格式将被忽略。
参考占位符
[% key_id key_id %):
- - - - - -引用关键。
特殊的占位符
(%)
-将自动导出为%%
为printf
和iOS
如果字符串包含至少一个占位符(将被导出为%
否则)。
(空白)
-导出为空字符串,但在系统中计算为翻译。
(真正的),(假)
-导出为布尔值。
请注意,(空白)
,(真正的)
,(假)
应该是给定译文中唯一的文本。这个句子是[错误]
the的错误用法是(假)
占位符,将简单地导出为文本。
设置输出占位符格式
当您的占位符转换为本地化占位符时,您可以选择它们的输出占位符格式。有些文件格式只支持通用实现(如Gettext),然而有些文件格式支持各种类型(如JSON)。您可以在下载页面上选择输出占位符格式(或使用placeholder_format
API / 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}}
.
生
不会对占位符应用任何格式。