Översättningsprocessen
Med hjälp av exemplet ovan söker servern först efter locale
de_de
i ID-översättningskartan. Sedan itereras den över locSuffixes
som är associerad med den här posten, i det här fallet _D
och (tomt suffix). För varje upprepning läggs suffixet till i bild-ID:t och det resulterande ID:t som testas finns i katalogen. Om det hittas används katalogposten, annars testas nästa. I det här exemplet kontrolleras följande poster: myCat/myImg_D
och myCat/myImg
. Om ingen matchning hittas returnerar servern ett fel eller en standardbild (om den är konfigurerad).
Okända språk
I ovanstående exempel innehåller attribute::LocaleMap
en tom locale
som definierar standardöversättningsregeln, som används för okända locale=
-värden (det vill säga de som inte uttryckligen anges i översättningsschemat). Om den här översättningskartan tillämpades på begäran /is/image/myCat/myImg?locale=ja
skulle den matcha myCat/myImg_E
, om den fanns, eller i annat fall myCat/myImg
.
Om en översättningskarta inte anger någon standardöversättningsregel returneras ett fel för alla begäranden med okända locale=
-värden.
Exempel
Uppslag på flera nivåer
Det är ofta önskvärt att gruppera språkområden (till exempel europeiska, Mellanöstern och Nordamerika) för att ta hänsyn till regionala standarder. Detta kan uppnås med en sökning på flera nivåer.
I det här exemplet vill vi stödja samlingar för väst- och Mellanöstern-användning. Båda samlingarna är baserade på den generiska bildsamlingen, och båda lägger till eller ändrar vissa bilder. Båda samlingarna har sedan förfinats ytterligare för specifika språkområden ( m1
, m2
för två mellanöstra varianter och w1
, w2
och w3
för tre västerländska språkområden), förutom att bilder delas för w1
och w3
. Okända språk mappas endast till den generiska samlingen och har inte tillgång till språkspecifika bilder.
attribute::LocaleMap: w1,-W,|w2,-W2,-W,|w3,-W,|m1,-M1,-M,|m2,-M2,-M,|,
Följande tabell visar vilka katalogposter som beaktas och i vilken ordning de beaktas för det generiska indata-ID:t myImg
:
locale | Katalog-ID:n som ska genomsökas |
---|---|
w1, w3 | myImg-W, myImg |
w2 | myImg-W2, myImg-W, myImg |
m1 | myImg-M1, myImg-M, myImg |
m2 | myImg-M2, myImg-M, myImg |
alla andra | myImg |
Sök efter specifika ID:n
Vissa namngivningskonventioner kanske inte stöder generiska bild-ID internt. De generiska ID:n från begäran måste alltid mappas till ett specifikt ID i katalogen. Ofta är det inte säkert att det exakta specifika ID:t är känt.
I det här exemplet kan bilder för alla språk ha suffixet _1
, _2
eller _3
. Bilder som är specifika för franska språkområden kan ha suffixet _22
eller _23
, och bilder som är specifika för tyska språkområden kan ha suffixet _470
eller _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
Följande tabell visar vilka katalogposter som beaktas och i vilken ordning de beaktas för det generiska indata-ID:t myImg
:
locale | Utdata-ID som ska genomsökas |
---|---|
för | 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 |
alla andra | myImg_1, myImg_2, myImg_3 |