2017-03-17 31 views
3

我有兩個JSON文件(兩個命名的國家):一個在raw文件夾內的英語,和一個在raw-fr文件夾內的法國。但無論我在設備上選擇何種語言,應用程序始終會將文件加載到raw之下。我加載JSON文件,如下所示:Android的本地化的JSON文件

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

的文件夾結構是:

  • 資源
    • 繪製
    • 佈局
    • 值 - fr
    • ...
    • 原料-FR

難道我做錯了什麼?有沒有更好的方法來實現這一目標?

+0

@JaydeepPatel:他已經翻譯被放在'原始fr'文件夾中的文件中的文本自己在法國。 – Yashasvi

+0

是的,'raw'下的文件是英文的,'raw-fr'下的文件是法文的。該應用程序總是加載一個英文的。 –

+0

只是爲了確認,你能在這裏發表您的目錄結構 – Yashasvi

回答

0

我的猜測是,你沒有選擇正確的語言。如果它找不到與所選語言相對應的資源目錄,則僅選擇默認語言。 如果缺省值不存在,則應用程序崩潰(如here所述)。

嘗試刪除values文件夾,然後看看會發生什麼。

OR

嘗試重命名valuesvalues-en以便它僅用於英語。

P.S.我剛剛嘗試了valuesvalues-fr。當我在我的設備上選擇法語時,它會從values-fr中挑選字符串。

+0

我認爲我選擇正確的語言,因爲它也加載正確的'價值觀fr'文件。它只是不會加載'raw-fr'上的JSON文件... –

+0

哦,好吧,我會用'raw-fr'來檢查並找回給你 – Yashasvi