Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Die Lokalisierung ist ein Schlüssel zur Herstellung von Produkten, die auf der ganzen Welt und von Personen verwendet werden können, die unterschiedliche Sprachen sprechen. Die Azure Communication Services UI Library bietet sofort einsatzbereite Unterstützung für einige Sprachen und Funktionen, z. B. von rechts nach links (RTL). Entwickler können eigene Lokalisierungsdateien für die UI-Bibliothek bereitstellen.
In diesem Artikel erfahren Sie, wie Sie die Lokalisierung mithilfe der Benutzeroberflächenbibliothek in Ihrer Anwendung ordnungsgemäß einrichten.
Voraussetzungen
- Ein Azure-Konto mit einem aktiven Abonnement. Kostenlos ein Konto erstellen.
- Eine bereitgestellte Ressource für Kommunikationsdienste. Erstellen Sie eine Communication Services-Ressource.
- Ein Benutzerzugriffstoken zum Aktivieren des Anrufclients. Benutzerzugriffstoken abrufen.
- Optional: Absolvieren Sie den Schnellstart Erste Schritte mit der Benutzeroberflächenbibliothek.
Einrichten der Lokalisierung
Ausführliche Dokumentationen und Schnellstarts zur Web-UI-Bibliothek finden Sie im Web UI Library Storybook.
Weitere Informationen finden Sie unter Lokalisierung in der Web-UI-Bibliothek.
Weitere Informationen finden Sie in der Open Source Android UI Library und im Beispielanwendungscode.
Verfügbare Sprachen
In der folgenden Tabelle sind IDs für sofort einsatzbereite Übersetzungen aufgeführt CallCompositeSupportedLocale . Wenn Sie die zusammengesetzte Komponente lokalisieren möchten, übergeben Sie ein Locale-Objekt von CallCompositeSupportedLocale in CallCompositeLocalizationOptions als Optionen in CallComposite.
| Language | CallCompositeSupportedLocale |
|---|---|
| Arabisch (Saudi-Arabien) | CallCompositeSupportedLocale.AR_SA |
| Deutsch (Deutschland) | CallCompositeSupportedLocale.DE_DE |
| Englisch (USA) | CallCompositeSupportedLocale.EN_US |
| Englisch (UK) | CallCompositeSupportedLocale.EN_UK |
| Spanisch (Spanien) | CallCompositeSupportedLocale.ES_ES |
| Spanish | CallCompositeSupportedLocale.ES |
| Finnisch (Finnland) | CallCompositeSupportedLocale.FI_FI |
| Französisch (Frankreich) | CallCompositeSupportedLocale.FR_FR |
| French | CallCompositeSupportedLocale.FR |
| Hebräisch (Israel) | CallCompositeSupportedLocale.IW_IL |
| Italienisch (Italien) | CallCompositeSupportedLocale.IT_IT |
| Italian | CallCompositeSupportedLocale.IT |
| Japanisch (Japan) | CallCompositeSupportedLocale.JA_JP |
| Japanese | CallCompositeSupportedLocale.JA |
| Koreanisch (Korea) | CallCompositeSupportedLocale.KO_KR |
| Korean | CallCompositeSupportedLocale.KO |
| Niederländisch (Niederlande) | CallCompositeSupportedLocale.NL_NL |
| Holländisch | CallCompositeSupportedLocale.NL |
| Norwegisch (Bokmål) | CallCompositeSupportedLocale.NB_NO |
| Polnisch (Polen) | CallCompositeSupportedLocale.PL_PL |
| Polnisch | CallCompositeSupportedLocale.PL |
| Portugiesisch (Brasilien) | CallCompositeSupportedLocale.PT_BR |
| Portuguese | CallCompositeSupportedLocale.PT |
| Russisch (Russische Föderation) | CallCompositeSupportedLocale.RU_RU |
| Russian | CallCompositeSupportedLocale.RU |
| Schwedisch (Schweden) | CallCompositeSupportedLocale.SV_SE |
| Türkisch (Türkei) | CallCompositeSupportedLocale.TR_TR |
| Türkisch | CallCompositeSupportedLocale.TR |
| Chinesisch (vereinfacht) | CallCompositeSupportedLocale.ZH_CN |
| Chinesisch (traditionell) | CallCompositeSupportedLocale.ZH_TW |
| Chinese | CallCompositeSupportedLocale.ZH |
Lokalisierungsanbieter
CallCompositeLocalizationOptions ist ein Optionswrapper, der alle Zeichenfolgen für Android UI Library-Komponenten mithilfe von CallCompositeSupportedLocale setzt. Standardmäßig verwenden alle Textbeschriftungen englische Zeichenfolgen. Sie können zum Festlegen einer anderen Sprache verwenden CallCompositeLocalizationOptions , indem Sie ein Locale Objekt aus CallCompositeSupportedLocaleübergeben. Standardmäßig enthält die Ui-Bibliothek eine Reihe von Locale Objekten, die mit den UI-Komponenten und Verbundelementen verwendet werden können.
Sie können auch eine Liste von Locale Objekten mithilfe der statischen Funktion CallCompositeSupportedLocale.getSupportedLocales()abrufen.
Um CallCompositeLocalizationOptions zu verwenden, geben Sie CallCompositeSupportedLocale an und übergeben Sie es an CallCompositeBuilder. Im folgenden Beispiel wird die Komponente ins Französische lokalisiert.
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()
Layoutrichtung
Bestimmte Kulturen (z. B. Arabisch und Hebräisch) benötigen möglicherweise eine Lokalisierung, um ein Layout von rechts nach links zu haben. Sie können layoutDirection als Teil von CallCompositeLocalizationOptions angeben. Das Layout der zusammengesetzten Komponente wird gespiegelt, der Text verbleibt jedoch in der Richtung der Zeichenfolgen.
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 |
|---|---|
|
|
Anpassen von Übersetzungen
Es gibt zwei Optionen zum Anpassen der von uns bereitgestellten Sprachübersetzungen. Sie können die Liste der Lokalisierungsschlüssel verwenden, um eine bestimmte Zeichenfolge für das Schlüssel-Wert-Paar außer Kraft zu setzen. Sie können das Gebietsschema als eine der unterstützten Sprachen angeben. Wenn kein Schlüssel angegeben wird, wird er auf eine unterstützte Übersetzungszeichenfolge zurückfallen. Wenn Sie eine nicht unterstützte Sprache angeben, sollten Sie Übersetzungen für alle Schlüssel für diese Sprache (mithilfe der string.xml Datei) bereitstellen und dann auf englische Zeichenfolgen zurückgreifen, wenn kein Schlüssel angegeben wird.
Angenommen, Sie möchten, dass die Steuerelementleiste Zeichenfolgen aus dem Gebietsschema Englisch (USA) verwendet, aber Sie möchten die Bezeichnung der Schaltfläche " Anruf teilnehmen " in der Setupansicht in " Besprechung starten " ändern. Erstellen Sie eine string.xml Datei (oder einen anderen Dateinamen) mit dem Schlüssel-Wert-Paar für ausgewählte Schlüssel, die Sie außer Kraft setzen möchten. Im folgenden Beispiel wird der Schlüssel azure_communication_ui_calling_setup_view_button_join_callüberschrieben.
Weitere Informationen finden Sie in der Open-Source-iOS-UI-Bibliothek und im Beispielanwendungscode.
Spracherkennung
Wenn Ihre Anwendung die Lokalisierung unterstützt, wird die Benutzeroberflächenbibliothek basierend auf der vom System bevorzugten Sprache des Benutzers angezeigt, wenn sie Teil der im nächsten Abschnitt aufgeführten verfügbaren Sprachen ist. Andernfalls wird die Sprache standardmäßig auf die vordefinierten englischen (en) Zeichenfolgen festgelegt.
Verfügbare Sprachen
In der folgenden Tabelle sind sofort einsatzbereite Übersetzungen für locale aufgeführt. Wenn Sie die zusammengesetzte Komponente lokalisieren möchten, übergeben Sie locale in LocalizationOptions als Optionen in CallComposite.
| Language | SupportedLocale | Kennung |
|---|---|---|
| Vereinfachtes Chinesisch | zh |
zh |
| Vereinfachtes Chinesisch | zhHans |
zh-Hans |
| Chinesisch, vereinfacht (Chinesisches Festland) | zhHansCN |
zh-Hans-CN |
| Chinesisch-Traditionell | zhHant |
zh-Hant |
| Chinesisch, traditionell (Taiwan) | zhHantTW |
zh-Hant-TW |
| Holländisch | nl |
nl |
| Niederländisch (Niederlande) | nlNL |
nl-NL |
| English | en |
en |
| Walisisch (Großbritannien) | enGB |
en-GB |
| Englisch (Vereinigte Staaten) | enUS |
en-US |
| French | fr |
fr |
| Französisch (Frankreich) | frFR |
fr-FR |
| German | de |
de |
| Deutsch (Deutschland) | deDE |
de-DE |
| Italian | it |
it |
| Italienisch (Italien) | itIT |
it-IT |
| Japanese | ja |
ja |
| Japanisch (Japan) | jaJP |
ja-JP |
| Korean | ko |
ko |
| Koreanisch (Südkorea) | koKR |
ko-KR |
| Portuguese | pt |
pt |
| Portugiesisch (Brasilien) | ptBR |
pt-BR |
| Russian | ru |
ru |
| Russisch (Russische Föderation) | ruRU |
ru-RU |
| Spanish | es |
es |
| Spanisch (Spanien) | esES |
es-ES |
| Türkisch | tr |
tr |
| Türkisch (Türkiye) | trTR |
tr-TR |
Sie können auch eine Liste von Strukturen mithilfe der statischen Funktion localeSupportedLocale.values abrufen.
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"]
Lokalisierungsoptionen
LocalizationOptions ist ein Optionswrapper, der alle Zeichenfolgen für Komponenten der Benutzeroberflächenbibliothek mithilfe von locale festlegt. Standardmäßig verwenden alle Textbeschriftungen englische (en) Zeichenfolgen. Sie können LocalizationOptions verwenden, um eine andere locale-Struktur festzulegen. Standardmäßig enthält die Ui-Bibliothek eine Reihe von locale Strukturen, die mit den UI-Komponenten und Verbundelementen verwendet werden können.
Geben Sie zur Verwendung LocalizationOptionseine Swift-Struktur locale (mit oder ohne Regionscode) an, und übergeben Sie sie an CallCompositeOptions. Im folgenden Beispiel wird die zusammengesetzte Komponente in Französisch für Frankreich (fr-FR) lokalisiert.
// 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)
Layoutrichtung
Bestimmte Kulturen (z. B. Arabisch und Hebräisch) benötigen möglicherweise eine Lokalisierung, um das Layout von rechts nach links zu verwenden. Sie können layoutDirection als Teil von LocalizationOptions angeben. Das Layout der zusammengesetzten Komponente wird gespiegelt, der Text verbleibt jedoch in der Richtung der Zeichenfolgen.
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)
Das folgende Beispiel zeigt die Spiegelung des Layouts von rechts nach links. Wenn Sie layoutDirection nicht angeben, wird standardmäßig false (Links-nach-rechts-Layout) festgelegt.
layoutDirection = .leftToRight (Standardwert) |
layoutDirection = .rightToLeft |
|---|---|
|
|
Anpassen von Übersetzungen
Es gibt zwei Optionen zum Anpassen der von uns bereitgestellten Sprachübersetzungen. Um eine bestimmte Zeichenfolge außer Kraft zu setzen, können Sie die Liste der Lokalisierungsschlüssel für das Schlüssel-Wert-Paar verwenden. Sie können eine der unterstützten Sprachen angeben locale . Wenn kein Schlüssel angegeben wird, fällt er auf eine unterstützte Übersetzungszeichenfolge zurück. Wenn Sie eine nicht unterstützte Sprache angeben, sollten Sie Übersetzungen für alle Schlüssel für diese Sprache (mithilfe der Localizable.strings Datei) bereitstellen und dann auf englische Zeichenfolgen zurückgreifen, wenn kein Schlüssel angegeben wird.
Angenommen, Sie möchten, dass die Steuerelementleiste Zeichenfolgen aus dem Gebietsschema Englisch (USA) verwendet, aber Sie möchten die Bezeichnung der Schaltfläche " Anruf teilnehmen " in der Setupansicht in " Besprechung starten " ändern. Aktivieren Sie die Lokalisierung im Projekt für die locale Instanz, die Sie außer Kraft setzen möchten. Erstellen Sie eine Datei mit dem Namen Localizable.strings oder einen anderen Dateinamen mit der Erweiterung .strings, die das Schlüssel-Wert-Paar für ausgewählte Schlüssel enthält, die Sie überschreiben möchten. Im folgenden Beispiel wird der Schlüssel AzureCommunicationUI.SetupView.Button.JoinCallüberschrieben.
Um festzulegen, dass mit Localizable.strings überschrieben werden soll, erstellen Sie ein LocalizationOptions-Objekt, um locale und localizationFilename anzugeben. Falls Sie den locale-Initialisierer verwenden, sucht dieser nach Schlüssel in Localizable.strings für locale.collatorIdentifier als Sprache in Ihrem Projekt.
let localizationOptions = LocalizationOptions(locale: Locale(identifier: "fr"),
localizableFilename: "Localizable")
let callCompositeOptions = CallCompositeOptions(localization: localizationOptions)
let callComposite = CallComposite(withOptions: callCompositeOptions)
Barrierefreiheit-Voiceover zur Lokalisierung
Damit Voiceover ordnungsgemäß für eine Lokalisierung funktioniert, stellen Sie sicher, dass die Sprache in den Lokalisierungen Ihrer App hinzugefügt wird. Die Voiceover erkennt dann, dass die App die im LocalizationOptions für locale angegebene Sprache unterstützt. Sie wählt die Sprachstimme für die Sprache anhand der Stimme aus, die sich unter Einstellungen>Barrierefreiheit>Spracherkennung auf dem Gerät befindet. Sie können überprüfen, ob die Sprache zu Ihrem Projekt hinzugefügt wird, wie im folgenden Beispiel gezeigt.