Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Lokalisering är en nyckel för att göra produkter som kan användas över hela världen och av personer som talar olika språk. Användargränssnittsbiblioteket för Azure Communication Services tillhandahåller inbyggt stöd för vissa språk och funktioner, till exempel höger till vänster (RTL). Utvecklare kan tillhandahålla egna lokaliseringsfiler för användargränssnittsbiblioteket.
I den här artikeln får du lära dig hur du konfigurerar lokalisering på rätt sätt med hjälp av användargränssnittsbiblioteket i ditt program.
Förutsättningar
- Ett Azure-konto med en aktiv prenumeration. Skapa ett konto utan kostnad.
 - En utplacerad kommunikationstjänstresurs. Skapa en resurs för kommunikationstjänster.
 - En användaråtkomsttoken för att aktivera anropsklienten. Hämta en användaråtkomsttoken.
 - Valfritt: Slutförande av snabbstarten för att komma igång med sammansatta gränssnittsbibliotek.
 
Konfigurera lokalisering
Detaljerad dokumentation och snabbstarter om webbgränssnittsbiblioteket finns i Storybook för webbgränssnittsbibliotek.
Mer information finns i Lokalisering i webbgränssnittsbiblioteket.
Mer information finns i Android UI-biblioteket med öppen källkod och exempelprogramkoden.
Tillgängliga språk
I följande tabell visas CallCompositeSupportedLocale ID:er för färdiganpassade översättningar. Om du vill lokalisera kompositen skickar du ett Locale objekt från CallCompositeSupportedLocale till CallCompositeLocalizationOptions som alternativ till CallComposite.
| Språk | Samtalskompositstödd locale | 
|---|---|
| Arabiska (Saudiarabien) | CallCompositeSupportedLocale.AR_SA | 
| Tyska (Tyskland) | CallCompositeSupportedLocale.DE_DE | 
| Engelska (USA) | CallCompositeSupportedLocale.EN_US | 
| English (Storbritannien) | CallCompositeSupportedLocale.EN_UK | 
| Spanska (Spanien) | CallCompositeSupportedLocale.ES_ES | 
| Spanska | CallCompositeSupportedLocale.ES | 
| Finska (Finland) | CallCompositeSupportedLocale.FI_FI | 
| Franska (Frankrike) | CallCompositeSupportedLocale.FR_FR | 
| Franska | CallCompositeSupportedLocale.FR | 
| Hebreiska (Israel) | CallCompositeSupportedLocale.IW_IL | 
| Italienska (Italien) | CallCompositeSupportedLocale.IT_IT | 
| Italienska | CallCompositeSupportedLocale.IT | 
| Japanska (Japan) | CallCompositeSupportedLocale.JA_JP | 
| Japanska | CallCompositeSupportedLocale.JA | 
| Koreanska (Korea) | CallCompositeSupportedLocale.KO_KR | 
| Koreanska | CallCompositeSupportedLocale.KO | 
| Nederländska (Nederländerna) | CallCompositeSupportedLocale.NL_NL | 
| Nederländska | CallCompositeSupportedLocale.NL | 
| Norska (bokmål) | CallCompositeSupportedLocale.NB_NO | 
| Polska (Polen) | CallCompositeSupportedLocale.PL_PL | 
| Polska | CallCompositeSupportedLocale.PL | 
| Portugisiska (Brasilien) | CallCompositeSupportedLocale.PT_BR | 
| Portugisiska | CallCompositeSupportedLocale.PT | 
| Ryska (Ryssland) | CallCompositeSupportedLocale.RU_RU | 
| Ryska | CallCompositeSupportedLocale.RU | 
| Svenska (Sverige) | CallCompositeSupportedLocale.SV_SE | 
| Turkiska (Turkiet) | CallCompositeSupportedLocale.TR_TR | 
| Turkiska | CallCompositeSupportedLocale.TR | 
| Kinesiska (förenklad) | CallCompositeSupportedLocale.ZH_CN | 
| Kinesiska (traditionell) | CallCompositeSupportedLocale.ZH_TW | 
| Kinesiska | CallCompositeSupportedLocale.ZH | 
Lokaliseringsprovider
              CallCompositeLocalizationOptions är en alternativbehållare som anger alla strängar för Android UI-bibliotekskomponenter med hjälp av CallCompositeSupportedLocale. Som standard använder alla textetiketter engelska strängar. Du kan använda CallCompositeLocalizationOptions för att ange ett annat språk genom att skicka ett Locale objekt från CallCompositeSupportedLocale. Användargränssnittsbiblioteket innehåller en uppsättning Locale objekt som kan användas med gränssnittskomponenterna och kompositobjekten.
