您可以在您的 本地化表 中使用 参数,当显示字符串的只有部分需要翻译时,例如在数字值之后本地化计量单位、引用用户名或显示时间和日期。



参数由 参数值 和一个可选的 格式说明符 组成,包含在大括号中。

在以下示例中,一个游戏在其本地化表中有以下条目:
| 源 | es |
|---|---|
| 你好 {Player_Name}! | Hola {Player_Name}! |
| 我的名字是 {NPC_Name} | Me llamo {NPC_Name} |
如果用户的语言环境设定为 es,翻译输出如下:
| 原始游戏内文本 | 西班牙语翻译 |
|---|---|
| 你好 new_storm! | Hola new_storm! |
| 我的名字是 Diva Dragonslayer | Me llamo Diva Dragonslayer |
在某些情况下,您可能想使用格式说明符来控制参数值在本地化字符串中的格式。
可用的格式说明符如下:
| 说明符 | 类型 | 描述 | 示例输出 |
|---|---|---|---|
| int | 数字 | 整数,带可选的负号;没有千位分隔符。 | 1234 |
| fixed | 数字 | 两位小数,带小数指示符,带可选的负号,且没有千位分隔符。 | 1234.50 1234,50 |
| num | 数字 | 两位小数,带小数指示符,带可选的负号, 并有千位分隔符。 | 1,234.50 1234,50 |
| HEX | 数字 | 整数转换为十六进制;负数转换为64位补码。 | 3FF |
| hex | 数字 | 与HEX相同,但为小写。 | 3ff |
| datetime | 数字 | UTC时间戳作为数字到通用用户可读格式。 | 2017-10-10 13:38:10 |
| iso8601 | 数字 | UTC时间戳作为数字到ISO-8601格式的UTC时间。 | 2017-10-12T22:02:38Z |
| shorttime | 数字 | UTC时间戳到本地“小时:分钟”格式。 | 1:45 PM 13:45 |
| shortdatetime | 数字 | UTC时间戳到短时间的日期+时间模式。 | 10/10/2017 1:45 PM |
| shortdate | 数字 | UTC时间戳到短日期模式。 | 10/10/2017 2017-10-10 |
| translate | 字符串 | 在本地化表中寻找一个字面 源 字符串匹配,并使用可用的语言环境翻译。 |
翻译子字符串
当需要直接从本地化表中进行翻译时,请使用 translate 说明符。本地化将搜索本地化表的源列中参数的准确匹配。
在以下示例中,一个游戏在其本地化表中有以下行:
| 源 | es |
|---|---|
| 我来自 {Place_Name:translate}。 | Soy de {Place_Name:translate}. |
| 巴西 | Brasil |
| 伦敦 | Londres |
| 德国 | Alemania |
如果用户的语言环境设定为 es,翻译输出如下:
| 原始游戏内文本 | 西班牙语翻译 |
|---|---|
| 我来自巴西。 | Soy de Brasil. |
| 我来自伦敦。 | Soy de Londres. |
| 我来自德国。 | Soy de Alemania. |
使用数字翻译
您可以使用说明符来格式化您的数字值以匹配您游戏中的上下文。
在以下示例中,一个游戏在其本地化表中有以下与数字相关的条目:
| 源 | es |
|---|---|
| {race_time:fixed} 秒 | {race_time:fixed} segundos |
| ${1:num} 现金和 {2:int} 珠宝 | ${1:num} dinero y {2:int} joyas |
如果用户的语言环境设定为 es,翻译输出如下:
| 原始游戏内文本 | 西班牙语翻译 |
|---|---|
| 75.202844秒 | 75,20 segundos |
| $2500.5现金和99.8珠宝 | $2.500,50 dinero y 100 joyas |