From b2dc460b4be93a5de77f2cb18a07fd64f44c8a14 Mon Sep 17 00:00:00 2001 From: Benjamin Gamard Date: Wed, 30 Jan 2019 17:38:30 +0100 Subject: [PATCH] Closes #269: translate audit log --- .../docs/activity/AuditLogActivity.java | 12 +++---- .../docs/adapter/AuditLogListAdapter.java | 35 +++++++++++++------ .../app/src/main/res/values-de/strings.xml | 19 +++++++--- .../app/src/main/res/values-fr/strings.xml | 15 ++++++++ .../app/src/main/res/values/strings.xml | 15 ++++++++ docs-web/src/main/webapp/src/locale/en.json | 5 +-- 6 files changed, 79 insertions(+), 22 deletions(-) diff --git a/docs-android/app/src/main/java/com/sismics/docs/activity/AuditLogActivity.java b/docs-android/app/src/main/java/com/sismics/docs/activity/AuditLogActivity.java index 391e9c81..2131eab8 100644 --- a/docs-android/app/src/main/java/com/sismics/docs/activity/AuditLogActivity.java +++ b/docs-android/app/src/main/java/com/sismics/docs/activity/AuditLogActivity.java @@ -52,7 +52,7 @@ public class AuditLogActivity extends AppCompatActivity { } // Configure the swipe refresh layout - SwipeRefreshLayout swipeRefreshLayout = (SwipeRefreshLayout) findViewById(R.id.swipeRefreshLayout); + SwipeRefreshLayout swipeRefreshLayout = findViewById(R.id.swipeRefreshLayout); swipeRefreshLayout.setColorSchemeResources(android.R.color.holo_blue_bright, android.R.color.holo_green_light, android.R.color.holo_orange_light, @@ -65,7 +65,7 @@ public class AuditLogActivity extends AppCompatActivity { }); // Navigate to user profile on click - final ListView auditLogListView = (ListView) findViewById(R.id.auditLogListView); + final ListView auditLogListView = findViewById(R.id.auditLogListView); auditLogListView.setOnItemClickListener(new AdapterView.OnItemClickListener() { @Override public void onItemClick(AdapterView parent, View view, int position, long id) { @@ -88,15 +88,15 @@ public class AuditLogActivity extends AppCompatActivity { * Refresh the view. */ private void refreshView(String documentId) { - final SwipeRefreshLayout swipeRefreshLayout = (SwipeRefreshLayout) findViewById(R.id.swipeRefreshLayout); - final ProgressBar progressBar = (ProgressBar) findViewById(R.id.progressBar); - final ListView auditLogListView = (ListView) findViewById(R.id.auditLogListView); + final SwipeRefreshLayout swipeRefreshLayout = findViewById(R.id.swipeRefreshLayout); + final ProgressBar progressBar = findViewById(R.id.progressBar); + final ListView auditLogListView = findViewById(R.id.auditLogListView); progressBar.setVisibility(View.VISIBLE); auditLogListView.setVisibility(View.GONE); AuditLogResource.list(this, documentId, new HttpCallback() { @Override public void onSuccess(JSONObject response) { - auditLogListView.setAdapter(new AuditLogListAdapter(response.optJSONArray("logs"))); + auditLogListView.setAdapter(new AuditLogListAdapter(AuditLogActivity.this, response.optJSONArray("logs"))); } @Override diff --git a/docs-android/app/src/main/java/com/sismics/docs/adapter/AuditLogListAdapter.java b/docs-android/app/src/main/java/com/sismics/docs/adapter/AuditLogListAdapter.java index 83c03f35..912f9d81 100644 --- a/docs-android/app/src/main/java/com/sismics/docs/adapter/AuditLogListAdapter.java +++ b/docs-android/app/src/main/java/com/sismics/docs/adapter/AuditLogListAdapter.java @@ -1,8 +1,6 @@ package com.sismics.docs.adapter; import android.content.Context; -import android.content.Intent; -import android.text.TextUtils; import android.text.format.DateFormat; import android.view.LayoutInflater; import android.view.View; @@ -30,12 +28,19 @@ public class AuditLogListAdapter extends BaseAdapter { */ private List logList; + /** + * Context. + */ + private Context context; + /** * Audit log list adapter. * + * @param context Context * @param logs Logs */ - public AuditLogListAdapter(JSONArray logs) { + public AuditLogListAdapter(Context context, JSONArray logs) { + this.context = context; this.logList = new ArrayList<>(); for (int i = 0; i < logs.length(); i++) { @@ -67,11 +72,21 @@ public class AuditLogListAdapter extends BaseAdapter { // Build message final JSONObject log = getItem(position); - StringBuilder message = new StringBuilder(log.optString("class")); + StringBuilder message = new StringBuilder(); + + // Translate entity name + int stringId = context.getResources().getIdentifier("auditlog_" + log.optString("class"), "string", context.getPackageName()); + if (stringId == 0) { + message.append(log.optString("class")); + } else { + message.append(context.getResources().getString(stringId)); + } + message.append(" "); + switch (log.optString("type")) { - case "CREATE": message.append(" created"); break; - case "UPDATE": message.append(" updated"); break; - case "DELETE": message.append(" deleted"); break; + case "CREATE": message.append(context.getResources().getString(R.string.auditlog_created)); break; + case "UPDATE": message.append(context.getResources().getString(R.string.auditlog_updated)); break; + case "DELETE": message.append(context.getResources().getString(R.string.auditlog_deleted)); break; } switch (log.optString("class")) { case "Document": @@ -85,9 +100,9 @@ public class AuditLogListAdapter extends BaseAdapter { } // Fill the view - TextView usernameTextView = (TextView) view.findViewById(R.id.usernameTextView); - TextView messageTextView = (TextView) view.findViewById(R.id.messageTextView); - TextView dateTextView = (TextView) view.findViewById(R.id.dateTextView); + TextView usernameTextView = view.findViewById(R.id.usernameTextView); + TextView messageTextView = view.findViewById(R.id.messageTextView); + TextView dateTextView = view.findViewById(R.id.dateTextView); usernameTextView.setText(log.optString("username")); messageTextView.setText(message); String date = DateFormat.getDateFormat(parent.getContext()).format(new Date(log.optLong("create_date"))); diff --git a/docs-android/app/src/main/res/values-de/strings.xml b/docs-android/app/src/main/res/values-de/strings.xml index 08250eaf..e4828671 100644 --- a/docs-android/app/src/main/res/values-de/strings.xml +++ b/docs-android/app/src/main/res/values-de/strings.xml @@ -9,7 +9,6 @@ Nur Buchstaben und Zahlen - Sismics Docs Navigationsleiste öffnen Navigationsleiste schließen github.com/sismics/docs, sowie die Login-Daten unten eingeben]]> @@ -69,9 +68,6 @@ Leert die aktuellen Suchvorschläge Suchvorschläge wurden gelöscht Cache Größe - Français - English - Deutsch Speichern Bearbeiten Netzwerkfehler, bitte versuchen Sie es erneut @@ -145,4 +141,19 @@ Mitwirkende Beziehungen + + ACL + Kommentar + Dokument + Datei + Gruppe + Workflow + Workflow-Muster + Tag + Benutzer + Webhook + erstellt + aktualisiert + gelöscht + diff --git a/docs-android/app/src/main/res/values-fr/strings.xml b/docs-android/app/src/main/res/values-fr/strings.xml index 8933a715..cc589ba4 100644 --- a/docs-android/app/src/main/res/values-fr/strings.xml +++ b/docs-android/app/src/main/res/values-fr/strings.xml @@ -141,4 +141,19 @@ Contributeurs Relations + + ACL + Commentaire + Document + Fichier + Groupe + Workflow + Modèle de workflow + Tag + Utilisateur + Webhook + créé + mis à jour + supprimé + diff --git a/docs-android/app/src/main/res/values/strings.xml b/docs-android/app/src/main/res/values/strings.xml index e5ca3d48..92ad3257 100644 --- a/docs-android/app/src/main/res/values/strings.xml +++ b/docs-android/app/src/main/res/values/strings.xml @@ -145,4 +145,19 @@ Contributors Relations + + ACL + Comment + Document + File + Group + Workflow + Workflow model + Tag + User + Webhook + created + updated + deleted + diff --git a/docs-web/src/main/webapp/src/locale/en.json b/docs-web/src/main/webapp/src/locale/en.json index 135e4587..73d300c8 100644 --- a/docs-web/src/main/webapp/src/locale/en.json +++ b/docs-web/src/main/webapp/src/locale/en.json @@ -489,10 +489,11 @@ "Document": "Document", "File": "File", "Group": "Group", + "Route": "Workflow", + "RouteModel": "Workflow model", "Tag": "Tag", "User": "User", - "RouteModel": "Workflow model", - "Route": "Workflow" + "Webhook": "Webhook" }, "selectrelation": { "typeahead": "Type a document title"