Unlimited Plugins, WordPress themes, videos & courses! Unlimited asset downloads! From $16.50/m
Advertisement
  1. Code
  2. Android SDK
Code

Android SDK: Erstellen eines lokalisierten Sprachführers

Difficulty:BeginnerLength:LongLanguages:

German (Deutsch) translation by Władysław Łucyszyn (you can also view the original English article)

In diesem Lernprogramm erfahren Sie, wie Sie mit einer Android-Anwendung namens One Minute Phrasebook alternative Ressourcendateien erstellen und verwenden können. Diese Anwendung zeigt bestimmte Texte und Grafiken basierend auf der Sprache / Ländereinstellung des Android-Systems an.

Bevor Sie beginnen

Die Autoren gehen davon aus, dass der Leser Grundkenntnisse in Android besitzt und alle notwendigen Tools wie Eclipse und das Android SDK installiert und funktionsfähig sind. Die hier aufgeführten Beispiele zeigen, wie Android-Projektressourcen lokalisiert werden können. In diesem Lernprogramm erfahren Sie, wie Sie Ressourcen für verschiedene Sprachen und Ländereinstellungen einbeziehen.

Hinweis: Der Code für die OneMinutePhrasebook-Anwendung ist auch in Google Code verfügbar.

Schritt 1: Erstellen Sie die OneMinutePhrasebook-Anwendung

Beginnen Sie mit dem Erstellen eines neuen Android-Projekts.

Um dies in Eclipse zu tun, wählen Sie Datei->Neues Android-Projekt, um den Android-Projektassistenten zu starten.

Benennen Sie das Projekt: z.B. "Sprachführer"

Wählen Sie ein geeignetes Build-Ziel wie Android 2.1.

Benennen Sie die Anwendung: z.B. "Ein-Minuten-Sprachführer"

Benennen Sie das Paket: z. com.mamlambo.article.phrasebook

Erstellen Sie eine Startaktivität: z. SprachführerActivity

Creating the Android phrasebook project.

Schritt 2: Konfigurieren Sie die Anwendung für das Debuggen

Sie werden diese Anwendung debuggen, also müssen Sie das Debuggable-Attribut in der Android-Manifest-Datei auf true setzen.

Modifying the Android Manifest file.

Schritt 3: Erstellen Sie eine Debug-Konfiguration

Sie möchten die Anwendung problemlos über den Android-Emulator und auf dem Gerät von Eclipse aus starten können. Daher müssen Sie eine Debug-Konfiguration erstellen.

Um dies in Eclipse zu tun, wählen Sie Run->Debug Configurations....

Doppelklicken Sie auf die Android-Projektoption.

Benennen Sie Ihre neue Konfiguration: "Phrasebook Test"

Wählen Sie das Projekt: Sprachführer

Selecting the android phrasebook project.

Schritt 4: Erstellen Sie Standard-String-Ressourcen

Der Ein-Minuten-Sprachführer zeigt das Gebietsschema sowie mehrere Zeichenfolgen ("Hallo", "Auf Wiedersehen", "Bitte", "Danke" und "Hilfe!") Auf dem Bildschirm an. Daher müssen Sie der Datei /res/values/strings.xml eine Reihe von Zeichenfolgenressourcen hinzufügen. Insbesondere fügen Sie für jede Phrase eine Zeichenfolge sowie für jede Phrase eine Bezeichnung hinzu. Fügen Sie auch Strings für den Flag (Label), Map (Label) und den CIA World Factbook Link hinzu (mehr dazu gleich).

Für Standardzeichenfolgen verwenden wir eine der am häufigsten verwendeten Sprachen auf der ganzen Welt - Englisch. (Sicherlich könnten Sie eine andere Sprache für Ihren Standard wählen, wenn Sie möchten.)

Die resultierende strings.xml-Datei sollte etwa so aussehen:

Dies sind die Standardzeichenfolgenressourcen, die von dieser Anwendung verwendet werden. Viele Anwendungen verwenden nur Standardressourcen.

Schritt 5: Erstellen Sie andere Ressourcen

