Lokalizace knihovny uživatelského rozhraní v aplikaci
Lokalizace je klíčem k vytváření produktů, které je možné používat po celém světě, a lidmi, kteří mluví různými jazyky. Knihovna uživatelského rozhraní Azure Communication Services poskytuje připravenou podporu pro některé jazyky a možnosti, jako je rtL (zprava doleva). Vývojáři mohou poskytnout své vlastní lokalizační soubory pro knihovnu uživatelského rozhraní.
V tomto článku se dozvíte, jak správně nastavit lokalizaci pomocí knihovny uživatelského rozhraní ve vaší aplikaci.
Požadavky
- Účet Azure s aktivním předplatným. Vytvoření účtu zdarma
- Nasazený prostředek komunikační služby. Vytvořte prostředek komunikační služby.
- Přístupový token uživatele, který povolí klienta volání. Získejte přístupový token uživatele.
- Volitelné: Dokončení rychlého startu pro začátek práce se složenými knihovnami uživatelského rozhraní
Nastavení lokalizace
Podrobnou dokumentaci a rychlé starty týkající se knihovny webového uživatelského rozhraní najdete v článku o obsahu knihovny webového uživatelského rozhraní.
Další informace najdete v tématu Lokalizace v knihovně webového uživatelského rozhraní.
Další informace najdete v opensourcové knihovně uživatelského rozhraní Androidu a vzorovém kódu aplikace.
Dostupné jazyky
Následující tabulka uvádí CallCompositeSupportedLocale
ID pro předefinované překlady. Chcete-li lokalizovat složený objekt, předejte Locale
objekt z CallCompositeSupportedLocale
do CallCompositeLocalizationOptions
možnosti do CallComposite
.
Jazyk | CallCompositeSupportedLocale |
---|---|
Arabština (Saúdská Arábie) | CallCompositeSupportedLocale.AR_SA |
němčina (Německo) | CallCompositeSupportedLocale.DE_DE |
English (US) | CallCompositeSupportedLocale.EN_US |
Angličtina (Velká Británie) | CallCompositeSupportedLocale.EN_UK |
španělština (Španělsko). | CallCompositeSupportedLocale.ES_ES |
Španělština | CallCompositeSupportedLocale.ES |
Finština (Finsko) | CallCompositeSupportedLocale.FI_FI |
francouzština (Francie) | CallCompositeSupportedLocale.FR_FR |
Francouzština | CallCompositeSupportedLocale.FR |
Hebrejština (Izrael) | CallCompositeSupportedLocale.IW_IL |
italština (Itálie) | CallCompositeSupportedLocale.IT_IT |
Italština | CallCompositeSupportedLocale.IT |
Japonština (Japonsko) | CallCompositeSupportedLocale.JA_JP |
Japonština | CallCompositeSupportedLocale.JA |
Korejština (Korea) | CallCompositeSupportedLocale.KO_KR |
Korejština | CallCompositeSupportedLocale.KO |
Holandština (Nizozemsko) | CallCompositeSupportedLocale.NL_NL |
Nizozemština | CallCompositeSupportedLocale.NL |
Norština (Bokmål) | CallCompositeSupportedLocale.NB_NO |
Polština (Polsko) | CallCompositeSupportedLocale.PL_PL |
Polština | CallCompositeSupportedLocale.PL |
Portugalština (Brazílie) | CallCompositeSupportedLocale.PT_BR |
Portugalština | CallCompositeSupportedLocale.PT |
Ruština (Rusko) | CallCompositeSupportedLocale.RU_RU |
Ruština | CallCompositeSupportedLocale.RU |
Švédština (Švédsko) | CallCompositeSupportedLocale.SV_SE |
Turečtina (Turecko) | CallCompositeSupportedLocale.TR_TR |
Turečtina | CallCompositeSupportedLocale.TR |
Čínština (zjednodušená) | CallCompositeSupportedLocale.ZH_CN |
Čínština (tradiční) | CallCompositeSupportedLocale.ZH_TW |
Čínština | CallCompositeSupportedLocale.ZH |
Zprostředkovatel lokalizace
CallCompositeLocalizationOptions
je obálka možností, která nastaví všechny řetězce pro součásti knihovny uživatelského rozhraní Androidu pomocí .CallCompositeSupportedLocale
Ve výchozím nastavení používají všechny textové popisky anglické řetězce. Můžete použít CallCompositeLocalizationOptions
k nastavení jiného jazyka předáním objektu Locale
z CallCompositeSupportedLocale
. Knihovna uživatelského rozhraní obsahuje sadu Locale
objektů, které lze použít s komponentami uživatelského rozhraní a složenými komponentami.
Seznam objektů můžete získat Locale
také pomocí statické funkce CallCompositeSupportedLocale.getSupportedLocales()
.
Chcete-li použít CallCompositeLocalizationOptions
, zadejte CallCompositeSupportedLocale
a předejte ho .CallCompositeBuilder
Následující příklad lokalizuje složené do francouzštiny.
import com.azure.android.communication.ui.calling.models.CallCompositeLocalizationOptions
import com.azure.android.communication.ui.calling.models.CallCompositeSupportedLocale
// CallCompositeSupportedLocale provides a list of supported locales
val callComposite: CallComposite =
CallCompositeBuilder().localization(
CallCompositeLocalizationOptions(CallCompositeSupportedLocale.FR)
).build()
Směr rozložení
Některé jazykové verze (například arabština a hebrejština) můžou potřebovat lokalizaci, aby měla rozložení se zápisem zprava doleva. Můžete zadat layoutDirection
jako součást .CallCompositeLocalizationOptions
Rozložení složeného souboru bude zrcadlené, ale text zůstane ve směru řetězce.
import com.azure.android.communication.ui.calling.models.CallCompositeLocalizationOptions
import com.azure.android.communication.ui.calling.models.CallCompositeSupportedLocale
// CallCompositeSupportedLocale provides a list of supported locales
val callComposite: CallComposite =
CallCompositeBuilder().localization(
CallCompositeLocalizationOptions(CallCompositeSupportedLocale.FR, LayoutDirection.LTR)
).build()
LayoutDirection.RTL |
LayoutDirection.LTR |
---|---|
Přizpůsobení překladů
Překlady jazyka, které poskytujeme, můžete přizpůsobit dvěma možnostmi. Seznam lokalizačních klíčů můžete použít k přepsání konkrétního řetězce páru klíč/hodnota. Národní prostředí můžete zadat jako jeden z podporovaných jazyků. Pokud klíč není zadaný, vrátí se k podporovanému řetězci překladu. Pokud zadáte nepodporovaný jazyk, měli byste zadat překlady pro všechny klíče daného jazyka (pomocí string.xml
souboru) a potom se vrátit k anglickým řetězcům, pokud není zadaný klíč.
Řekněme, že chcete, aby ovládací panel používal řetězce z národního prostředí angličtiny (USA), ale chcete změnit popisek tlačítka Připojit se k hovoru na Zahájit schůzku v zobrazení nastavení. Vytvořte string.xml
soubor (nebo jiný název souboru) s dvojicí klíč/hodnota pro vybrané klíče, které chcete přepsat. Následující příklad přepíše klíč azure_communication_ui_calling_setup_view_button_join_call
.
Další informace najdete v opensourcové knihovně uživatelského rozhraní iOS a ukázkovém kódu aplikace.
Rozpoznávání jazyka
Pokud vaše aplikace podporuje lokalizaci, zobrazí se knihovna uživatelského rozhraní na základě preferovaného jazyka uživatele, pokud je součástí dostupných jazyků uvedených v další části. V opačném případě se výchozí jazyk nastaví na předdefinované řetězce angličtiny (en
).
Dostupné jazyky
V následující tabulce jsou uvedeny předběžné překlady pro locale
. Pokud chcete složený soubor lokalizovat, předejte locale
LocalizationOptions
ho jako možnosti do CallComposite
.
Jazyk | SupportedLocale | Identifikátor |
---|---|---|
Zjednodušená čínština | zh |
zh |
Zjednodušená čínština | zhHans |
zh-Hans |
Čínština, zjednodušená (pevninská Čína) | zhHansCN |
zh-Hans-CN |
Tradiční čínština | zhHant |
zh-Hant |
Čínština, tradiční (Tchaj-wan) | zhHantTW |
zh-Hant-TW |
Nizozemština | nl |
nl |
Holandština (Nizozemsko) | nlNL |
nl-NL |
Angličtina | en |
en |
Angličtina (Spojené království) | enGB |
en-GB |
Angličtina (Spojené státy) | enUS |
en-US |
Francouzština | fr |
fr |
francouzština (Francie) | frFR |
fr-FR |
Němčina | de |
de |
němčina (Německo) | deDE |
de-DE |
Italština | it |
it |
italština (Itálie) | itIT |
it-IT |
Japonština | ja |
ja |
Japonština (Japonsko) | jaJP |
ja-JP |
Korejština | ko |
ko |
Korejština (Jižní Korea) | koKR |
ko-KR |
Portugalština | pt |
pt |
Portugalština (Brazílie) | ptBR |
pt-BR |
Ruština | ru |
ru |
Ruština (Rusko) | ruRU |
ru-RU |
Španělština | es |
es |
španělština (Španělsko). | esES |
es-ES |
Turečtina | tr |
tr |
Turečtina (Turecko) | trTR |
tr-TR |
Seznam struktur můžete získat locale
také pomocí statické funkce SupportedLocale.values
.
let locales: [Locale] = SupportedLocale.values.map{ $0.identifier }
print(locales)
// ["de", "de-DE", "en", "en-GB", "en-US", "es", "es-ES", "fr", "fr-FR", "it", "it-IT", "ja", "ja-JP", "ko", "ko-KR", "nl", "nl-NL", "pt", "pt-BR", "ru", "ru-RU", "tr", "tr-TR", "zh", "zh-Hans", "zh-Hans-CN", "zh-Hant", "zh-Hant-TW"]
LokalizaceOptions
LocalizationOptions
je obálka možností, která nastaví všechny řetězce pro součásti knihovny uživatelského rozhraní pomocí .locale
Ve výchozím nastavení všechny textové popisky používají anglické (en
) řetězce. Můžete použít LocalizationOptions
k nastavení jiné locale
struktury. Knihovna uživatelského rozhraní obsahuje sadu locale
struktur, které lze použít s komponentami uživatelského rozhraní a složenými složkami.
Chcete-li použít LocalizationOptions
, zadejte strukturu Swiftu locale
(s kódem oblasti nebo bez ní) a předejte ji CallCompositeOptions
. Následující příklad lokalizuje složené do francouzštiny pro Francii (fr-FR
).
// Creating a Swift locale structure
var localizationOptions = LocalizationOptions(locale: Locale(identifier: "fr-FR"))
// Use IntelliSense SupportedLocale to get supported locale structures
localizationOptions = LocalizationOptions(locale: SupportedLocale.frFR)
let callCompositeOptions = CallCompositeOptions(localization: localizationOptions)
let callComposite = CallComposite(withOptions: callCompositeOptions)
Směr rozložení
Některé jazykové verze (například arabština a hebrejština) můžou potřebovat lokalizaci, aby měla rozložení se zápisem zprava doleva. Můžete zadat layoutDirection
jako součást .LocalizationOptions
Rozložení složeného souboru bude zrcadlené, ale text zůstane ve směru řetězce.
var localizationOptions: LocalizationOptions
// Initializer with locale and layoutDirection
localizationOptions = LocalizationOptions(locale: Locale(identifier: "en"),
layoutDirection: .rightToLeft)
// Initializer with locale, localizableFilename, and layoutDirection
localizationOptions = LocalizationOptions(locale: Locale(identifier: "en"),
localizableFilename: "Localizable",
layoutDirection: .rightToLeft)
// Add localizationOptions as an option
let callCompositeOptions = CallCompositeOptions(localization: localizationOptions)
let callComposite = CallComposite(withOptions: callCompositeOptions)
Následující příklad ukazuje zrcadlení rozložení zprava doleva. Pokud nezadáte layoutDirection
, nastaví se výchozí false
nastavení (rozložení zleva doprava).
layoutDirection = .leftToRight (výchozí) |
layoutDirection = .rightToLeft |
---|---|
Přizpůsobení překladů
Překlady jazyka, které poskytujeme, můžete přizpůsobit dvěma možnostmi. Pokud chcete přepsat určitý řetězec, můžete použít seznam lokalizačních klíčů pro pár klíč/hodnota. Jako jeden z podporovaných jazyků můžete zadat locale
. Pokud klíč není zadaný, vrátí se k podporovanému řetězci překladu. Pokud zadáte nepodporovaný jazyk, měli byste zadat překlady pro všechny klíče daného jazyka (pomocí Localizable.strings
souboru) a potom se vrátit k anglickým řetězcům, pokud není zadaný klíč.
Řekněme, že chcete, aby ovládací panel používal řetězce z národního prostředí angličtiny (USA), ale chcete změnit popisek tlačítka Připojit se k hovoru na Zahájit schůzku v zobrazení nastavení. Povolte lokalizaci v projektu pro locale
instanci, kterou chcete přepsat. Vytvořte Localizable.strings
soubor (nebo jiný název souboru s příponou .strings
) s dvojicí klíč/hodnota pro vybrané klíče, které chcete přepsat. Následující příklad přepíše klíč AzureCommunicationUI.SetupView.Button.JoinCall
.
Chcete-li určit, že přepisujete pomocí Localizable.strings
, vytvořte LocalizationOptions
objekt, který chcete zadat locale
a localizationFilename
. Nebo když používáte locale
inicializátor, podívá se na klíče jako Localizable.strings
locale.collatorIdentifier
na jazyk v projektu.
let localizationOptions = LocalizationOptions(locale: Locale(identifier: "fr"),
localizableFilename: "Localizable")
let callCompositeOptions = CallCompositeOptions(localization: localizationOptions)
let callComposite = CallComposite(withOptions: callCompositeOptions)
Voiceover přístupnosti pro lokalizaci
Aby voiceover fungoval správně pro lokalizaci, ujistěte se, že je jazyk přidaný do lokalizací vaší aplikace. Voiceover pak zjistí, že aplikace podporuje jazyk zadaný LocalizationOptions
pro locale
. Vybere hlas řeči pro jazyk pomocí hlasu nalezeného v Nastavení> Accessibility>Speech na zařízení. Můžete ověřit, jestli je jazyk přidaný do projektu, jak je znázorněno v následujícím příkladu.