文字字串本地化 text-string-localization
文字字串本地化可讓影像目錄針對相同的字串值,包含多個地區設定的特定表示法。
伺服器會將符合以locale=
指定的地區設定的表示傳回給使用者端,避免使用者端本地化,並允許應用程式只要傳送適當的locale=
值搭配IS文字要求來切換地區設定。
範圍 section-a03f48e3bc0e4ab281909a2bd441a3c2
文字字串本地化已套用至下列目錄欄位中包含本地化語彙基元 ^loc= *
locId*^
的所有字串元素:
包含可翻譯字串的任何子元素(以分隔符號「,」「;」「:」和/或欄位開頭/結尾的任何組合分隔)。
可當地語系化欄位開頭的 0xrrggbb 色彩值會從本地化中排除,且不會經過修改而通過。
字串語法 section-d12320edf300409f8e17565b143acafc
影像目錄中啟用本地化的 string
元素包含一或多個本地化字串,每個字串前面都有一個本地化權杖。
locId
必須是ASCII且不可包含'^'。
'^'可能會出現在具有或不具有HTTP編碼的子字串中的任何位置。 伺服器符合整個 localizationToken
^loc=locId^
模式,以分隔子字串。
stringElements
(不包含至少一個 localizationToken
)不視為本地化。
翻譯地圖 section-f7ce3df91b724adf95cee44eac4915d4
attribute::LocaleStrMap
定義伺服器用來決定哪個 localizedStrings
要傳回使用者端的規則。 它包含輸入 locales
的清單(符合以locale=
指定的值),每個都沒有任何或多個內部地區設定識別碼( locId
)。 例如:
attribute::LocaleStrMap= en,E|nl,N|de,D|,
空的 locId
值表示應傳回 defaultString
(如果有的話)。
如需詳細資訊,請參閱attribute::LocaleStrMap
的說明。
翻譯程式 section-a2a8a3e5850f4f7c9d2318267afe98a2
根據以上範例翻譯對應和請求/is/image/myCat/myItem?req=&locale=nl
,伺服器會先在地區設定對應中尋找「nl
」。 相符的專案nl,N
表示應傳回每個 stringElement
標示為^loc=N^
的 localizedString
。 如果此 localizationToken
不存在於 stringElement
中,則會傳回空值。
假設myCat/myItem
的catalog::UserData
包含下列內容(為了清楚起見,插入了分行符號):
val1=111?? str1=Default1^loc=N^Dutch1^loc=D^German1?? val2=value2?? str2=^loc=E^English2^loc=N^Dutch2^loc=D^German2?? str3=Default3^loc=N^Dutch3^loc=D^German3
伺服器會傳回下列內容以回應範例要求:
val1=111 str1=Dutch1 val2=value2 str2=Dutch2 str3=Dutch3
未知的語言環境 section-26dfeefbd60345de94bbfeaaf7741223
在上述範例中,attribute::LocaleStrMap
的專案具有空的 locale
值。 伺服器使用此專案來處理翻譯對應中未明確指定的所有locale=
值。
範例翻譯對應會指定在這種情況下應傳回 defaultString
(如果有的話)。 因此,若將此翻譯對應套用至要求/is/image/myCat/myItem?req=&locale=ja
,將會傳回下列專案:
val1=111 str1=Default1 val2=value2 str2= str3=Default3
範例 section-ae6ff7fb90754b839f04ed08aadffa3f
語言系列
多個 locId
值可能與翻譯對應中的每個 locale
相關聯。 原因是它允許為選取的 stringElements
支援特定國家或地區的變體(例如美式英文與英式英文),同時處理大多數具有通用基本語言環境的內容(例如國際英文)。
例如,新增美國專屬英文(*
locId* EUS
)和英國專屬英文(*
locId* EUK
)的支援,以支援偶爾使用的替代拼字。 如果EUK或EUS不存在,則會退回E。同樣地,在大部分時間傳回通用德文 localizedStrings
(以D
標籤)時,奧地利特定德文變體(DAT
)可以在需要時使用。
attribute::LocaleStrMap
看起來像這樣:
en,E|en_us,EUS,E|en_uk,EUK,E|de,D|de_at,DAT,D|de_de,D
下表說明部分代表 stringElement
與 locale
組合的輸出:
en, en_us, en_uk
de, de_at, de_de
所有其他
英語
德文
-
en, en_us
en_uk
de, de_de
de_at
所有其他
英語
UK — 英文
德文
奧地利文
-
^ loc=en^English^loc=USE^US-English^loc=D^German^loc=DDE^Deutsch
在此範例中, locId DDE不存在於屬性::LocaleStrMap 中,因此永遠不會傳回與此 locId 關聯的子字串。
en, en_uk
en_us
de, de_at, de_de
所有其他
英語
美式英文
德文
-