Die Ein-Minuten-Sprachführer-Anwendung erfordert auch mehrere andere Arten von Ressourcen. Speziell:

  • Einige Farbressourcen für TextView-Textfarben (/res/values/colors.xml)
  • Einige Dimensionsressourcen für die TextView-Textgröße (/res/values/dimens.xml)
  • Zwei Grafikdateien: eine für die Karte und eine für die Flagge (/res/drawable/flag.png und /res/drawable/map.png)

Sie können diese Ressourcen jetzt oder beim Erstellen des Layouts hinzufügen. Die Flaggen- und Kartenbilder, die in diesem Tutorial verwendet wurden, wurden aus Public-Domain-Bildern erworben, die auf der CIA World Factbook-Website verfügbar sind.

Als Standardursache werden wir sagen, dass das Gebietsschema "weltweit" ist, und eine Grafik mit einer Reihe von Weltkarten und einer Karte des Planeten anzeigen.

Configuring Android Resources

Schritt 6: Entwerfen Sie die Ein-Minuten-Sprachführer-Benutzeroberfläche

Als nächstes sollten Sie sich der Gestaltung der Benutzeroberfläche der Anwendung zuwenden. Der One Minute Sprachführer ist eine sehr einfache Anwendung mit nur einem Bildschirm. Der Bildschirm zeigt einige nützliche Ausdrücke, eine Flagge und eine Karte für das Land und einen Link zur CIA World Factbook-Website für das entsprechende Land an.

Android Phrasebook Interface View.

Hinweis: Für diese Anwendung verwenden wir ein Android Virtual Device-Profil (AVD), das mit dem Nexus One mit seinem 800x480-Bildschirm nahezu übereinstimmt. Fühlen Sie sich frei, einen AVD zu erstellen, der mit dem Android-Gerät übereinstimmt, mit dem Sie testen können.

Schritt 7: Implementieren der Benutzeroberfläche

Diese Anwendung hat nur einen Bildschirm, der in der Datei /res/layout/main.xml definiert ist. Dies ist die Datei, die Sie bearbeiten müssen.

In diesem Fall möchten wir nette, formatierte Spalten. Verwenden Sie daher das TableLayout-Steuerelement, um die TextView- und ImageView-Steuerelemente zu formatieren, die die Phrase, die Flagge, die Karte und den Link zum CIA World Factbook enthalten.

Die resultierende main.xml-Layoutdatei sollte etwa so aussehen:

Schritt 8: Ausführen der Anwendung

Es ist Zeit, die Anwendung zum ersten Mal auszuführen. Wählen Sie dazu in Run->Debug Configurations aus Eclipse. Wählen Sie die Phrasebook Test Konfiguration und klicken Sie auf die Schaltfläche Debug.

Android Debugging Screen.

Schritt 9: Ändern der Geräte- oder Emulator-Ländereinstellung

Jetzt ist es an der Zeit, die Spracheinstellungen Ihres Emulators oder Geräts zu untersuchen. Um die Einstellungen für Sprache / Gebietsschema auf dem Startbildschirm anzuzeigen und zu ändern, klicken Sie auf die Menüschaltfläche und wählen Sie Einstellungen -> Sprache und Tastatur -> Gebietsschema auswählen.

Versuchen Sie, das Gebietsschema in eine fremde Sprache zu ändern, mit der Sie vertraut sind.

Warnung: Wenn Sie die Sprache ändern und die Einstellungen verlassen, müssen Sie in der Lage sein, zum Bildschirm für die Einstellungen in dieser Sprache zurückzukehren. Das Einprägen oder Aufzeichnen der Tastenanschläge, um dies zu tun, kann dies vereinfachen.

Beachten Sie, wie sich alle Menüs in diese Sprache ändern. Führen Sie die Ein-Minuten-Sprachführer-Anwendung in diesem Gebietsschema aus. Beachten Sie, dass die Anwendung nicht anders aussieht als vor dem Ändern der Ländereinstellung - sie wird weiterhin auf Englisch angezeigt.

