2016-05-23 13 views
1

gutem Morgen übersetzen,android String mit Variablen

ich habe ein Android-App mit Deutsch und Englisch XML-Datei. jetzt möchte ich festlegen und Textansicht wie folgt:

"Hallo Benutzer x, Hallo Welt y." "Hallo Benutzer x, hallo welt y."

für x und y möchte ich eine Variable setzen. Wie kann ich diesen Text für beide Sprachen mit dynamischen Variablen übersetzen?

+0

Link ** NICHT ** für die Übersetzung https://developer.android.com/guide/topics/resources/localization.html Wenn Sie jedoch die in den Formulareingaben angezeigte Textsprache ändern möchten, verwenden Sie diese –

+0

https: // developer.android.com/training/basics/support-devices/languages.html –

+0

wenn Sie die Anzahl der zu übersetzenden Wörter festgelegt haben. Machen Sie eine java.util.Map wo Sie den deutschen Wert für einen bestimmten englischen Schlüssel holen können –

Antwort

1

Ihre Frage scheint unklar, aber von meinem Verständnis her schlage ich Ihnen die Lösung vor.

Wenn Sie ein dynamisches Argument an eine Zeichenfolge übergeben möchten, können Sie dies anhand des folgenden Beispiels tun.

<string name="welcome_messages">Hello, %1$s! You have %2$d new messages.</string> 

In diesem Beispiel hat der Format-String zwei Argumente:% 1 $ s ist ein String und% 2 $ d eine Dezimalzahl ist. Sie können wie folgt die Zeichenfolge mit Argumenten aus Ihrer Anwendung formatieren:

Resources res = getResources(); 
String text = String.format(res.getString(R.string.welcome_messages), username, mailCount); 

Wenn Sie mehr sehen wollen: "Hallo Benutzer% 1 $ s, hallo Welt% 2 $ s" http://developer.android.com/intl/pt-br/guide/topics/resources/string-resource.html#FormattingAndStyling

1

Standardmäßig betrachtet Android Englisch als primäre Sprache und lädt die Zeichenfolgenressourcen aus res ⇒ Werten ⇒ strings.xml. Wenn Sie Unterstützung für eine andere Sprache hinzufügen möchten, müssen Sie einen Wertordner erstellen, indem Sie einen Bindestrich und den ISO-Sprachcode anfügen. Wenn Sie beispielsweise Unterstützung für Französisch hinzufügen möchten, sollten Sie einen Wertordner mit dem Namen values-fr erstellen und eine strings.xml-Datei mit allen Strings, die in die französische Sprache übersetzt werden, darin speichern. enter image description here

0

"Hallo Benutzer% 1 $ s, hallo welt% 2 $ s." In Code rufen Sie dann einfach getString (R.string.your_string, IhrName, IhreWorld), wo YourName und yourWorld String-Variablen sind.

Wenn Sie wissen möchten, wo die Strings gespeichert werden, sehen Sie die Antwort von Devendra Singh.