物件ID翻譯 object-id-translation
「影像伺服」提供一種機制,可將外部物件ID轉譯為地區設定的特定物件(目錄) ID。 主要應用程式用於提供地區設定特定內容以及在多個地區設定之間共用的內容,使用者端應用程式不需要知道地區設定特定物件ID。
只要使用全域物件ID即可編寫應用程式,而「影像伺服」會自動取代地區設定專用影像和其他可用內容。
此 locale
的影像伺服請求中指定的 locale=
命令。
範圍 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
多階層查詢
將地區(例如,歐洲、中東、北美)分組以符合地區標準通常是值得的。 多階層查閱可達成此目的。
在此範例中,我們要支援西方和中東使用的系列。 這兩個集合都以通用影像集合為基礎,增加或修改了一些影像。然後,這兩個集合會針對特定地區設定進行進一步細化( m1
, m2
適用於兩種中東變體,以及 w1
, w2
、和 w3
(三個西部地區設定),但共用的影像除外 w1
和 w3
. 不明地區只會對應至通用集合,且無權存取地區特定影像。
attribute::LocaleMap: w1,-W,|w2,-W2,-W,|w3,-W,|m1,-M1,-M,|m2,-M2,-M,|,
下表說明考慮的目錄專案,以及考慮一般輸入ID的目錄專案順序 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
:
另請參閱 section-05893816c66a406d89f9bfd6ace8d47a
attribute::LocaleMap , attribute::DefaultLocale, locale=, req=xlate