[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    playground/utils/dolphin/src
From:       Peter Penz <peter.penz () gmx ! at>
Date:       2007-02-11 21:39:06
Message-ID: 1171229946.306667.28978.nullmailer () svn ! kde ! org
[Download RAW message or body]

SVN commit 632674 by ppenz:

fixed internationalization issue for languages with more complex plural forms (thanks \
to David for the hint)

 M  +11 -43    dolphinview.cpp  


--- trunk/playground/utils/dolphin/src/dolphinview.cpp #632673:632674
@@ -747,36 +747,13 @@
 
 QString DolphinView::defaultStatusBarText() const
 {
-    // TODO: the following code is not suitable for languages where multiple forms
-    // of plurals are given (e. g. in Poland three forms of plurals exist).
     const int itemCount = m_folderCount + m_fileCount;
 
-    QString text;
-    if (itemCount == 1) {
-        text = i18n("1 Item");
-    }
-    else {
-        text = i18n("%1 Items",itemCount);
-    }
-
+    QString text = i18np("1 Item", "%n Items", itemCount);
     text += " (";
-
-    if (m_folderCount == 1) {
-        text += i18n("1 Folder");
-    }
-    else {
-        text += i18n("%1 Folders",m_folderCount);
-    }
-
+    text += i18np("1 Folder", "%n Folders", m_folderCount);
     text += ", ";
-
-    if (m_fileCount == 1) {
-        text += i18n("1 File");
-    }
-    else {
-        text += i18n("%1 Files",m_fileCount);
-    }
-
+    text += i18np("1 File", "%n Files", m_fileCount);
     text += ")";
 
     return text;
@@ -784,8 +761,6 @@
 
 QString DolphinView::selectionStatusBarText() const
 {
-    // TODO: the following code is not suitable for languages where multiple forms
-    // of plurals are given (e. g. in Poland three forms of plurals exist).
     QString text;
     const KFileItemList list = selectedItems();
     if (list.isEmpty()) {
@@ -811,25 +786,18 @@
         ++it;
     }
 
-    if (folderCount == 1) {
-        text = i18n("1 Folder selected");
+    if (folderCount > 0) {
+        text = i18np("1 Folder selected", "%n Folders selected", folderCount);
+        if (fileCount > 0) {
+            text += ", ";
+        }
     }
-    else if (folderCount > 1) {
-        text = i18n("%1 Folders selected", folderCount);
-    }
 
-    if ((fileCount > 0) && (folderCount > 0)) {
-        text += ", ";
+    if (fileCount > 0) {
+        const QString sizeText(KIO::convertSize(byteSize));
+        text += i18np("1 File selected (%1)", "%n Files selected (%1)", fileCount, \
sizeText);  }
 
-    const QString sizeText(KIO::convertSize(byteSize));
-    if (fileCount == 1) {
-        text += i18n("1 File selected (%1)", sizeText);
-    }
-    else if (fileCount > 1) {
-        text += i18n("%1 Files selected (%2)", fileCount, sizeText);
-    }
-
     return text;
 }
 


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic