2016-04-10 7 views
0

Ich versuche, mit String einen Dialog auf Android Studio zu erstellen, die eine Fehlermeldung in verschiedenen Sprachen angezeigt werden. Derzeit ich nur eine Fehlermeldung habe (in deutscher Sprache):Wie um einen Dialog zu schaffen für mehrere Sprachen

public void onReceivedError(WebView view, int errorCod, String description, String failingUrl) { 
      // Error message + error description 
      Toast.makeText(Main.this, "Keine Internetverbindung verfügbar: " + description, Toast.LENGTH_LONG).show(); 
     } 

Ich glaube, ich brauche Arrays zu erstellen und die gleiche Botschaft in anderen Sprachen hinzufügen, ist das Problem, das ich noch nicht herausfinden, wie zu tun habe es.

+0

Angenommen, Ihre Anwendung verwendet die Systemsprache, siehe [Unterstützung verschiedener Sprachen] (http://developer.android.com/training/basics/support-devices/languages.html). – MalaKa

+0

Hi hast du das nicht versucht? –

+0

Es funktionierte wie @ShreeKrishna sagte. Danke! – Motumbo

Antwort

0

Vielleicht können Sie, wie Sie bereits zuvor erwähnt haben, eine Array - Liste verschiedener Sprachen erstellen, die Ihre App unterstützt (vielleicht ein Optionsmenü zur Auswahl) und dann an den Stellen, an denen Sie Ihren Text fest programmiert haben (Beispiel: Keine Internetverbindung verfügbar: ") Ersetzen Sie das durch einen anderen Parameter in der Methode.

In Bezug auf das Array, das Sie, je nachdem, wie groß und organisiert nutzen könnten Sie Ihr Programm möchten, können Sie verschiedene Arraylist Objekte für jede Sprache machen. Was würde ich empfehlen, ist eine HashMap aller Phrasen in Ihrem Programm zu machen und organisieren sie in einer solchen Art und Weise HashMap, wo die erste Saite etwas wie „germanIntro“ sein würde, und dem zweiten String würde „Keine Internetverbindung verfügbar:“ sein.

Um mehr darüber zu erfahren, wie man eine ArrayList oder HashMap verwendet, würde ich empfehlen, einfach zu googlen oder andere Stack-Overflow-Antworten zu betrachten.

EDIT: Ich bin sicher, Auto-Übersetzer sind verfügbar, irgendwie zu verwenden (ich habe es noch nie versucht), aber ich weiß, dass sie nicht 100% genau sind. Davon abgesehen, wenn Sie die Sprache kennen, würde ich empfehlen, die richtigen Sätze zu kodieren.

0

Nein, Sie brauchen nicht, haben einen Blick here über Lokalisierung,

Sie ein /values/strings.xml

für den universellen Ansatz und Sie haben /values-de/strings.xml für Deutsch Sprache zu erstellen.

Dann nach dem /values/strings.xml wird wie

<?xml version="1.0" encoding="utf-8"?> 
<resources> 
    <string name="message">No internet connection available</string> 
</resources> 

aussehen Und Ihre /values-de/strings.xml aussehen wird

<?xml version="1.0" encoding="utf-8"?> 
<resources> 
    <string name="message">Keine Internetverbindung verfügbar</string> 
</resources> 

Dann Sie den Dialog als pro lokalisierten String zeigen

void onReceivedError(WebView view, int errorCod, String description, String failingUrl) { 
      // Error message + error description 
      Toast.makeText(Main.this, getString(R.string.message), Toast.LENGTH_LONG).show(); 
     } 
Verwandte Themen