Du kan också hämta en lista över Locale objekt med hjälp av den statiska funktionen CallCompositeSupportedLocale.getSupportedLocales().
              
              
              
              
            
För att använda CallCompositeLocalizationOptions, ange CallCompositeSupportedLocale och skicka det till CallCompositeBuilder. I följande exempel lokaliseras kompositen till franska.
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()
Layoutriktning
Vissa kulturer (till exempel arabiska och hebreiska) kan behöva lokalisering för att ha en layout från höger till vänster. Du kan ange layoutDirection som en del av CallCompositeLocalizationOptions. Layouten av kompositen kommer att speglas, men texten kommer att förbli i riktningen av strängen.
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 | 
|---|---|
              
               
              
              
            
 | 
              
               
              
              
            
 | 
Anpassa översättningar
Det finns två alternativ för att anpassa de språköversättningar som vi tillhandahåller. Du kan använda listan med lokaliseringsnycklar för att åsidosätta en viss sträng för nyckel/värde-paret. Du kan ange nationella inställningar som ett av de språk som stöds. När en nyckel inte tillhandahålls återgår den till en översättningssträng som stöds. Om du anger ett språk som inte stöds bör du ange översättningar för alla nycklar för det språket (med hjälp string.xml av filen) och sedan återgå till engelska strängar när en nyckel inte har angetts.
Anta att du vill att kontrollfältet ska använda strängar från nationella inställningar för engelska (USA), men du vill ändra etiketten för knappen Anslut samtal till Starta möte i installationsvyn. Skapa en string.xml fil (eller ett annat filnamn) med nyckel/värde-paret för valda nycklar som du vill åsidosätta. I följande exempel åsidosätts nyckeln azure_communication_ui_calling_setup_view_button_join_call.
              
              
              
              
            
              
              
              
              
            
Mer information finns i iOS-användargränssnittsbiblioteket med öppen källkod och exempelprogramkoden.
Språkidentifiering
Om ditt program stöder lokalisering visas användargränssnittsbiblioteket baserat på användarens system föredragna språk om det är en del av de tillgängliga språken som anges i nästa avsnitt. Annars används de fördefinierade engelska (en) strängarna som standard.
Tillgängliga språk
I följande tabell visas färdiga översättningar för locale. Om du vill lokalisera kompositen, skicka locale som alternativ till LocalizationOptions i CallComposite.
| Språk | SupportedLocale | Identifikator | 
|---|---|---|
| Kinesiska, förenklad | zh | 
zh | 
| Kinesiska, förenklad | zhHans | 
zh-Hans | 
| Kinesiska, förenklad (Kina fastland) | zhHansCN | 
zh-Hans-CN | 
| Kinesiska, traditionell | zhHant | 
zh-Hant | 
| Kinesiska, traditionell (Taiwan) | zhHantTW | 
zh-Hant-TW | 
| Nederländska | nl | 
nl | 
| Nederländska (Nederländerna) | nlNL | 
nl-NL | 
| Engelska | en | 
en | 
| Engelska (Storbritannien) | enGB | 
en-GB | 
| Engelska (USA) | enUS | 
en-US | 
| Franska | fr | 
fr | 
| Franska (Frankrike) | frFR | 
fr-FR | 
| Tyska | de | 
de | 
| Tyska (Tyskland) | deDE | 
de-DE | 
| Italienska | it | 
it | 
| Italienska (Italien) | itIT | 
it-IT | 
| Japanska | ja | 
ja | 
| Japanska (Japan) | jaJP | 
ja-JP | 
| Koreanska | ko | 
ko | 
| Koreanska (Sydkorea) | koKR | 
ko-KR | 
| Portugisiska | pt | 
pt | 
| Portugisiska (Brasilien) | ptBR | 
pt-BR | 
| Ryska | ru | 
ru | 
| Ryska (Ryssland) | ruRU | 
ru-RU | 
| Spanska | es | 
es | 
| Spanska (Spanien) | esES | 
es-ES | 
| Turkiska | tr | 
tr | 
| Turkiska (Turkiet) | trTR | 
tr-TR | 
Du kan också hämta en lista över locale strukturer med hjälp av den statiska funktionen 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"]
Lokalisering Alternativ
              LocalizationOptions är en alternativomslutning som anger alla strängar för komponenter i användargränssnittsbiblioteket genom att använda locale. Som standard använder alla textetiketter engelska (en) strängar. Du kan använda LocalizationOptions för att ange en annan locale struktur. Användargränssnittsbiblioteket innehåller en uppsättning locale strukturer som kan användas med gränssnittskomponenterna och kompositerna.
