物件ID轉譯

「影像伺服」提供將外部對象ID轉譯為地區特定對象(目錄)ID的機制。 主應用程式用於提供在多個語言環境中共用的語言環境特定內容和內容,而客戶應用程式不需要知道語言環境特定對象ID。

只能使用全局對象ID寫入應用程式,而「影像服務」將自動替換特定於區域設定的影像和可用的其他內容。

locale​在影像伺服請求中使用locale=命令指定。

注意

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

範圍

對影像、SVG和靜態內容目錄中條目的所有引用都被視為翻譯字型,而ICC配置檔案引用不被翻譯。 除了/is/image和/is/static requests路徑中的​object​外,這些命令和目錄屬性還要經過ID轉換:src=mask=template=defaultImage=attribute::DefaultImageattribute::Watermark

ID翻譯對應

attribute::LocaleMap 會定義伺服器用來判斷本地化內容ID的規則,只要輸入一般物件ID和 locale= 值。

attribute::LocaleMap 包含輸入地區 設定 (與指定的值相符 locale=)的清單,每個區域設定尾碼都沒有或更多輸出地區 *尾碼(*locSuffix)。

例如, 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的說明。

翻譯程式

根據上述範例,伺服器會先在ID轉譯對映中尋找​locale " de_de"。 然後,它會反覆到與此項目相關聯的​locSuffixes,在此例中為「 _D」和「」(空尾碼)。 對於每個迭代,尾碼會附加至影像ID,以及測試目錄中是否存在的結果ID。 如果找到,則使用該目錄項目,否則將測試下一個項目。 在此範例中,會檢查下列項目:myCat/myImg_DmyCat/myImg。 如果找不到相符項目,則伺服器會傳回錯誤或預設影像(如果已設定)。

未知地區

在上例中, attribute::LocaleMap包含一個空​locale,它定義預設的轉換規則,用於未知的locale=值(即未明確列於轉換映射中的值)。 如果此翻譯對應套用至請求/is/image/myCat/myImg?locale=ja,則會解析為myCat/myImg_E(如果存在),或解析為myCat/myImg

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

範例

多層查閱

通常最好將地區設定(例如歐洲、中東、北美)分組,以符合地區標準。 這可透過多層查詢來達成。

在此範例中,我們想支援西部和中東使用的集合。 這兩個集合都以通用影像集合為基礎,增加或修改了一些影像。然後,兩個集合會針對特定地區設定(m1m2適用於兩個中東變體,w1w2w3適用於三個西方地區設定)進一步細化,但影像會共用給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

所有其他

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的考慮順序:

地區設定 要搜索的輸出ID

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

另請參閱

attribute::LocaleMap , attribute:: DefaultLocale, locale=, req=xlate

本頁內容