More i18n-friendly format for footer in list of files (no string composition)
authorDavid A. Velasco <dvelasco@solidgear.es>
Wed, 22 Apr 2015 06:56:56 +0000 (08:56 +0200)
committerDavid A. Velasco <dvelasco@solidgear.es>
Mon, 22 Jun 2015 09:42:37 +0000 (11:42 +0200)
Conflicts FIXED:
res/values/strings.xml

res/values/strings.xml
src/com/owncloud/android/ui/fragment/OCFileListFragment.java

index f5ea7bc..ac8fd3a 100644 (file)
     <string name="uploader_info_uploading">Uploading</string>
     <string name="file_list_seconds_ago">seconds ago</string>
     <string name="file_list_empty">Nothing in here. Upload something!</string>
-    <string name="file_list_loading">Loading...</string>
+    <string name="file_list_loading">Loading&#8230;</string>
     <string name="local_file_list_empty">There are no files in this folder.</string>
-    <string name="file_list_folder">folder</string>
-    <string name="file_list_folders">folders</string>
-    <string name="file_list_file">file</string>
-    <string name="file_list_files">files</string>
     <string name="filedetails_select_file">Tap on a file to display additional information.</string>
     <string name="filedetails_size">Size:</string>
     <string name="filedetails_type">Type:</string>
        <string name="network_error_connect_timeout_exception">An error occurred while waiting for the server, the operation couldn\'t have been done</string>
        <string name="network_host_not_available">The operation couldn\'t be completed, server is unavailable</string>
 
-       <string name="empty"></string>
+       <string name="empty" />
        
        <string name="forbidden_permissions">You do not have permission %s</string>
        <string name="forbidden_permissions_rename">to rename this file</string>
     <string name="common_error_out_memory">Not enough memory</string>
 
     <string name="username">Username</string>
+
+    <string name="file_list__footer__folder">1 folder</string>
+    <string name="file_list__footer__folders">%1$d folders</string>
+    <string name="file_list__footer__file">1 file</string>
+    <string name="file_list__footer__file_and_folder">1 file, 1 folder</string>
+    <string name="file_list__footer__file_and_folders">1 file, %1$d folders</string>
+    <string name="file_list__footer__files">%1$d files</string>
+    <string name="file_list__footer__files_and_folder">%1$d files, 1 folder</string>
+    <string name="file_list__footer__files_and_folders">%1$d files, %1$d folders</string>
+
 </resources>
index dd8ed02..a8f7ff0 100644 (file)
@@ -438,23 +438,47 @@ public class OCFileListFragment extends ExtendedListFragment {
     }
 
     private String generateFooterText(int filesCount, int foldersCount) {
-        String output = "";
-        if (filesCount > 0){
-            if (filesCount == 1) {
-                output = output + filesCount + " " + getResources().getString(R.string.file_list_file);
-            } else {
-                output = output + filesCount + " " + getResources().getString(R.string.file_list_files);
+        String output;
+        if (filesCount <= 0) {
+            if (foldersCount <= 0) {
+                output = "";
+
+            } else if (foldersCount == 1) {
+                output = getResources().getString(R.string.file_list__footer__folder);
+
+            } else { // foldersCount > 1
+                output = getResources().getString(R.string.file_list__footer__folders);
+                String.format(output, foldersCount);
+
             }
-        }
-        if (foldersCount > 0 && filesCount > 0){
-            output = output + ", ";
-        }
-        if (foldersCount == 1) {
-            output = output + foldersCount + " " + getResources().getString(R.string.file_list_folder);
-        } else if (foldersCount > 1) {
-            output = output + foldersCount + " " + getResources().getString(R.string.file_list_folders);
-        }
 
+        } else if (filesCount == 1) {
+            if (foldersCount <= 0) {
+                output = getResources().getString(R.string.file_list__footer__file);
+
+            } else if (foldersCount == 1) {
+                output = getResources().getString(R.string.file_list__footer__file_and_folder);
+
+            } else { // foldersCount > 1
+                output = getResources().getString(R.string.file_list__footer__file_and_folders);
+                String.format(output, foldersCount);
+
+            }
+        } else {    // filesCount > 1
+            if (foldersCount <= 0) {
+                output = getResources().getString(R.string.file_list__footer__files);
+                String.format(output, filesCount);
+
+            } else if (foldersCount == 1) {
+                output = getResources().getString(R.string.file_list__footer__files_and_folder);
+                String.format(output, filesCount);
+
+            } else { // foldersCount > 1
+                output = getResources().getString(R.string.file_list__footer__files_and_folders);
+                String.format(output, filesCount, foldersCount);
+
+            }
+        }
         return output;
     }