Om du vill använda LocalizationOptionsanger du en Swift-struktur locale (med eller utan regionkod) och skickar den till CallCompositeOptions. I följande exempel lokaliseras kompositen till franska för Frankrike (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)
              
              
              
              
            
Layoutriktning
Vissa kulturer (till exempel arabiska och hebreiska) kan behöva lokalisering för att ha layout från höger till vänster. Du kan ange layoutDirection som en del av LocalizationOptions. Layouten av kompositen kommer att speglas, men texten kommer att förbli i riktningen av strängen.
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)
I följande exempel visas layoutspegling från höger till vänster. Om du inte anger layoutDirection, anger den som standard false (vänster-till-höger-layout).
              layoutDirection = .leftToRight (standardinställning) | 
layoutDirection = .rightToLeft | 
|---|---|
              
               
              
              
            
 | 
              
               
              
              
            
 | 
Anpassa översättningar
Det finns två alternativ för att anpassa de språköversättningar som vi tillhandahåller. Om du vill åsidosätta en viss sträng kan du använda listan med lokaliseringsnycklar för nyckel/värde-paret. Du kan ange locale som ett av de språk som stöds. När en nyckel inte tillhandahålls återgår den till en översättningssträng som stöds. Om du anger ett språk som inte stöds bör du ange översättningar för alla nycklar för det språket (med hjälp Localizable.strings av filen) och sedan återgå till engelska strängar när en nyckel inte har angetts.
Anta att du vill att kontrollfältet ska använda strängar från nationella inställningar för engelska (USA), men du vill ändra etiketten för knappen Anslut samtal till Starta möte i installationsvyn. Aktivera lokalisering i projektet för den locale instans som du vill åsidosätta. Skapa en Localizable.strings fil (eller ett annat filnamn med tillägget .strings) med nyckel/värde-paret för valda nycklar som du vill åsidosätta. I följande exempel åsidosätts nyckeln AzureCommunicationUI.SetupView.Button.JoinCall.
              
              
              
              
            
              
              
              
              
            
Om du vill ange att du åsidosätter med Localizable.stringsskapar du ett LocalizationOptions objekt för att ange locale och localizationFilename. Eller när du använder locale initieraren tittar den på nycklar i Localizable.strings som locale.collatorIdentifier språk i projektet.
let localizationOptions = LocalizationOptions(locale: Locale(identifier: "fr"),
                                              localizableFilename: "Localizable")
let callCompositeOptions = CallCompositeOptions(localization: localizationOptions)
let callComposite = CallComposite(withOptions: callCompositeOptions)
Hjälpmedelsröst för lokalisering
För att voiceover ska fungera korrekt för en lokalisering kontrollerar du att språket läggs till i appens lokaliseringar. Voiceover identifierar sedan att appen stöder det språk som anges i LocalizationOptions för locale. Den väljer talrösten för språket genom att använda rösten som finns under Inställningar>Hjälpmedel>Tal på enheten. Du kan kontrollera att språket har lagts till i projektet, som du ser i följande exempel.