News Translatable
This commit is contained in:
@@ -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,13 +118,17 @@ public class NewsFragment extends Fragment {
|
||||
if (mAdapter == null)
|
||||
return;
|
||||
String fromAsset = loadJSONFromAsset();
|
||||
if (fromAsset != null) {
|
||||
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).getString("title");
|
||||
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"))
|
||||
@@ -132,7 +137,9 @@ public class NewsFragment extends Fragment {
|
||||
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");
|
||||
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);
|
||||
}
|
||||
@@ -141,6 +148,5 @@ public class NewsFragment extends Fragment {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -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-<Kursname>/< 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-<course name>/<file name>\".\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-<Kursname>/< 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."
|
||||
}
|
||||
]
|
||||
}
|
||||
Reference in New Issue
Block a user