Wechseln Sie jetzt zurück zu Ihrem bevorzugten Gebietsschema. Meine ist Englisch (USA).

Android Phrasebook Locale Listing.

Hinweis: Der Emulator verfügt über alle Gebietsschemaoptionen, die in einer bestimmten Version des Android SDK verfügbar sind. Bestimmte Geräte verfügen jedoch möglicherweise über eine begrenzte Anzahl von Ländereinstellungen.

Schritt 10: Verstehen, wie Android Ressourcen verwaltet

Jedes Mal, wenn ein Bildschirm in einer Android-Anwendung gezeichnet wird, versucht das Android-Betriebssystem, die bestmögliche Projektressource für den Job zu finden. In vielen Fällen stellen Anwendungen nur eine Gruppe von Ressourcen bereit - die Standardressourcen.

Wenn alternative Ressourcen in einer Anwendung als Teil ihres Pakets enthalten sind, versucht das Android-Betriebssystem immer, die spezifischsten verfügbaren Ressourcen zu laden.

Alternative Ressourcen können für viele verschiedene Kriterien erstellt werden, einschließlich, aber nicht beschränkt auf Sprachen und Regionen, Bildschirmeigenschaften und Geräteeingabemethoden. Einige gebräuchliche alternative Ressourcen sind die für Sprachen, Gebietsschemas und Bildschirmausrichtung (insbesondere Layouts). Kriterien sind hierarchisch organisiert und jeder Typ von Kriterien kann als Suffix für den Namen des entsprechenden Projekt-Ressourcenverzeichnisses verwendet werden.

Alternative Ressourcen müssen die gleichen Namen wie die Standardressourcen verwenden. Die Android-Ressourcenauflösung wird am besten anhand eines Beispiels gezeigt. In diesem Lernprogramm konzentrieren wir uns nur auf das Erstellen alternativer Ressourcen für bestimmte Sprachen und Regionen.

Schritt 11: Erstellen Sie alternative String-Ressourcen für die französischsprachigen Länder

Nehmen wir an, Sie möchten Unterstützung für die französischsprachigen Regionen hinzufügen. Sie können dies einfach tun, indem Sie dem Projekt alternative Ressourcenzeichenfolgen hinzufügen. Zum Beispiel könnten Sie die Phrasenbezeichnungen auf Englisch lassen, aber die eigentlichen Phrasen in die französische Sprache übersetzen.

Sie können jedem Projekt Sprachressourcen hinzufügen, indem Sie speziell benannte Projektverzeichnisse erstellen. Nehmen Sie einfach den Namen des vorhandenen Projektverzeichnisses (z. B. / res / values) und setzen Sie auf einen Bindestrich, gefolgt vom zweistelligen Sprachencode, wie in ISO 639-2 definiert. So ist zum Beispiel Englisch en, Französisch ist fr, Spanisch ist es, Deutsch ist de, etc.

Sie können in der Datei /res/values-fr/strings.xml eine einzelne Gruppe von französischen übersetzten Zeichenfolgen hinzufügen. Diese Zeichenfolgen werden immer dann geladen, wenn eine französischsprachige Gebietsschemaeinstellung aktiviert ist. Alle anderen Ländereinstellungen werden weiterhin die Standardzeichenfolgen verwenden.

Jeder der alternativen Ressourcen-Strings muss den gleichen Namen haben wie die Standard-Ressource (gespeichert in /res/values/strings.xml). Das Android-Betriebssystem wählt zur Laufzeit die spezifischste verfügbare Ressource aus. Sie müssen keine Übersetzungen für alle Zeichenfolgen bereitstellen, nur diejenigen, die geändert werden sollen, wenn eine französischsprachige Gebietsschemaeinstellung ausgewählt wird.

Die resultierende Datei /res/values-fr/strings.xml sollte etwa so aussehen:

Beachten Sie, dass Sie möglicherweise Ressourcenzeichenfolgen quotieren müssen, wenn sie selbst einfache Anführungszeichen enthalten (z. B. "S'il vous plaît").

Schritt 12: Erstellen Sie alternative String-Ressourcen für bestimmte Länder

