您可以在您的 本地化表 中使用 參數 當顯示字串的部分需要翻譯時,例如在數字值之後本地化測量單位、引用用戶名或顯示時間和日期。



參數由 參數值 和可選的 格式說明符 组成,格式說明符用大括號括起來。

在以下示例中,一個遊戲在其本地化表中有以下條目:
| 來源 | es |
|---|---|
| Hello {Player_Name}! | Hola {Player_Name}! |
| My name is {NPC_Name} | Me llamo {NPC_Name} |
如果用戶的區域設置為 es,翻譯輸出如下:
| 遊戲內原始文本 | 西班牙語翻譯 |
|---|---|
| Hello new_storm! | Hola new_storm! |
| My name is 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 |
|---|---|
| I am from {Place_Name:translate}. | Soy de {Place_Name:translate}. |
| Brazil | Brasil |
| London | Londres |
| Germany | Alemania |
如果用戶的區域設置為 'es',翻譯輸出將顯示如下:
| 遊戲內原始文本 | 西班牙語翻譯 |
|---|---|
| I am from Brazil. | Soy de Brasil. |
| I am from London. | Soy de Londres. |
| I am from Germany. | Soy de Alemania. |
使用數字翻譯
您可以使用說明符將數值格式化,以符合您遊戲中的上下文。
在以下示例中,一個遊戲在其本地化表中有以下與數字相關的條目:
| 來源 | es |
|---|---|
| {race_time:fixed} seconds | {race_time:fixed} segundos |
| ${1:num} cash and {2:int} jewels | ${1:num} dinero y {2:int} joyas |
如果用戶的區域設置為 es,翻譯輸出將顯示如下:
| 遊戲內原始文本 | 西班牙語翻譯 |
|---|---|
| 75.202844 seconds | 75,20 segundos |
| $2500.5 cash and 99.8 jewels | $2.500,50 dinero y 100 joyas |