物件ID翻譯 object-id-translation

「影像伺服」提供一種機制,可將外部物件ID轉譯為地區設定的特定物件(目錄) ID。 主要應用程式用於提供地區設定特定內容以及在多個地區設定之間共用的內容,使用者端應用程式不需要知道地區設定特定物件ID。

只要使用全域物件ID即可編寫應用程式,而「影像伺服」會自動取代地區設定專用影像和其他可用內容。

locale 的影像伺服請求中指定的 locale= 命令。

NOTE
物件ID轉譯僅適用於以目錄為基礎的「影像伺服」使用。 無法轉譯檔案名稱。

範圍 section-66fcd5bd467c4eeaa1574583cbe9756d

對影像、SVG和靜態內容目錄中的專案的所有參照都會被視為翻譯字型,而ICC設定檔參照則不會翻譯。 除了 object 在路徑中 /is/image 和 /is/static requests,這些命令和目錄屬性可能會受到ID轉譯的影響: src=mask=template=defaultImage=attribute::DefaultImage、和 attribute::Watermark.

ID轉譯對應 section-9e417b352c314dfe94e831fdd62cddc8

attribute::LocaleMap 會定義伺服器用來決定本地化內容ID的規則,以一般物件ID和 locale= 值。

attribute::LocaleMap 由輸入清單組成 地區 (符合指定的值 locale=),每個語言環境尾碼都不含或含更多輸出語言環境尾碼( *locsuffixes*)。

例如, attribute::LocaleMap 可能會如下所示:

en,_E,|en_us,_E,|en_uk,_E,|fr,_F,|de,_D,|de_at,_D,|de_de,_D,|,_E,

請求 /is/image/myCat/myImg?locale=de_de 會傳回與目錄專案關聯的影像 myCat/myImg_D (假設此類目錄專案存在)。

請參閱 attribute::LocaleMap 以取得詳細資訊。

翻譯程式 section-1f64db17e9f644d88e09853670e14a16

根據上述範例,伺服器會先尋找 locale " de_de" (在ID轉譯對應中)。 然後它會反複運算 locSuffixes 與此專案相關聯,在此案例中為" _D「」和「」(空白尾碼)。 對於每個反複專案,字尾會附加至影像ID,而產生的ID會根據目錄中的存在性進行測試。 如果找到,則會使用該目錄專案,否則會測試下一個目錄專案。 在此範例中,會勾選下列專案: myCat/myImg_D、和 myCat/myImg. 如果找不到相符專案,伺服器會傳回錯誤或預設影像(如果已設定)。

未知的語言環境 section-b2f3c83f2dc845d69b5908107b775537

在上述範例中, attribute::LocaleMap 包含空白 locale 會定義用於未知的預設翻譯規則 locale= 值(也就是未在轉譯對應中明確列出的值)。 若將此翻譯對應套用至請求 /is/image/myCat/myImg?locale=ja,則它會 myCat/myImg_E,如果有的話,否則 myCat/myImg.

如果翻譯對應未指定預設翻譯規則,則會為所有不明請求傳回錯誤 locale= 值。

範例 section-cc40bb00ee9248bb8cb23e17d7a5984c

多階層查詢

將地區(例如,歐洲、中東、北美)分組以符合地區標準通常是值得的。 多階層查閱可達成此目的。

在此範例中,我們要支援西方和中東使用的系列。 這兩個集合都以通用影像集合為基礎,增加或修改了一些影像。然後,這兩個集合會針對特定地區設定進行進一步細化( m1m2 適用於兩種中東變體,以及 w1w2、和 w3 (三個西部地區設定),但共用的影像除外 w1w3. 不明地區只會對應至通用集合,且無權存取地區特定影像。

attribute::LocaleMap: w1,-W,|w2,-W2,-W,|w3,-W,|m1,-M1,-M,|m2,-M2,-M,|,

下表說明考慮的目錄專案,以及考慮一般輸入ID的目錄專案順序 myImg

地區設定
要搜尋的目錄ID
w1, w3
myImg-W, myImg
w2
myImg-W2, myImg-W, myImg
m1
myImg-M1, myImg-M, myImg
m2
myImg-M2, myImg-M, myImg
所有其他
我的影像

搜尋特定ID

有些影像命名慣例在內部可能不支援一般影像ID。 要求中的通用ID必須一律對應至目錄中的特定ID;通常可能不知道確切的特定ID。

在此範例中,所有語言的影像可能都有 _1_2,或 _3 尾碼。 法語地區設定的特定影像可能會 _22_23 字尾,以及德文地區設定的特定影像 _470_480 尾碼。

attribute::LocaleMap: ,_1,_2,_3|fr,_22,_23,_1,_2,_3|de,_470,_480,_1,_2,_3| de_at,_470,_480,_1,_2,_3| de_de,_470,_480,_1,_2,_3

下表說明考慮的目錄專案,以及考慮一般輸入ID的目錄專案順序 myImg

地區設定
要搜尋的輸出識別碼
fr
myImg_22, myImg_23, myImg_1, myImg_2,myImg_3
de , de_at , de_de
myImg_470, myImg_480, myImg_1, myImg_2,myImg_3
所有其他
myImg_1, myImg_2, myImg_3

另請參閱 section-05893816c66a406d89f9bfd6ace8d47a

attribute::LocaleMapattribute::DefaultLocalelocale=req=xlate

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