Nachdem Sie nun die französischen Zeichenfolgenressourcen (die Wortgruppen) ermittelt haben, die in allen französischsprachigen Gebietsschemas und Regionen verwendet werden können, möchten Sie einige alternative Zeichenfolgenressourcen für bestimmte Länder erstellen: Belguim, Kanada, Frankreich und die Schweiz.

Jedes Land braucht:

  • Eine Gebietsschema-Zeichenfolge
  • Eine CIA World Factbook-URL-Zeichenfolge

Die Android-Plattform unterstützt sprachspezifische alternative Ressourcen (z. B. die im vorherigen Schritt erstellten). Sie können jedoch keine regionsspezifischen Ressourcen ohne die Sprache erstellen. Stattdessen müssen Sie die Sprache und den Ländercode in den Namen des Ressourcenverzeichnisses aufnehmen.

Um Ressourcen für eine Region zu erstellen, müssen Sie ihre Sprache (in diesem Fall "fr") verwenden, gefolgt von einem Bindestrich gefolgt von ihrem Regionalcode in der Form "rXX" wobei XX der Ländercode für das Land ist ISO 3166-1-Alpha-2-Code.

Zum Beispiel wären die Sprach- und Regionalcodes für die französischsprachigen Länder, die in Android unterstützt werden,:

Belgien: fr-rBE
Kanada: fr-RCA
Frankreich: fr-rFR
Schweiz: fr-rCH

So können Sie beispielsweise im Projektverzeichnis / res / values-fr-rBE eine strings.xml-Datei für Zeichenfolgenwerte speziell für die Gebietsschemaeinstellung Französisch (Belgien) erstellen.

/res/values-for-thE/strings.xml könnte folgendermaßen aussehen:

Step 13: Create Alternate Drawable Resources for Specific Countries

Alternative Ressourcen können für andere Datentypen als Strings erstellt werden. Sie können für jeden Ressourcentyp alternative Ressourcen erstellen, einschließlich Zeichenfolgen, Dimensionen, Farben, ausklappbare Ressourcen und andere Typen. Sie verwenden einfach die gleichen Regeln für die Hierarchie der Projektressourcenverzeichnisse.

Um Flaggen und ausklappbare Ressourcen für jedes Land (Belguim, Kanada, Frankreich und die Schweiz) hinzuzufügen, müssen Sie unter dem Projekt vier neue Verzeichnisse erstellen:

  • Speichern Sie die Grafiken Belgian flag.png und map.png im Verzeichnis / res / drawable-fr-rBE /.
  • Speichern Sie die Grafiken Canadian flag.png und map.png im Verzeichnis / res / drawable-fr-rCA /.
  • Speichern Sie die Grafiken swiss flag.png und map.png im Verzeichnis / res / drawable-fr-rCH /.
  • Speichern Sie die Grafiken france flag.png und map.png im Verzeichnis / res / drawable-fr-rFR /.

Beachten Sie, dass die Namen der ausklappbaren Dateien genau mit den standardmäßigen zeichnbaren Dateinamen übereinstimmen müssen (die in / res / drawable gespeichert sind).

Dein Projekt sollte jetzt wie folgt organisiert sein:

Android Project organization listing.

Schritt 14: Erneutes Ausführen mit einem französischsprachigen Gebietsschema

Ändern Sie in Ihrem Emulator oder auf Ihrem Gerät das Gebietsschema in eine der französischen Optionen (Français (Frankreich), Français (Kanada), Français (Belguim), Français (Schweiz)).)

Hinweis: Für diejenigen, die nicht Französisch sprechen, können Sie vom Home-Bildschirm zum Einstellungsmenü für Ländereinstellungen zurückkehren: Menü -> Paramètres -> Langue et clavier -> Langue et région.

Führen Sie die Ein-Minuten-Sprachführer-Anwendung erneut aus und sehen Sie sich die Ergebnisse an. Beachten Sie, wie die entsprechenden französischen Zeichenfolgen für alle französischen Sprachen geladen werden. Beachten Sie auch, wie die bestimmte Region angibt, welche Länderinformationen in der Anwendung angezeigt werden.

