diff --git a/app/src/main/java/de/sebse/fuplanner/fragments/NewsFragment.java b/app/src/main/java/de/sebse/fuplanner/fragments/NewsFragment.java index 0253683..fdf3f62 100644 --- a/app/src/main/java/de/sebse/fuplanner/fragments/NewsFragment.java +++ b/app/src/main/java/de/sebse/fuplanner/fragments/NewsFragment.java @@ -17,6 +17,7 @@ import org.json.JSONObject; import java.io.IOException; import java.io.InputStream; +import java.util.Locale; import androidx.recyclerview.widget.LinearLayoutManager; import androidx.recyclerview.widget.RecyclerView; @@ -117,29 +118,34 @@ public class NewsFragment extends Fragment { if (mAdapter == null) return; String fromAsset = loadJSONFromAsset(); - if (fromAsset != null) { - try { - JSONObject json = new JSONObject(fromAsset); - JSONArray news = json.getJSONArray("news"); - NewsList dates = new NewsList(); - for (int i = news.length() - 1; i >= 0; i--) { - String title = news.getJSONObject(i).getString("title"); - String categoryString = news.getJSONObject(i).getString("category"); - int category; - if (categoryString.equals("CATEGORY_TRICKS")) - category = News.CATEGORY_TRICKS; - else - category = News.CATEGORY_UPDATE; - String dateString = news.getJSONObject(i).getString("date"); - long date = UtilsDate.stringToMillis(dateString, "dd.MM.yyyy"); - String text = news.getJSONObject(i).getString("text"); - News event = new News(title, category, date, text); - dates.add(event); - } - mAdapter.setNews(dates); - } catch (JSONException e) { - e.printStackTrace(); + if (fromAsset == null) + return; + String language = Locale.getDefault().getLanguage(); + try { + JSONObject json = new JSONObject(fromAsset); + JSONArray news = json.getJSONArray("news"); + NewsList dates = new NewsList(); + for (int i = news.length() - 1; i >= 0; i--) { + String title = news.getJSONObject(i).optString("title_"+language, null); + if (title == null) + title = news.getJSONObject(i).getString("title"); + String categoryString = news.getJSONObject(i).getString("category"); + int category; + if (categoryString.equals("CATEGORY_TRICKS")) + category = News.CATEGORY_TRICKS; + else + category = News.CATEGORY_UPDATE; + String dateString = news.getJSONObject(i).getString("date"); + long date = UtilsDate.stringToMillis(dateString, "dd.MM.yyyy"); + String text = news.getJSONObject(i).optString("text_"+language, null); + if (text == null) + text = news.getJSONObject(i).getString("text"); + News event = new News(title, category, date, text); + dates.add(event); } + mAdapter.setNews(dates); + } catch (JSONException e) { + e.printStackTrace(); } } diff --git a/app/src/main/res/raw/news.json b/app/src/main/res/raw/news.json index 42d78dd..3ded60c 100644 --- a/app/src/main/res/raw/news.json +++ b/app/src/main/res/raw/news.json @@ -1,28 +1,36 @@ { "news": [ { - "title": "Stundenplan", + "title": "Schedule", + "title_de": "Stundenplan", "date": "18.11.2018", "category": "CATEGORY_TRICKS", - "text": "Die Stundenplan-Ansicht bietet noch einige versteckte Funktionen. So gibt es einen Shortcut, um auf die nächste bzw. vorherige Woche zu wechseln. Hierzu einfach doppelt auf der jeweiligen Seite in der Wochenansicht klicken.\nDeine Tutorien und Kurse sind nur einsehbar, wenn du diese im KVV gewählt und ausgewählt hast." + "text": "The schedule view still has some hidden features. So there is a shortcut to switch to the next or previous week. Simply double-click on each page in the weekly view.\nYour tutorials and courses are only visible if you have chosen and selected them in the KVV.", + "text_de": "Die Stundenplan-Ansicht bietet noch einige versteckte Funktionen. So gibt es einen Shortcut, um auf die nächste bzw. vorherige Woche zu wechseln. Hierzu einfach doppelt auf der jeweiligen Seite in der Wochenansicht klicken.\nDeine Tutorien und Kurse sind nur einsehbar, wenn du diese im KVV gewählt und ausgewählt hast." }, { - "title": "Spezifische Preisgruppen für Mensen", + "title": "User-Specific Price Categories", + "title_de": "Spezifische Preisgruppen für Mensen", "date": "18.11.2018", "category": "CATEGORY_TRICKS", - "text": "In den App-Einstellungen kannst Du Deine Preisgruppe wählen. So werden nur die für Dich relevanten Preise angezeigt." + "text": "In the app settings you can choose your price group. Only the prices that are relevant for you will be displayed.", + "text_de": "In den App-Einstellungen kannst Du Deine Preisgruppe wählen. So werden nur die für Dich relevanten Preise angezeigt." }, { - "title": "Aktualisierung der Daten", + "title": "Data Refreshing", + "title_de": "Aktualisierung der Daten", "date": "18.11.2018", "category": "CATEGORY_UPDATE", - "text": "Derzeit werden die Daten noch nicht automatisch mit dem KVV synchronisiert. Eine manuelle Synchronisierung kannst Du auslösen, indem du die Ansicht einfach nach unten ziehst. Eine Ausnahme bildet der Stundenplan. Hier kannst Du über die drei Punkte oben rechts aktualisieren." + "text": "Currently, the data is not automatically synchronized with the KVV. You can trigger a manual sync by simply dragging the view down. An exception is the timetable. Here you can update with the three points in the top right.", + "text_de": "Derzeit werden die Daten noch nicht automatisch mit dem KVV synchronisiert. Eine manuelle Synchronisierung kannst Du auslösen, indem du die Ansicht einfach nach unten ziehst. Eine Ausnahme bildet der Stundenplan. Hier kannst Du über die drei Punkte oben rechts aktualisieren." }, { - "title": "Ressourcen", + "title": "Resources", + "title_de": "Ressourcen", "date": "18.11.2018", "category": "CATEGORY_TRICKS", - "text": "Die heruntergeladenen Ressourcen werden auf Deinem Smartphone unter „…/Download/FU-/< Dateiname>“ gespeichert.\nRessourcen, die bereits heruntergeladen wurden, können über den Download-Dialog geöffnet oder erneut herutnergeladen werden. Dabei wird die alte Datei überschrieben." + "text": "The downloaded resources are saved on your smartphone under \".../Download/FU-/\".\nResources that have already been downloaded can be opened or reloaded via the download dialog. A reload overwrites the old file.", + "text_de": "Die heruntergeladenen Ressourcen werden auf Deinem Smartphone unter „…/Download/FU-/< Dateiname>“ gespeichert.\nRessourcen, die bereits heruntergeladen wurden, können über den Download-Dialog geöffnet oder erneut heruntergeladen werden. Dabei wird die alte Datei überschrieben." } ] } \ No newline at end of file