文字字串本地化 text-string-localization

文字字串本地化可讓影像目錄針對相同的字串值,包含多個地區設定的特定表示法。

伺服器會將符合以locale=指定的地區設定的表示傳回給使用者端,避免使用者端本地化,並允許應用程式只要傳送適當的locale=值搭配IS文字要求來切換地區設定。

範圍 section-a03f48e3bc0e4ab281909a2bd441a3c2

文字字串本地化已套用至下列目錄欄位中包含本地化語彙基元 ^loc= *locId*^的所有字串元素:

目錄欄位
欄位中的 字串專案
目錄::影像集

包含可翻譯字串的任何子元素(以分隔符號「,」「;」「:」和/或欄位開頭/結尾的任何組合分隔)。

可當地語系化欄位開頭的 0xrrggbb 色彩值會從本地化中排除,且不會經過修改而通過。

目錄::對應
任何單引號或雙引號屬性值,除了字串= 和形狀= 屬性的值。
目錄::目標
任何目標的值。*.label 和目標。*.userdata 屬性。
目錄::UserData
任何屬性的值。

字串語法 section-d12320edf300409f8e17565b143acafc

影像目錄中啟用本地化的​ string ​元素包含一或多個本地化字串,每個字串前面都有一個本地化權杖。

stringElement
[ defaultString ]*{ localizationToken localizedString }
localizationToken
^loc= locStr ^
locId
localizedString 的內部地區設定識別碼會跟隨此 localizationToken 。
localizedString
當地語系化字串。
預設字串
用於未知地區設定的字串。

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/myItemcatalog::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 ​組合的輸出:

stringElement
地區設定
輸出字串
^loc=E^English^loc=D^German

en, en_us, en_uk

de, de_at, de_de

所有其他

英語

德文

-

^loc=E^English^loc=UKE^UK-English^loc=D^German^loc=DAT^Audiential

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

所有其他

英語

美式英文

德文

-

recommendation-more-help
a26166cd-f2f4-45ce-996d-96a0f0d6cf49