Textsträngslokalisering text-string-localization
Textsträngslokalisering gör att bildkataloger kan innehålla flera språkspecifika representationer för samma strängvärde.
Servern återgår till klienten med den representation som matchar det språkområde som har angetts med locale=
, så att klientsidans lokalisering undviks, och så att program enkelt kan växla språkområde genom att skicka lämpligt locale=
-värde med IS-textbegäranden.
Omfång section-a03f48e3bc0e4ab281909a2bd441a3c2
Textsträngslokalisering används för alla strängelement som innehåller lokaliseringstoken ^loc= *
locId*^
i följande katalogfält:
Alla delelement som innehåller en översättningsbar sträng (avgränsas av en kombination av avgränsarna ',' ';' ':' och/eller fältets start/slut).
Ett 0xrrggbb -färgvärde i början av ett lokaliseringsbart fält undantas från lokalisering och skickas vidare utan ändring.
Strängsyntax section-d12320edf300409f8e17565b143acafc
Lokaliseringsaktiverade string
-element i bildkatalogen består av en eller flera lokaliserade strängar, som föregås av en lokaliseringstoken.
locId
måste vara ASCII och får inte innehålla^.
'^' kan förekomma var som helst i delsträngar med eller utan HTTP-kodning. Servern matchar hela mönstret localizationToken
^loc=locId^
med separata delsträngar.
stringElements
, som inte innehåller minst en localizationToken
, betraktas inte som en lokalisering.
Översättningskartan section-f7ce3df91b724adf95cee44eac4915d4
attribute::LocaleStrMap
definierar reglerna som används av servern för att avgöra vilka localizedStrings
som ska returneras till klienten. Det består av en lista med indata locales
(som matchar värdena som anges med locale=
), där vart och ett saknar eller har ett internt språk-ID ( locId
). Till exempel:
attribute::LocaleStrMap= en,E|nl,N|de,D|,
Tomma locId
-värden anger att defaultString
ska returneras, om det är tillgängligt.
Mer information finns i beskrivningen av attribute::LocaleStrMap
.
Översättningsprocessen section-a2a8a3e5850f4f7c9d2318267afe98a2
Med tanke på översättningskartan ovan och begäran /is/image/myCat/myItem?req=&locale=nl
söker servern först efter nl
i språkområdet. Den matchade posten nl,N
anger att localizedString
som är markerad med ^loc=N^
ska returneras för varje stringElement
. Om localizationToken
inte finns i stringElement
returneras ett tomt värde.
Låt oss säga att catalog::UserData
för myCat/myItem
innehåller följande (radbrytningar infogade för tydlighet):
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
Servern returnerar följande som svar på exempelbegäran:
val1=111 str1=Dutch1 val2=value2 str2=Dutch2 str3=Dutch3
Okända språk section-26dfeefbd60345de94bbfeaaf7741223
I exemplet ovan har attribute::LocaleStrMap
en post med ett tomt locale
-värde. Servern använder den här posten för att hantera alla locale=
-värden som inte uttryckligen anges på annat sätt i översättningskartan.
Exemplet på översättningskarta anger att defaultString
i så fall ska returneras, om tillgängligt. Därför returneras följande om översättningskartan används på begäran /is/image/myCat/myItem?req=&locale=ja
:
val1=111 str1=Default1 val2=value2 str2= str3=Default3
Exempel section-ae6ff7fb90754b839f04ed08aadffa3f
Språkfamiljer
Flera locId
-värden kan associeras med varje locale
i översättningskartan. Orsaken är att den tillåter stöd för landsspecifika eller regionspecifika varianter (till exempel amerikansk engelska jämfört med brittisk engelska) för stringElements
när det hanterar det mesta av innehållet med vanliga basspråk (till exempel internationell engelska).
Stöd för exempelvis amerikansk-specifik engelska ( *
locId* EUS
) och brittisk-specifik engelska ( *
locId* EUK
) som stöd för tillfällig alternativ stavning. Om det inte finns någon EUK eller EUS återgår den till E. På samma sätt kan österrikiska-specifika tyska varianter ( DAT
) göras tillgängliga där det behövs medan vanliga tyska localizedStrings
(markerat med D
) returneras för det mesta.
attribute::LocaleStrMap
skulle se ut så här:
en,E|en_us,EUS,E|en_uk,EUK,E|de,D|de_at,DAT,D|de_de,D
I följande tabell beskrivs utdata för vissa representativa kombinationer av stringElement
och locale
:
en, en_us, en_uk
de, de_at, de_de
alla andra
Engelska
Tyska
-
en, en_us
en_uk
de, de_de
de_at
alla andra
Engelska
Engelska (Storbritannien)
Tyska
Österrikiska
-
^ loc=en^English^loc=USE^US-English^loc=D^German^loc=DDE^Deutsch
I det här exemplet finns inte DDE:n locId i attributet ::LocaleStrMap och delsträngen som är associerad med locId returneras därför aldrig.
en, en_uk
en_us
de, de_at, de_de
alla andra
Engelska
Engelska (USA)
Tyska
-