Die Abbildung zeigt, was passiert, wenn Sie Français (Frankreich) wählen.

Android French screen content.

Schritt 15: Wohin geht es von hier?

Internationalisierung zwingt Designentscheidungen im Entwicklungsteam. Werden Sie beispielsweise ein großes Projekt für alle Sprachen erstellen oder werden Sie die Anwendungen regional aufteilen? Bei einigen Projekten mit leichter Internationalisierung können Sie möglicherweise mit allen internationalisierten Ressourcen mit einem Projekt durchkommen. Für eine tiefgreifende Internationalisierung müssen Sie möglicherweise Projekte neu organisieren, damit keine Anwendung für den Benutzer zu umfangreich oder umständlich wird.

Sie haben vielleicht bemerkt, dass wir bei all diesen Internationalisierungsarbeiten nie die Java-Quelldateien des Projekts berührt haben. Dies ist wichtig, weil es bedeutet, dass die Arbeit der Internationalisierung einer Anwendung nicht an einen Entwickler geht, der weiß, wie man Eclipse und die Android-Tools gut nutzt, sondern an jemanden, der etwas darüber lernen muss, wie Android-Internationalisierung funktioniert Ressourcen können überlagert werden, und die Nachteile der Über-Internationalisierung (was zu sehr großen Paketdateien mit vielen Grafiken und so weiter). Auf der anderen Seite bleibt Entwicklern die Freiheit, das zu tun, was sie am besten können: Code entwickeln.

Schließlich haben Sie wahrscheinlich festgestellt, dass die Internationalisierungsstruktur von Android nicht perfekt ist - insbesondere für Länder mit mehreren offiziellen (und inoffiziellen) Sprachen. Es macht wenig Sinn, die gleichen Grafiken (Flagge und Karte) sowohl in einem en-CA- als auch in einem fr-rCA-Verzeichnis für englisch- und französischsprachige Kanadier aufzunehmen. Sie können diese Einschränkungen jedoch umgehen, indem Sie das Gebietsschema programmgesteuert ermitteln und die entsprechenden Grafikdateien selbst laden. Das ist jedoch für ein anderes Tutorial.

Eine ausführlichere Erklärung der Ressourcenauflösung von Android finden Sie in der Android SDK-Dokumentation hier.

Fazit

In diesem Lernprogramm haben Sie gelernt, wie Sie mit einer Android-Anwendung namens One Minute Phrasebook alternative Ressourcendateien erstellen und verwenden können. Diese Anwendung zeigt bestimmte Zeichenfolgen und Grafiken an, die auf der Android-Systemsprache / Ländereinstellung basieren. Sie haben erfahren, wie das Android-Betriebssystem Ressourcen auflöst und zur Laufzeit die am besten geeignete Ressource auswählt. Sie haben auch gelernt, Ressourcen effizient zu organisieren, um Ihren weltweiten Nutzern die bestmögliche Anwendungserfahrung zu bieten.

Wir hoffen, dir hat dieses Tutorial gefallen und freue mich auf dein Feedback!

Über die Autoren

Die mobilen Entwickler Lauren Darcey und Shane Conder haben mehrere Bücher zur Android-Entwicklung verfasst: ein ausführliches Programmierbuch mit dem Titel Android Wireless Application Development und Sams TeachYourself Android Application Development in 24 Stunden. Wenn sie nicht schreiben, verbringen sie ihre Zeit damit, mobile Software in ihrem Unternehmen zu entwickeln und Beratungsdienste anzubieten. They can be reached at via email to androidwirelessdev+mt@gmail.com, via their blog at androidbook.blogspot.com, and on Twitter @androidwireless.

Benötigen Sie mehr Hilfe beim Schreiben von Android Apps? Sehen Sie sich unsere neuesten Bücher und Ressourcen an!

Buy Android Wireless Application Development, 2nd Edition Buy Sam's Teach Yourself Android Application Development in 24 Hours Mamlambo code at Code Canyon

Advertisement
Advertisement
Advertisement
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.