2017-03-17 5 views
3

Ich habe zwei JSON-Dateien (beide genannten Länder): eine in Englisch innerhalb der raw Ordner und eine in Französisch in der raw-fr Ordner. Aber egal, welche Sprache ich auf dem Gerät auswähle, die App lädt immer die Datei unter raw. Ich bin Laden der JSON-Datei wie folgt:Android lokalisierte JSON-Dateien

InputStream inputStream = context.getResources().openRawResource(R.raw.countries); 

Die Ordnerstruktur ist:

  • res
    • ziehbar
    • Layout
    • Werte
    • Werte- fr
    • ...
    • roh
    • Roh-fr

ich etwas falsch tue? Gibt es einen besseren Weg, dies zu erreichen?

+0

@JaydeepPatel: Er hat bereits den Text selbst in französisch in der Datei übersetzt, die in 'raw-fr' Ordner abgelegt wird. – Yashasvi

+0

Ja, die Datei unter 'roh' ist in Englisch, und die Datei unter 'roh-fr' ist in Französisch. Die App lädt immer die auf Englisch. –

+0

Nur zur Bestätigung, können Sie hier Ihre Verzeichnisstruktur posten – Yashasvi

Antwort

0

Meine Vermutung ist, dass Sie nicht die richtige Sprache zu wählen. Es wählt nur die Standardsprache aus, wenn es kein Ressourcenverzeichnis für die ausgewählte Sprache findet. Wenn der Standardwert nicht vorhanden ist, stürzt die Anwendung ab (wie angegeben here).

Versuchen Entfernen values Ordner und dann sehen, was passiert.

ODER

Versuchen values-values-en Umbenennung, so dass es nur für Englisch Sprache verwendet wird.

P.S. Ich habe gerade versucht mit values und values-fr. Es nimmt die Zeichenkette von values-fr auf, wenn ich französische Sprache auf meinem Gerät wähle.

+0

ich denke, dass ich die richtige Sprache mir die Wahl, weil es auch die richtige' Werte-fr'-Datei lädt. Es wird einfach nicht die JSON-Datei auf 'raw-fr' laden ... –

+0

oh ok, ich überprüfe mit' raw-fr 'und melde mich wieder bei dir – Yashasvi