]> granicus.if.org Git - icu/commitdiff
ICU-12041 check that per-unit patterns have one placeholder, fix patterns
authorMarkus Scherer <markus.icu@gmail.com>
Wed, 16 Dec 2015 22:29:21 +0000 (22:29 +0000)
committerMarkus Scherer <markus.icu@gmail.com>
Wed, 16 Dec 2015 22:29:21 +0000 (22:29 +0000)
X-SVN-Rev: 38139

13 files changed:
icu4c/source/data/unit/ar.txt
icu4c/source/data/unit/de.txt
icu4c/source/data/unit/dsb.txt
icu4c/source/data/unit/hsb.txt
icu4c/source/data/unit/lv.txt
icu4c/source/data/unit/my.txt
icu4c/source/data/unit/pt_PT.txt
icu4c/source/data/unit/ro.txt
icu4c/source/data/unit/si.txt
icu4c/source/data/unit/sr.txt
icu4c/source/data/unit/sr_Latn.txt
icu4c/source/data/unit/tr.txt
icu4c/source/i18n/measfmt.cpp

index 883e97c8e39622591dac000c6369ccafc1ab1c8c..d6a1d3fb88e75eb0a17c7594f020f3cd076b529a 100755 (executable)
@@ -400,7 +400,7 @@ ar{
                 many{"{0} سنة"}
                 one{"سنة"}
                 other{"{0} سنة"}
-                per{"في السنة"}
+                per{"{0} في السنة"}
                 two{"سنتان"}
                 zero{"{0} سنة"}
             }
index 9ec6e5d8c14d23e01f4567e0697e830f1a166ce7..eab9dc16736d9064ed4c12d08941271f3d464ebe 100755 (executable)
@@ -467,7 +467,7 @@ de{
                 dnam{"Unzen"}
                 one{"{0} Unze"}
                 other{"{0} Unzen"}
-                per{"pro Unze"}
+                per{"{0} pro Unze"}
             }
             ounce-troy{
                 dnam{"Feinunzen"}
index fbdfc9f809211373ab12ecfe3d7b38b81be1c578..d972a0d01704ee8cc3877dc455524cba5d578626 100755 (executable)
@@ -226,7 +226,7 @@ dsb{
                 few{"{0} góźiny"}
                 one{"{0} góźina"}
                 other{"{0} góźinow"}
-                per{"na góźinu"}
+                per{"{0} na góźinu"}
                 two{"{0} góźinje"}
             }
             microsecond{
@@ -269,7 +269,7 @@ dsb{
                 few{"{0} sekundy"}
                 one{"{0} sekunda"}
                 other{"{0} sekundow"}
-                per{"na sekundu"}
+                per{"{0} na sekundu"}
                 two{"{0} sekunźe"}
             }
             week{
index 747481ea43785995e205bc91445b394c833f38e1..bdf5112656612d426d88883d1ebe4412b608e3d1 100755 (executable)
@@ -226,7 +226,7 @@ hsb{
                 few{"{0} hodźiny"}
                 one{"{0} hodźina"}
                 other{"{0} hodźinow"}
-                per{"na hodźinu"}
+                per{"{0} na hodźinu"}
                 two{"{0} hodźinje"}
             }
             microsecond{
@@ -269,7 +269,7 @@ hsb{
                 few{"{0} sekundy"}
                 one{"{0} sekunda"}
                 other{"{0} sekundow"}
-                per{"na sekundu"}
+                per{"{0} na sekundu"}
                 two{"{0} sekundźe"}
             }
             week{
index 81e8a2345b6eafdf3b864e38bf1800c778c091fe..1536fca1e1b385855beca208f65e49f9cd5e9937 100755 (executable)
@@ -77,7 +77,7 @@ lv{
                 dnam{"kvadrātcentimetri"}
                 one{"{0} kvadrātcentimetrs"}
                 other{"{0} kvadrātcentimetri"}
-                per{"uz kvadrātcentimetru"}
+                per{"{0} uz kvadrātcentimetru"}
                 zero{"{0} kvadrātcentimetri"}
             }
             square-foot{
@@ -103,7 +103,7 @@ lv{
                 dnam{"kvadrātmetri"}
                 one{"{0} kvadrātmetrs"}
                 other{"{0} kvadrātmetri"}
-                per{"uz kvadrātmetru"}
+                per{"{0} uz kvadrātmetru"}
                 zero{"{0} kvadrātmetri"}
             }
             square-mile{
@@ -704,7 +704,7 @@ lv{
                 dnam{"kubikcentimetri"}
                 one{"{0} kubikcentimetrs"}
                 other{"{0} kubikcentimetri"}
-                per{"uz kubikcentimetru"}
+                per{"{0} uz kubikcentimetru"}
                 zero{"{0} kubikcentimetri"}
             }
             cubic-foot{
@@ -729,7 +729,7 @@ lv{
                 dnam{"kubikmetri"}
                 one{"{0} kubikmetrs"}
                 other{"{0} kubikmetri"}
-                per{"uz kubikmetru"}
+                per{"{0} uz kubikmetru"}
                 zero{"{0} kubikmetri"}
             }
             cubic-mile{
@@ -779,7 +779,7 @@ lv{
                 dnam{"litri"}
                 one{"{0} litrs"}
                 other{"{0} litri"}
-                per{"uz litru"}
+                per{"{0} uz litru"}
                 zero{"{0} litri"}
             }
             megaliter{
index 0a24ab4e0c786c8121c119bb22f7a3bd59a4c3d8..07b5dccb9f83adfa9c2fef2861d1863d9b493e9c 100755 (executable)
@@ -386,7 +386,7 @@ my{
             pound{
                 dnam{"ပေါင်"}
                 other{"{0}ပေါင်"}
-                per{"တစ်ပေါင်လျှင်"}
+                per{"{0}တစ်ပေါင်လျှင်"}
             }
             ton{
                 dnam{"တန်"}
@@ -512,7 +512,7 @@ my{
             cubic-meter{
                 dnam{"ကုဗမီတာ"}
                 other{"{0}ကုဗမီတာ"}
-                per{"တစ်ကုဗစင်တီမီတာလျှင်"}
+                per{"{0}တစ်ကုဗမီတာလျှင်"}
             }
             cubic-mile{
                 dnam{"ကုဗမိုင်"}
index a3b82c77a229d29d6d802d53b768ba0b05669872..3108255e3cec548035789c498d19d39f6243ef3e 100755 (executable)
@@ -110,7 +110,7 @@ pt_PT{
         }
         volume{
             cubic-centimeter{
-                per{"por centímetro cúbico"}
+                per{"{0} por centímetro cúbico"}
             }
             cubic-kilometer{
                 dnam{"quilómetros cúbicos"}
index a31e161fac12bed5ab89c8b6706566718e48243c..e74eaa88bda388088291c76800a52d5a4c0e7d15 100755 (executable)
@@ -504,7 +504,7 @@ ro{
                 few{"{0} grame"}
                 one{"{0} gram"}
                 other{"{0} de grame"}
-                per{"per gram"}
+                per{"{0} per gram"}
             }
             kilogram{
                 dnam{"kilograme"}
index 1f4da6b8237468dbc44275a83fce64abaa20d785..47fae311ddb9f1ebf51e549793af1492ad1cb80b 100755 (executable)
@@ -230,7 +230,7 @@ si{
                 dnam{"තත්පර"}
                 one{"තත්පර {0}"}
                 other{"තත්පර {0}"}
-                per{"තත්පරයට"}
+                per{"තත්පරයට {0}"}
             }
             week{
                 dnam{"සති"}
index a00f8aa95cedc7d1a5365589f0c8309acfb9b266..2d099605658faae407481905fd32f64ba4a6338f 100755 (executable)
@@ -772,7 +772,7 @@ sr{
                 few{"{0} литра"}
                 one{"{0} литар"}
                 other{"{0} литара"}
-                per{"по литри"}
+                per{"{0} по литри"}
             }
             megaliter{
                 dnam{"мегалитри"}
index 82830ae527f5e2a9671eabd7e86f3c8cba32d5dd..0fe7b9e1fc6a827b3a63eae5de8a548f45e5ed54 100755 (executable)
@@ -773,7 +773,7 @@ sr_Latn{
                 few{"{0} litra"}
                 one{"{0} litar"}
                 other{"{0} litara"}
-                per{"po litri"}
+                per{"{0} po litri"}
             }
             megaliter{
                 dnam{"megalitri"}
index 8f5c1f05273cecfad07405bbb49133bf9cc49cad..39411a9a8195d28c6698d05124586cdd5ce93b91 100755 (executable)
@@ -68,7 +68,7 @@ tr{
                 dnam{"santimetrekare"}
                 one{"{0} santimetrekare"}
                 other{"{0} santimetrekare"}
-                per{"/santimetrekare"}
+                per{"{0}/santimetrekare"}
             }
             square-foot{
                 dnam{"fit kare"}
@@ -90,7 +90,7 @@ tr{
                 dnam{"metrekare"}
                 one{"{0} metrekare"}
                 other{"{0} metrekare"}
-                per{"/metrekare"}
+                per{"{0}/metrekare"}
             }
             square-mile{
                 dnam{"mil kare"}
@@ -642,7 +642,7 @@ tr{
                 dnam{"metreküp"}
                 one{"{0} metreküp"}
                 other{"{0} metreküp"}
-                per{"/metreküp"}
+                per{"{0}/metreküp"}
             }
             cubic-mile{
                 dnam{"mil küp"}
index a73ff6eaf79c2aac987cc76eafae816467c101d6..b37bc19d27964fd0923d3a64f987f305cd28c22c 100644 (file)
@@ -241,9 +241,7 @@ struct UnitDataSink : public ResourceTableSink {
                 // Skip the unit display name for now.
             } else if (uprv_strcmp(key, "per") == 0) {
                 // For example, "{0}/h".
-                // TODO: Set minPlaceholders=1
-                // after http://unicode.org/cldr/trac/ticket/9129 is fixed.
-                setFormatterIfAbsent(MeasureFormatCacheData::PER_UNIT_INDEX, value, 0, errorCode);
+                setFormatterIfAbsent(MeasureFormatCacheData::PER_UNIT_INDEX, value, 1, errorCode);
             } else {
                 // The key must be one of the plural form strings. For example:
                 // one{"{0} hr"}
@@ -606,7 +604,9 @@ MeasureFormat::MeasureFormat(const MeasureFormat &other) :
     cache->addRef();
     numberFormat->addRef();
     pluralRules->addRef();
-    listFormatter = new ListFormatter(*other.listFormatter);
+    if (other.listFormatter != NULL) {
+        listFormatter = new ListFormatter(*other.listFormatter);
+    }
 }
 
 MeasureFormat &MeasureFormat::operator=(const MeasureFormat &other) {
@@ -619,7 +619,11 @@ MeasureFormat &MeasureFormat::operator=(const MeasureFormat &other) {
     SharedObject::copyPtr(other.pluralRules, pluralRules);
     width = other.width;
     delete listFormatter;
-    listFormatter = new ListFormatter(*other.listFormatter);
+    if (other.listFormatter != NULL) {
+        listFormatter = new ListFormatter(*other.listFormatter);
+    } else {
+        listFormatter = NULL;
+    }
     return *this;
 }