]> source.dussan.org Git - sonarqube.git/commitdiff
SONAR-2309 Error when browser locale is Hebrew
authorsimonbrandhof <simon.brandhof@gmail.com>
Tue, 12 Apr 2011 21:03:22 +0000 (23:03 +0200)
committersimonbrandhof <simon.brandhof@gmail.com>
Tue, 12 Apr 2011 21:03:22 +0000 (23:03 +0200)
77 files changed:
sonar-server/src/main/webapp/WEB-INF/config/locales/HOW_TO_UPGRADE_LOCALES.txt [new file with mode: 0644]
sonar-server/src/main/webapp/WEB-INF/config/locales/defaults/ar.yml [changed mode: 0755->0644]
sonar-server/src/main/webapp/WEB-INF/config/locales/defaults/bg.yml [changed mode: 0755->0644]
sonar-server/src/main/webapp/WEB-INF/config/locales/defaults/bn-IN.yml [changed mode: 0755->0644]
sonar-server/src/main/webapp/WEB-INF/config/locales/defaults/bs.yml [changed mode: 0755->0644]
sonar-server/src/main/webapp/WEB-INF/config/locales/defaults/ca-ES.yml [deleted file]
sonar-server/src/main/webapp/WEB-INF/config/locales/defaults/ca.yml [new file with mode: 0644]
sonar-server/src/main/webapp/WEB-INF/config/locales/defaults/cs.rb [new file with mode: 0644]
sonar-server/src/main/webapp/WEB-INF/config/locales/defaults/cy.yml [new file with mode: 0644]
sonar-server/src/main/webapp/WEB-INF/config/locales/defaults/cz.rb [deleted file]
sonar-server/src/main/webapp/WEB-INF/config/locales/defaults/da.yml [changed mode: 0755->0644]
sonar-server/src/main/webapp/WEB-INF/config/locales/defaults/de-AT.yml [changed mode: 0755->0644]
sonar-server/src/main/webapp/WEB-INF/config/locales/defaults/de-CH.yml [new file with mode: 0644]
sonar-server/src/main/webapp/WEB-INF/config/locales/defaults/de.yml [changed mode: 0755->0644]
sonar-server/src/main/webapp/WEB-INF/config/locales/defaults/dsb.yml [new file with mode: 0644]
sonar-server/src/main/webapp/WEB-INF/config/locales/defaults/ee.yml [deleted file]
sonar-server/src/main/webapp/WEB-INF/config/locales/defaults/el.yml [changed mode: 0755->0644]
sonar-server/src/main/webapp/WEB-INF/config/locales/defaults/en-AU.yml [new file with mode: 0644]
sonar-server/src/main/webapp/WEB-INF/config/locales/defaults/en-GB.yml [new file with mode: 0644]
sonar-server/src/main/webapp/WEB-INF/config/locales/defaults/en-US.yml [new file with mode: 0644]
sonar-server/src/main/webapp/WEB-INF/config/locales/defaults/eo.yml [new file with mode: 0644]
sonar-server/src/main/webapp/WEB-INF/config/locales/defaults/es-AR.yml [changed mode: 0755->0644]
sonar-server/src/main/webapp/WEB-INF/config/locales/defaults/es-CL.yml [new file with mode: 0644]
sonar-server/src/main/webapp/WEB-INF/config/locales/defaults/es-CO.yml [new file with mode: 0644]
sonar-server/src/main/webapp/WEB-INF/config/locales/defaults/es-MX.yml [changed mode: 0755->0644]
sonar-server/src/main/webapp/WEB-INF/config/locales/defaults/es-PE.yml [new file with mode: 0644]
sonar-server/src/main/webapp/WEB-INF/config/locales/defaults/es.yml [changed mode: 0755->0644]
sonar-server/src/main/webapp/WEB-INF/config/locales/defaults/et.yml [new file with mode: 0644]
sonar-server/src/main/webapp/WEB-INF/config/locales/defaults/eu.yml [new file with mode: 0644]
sonar-server/src/main/webapp/WEB-INF/config/locales/defaults/fa.yml [changed mode: 0755->0644]
sonar-server/src/main/webapp/WEB-INF/config/locales/defaults/fi.yml [changed mode: 0755->0644]
sonar-server/src/main/webapp/WEB-INF/config/locales/defaults/fr-CA.yml [new file with mode: 0755]
sonar-server/src/main/webapp/WEB-INF/config/locales/defaults/fr-CH.yml
sonar-server/src/main/webapp/WEB-INF/config/locales/defaults/fr.yml
sonar-server/src/main/webapp/WEB-INF/config/locales/defaults/fur.yml [new file with mode: 0644]
sonar-server/src/main/webapp/WEB-INF/config/locales/defaults/gl-ES.yml [changed mode: 0755->0644]
sonar-server/src/main/webapp/WEB-INF/config/locales/defaults/gsw-CH.yml [new file with mode: 0644]
sonar-server/src/main/webapp/WEB-INF/config/locales/defaults/he.yml [changed mode: 0755->0644]
sonar-server/src/main/webapp/WEB-INF/config/locales/defaults/hi-IN.yml [new file with mode: 0644]
sonar-server/src/main/webapp/WEB-INF/config/locales/defaults/hi.yml [new file with mode: 0644]
sonar-server/src/main/webapp/WEB-INF/config/locales/defaults/hr.yml [new file with mode: 0644]
sonar-server/src/main/webapp/WEB-INF/config/locales/defaults/hsb.yml [new file with mode: 0644]
sonar-server/src/main/webapp/WEB-INF/config/locales/defaults/hu.yml [changed mode: 0755->0644]
sonar-server/src/main/webapp/WEB-INF/config/locales/defaults/id.yml [changed mode: 0755->0644]
sonar-server/src/main/webapp/WEB-INF/config/locales/defaults/is.yml [new file with mode: 0644]
sonar-server/src/main/webapp/WEB-INF/config/locales/defaults/it.yml [changed mode: 0755->0644]
sonar-server/src/main/webapp/WEB-INF/config/locales/defaults/ja.yml [changed mode: 0755->0644]
sonar-server/src/main/webapp/WEB-INF/config/locales/defaults/ko.yml [changed mode: 0755->0644]
sonar-server/src/main/webapp/WEB-INF/config/locales/defaults/lo.yml [new file with mode: 0644]
sonar-server/src/main/webapp/WEB-INF/config/locales/defaults/lt.yml [changed mode: 0755->0644]
sonar-server/src/main/webapp/WEB-INF/config/locales/defaults/lv.yml [changed mode: 0755->0644]
sonar-server/src/main/webapp/WEB-INF/config/locales/defaults/mk.yml [changed mode: 0755->0644]
sonar-server/src/main/webapp/WEB-INF/config/locales/defaults/mn.yml [new file with mode: 0644]
sonar-server/src/main/webapp/WEB-INF/config/locales/defaults/nb.yml [new file with mode: 0644]
sonar-server/src/main/webapp/WEB-INF/config/locales/defaults/nl.rb [deleted file]
sonar-server/src/main/webapp/WEB-INF/config/locales/defaults/nl.yml [changed mode: 0755->0644]
sonar-server/src/main/webapp/WEB-INF/config/locales/defaults/nn.yml [new file with mode: 0644]
sonar-server/src/main/webapp/WEB-INF/config/locales/defaults/no-NB.yml [deleted file]
sonar-server/src/main/webapp/WEB-INF/config/locales/defaults/no-NN.yml [deleted file]
sonar-server/src/main/webapp/WEB-INF/config/locales/defaults/pl.yml [changed mode: 0755->0644]
sonar-server/src/main/webapp/WEB-INF/config/locales/defaults/pt-BR.yml [changed mode: 0755->0644]
sonar-server/src/main/webapp/WEB-INF/config/locales/defaults/pt-PT.yml [changed mode: 0755->0644]
sonar-server/src/main/webapp/WEB-INF/config/locales/defaults/rm.yml [new file with mode: 0644]
sonar-server/src/main/webapp/WEB-INF/config/locales/defaults/ro.yml [changed mode: 0755->0644]
sonar-server/src/main/webapp/WEB-INF/config/locales/defaults/ru.yml [changed mode: 0755->0644]
sonar-server/src/main/webapp/WEB-INF/config/locales/defaults/sk.yml [changed mode: 0755->0644]
sonar-server/src/main/webapp/WEB-INF/config/locales/defaults/sl.yml [new file with mode: 0644]
sonar-server/src/main/webapp/WEB-INF/config/locales/defaults/sr-Latn.yml [changed mode: 0755->0644]
sonar-server/src/main/webapp/WEB-INF/config/locales/defaults/sr.yml [changed mode: 0755->0644]
sonar-server/src/main/webapp/WEB-INF/config/locales/defaults/sv-SE.yml [changed mode: 0755->0644]
sonar-server/src/main/webapp/WEB-INF/config/locales/defaults/sw.yml [changed mode: 0755->0644]
sonar-server/src/main/webapp/WEB-INF/config/locales/defaults/th.rb [changed mode: 0755->0644]
sonar-server/src/main/webapp/WEB-INF/config/locales/defaults/tr.yml [changed mode: 0755->0644]
sonar-server/src/main/webapp/WEB-INF/config/locales/defaults/uk.yml [changed mode: 0755->0644]
sonar-server/src/main/webapp/WEB-INF/config/locales/defaults/vi.yml [changed mode: 0755->0644]
sonar-server/src/main/webapp/WEB-INF/config/locales/defaults/zh-CN.yml [changed mode: 0755->0644]
sonar-server/src/main/webapp/WEB-INF/config/locales/defaults/zh-TW.yml [changed mode: 0755->0644]

diff --git a/sonar-server/src/main/webapp/WEB-INF/config/locales/HOW_TO_UPGRADE_LOCALES.txt b/sonar-server/src/main/webapp/WEB-INF/config/locales/HOW_TO_UPGRADE_LOCALES.txt
new file mode 100644 (file)
index 0000000..e6a7149
--- /dev/null
@@ -0,0 +1,2 @@
+1. Clone rails-i18n from https://github.com/svenfuchs/rails-i18n
+2. Copy rails/locale/* to webapp/WEB-INF/config/locales/defaults
\ No newline at end of file
old mode 100755 (executable)
new mode 100644 (file)
index 71241ba..d8530b9
@@ -1,8 +1,9 @@
 # Arabic translations for Ruby on Rails 
 # by Rida Al Barazi (me@rida.me)
 # updated by Ahmed Hazem (nardgo@gmail.com)
+# Rails 3 edit by rbjarnason
 
-ar:
+"ar":
   date:
     formats:
       default: "%Y-%m-%d"
@@ -11,111 +12,175 @@ ar:
 
     day_names: [الأحد, الإثنين, الثلاثاء, الأربعاء, الخميس, الجمعة, السبت]
     abbr_day_names: [الأحد, الإثنين, الثلاثاء, الأربعاء, الخميس, الجمعة, السبت]
+
     month_names: [~, يناير, فبراير, مارس, ابريل, مايو, يونيو, يوليو, اغسطس, سبتمبر, اكتوبر, نوفمبر, ديسمبر]
     abbr_month_names: [~, يناير, فبراير, مارس, ابريل, مايو, يونيو, يوليو, اغسطس, سبتمبر, اكتوبر, نوفمبر, ديسمبر]
-    order: [ :day, :month, :year ]
-  
+    order:
+      - :day
+      - :month
+      - :year
+
   time:
     formats:
       default: "%a %b %d %H:%M:%S %Z %Y"
       short: "%d %b %H:%M"
       long: "%B %d, %Y %H:%M"
       only_second: "%S"
-      
-      datetime:
-        formats:
-          default: "%Y-%m-%dT%H:%M:%S%Z"
-          
     am: 'صباحا'
     pm: 'مساءا'
 
-  # Used in array.to_sentence.
   support:
     array:
       sentence_connector: "و"
+      words_connector: ", "
+      two_words_connector: " و "
+      last_word_connector: ", و "
       skip_last_comma: false
-      
+
+    select:
+      prompt: "الرجاء اختيار"
+
+  number:
+    format:
+      separator: "."
+      delimiter: ","
+      precision: 3
+      significant: false
+      strip_insignificant_zeros: false
+
+    currency:
+      format:
+        format: "%u%n"
+        unit: "$"
+        separator: "."
+        delimiter: ","
+        precision: 2
+        significant: false
+        strip_insignificant_zeros: false
+
+    percentage:
+      format:
+        delimiter: ""
+
+    precision:
+      format:
+        delimiter: ""
+
+    human:
+      format:
+        delimiter: ""
+        precision: 3
+        significant: true
+        strip_insignificant_zeros: true
+      storage_units:
+        format: "%n %u"
+        units:
+          byte:
+            one:   "Byte"
+            other: "Bytes"
+          kb: "KB"
+          mb: "MB"
+          gb: "GB"
+          tb: "TB"
+      decimal_units:
+        format: "%n %u"
+        units:
+          unit: ""
+          thousand: ألف
+          million: مليون
+          billion: مليار
+          trillion: تريليون
+          quadrillion: الكدريليون رقم
+
   datetime:
     distance_in_words:
       half_a_minute: 'نصف دقيقة'
       less_than_x_seconds:
         one: 'أقل من ثانية'
-        other: '{{count}} ثوان'
+        other: '%{count} ثوان'
       x_seconds:
         one: 'ثانية واحدة'
-        other: '{{count}} ثوان'
+        other: '%{count} ثوان'
       less_than_x_minutes:
         one: 'أقل من دقيقة'
-        other: '{{count}} دقائق'
+        other: '%{count} دقائق'
       x_minutes:
         one: 'دقيقة واحدة'
-        other: '{{count}} دقائق'
+        other: '%{count} دقائق'
       about_x_hours:
         one: 'حوالي ساعة واحدة'
-        other: '{{count}} ساعات'
+        other: '%{count} ساعات'
       x_days:
         one: 'يوم واحد'
-        other: '{{count}} أيام'
+        other: '%{count} أيام'
       about_x_months:
         one: 'حوالي شهر واحد'
-        other: '{{count}} أشهر'
+        other: '%{count} أشهر'
       x_months:
         one: 'شهر واحد'
-        other: '{{count}} أشهر'
+        other: '%{count} أشهر'
       about_x_years:
         one: 'حوالي سنة'
-        other: '{{count}} سنوات'
+        other: '%{count} سنوات'
       over_x_years:
         one: 'أكثر من سنة'
-        other: '{{count}} سنوات'
-      
-  number:
-    format:
-      separator: '.'
-      delimiter: ','
-      precision: 3
-    human:
-      format:
-        delimiter: ','
-        precision: 1
-    currency:
-      format:
-        separator: '.'
-        delimiter: ','
-        precision: 2
-        format: '%u %n'
-        unit: '$'
-    percentage:
-      format:
-        delimiter: ','
-    precision:
-      format:
-        delimiter: ','
-        
+        other: '%{count} سنوات'
+      almost_x_years:
+        one:   "تقريبا سنة واحدة"
+        other: "ما يقرب من %{count} سنة"
+    prompts:
+      year:   "السنة"
+      month:  "الشهر"
+      day:    "اليوم"
+      hour:   "ساعة"
+      minute: "دقيقة"
+      second: "ثانية"
+
+  helpers:
+    select:
+      prompt: "الرجاء اختيار"
+
+    submit:
+      create: "%{model} إنشاء"
+      update: "%{model} نموذج"
+      submit: "%{model} حفظ"
+
+  errors:
+    format: "%{attribute} %{message}"
+
+    messages: &errors_messages
+      inclusion: "ليس خيارا مقبولا"
+      exclusion: "محجوز"
+      invalid: "غير معرف أو محدد"
+      confirmation: "لا تتوافق مع التأكيد"
+      accepted: "يجب أن تقبل"
+      empty: "فارغ، يرجى ملء الحقل"
+      blank: "فارغ، يرجى ملء الحقل"
+      too_long: "أطول من اللازم (الحد الأقصى هو %{count})"
+      too_short: "أقصر من اللازم (الحد الأدنى هو %{count})"
+      wrong_length: "بطول غير مناسب (يجب أن يكون %{count})"
+      not_an_integer: "يجب أن يكون صحيحا"
+      not_a_number: "ليس رقما"
+      greater_than: "يجب أن يكون أكبر من %{count}"
+      greater_than_or_equal_to: "يجب أن يكون أكبر من أو يساوي %{count}"
+      equal_to: "يجب أن يساوي %{count}"
+      less_than: "يجب أن يكون أصغر من %{count}"
+      less_than_or_equal_to: "يجب أن يكون أصغر من أو يساوي %{count}"
+      odd: "يجب أن يكون فردي"
+      even: "يجب أن يكون زوجي"
+
   activerecord:
     errors:
       template:
         header:
-          one: "ليس بالامكان حفظ {{model}}: خطأ واحد."
-          other: "ليس بالامكان حفظ {{model}}: {{count}} أخطاء."
+          one: "ليس بالامكان حفظ %{model}: خطأ واحد."
+          other: "ليس بالامكان حفظ %{model}: %{count} أخطاء."
         body: "يرجى التحقق من الحقول التالية:"
+
       messages:
-        inclusion: "ليس خيارا مقبولا"
-        exclusion: "محجوز"
-        invalid: "غير معرف أو محدد"
-        confirmation: "لا تتوافق مع التأكيد"
-        accepted: "يجب أن تقبل"
-        empty: "فارغ، يرجى ملء الحقل"
-        blank: "فارغ، يرجى ملء الحقل"
-        too_long: "أطول من اللازم (الحد الأقصى هو {{count}})"
-        too_short: "أقصر من اللازم (الحد الأدنى هو {{count}})"
-        wrong_length: "بطول غير مناسب (يجب أن يكون {{count}})"
         taken: "غير متوفر (مستخدم)"
-        not_a_number: "ليس رقما"
-        greater_than: "يجب أن يكون أكبر من {{count}}"
-        greater_than_or_equal_to: "يجب أن يكون أكبر من أو يساوي {{count}}"
-        equal_to: "يجب أن يساوي {{count}}"
-        less_than: "يجب أن يكون أصغر من {{count}}"
-        less_than_or_equal_to: "يجب أن يكون أصغر من أو يساوي {{count}}"
-        odd: "يجب أن يكون فردي"
-        even: "يجب أن يكون زوجي"
+        record_invalid: "%{errors} فشل التحقق من صحة"
+        <<: *errors_messages
+
+      full_messages:
+        format: "%{attribute}%{message}"
old mode 100755 (executable)
new mode 100644 (file)
index 6506e96..d2e674a
@@ -1,37 +1,46 @@
-# Bulgarian localization for Ruby on Rails 2.2+
-# by Samson Behar <master.webmaster.master@gmail.com>
+# Full Bulgarian localization for Ruby on Rails 3+
 #
-# Минимална локализация на приложения за поддръжка на български език.
+# extracted from www.termo.bg
+# supported by Samson Behar <master.webmaster.master@gmail.com>
+# supported by Yavor Ivanov, http://github.com/YavorIvanov
+# See http://github.com/svenfuchs/rails-i18n/tree/master/rails%2Flocale for starting points.
+
 bg:
+  
+  # ===== Rails Specific ===========================================================================
+  
   date:
     formats:
       default: "%d.%m.%Y"
       short: "%d %b"
       long: "%d %B %Y"
+      
     day_names: [неделя, понеделник, вторник, сряда, четвъртък, петък, събота]
     standalone_day_names: [Неделя, Понеделник, Вторник, Сряда, Четвъртък, Петък, Събота]
-    abbr_day_names: [Нд, Пн, Вт, Ср, Чт, Пт, Сб]
-    month_names: [Януари, Февруари, Март, Април, Май, Юни, Юли, Август, Септември, Октомври, Ноември, Декември]
-    abbr_month_names: [яну., фев., март, апр., май, юни, юли, авг., сеп., окт., ноем., дек.]
-    order: [ :day, :month, :year ]
+    abbr_day_names: [Нед, Пон, Вт, Ср, Чет, Пет, Съб]
+    
+    # should start with nil cause there is no 0-th month
+    month_names: [~, Януари, Февруари, Март, Април, Май, Юни, Юли, Август, Септември, Октомври, Ноември, Декември]
+    abbr_month_names: [~, яну., фев., март, апр., май, юни, юли, авг., сеп., окт., ноем., дек.]
+
+    order:
+      - :day
+      - :month
+      - :year
+
   time:
     formats:
       default: "%a, %d %b %Y, %H:%M:%S %z"
       short: "%d %b, %H:%M"
       long: "%d %B %Y, %H:%M"
+      
     am: "преди обяд"
     pm: "следобед"
+    
   number:
     format:
       separator: "."
-      delimiter: " "
+      delimiter: ""
       precision: 3
       
     currency:
@@ -39,7 +48,7 @@ bg:
         format: "%n %u"
         unit: "лв."
         separator: "."
-        delimiter: " "
+        delimiter: ""
         precision: 2
         
     percentage:
@@ -54,97 +63,109 @@ bg:
       format:
         delimiter: ""
         precision: 1
-      # Rails 2.2
-      # storage_units: [байт, КБ, МБ, ГБ, ТБ]
-      # Rails 2.3
       storage_units:
         # Storage units output formatting.
         # %u is the storage unit, %n is the number (default: 2 MB)
         format: "%n %u"
         units:
           byte:
-            one: "байт"
-            few: "байта"
-            many: "байт"
-            other: "байта"
+            one:   "Байт"
+            other: "Байта"
           kb: "КБ"
           mb: "МБ"
           gb: "ГБ"
           tb: "ТБ"
+          
   datetime:
     distance_in_words:
-      half_a_minute: "по-малко от минута"
+      half_a_minute: "половин минута"
       less_than_x_seconds:
-        one: "по-малко от {{count}} секунди"
-        few: "по-малко от {{count}} секунди"
-        many: "по-малко от {{count}} секунди"
-        other: "по-малко от {{count}} секунди"
+        one: "по-малко от %{count} секунда"
+        few: "по-малко от %{count} секунди"
+        many: "по-малко от %{count} секунди"
+        other: "по-малко от %{count} секунди"
       x_seconds:
-        one: "{{count}} секунда"
-        few: "{{count}} секунди"
-        many: "{{count}} секунди"
-        other: "{{count}} секунди"
+        one: "%{count} секунда"
+        few: "%{count} секунди"
+        many: "%{count} секунди"
+        other: "%{count} секунди"
       less_than_x_minutes:
-        one: "по-малко от {{count}} минута"
-        few: "по-малко от {{count}} минути"
-        many: "по-малко от {{count}} минути"
-        other: "по-малко от {{count}} минути"
+        one: "по-малко от %{count} минута"
+        few: "по-малко от %{count} минути"
+        many: "по-малко от %{count} минути"
+        other: "по-малко от %{count} минути"
       x_minutes:
-        one: "{{count}} минута"
-        few: "{{count}} минути"
-        many: "{{count}} минути"
-        other: "{{count}} минути"
+        one: "%{count} минута"
+        few: "%{count} минути"
+        many: "%{count} минути"
+        other: "%{count} минути"
       about_x_hours:
-        one: "около {{count}} час"
-        few: "около {{count}} часа"
-        many: "около {{count}} часа"
-        other: "около {{count}} часа"
+        one: "около %{count} час"
+        few: "около %{count} часа"
+        many: "около %{count} часа"
+        other: "около %{count} часа"
       x_days:
-        one: "{{count}} ден"
-        few: "{{count}} дни"
-        many: "{{count}} дни"
-        other: "{{count}} дена"
+        one: "%{count} ден"
+        few: "%{count} дни"
+        many: "%{count} дни"
+        other: "%{count} дни"
       about_x_months:
-        one: "около {{count}} месеца"
-        few: "около {{count}} месеца"
-        many: "около {{count}} месеца"
-        other: "около {{count}} месеца"
+        one: "около %{count} месеца"
+        few: "около %{count} месеца"
+        many: "около %{count} месеца"
+        other: "около %{count} месеца"
       x_months:
-        one: "{{count}} месец"
-        few: "{{count}} месеца"
-        many: "{{count}} месеци"
-        other: "{{count}} месеца"
+        one: "%{count} месец"
+        few: "%{count} месеца"
+        many: "%{count} месеци"
+        other: "%{count} месеца"
+      almost_x_years:
+        one: "почти %{count} година"
+        few: "почти %{count} години"
+        many: "почти %{count} години"
+        other: "почти %{count} години"
       about_x_years:
-        one: "около {{count}} година"
-        few: "около {{count}} години"
-        many: "около {{count}} години"
-        other: "около {{count}} години"
+        one: "около %{count} година"
+        few: "около %{count} години"
+        many: "около %{count} години"
+        other: "около %{count} години"
       over_x_years:
-        one: "над {{count}} година"
-        few: "над {{count}} години"
-        many: "над {{count}} години"
-        other: "над {{count}} години"
+        one: "над %{count} година"
+        few: "над %{count} години"
+        many: "над %{count} години"
+        other: "над %{count} години"
     prompts:
       year: "Година"
       month: "Месец"
       day: "Ден"
-      hour: "Часа"
-      minute: "Минути"
-      second: "Секунди"
+      hour: "Час"
+      minute: "Минута"
+      second: "Секунда"
+      
+  activemodel:
+    errors:
+      template:
+        header:
+          one:    "%{count} грешка спряха %{model} да бъде запазен"
+          other:  "%{count} грешки спряха %{model} да бъде запазен"
+        # The variable :count is also available
+        body: "Имаше проблем с следните полета:"
+          
+  support:
+    select:
+      # default value for :prompt => true in FormOptionsHelper
+      prompt: "Моля отбележете"
+      
   activerecord:
     errors:
       template:
         header:
-          one: "{{model}}: записа неуспешен заради {{count}} грешка"
-          few: "{{model}}: записа неуспешен заради {{count}} грешки"
-          many: "{{model}}: записа неуспешен заради {{count}} грешки"
-          other: "{{model}}: записа неуспешен заради {{count}} грешки"
+          one: "%{model}: записа е неуспешен заради %{count} грешка"
+          few: "%{model}: записа е неуспешен заради %{count} грешки"
+          many: "%{model}: записа е неуспешен заради %{count} грешки"
+          other: "%{model}: записа е неуспешен заради %{count} грешки"
         body: "Възникнаха проблеми при следните полета:"
+        
       messages:
         inclusion: "съдържа непредвидена стойност"
         exclusion: "съдържа предварително зададена стойност"
@@ -154,37 +175,101 @@ bg:
         empty: "не може да е празно"
         blank: "не може да е без стойност"
         too_long:
-          one: "е с прекалена дължина (не може да е повече от {{count}} символ)"
-          few: "е с прекалена дължина (не може да е повече от {{count}} символа)"
-          many: "е с прекалена дължина (не може да е повече от {{count}} символи)"
-          other: "е с прекалена дължина (не може да е повече от {{count}} символа)"
+          one: "е с прекаленo дълго (не може да е повече от %{count} символ)"
+          few: "е с прекаленo дълго (не може да е повече от %{count} символа)"
+          many: "е с прекаленo дълго (не може да е повече от %{count} символи)"
+          other: "е с прекаленo дълго (не може да е повече от %{count} символа)"
         too_short:
-          one: "е Ñ\81 Ð½ÐµÐ´Ð¾Ñ\81Ñ\82аÑ\82Ñ\8aÑ\87на Ð´Ñ\8aлжина (не Ð¼Ð¾Ð¶ÐµÑ\82 Ð±Ñ\8bÑ\82Ñ\8c Ð¼ÐµÐ½Ñ\8cÑ\88е {{count}} символ)"
-          few: "е Ñ\81 Ð½ÐµÐ´Ð¾Ñ\81Ñ\82аÑ\82Ñ\8aÑ\87на Ð´Ñ\8aлжина (не Ð¼Ð¾Ð¶ÐµÑ\82 Ð±Ñ\8bÑ\82Ñ\8c Ð¼ÐµÐ½Ñ\8cÑ\88е {{count}} символа)"
-          many: "е Ñ\81 Ð½ÐµÐ´Ð¾Ñ\81Ñ\82аÑ\82Ñ\8aÑ\87на Ð´Ñ\8aлжина (не Ð¼Ð¾Ð¶ÐµÑ\82 Ð±Ñ\8bÑ\82Ñ\8c Ð¼ÐµÐ½Ñ\8cÑ\88е {{count}} символи)"
-          other: "е Ñ\81 Ð½ÐµÐ´Ð¾Ñ\81Ñ\82аÑ\82Ñ\8aÑ\87на Ð´Ñ\8aлжина (не Ð¼Ð¾Ð¶ÐµÑ\82 Ð±Ñ\8bÑ\82Ñ\8c Ð¼ÐµÐ½Ñ\8cÑ\88е {{count}} символа)"
+          one: "е Ñ\81 Ð¿Ñ\80екалено ÐºÑ\8aÑ\81о (не Ð¼Ð¾Ð¶Ðµ Ð´Ð° Ð±Ñ\8aде Ð¿Ð¾-малко Ð¾Ñ\82 %{count} символ)"
+          few: "е Ñ\81 Ð¿Ñ\80екалено ÐºÑ\8aÑ\81о (не Ð¼Ð¾Ð¶Ðµ Ð´Ð° Ð±Ñ\8aде Ð¿Ð¾-малко Ð¾Ñ\82 %{count} символа)"
+          many: "е Ñ\81 Ð¿Ñ\80екалено ÐºÑ\8aÑ\81о (не Ð¼Ð¾Ð¶Ðµ Ð´Ð° Ð±Ñ\8aде Ð¿Ð¾-малко Ð¾Ñ\82 %{count} символи)"
+          other: "е Ñ\81 Ð¿Ñ\80екалено ÐºÑ\8aÑ\81о (не Ð¼Ð¾Ð¶Ðµ Ð´Ð° Ð±Ñ\8aде Ð¿Ð¾-малко Ð¾Ñ\82 %{count} символа)"
         wrong_length:
-          one: "е с грешна дължина (трябва да е с дължина, равна на {{count}} символ)"
-          few: "е с грешна дължина (трябва да е с дължина, равна на {{count}} символа)"
-          many: "е с грешна дължина (трябва да е с дължина, равна на {{count}} символа)"
-          other: "е с грешна дължина (трябва да е с дължина,  равна на {{count}} символа)"
+          one: "е с грешна дължина (трябва да е с дължина, равна на %{count} символа)"
+          few: "е с грешна дължина (трябва да е с дължина, равна на %{count} символа)"
+          many: "е с грешна дължина (трябва да е с дължина, равна на %{count} символа)"
+          other: "е с грешна дължина (трябва да е с дължина,  равна на %{count} символа)"
         taken: "вече съществува"
         not_a_number: "не е число"
-        greater_than: "може да е със стойност, по-голяма от {{count}}"
-        greater_than_or_equal_to: "може да е със стойност, по-голяма или равна на {{count}}"
-        equal_to: "може да е единствено със стойност, равна на {{count}}"
-        less_than: "може да е със стойност, по-малка от {{count}}"
-        less_than_or_equal_to: "може да е със стойност, по-голяма или равна на {{count}}"
+        greater_than: "може да е със стойност, по-голяма от %{count}"
+        greater_than_or_equal_to: "може да е със стойност, по-голяма или равна на %{count}"
+        equal_to: "може да е единствено със стойност, равна на %{count}"
+        less_than: "може да е със стойност, по-малка от %{count}"
+        less_than_or_equal_to: "може да е със стойност, по-голяма или равна на %{count}"
         odd: "може да е единствено четно"
         even: "може да е единствено нечетно"
-  support:
-    array:
-      # Rails 2.2
-      sentence_connector: "и"
-      skip_last_comma: true
-      
-      # Rails 2.3
-      words_connector: ", "
-      two_words_connector: " и "
-      last_word_connector: " и "
+        record_invalid: "имаше грешки: %{errors}"
+  
+  # ===== I18n Specific ============================================================================
+  
+  i18n:
+    transliterate:
+      rule:
+        а: "a"
+        А: "A"
+        б: "b"
+        Б: "B"
+        в: "v"
+        В: "V"
+        г: "g"
+        Г: "G"
+        д: "d"
+        Д: "D"
+        е: "e"
+        Е: "E"
+        ж: "zh"
+        Ж: "Zh"
+        з: "z"
+        З: "Z"
+        и: "i"
+        И: "I"
+        й: "y"
+        Й: "Y"
+        к: "k"
+        К: "K"
+        л: "l"
+        Л: "L"
+        м: "m"
+        М: "M"
+        н: "n"
+        Н: "N"
+        о: "o"
+        О: "O"
+        п: "p"
+        П: "P"
+        р: "r"
+        Р: "R"
+        с: "s"
+        С: "S"
+        т: "t"
+        Т: "T"
+        у: "u"
+        У: "U"
+        ф: "f"
+        Ф: "F"
+        х: "h"
+        Х: "H"
+        ц: "ts"
+        Ц: "Ts"
+        ч: "ch"
+        Ч: "Ch"
+        ш: "sh"
+        Ш: "Sh"
+        щ: "sht"
+        Щ: "Sht"
+        ъ: "a"
+        Ъ: "A"
+        ь: "y"
+        Ь: "Y"
+        ю: "yu"
+        Ю: "Yu"
+        я: "ya"
+        Я: "Ya"
+        
+  # ===== Paginate Specific ========================================================================
+  
+  pagination:
+    previous: "&laquo; предишна"
+    next: "следваща &raquo;"
+    
+  # ===== Application Specific =====================================================================
old mode 100755 (executable)
new mode 100644 (file)
index d624294..0c4230f
@@ -67,34 +67,34 @@ bn-IN:
       half_a_minute: "অার্ধেক মিনিট" 
       less_than_x_seconds:
         one:  "১ সেকেন্ডর কম " 
-        other: "{{count}} সেকেন্ডের কম"
+        other: "%{count} সেকেন্ডের কম"
       x_seconds:
         one:  "১ সেকেন্ড" 
-        other: "{{count}} সেকেন্ড" 
+        other: "%{count} সেকেন্ড" 
       less_than_x_minutes:
         one:  "১ মিনিটের কম" 
-        other: "{{count}} মিনিটের কম" 
+        other: "%{count} মিনিটের কম" 
       x_minutes:
         one:  "১ মিনিট" 
-        other: "{{count}} মিনিট" 
+        other: "%{count} মিনিট" 
       about_x_hours:
         one:  "প্রায় ১ ঘন্টা" 
-        other: "প্রায় {{count}} ঘন্টা" 
+        other: "প্রায় %{count} ঘন্টা" 
       x_days:
         one:  "১ দিন" 
-        other: "{{count}} দিন" 
+        other: "%{count} দিন" 
       about_x_months:
         one:  "প্রায় ১ মাস" 
-        other: "প্রায় {{count}} মাস" 
+        other: "প্রায় %{count} মাস" 
       x_months:
         one:  "১ মাস" 
-        other: "{{count}} মাস" 
+        other: "%{count} মাস" 
       about_x_years:
         one:  "প্রায় ১ বছর" 
-        other: "প্রায় {{count}} বছর" 
+        other: "প্রায় %{count} বছর" 
       over_x_years:
         one:  "১ বছরের বেশি" 
-        other: "{{count}} বছরের বেশি"
+        other: "%{count} বছরের বেশি"
     prompts:
       year:   "বছর"
       month:  "মাস"
@@ -107,8 +107,8 @@ bn-IN:
     errors:
       template:
         header:
-          one:   "১ টি ত্রুটির কারনে {{model}} সংরক্ষন করা সম্ভব হয়নি" 
-          other:  "{{count}} টি ত্রুটির কারনে {{model}} সংরক্ষন করা সম্ভব হয়নি" 
+          one:   "১ টি ত্রুটির কারনে %{model} সংরক্ষন করা সম্ভব হয়নি" 
+          other:  "%{count} টি ত্রুটির কারনে %{model} সংরক্ষন করা সম্ভব হয়নি" 
         # The variable :count is also available
         body: "এই ফিল্ডগুলোতে কিছু সমস্যা দেখা দিয়েছে:" 
 
@@ -122,16 +122,16 @@ bn-IN:
         accepted: "গ্রাহ্য করতে হবে"
         empty: "খালি রাখা যাবে না"
         blank: "ফাঁকা রাখা যাবে না"
-        too_long: "খুব বড়ো (সর্বোচ্চ {{count}} অক্ষর)"
-        too_short: "খুব ছোটো (সর্বনিম্ন {{count}} অক্ষর)"
-        wrong_length: "দৈর্ঘ্যটি সঠিক নয় ({{count}} অক্ষর হতে হবে)"
+        too_long: "খুব বড়ো (সর্বোচ্চ %{count} অক্ষর)"
+        too_short: "খুব ছোটো (সর্বনিম্ন %{count} অক্ষর)"
+        wrong_length: "দৈর্ঘ্যটি সঠিক নয় (%{count} অক্ষর হতে হবে)"
         taken: "অাগেই নিয়ে নেওয়া হয়েছে"
         not_a_number: "নম্বর নয়"
-        greater_than: "{{count}} থেকে বড়ো হতে হবে"
-        greater_than_or_equal_to: "{{count}} থেকে বড়ো অথবা তার সমান হতে হবে"
-        equal_to: "{{count}} এর সঙ্গে সমান হতে হবে"
-        less_than: "{{count}} থেকে ছোটো হতে হবে"
-        less_than_or_equal_to: "{{count}} থেকে ছোটো অথবা তার সমান হতে হবে"
+        greater_than: "%{count} থেকে বড়ো হতে হবে"
+        greater_than_or_equal_to: "%{count} থেকে বড়ো অথবা তার সমান হতে হবে"
+        equal_to: "%{count} এর সঙ্গে সমান হতে হবে"
+        less_than: "%{count} থেকে ছোটো হতে হবে"
+        less_than_or_equal_to: "%{count} থেকে ছোটো অথবা তার সমান হতে হবে"
         odd: "বেজোড় হতে হবে"
         even: "জোড় হতে হবে"
 
@@ -159,7 +159,10 @@ bn-IN:
     month_names: [~, জানুয়ারি, ফেব্রুয়ারি, মার্চ, এপ্রিল, মে, জুন, জুলাই, অগাস্ট, সেপ্টেমবার, অক্টোবার, নভেম্বার, ডিসেম্বার]
     abbr_month_names: [~, জানুয়ারি, ফেব্রুয়ারি, মার্চ, এপ্রিল, মে, জুন, জুলাই, অগাস্ট, সেপ্টেমবার, অক্টোবার, নভেম্বার, ডিসেম্বার]
     # Used in date_select and datime_select.
-    order: [ :year, :month, :day ]
+    order:
+      - :year
+      - :month
+      - :day
 
   time:
     formats:
old mode 100755 (executable)
new mode 100644 (file)
index f33df6f..b2c0305
     abbr_day_names: [ned, pon, uto, sri, čet, pet, sub]
     month_names: [~, Januar, Februar, Mart, April, Maj, Јun, Јul, Аvgust, Septembar, Оktobar, Novembar, Decembar]
     abbr_month_names: [~, Jan, Feb, Mar, Apr, Мaj, Jun, Јul, Avg, Sep, Okt, Nov, Dec]
-    order: [ :day, :month, :year ]
+    order:
+      - :day
+      - :month
+      - :year
 
   time:
     formats:
       less_than_x_seconds:
         zero: 'manje od 1 sekunde'
         one: 'manje od 1 sekunde'
-        few: 'manje od {{count}} sekunde'
-        other: 'manje od {{count}} sekundi'
+        few: 'manje od %{count} sekunde'
+        other: 'manje od %{count} sekundi'
       x_seconds:
         one: '1 sekunda'
-        few: '{{count}} sekunde'
-        other: '{{count}} sekundi'
+        few: '%{count} sekunde'
+        other: '%{count} sekundi'
       less_than_x_minutes:
         zero: 'manje оd minuta'
         one: 'manje od 1 minut'
-        other: 'manje od {{count}} minuta'
+        other: 'manje od %{count} minuta'
       x_minutes:
         one: '1 minut'
-        other: '{{count}} minuta'
+        other: '%{count} minuta'
       about_x_hours:
         one: 'oko 1 sat'
-        few: 'око {{count}} sata'
-        other: 'око {{count}} sati'
+        few: 'око %{count} sata'
+        other: 'око %{count} sati'
       x_days:
         one: '1 dan'
-        other: '{{count}} dana'
+        other: '%{count} dana'
       about_x_months:
         one: 'око 1 mjesec'
-        few: 'око {{count}} mjeseca'
-        other: 'око {{count}} mjeseci'
+        few: 'око %{count} mjeseca'
+        other: 'око %{count} mjeseci'
       x_months:
         one: '1 mjesec'
-        few: '{{count}} mjeseca'
-        other: '{{count}} mjeseci'
+        few: '%{count} mjeseca'
+        other: '%{count} mjeseci'
       about_x_years:
         one: 'око 1 godine'
-        other: 'око {{count}} godine'
+        other: 'око %{count} godine'
       over_x_years:
         one: 'preko 1 godine'
-        other: 'preko {{count}} godine'
+        other: 'preko %{count} godine'
 
   number:
     format:
@@ -88,9 +91,9 @@
     errors:
       template:
         header:
-          one: 'nisam uspio sačuvati {{model}}: 1 greška.'
-          few: 'nisam uspio sačuvati {{model}}: {{count}} greške.'
-          other: 'nisam uspio sačuvati {{model}}: {{count}} greški.'
+          one: 'nisam uspio sačuvati %{model}: 1 greška.'
+          few: 'nisam uspio sačuvati %{model}: %{count} greške.'
+          other: 'nisam uspio sačuvati %{model}: %{count} greški.'
         body: "Molim Vas da provjerite slijedeća polja:"
       messages:
         inclusion: "nije u listi"
         accepted: "mora biti prihvaćeno"
         empty: "mora biti dat"
         blank: "mora biti dat"
-        too_long: "je predugačak (ne više od {{count}} karaktera)"
-        too_short: "је prekratak (ne manje od {{count}} karaktera)"
-        wrong_length: "nije odgovarajuće dužine (mora biti {{count}} karaktera)"
+        too_long: "je predugačak (ne više od %{count} karaktera)"
+        too_short: "је prekratak (ne manje od %{count} karaktera)"
+        wrong_length: "nije odgovarajuće dužine (mora biti %{count} karaktera)"
         taken: "је zauzeto"
         not_a_number: "nije broj"
-        greater_than: "mora biti veće od {{count}}"
-        greater_than_or_equal_to: "mora biti veće ili jednako {{count}}"
-        equal_to: "mora biti jednako {{count}}"
-        less_than: "mora biti manje od {{count}}"
-        less_than_or_equal_to: "mora biti manje ili jednako {{count}}"
+        greater_than: "mora biti veće od %{count}"
+        greater_than_or_equal_to: "mora biti veće ili jednako %{count}"
+        equal_to: "mora biti jednako %{count}"
+        less_than: "mora biti manje od %{count}"
+        less_than_or_equal_to: "mora biti manje ili jednako %{count}"
         odd: "mora biti neparno"
         even: "mora biti parno"
diff --git a/sonar-server/src/main/webapp/WEB-INF/config/locales/defaults/ca-ES.yml b/sonar-server/src/main/webapp/WEB-INF/config/locales/defaults/ca-ES.yml
deleted file mode 100755 (executable)
index b495689..0000000
+++ /dev/null
@@ -1,155 +0,0 @@
-# Catalan translations for Rails
-# by Emili Parreño (emili@eparreno.com - www.eparreno.com)
-ca:
-  number:
-    # Used in number_with_delimiter()
-    # These are also the defaults for 'currency', 'percentage', 'precision', and 'human'
-    format:
-      # Sets the separator between the units, for more precision (e.g. 1.0 / 2.0 == 0.5)
-      separator: "," 
-      # Delimets thousands (e.g. 1,000,000 is a million) (always in groups of three)
-      delimiter: "." 
-      # Number of decimals, behind the separator (1 with a precision of 2 gives: 1.00)
-      precision: 3
-    # Used in number_to_currency()
-    currency:
-      format:
-        # Where is the currency sign? %u is the currency unit, %n the number (default: $5.00)
-        format: "%n %u" 
-        unit: "€" 
-        # These three are to override number.format and are optional
-        separator: "," 
-        delimiter: "." 
-        precision: 2
-    # Used in number_to_percentage()
-    percentage:
-      format:
-        # These three are to override number.format and are optional
-        # separator: 
-        delimiter: "" 
-        # precision: 
-    # Used in number_to_precision()
-    precision:
-      format:
-        # These three are to override number.format and are optional
-        # separator:
-        delimiter: "" 
-        # precision:
-    # Used in number_to_human_size()
-    human:
-      format:
-        # These three are to override number.format and are optional
-        # separator: 
-        delimiter: "" 
-        precision: 1
-  # Used in distance_of_time_in_words(), distance_of_time_in_words_to_now(), time_ago_in_words()
-  datetime:
-    distance_in_words:
-      half_a_minute: "mig minut" 
-      less_than_x_seconds:
-        one:  "menys d'1 segon" 
-        other: "menys de {{count}} segons"
-      x_seconds:
-        one:  "1 segon" 
-        other: "{{count}} segons" 
-      less_than_x_minutes:
-        one:  "menys d'1 minut" 
-        other: "menys de {{count}} minuts" 
-      x_minutes:
-        one:  "1 minut" 
-        other: "{{count}} minuts" 
-      about_x_hours:
-        one:  "aproximadament 1 hora" 
-        other: "aproximadament {{count}} hores" 
-      x_days:
-        one:  "1 dia" 
-        other: "{{count}} dies" 
-      about_x_months:
-        one:  "aproximadament 1 mes" 
-        other: "aproximadament {{count}} mesos" 
-      x_months:
-        one:  "1 mes" 
-        other: "{{count}} mesos" 
-      about_x_years:
-        one:  "aproximadament 1 any" 
-        other: "aproximadament {{count}} anys" 
-      over_x_years:
-        one:  "més d'1 any" 
-        other: "més de {{count}} anys" 
-  activerecord:
-    errors:
-      template:
-        header:
-          one:   "No s'ha pogut desar aquest/a {{model}} perquè hi ha 1 error" 
-          other:  "No s'ha pogut desar aquest/a {{model}} perquè hi ha hagut {{count}} errors" 
-        # The variable :count is also available
-        body: "Hi ha hagut problemes amb els següents camps:" 
-      # The values :model, :attribute and :value are always available for interpolation
-      # The value :count is available when applicable. Can be used for pluralization.
-      messages:
-        inclusion: "no està incluós a la llista" 
-        exclusion: "està reservat" 
-        invalid: "no és vàlid" 
-        confirmation: "no coincideix"
-        accepted: "ha de ser acceptat"
-        empty: "no pot estar buit"
-        blank: "no pot estar en blanc"
-        too_long: "és massa llarg ({{count}} caràcters màxim)"
-        too_short: "és massa curt ({{count}} caràcters mínim)"
-        wrong_length: "no té la longitud correcte ({{count}} caràcters exactament)"
-        taken: "no està disponible"
-        not_a_number: "no és un número"
-        greater_than: "ha de ser més gran que {{count}}"
-        greater_than_or_equal_to: "ha de ser més gran o igual a {{count}}"
-        equal_to: "ha de ser igual a {{count}}"
-        less_than: "ha de ser menor que {{count}}"
-        less_than_or_equal_to: "ha de ser menor o igual a {{count}}"
-        odd: "ha de ser imparell"
-        even: "ha de ser parell"
-        # Append your own errors here or at the model/attributes scope.
-      models:
-        # Overrides default messages
-      attributes:
-        # Overrides model and default messages.
-  date:
-    formats:
-      # Use the strftime parameters for formats.
-      # When no format has been given, it uses default.
-      # You can provide other formats here if you like!
-      default: "%Y-%m-%d" 
-      short: "%d de %b" 
-      long: "%d de %B de %Y" 
-    day_names: [diumenge, dilluns, dimarts, dimecres, dijous, divendres, dissabte]
-    abbr_day_names: [dg, dl, dm, dc, dj, dv, ds]
-    # Don't forget the nil at the beginning; there's no such thing as a 0th month
-    month_names: [~, gener, febrer, març, abril, maig, juny, juliol, agost, setembre, octubre, novembre, desembre]
-    abbr_month_names: [~, Gen, Feb, Mar, Abr, Mai, Jun, Jul, Ago, Set, Oct, Nov, Des]
-    # Used in date_select and datime_select.
-    order: [ :day, :month, :year ]
-  time:
-    formats:
-      default: "%A, %d de %B de %Y %H:%M:%S %z"
-      short: "%d de %b %H:%M" 
-      long: "%d de %B de %Y %H:%M" 
-    am: "am" 
-    pm: "pm" 
-# Used in array.to_sentence.
-  support:
-    array:
-      sentence_connector: "i"
\ No newline at end of file
diff --git a/sonar-server/src/main/webapp/WEB-INF/config/locales/defaults/ca.yml b/sonar-server/src/main/webapp/WEB-INF/config/locales/defaults/ca.yml
new file mode 100644 (file)
index 0000000..dc5d236
--- /dev/null
@@ -0,0 +1,170 @@
+# Catalan translations for Rails
+# by Emili Parreño (emili@eparreno.com - www.eparreno.com)
+ca:
+  number:
+    # Used in number_with_delimiter()
+    # These are also the defaults for 'currency', 'percentage', 'precision', and 'human'
+    format:
+      # Sets the separator between the units, for more precision (e.g. 1.0 / 2.0 == 0.5)
+      separator: "," 
+      # Delimets thousands (e.g. 1,000,000 is a million) (always in groups of three)
+      delimiter: "." 
+      # Number of decimals, behind the separator (1 with a precision of 2 gives: 1.00)
+      precision: 3
+    # Used in number_to_currency()
+    currency:
+      format:
+        # Where is the currency sign? %u is the currency unit, %n the number (default: $5.00)
+        format: "%n %u" 
+        unit: "€" 
+        # These three are to override number.format and are optional
+        separator: "," 
+        delimiter: "." 
+        precision: 2
+    # Used in number_to_percentage()
+    percentage:
+      format:
+        # These three are to override number.format and are optional
+        # separator: 
+        delimiter: "" 
+        # precision: 
+    # Used in number_to_precision()
+    precision:
+      format:
+        # These three are to override number.format and are optional
+        # separator:
+        delimiter: "" 
+        # precision:
+    # Used in number_to_human_size()
+    human:
+      format:
+        # These three are to override number.format and are optional
+        # separator: 
+        delimiter: "" 
+        precision: 1
+      storage_units:
+        # Storage units output formatting.
+        # %u is the storage unit, %n is the number (default: 2 MB)
+        format: "%n %u"
+        units:
+          byte:
+            one:   "Byte"
+            other: "Bytes"
+          kb: "KB"
+          mb: "MB"
+          gb: "GB"
+          tb: "TB"
+  # Used in distance_of_time_in_words(), distance_of_time_in_words_to_now(), time_ago_in_words()
+  datetime:
+    distance_in_words:
+      half_a_minute: "mig minut" 
+      less_than_x_seconds:
+        one:  "menys d'1 segon" 
+        other: "menys de %{count} segons"
+      x_seconds:
+        one:  "1 segon" 
+        other: "%{count} segons" 
+      less_than_x_minutes:
+        one:  "menys d'1 minut" 
+        other: "menys de %{count} minuts" 
+      x_minutes:
+        one:  "1 minut" 
+        other: "%{count} minuts" 
+      about_x_hours:
+        one:  "aproximadament 1 hora" 
+        other: "aproximadament %{count} hores" 
+      x_days:
+        one:  "1 dia" 
+        other: "%{count} dies" 
+      about_x_months:
+        one:  "aproximadament 1 mes" 
+        other: "aproximadament %{count} mesos" 
+      x_months:
+        one:  "1 mes" 
+        other: "%{count} mesos" 
+      about_x_years:
+        one:  "aproximadament 1 any" 
+        other: "aproximadament %{count} anys" 
+      over_x_years:
+        one:  "més d'1 any" 
+        other: "més de %{count} anys" 
+  activerecord:
+    errors:
+      template:
+        header:
+          one:   "No s'ha pogut desar aquest/a %{model} perquè hi ha 1 error" 
+          other:  "No s'ha pogut desar aquest/a %{model} perquè hi ha hagut %{count} errors" 
+        # The variable :count is also available
+        body: "Hi ha hagut problemes amb els següents camps:" 
+      # The values :model, :attribute and :value are always available for interpolation
+      # The value :count is available when applicable. Can be used for pluralization.
+      messages:
+        inclusion: "no està incluós a la llista" 
+        exclusion: "està reservat" 
+        invalid: "no és vàlid" 
+        confirmation: "no coincideix"
+        accepted: "ha de ser acceptat"
+        empty: "no pot estar buit"
+        blank: "no pot estar en blanc"
+        too_long: "és massa llarg (%{count} caràcters màxim)"
+        too_short: "és massa curt (%{count} caràcters mínim)"
+        wrong_length: "no té la longitud correcte (%{count} caràcters exactament)"
+        taken: "no està disponible"
+        not_a_number: "no és un número"
+        greater_than: "ha de ser més gran que %{count}"
+        greater_than_or_equal_to: "ha de ser més gran o igual a %{count}"
+        equal_to: "ha de ser igual a %{count}"
+        less_than: "ha de ser menor que %{count}"
+        less_than_or_equal_to: "ha de ser menor o igual a %{count}"
+        odd: "ha de ser imparell"
+        even: "ha de ser parell"
+        # Append your own errors here or at the model/attributes scope.
+      models:
+        # Overrides default messages
+      attributes:
+        # Overrides model and default messages.
+  date:
+    formats:
+      # Use the strftime parameters for formats.
+      # When no format has been given, it uses default.
+      # You can provide other formats here if you like!
+      default: "%Y-%m-%d" 
+      short: "%d de %b" 
+      long: "%d de %B de %Y" 
+    day_names: [diumenge, dilluns, dimarts, dimecres, dijous, divendres, dissabte]
+    abbr_day_names: [dg, dl, dm, dc, dj, dv, ds]
+    # Don't forget the nil at the beginning; there's no such thing as a 0th month
+    month_names: [~, gener, febrer, març, abril, maig, juny, juliol, agost, setembre, octubre, novembre, desembre]
+    abbr_month_names: [~, Gen, Feb, Mar, Abr, Mai, Jun, Jul, Ago, Set, Oct, Nov, Des]
+    # Used in date_select and datime_select.
+    order:
+      - :day
+      - :month
+      - :year
+  time:
+    formats:
+      default: "%A, %d de %B de %Y %H:%M:%S %z"
+      short: "%d de %b %H:%M" 
+      long: "%d de %B de %Y %H:%M" 
+    am: "am" 
+    pm: "pm" 
+# Used in array.to_sentence.
+  support:
+    array:
+      sentence_connector: "i"
\ No newline at end of file
diff --git a/sonar-server/src/main/webapp/WEB-INF/config/locales/defaults/cs.rb b/sonar-server/src/main/webapp/WEB-INF/config/locales/defaults/cs.rb
new file mode 100644 (file)
index 0000000..55988ec
--- /dev/null
@@ -0,0 +1,166 @@
+# Czech translations for Ruby on Rails 
+# by Karel Minařík (karmi@karmi.cz)
+
+{ :'cs' => {
+
+    # ActiveSupport
+    :support => {
+      :array => {
+        :two_words_connector => ' a ',
+        :sentence_connector => 'a',
+        :skip_last_comma => true
+      }
+    },
+
+    # Date
+    :date => {
+      :formats => {
+        :default => "%d. %m. %Y",
+        :short   => "%d %b",
+        :long    => "%d. %B %Y",
+      },
+      :day_names         => %w{Neděle Pondělí Úterý Středa Čtvrtek Pátek Sobota},
+      :abbr_day_names    => %w{Ne Po Út St Čt Pá So},
+      :month_names       => %w{~ Leden Únor Březen Duben Květen Červen Červenec Srpen Září Říjen Listopad Prosinec},
+      :abbr_month_names  => %w{~ Led Úno Bře Dub Kvě Čvn Čvc Srp Zář Říj Lis Pro},
+      :order             => [:day, :month, :year]
+    },
+
+    # Time
+    :time => {
+      :formats => {
+        :default => "%a %d. %B %Y %H:%M %z",
+        :short   => "%d. %m. %H:%M",
+        :long    => "%A %d. %B %Y %H:%M",
+      },
+      :am => 'am',
+      :pm => 'pm'
+    },
+
+    # Numbers
+    :number => {
+      :format => {
+        :precision => 3,
+        :separator => '.',
+        :delimiter => ','
+      },
+      :currency => {
+        :format => {
+          :unit => 'Kč',
+          :precision => 2,
+          :format    => '%n %u',
+          :separator => ",",
+          :delimiter => " ",
+        }
+      },
+      :human => {
+        :format => {
+          :precision => 1,
+          :delimiter => ''
+        },
+       :storage_units => {
+         :format => "%n %u",
+         :units => {
+           :byte => "B",
+           :kb   => "KB",
+           :mb   => "MB",
+           :gb   => "GB",
+           :tb   => "TB",
+         }
+       }
+      },
+      :percentage => {
+        :format => {
+          :delimiter => ''
+        }
+      },
+      :precision => {
+        :format => {
+          :delimiter => ''
+        }
+      }
+    },
+
+    # Distance of time ... helper
+    # NOTE: In Czech language, these values are different for the past and for the future. Preference has been given to past here.
+    :datetime => {
+      :distance_in_words => {
+        :half_a_minute => 'půl minutou',
+        :less_than_x_seconds => {
+          :one => 'asi před sekundou',
+          :other => 'asi před %{count} sekundami'
+        },
+        :x_seconds => {
+          :one => 'sekundou',
+          :other => '%{count} sekundami'
+        },
+        :less_than_x_minutes => {
+          :one => 'před necelou minutou',
+          :other => 'před ani ne %{count} minutami'
+        },
+        :x_minutes => {
+          :one => 'minutou',
+          :other => '%{count} minutami'
+        },
+        :about_x_hours => {
+          :one => 'asi hodinou',
+          :other => 'asi %{count} hodinami'
+        },
+        :x_days => {
+          :one => '24 hodinami',
+          :other => '%{count} dny'
+        },
+        :about_x_months => {
+          :one => 'asi měsícem',
+          :other => 'asi %{count} měsíci'
+        },
+        :x_months => {
+          :one => 'měsícem',
+          :other => '%{count} měsíci'
+        },
+        :about_x_years => {
+          :one => 'asi rokem',
+          :other => 'asi %{count} roky'
+        },
+        :over_x_years => {
+          :one => 'více než před rokem',
+          :other => 'více než %{count} roky'
+        }
+      }
+    },
+
+    # ActiveRecord validation messages
+    :activerecord => {
+      :errors => {
+        :messages => {
+          :inclusion           => "není v seznamu povolených hodnot",
+          :exclusion           => "je vyhrazeno pro jiný účel",
+          :invalid             => "není platná hodnota",
+          :confirmation        => "nebylo potvrzeno",
+          :accepted            => "musí být potvrzeno",
+          :empty               => "nesmí být prázdný/é",
+          :blank               => "je povinná položka", # alternate formulation: "is required"
+          :too_long            => "je příliš dlouhá/ý (max. %{count} znaků)",
+          :too_short           => "je příliš krátký/á (min. %{count} znaků)",
+          :wrong_length        => "nemá správnou délku (očekáváno %{count} znaků)",
+          :taken               => "již databáze obsahuje",
+          :not_a_number        => "není číslo",
+          :greater_than        => "musí být větší než %{count}",
+          :greater_than_or_equal_to => "musí být větší nebo rovno %{count}",
+          :equal_to            => "musí být rovno %{count}",
+          :less_than           => "musí být méně než %{count}",
+          :less_than_or_equal_to    => "musí být méně nebo rovno %{count}",
+          :odd                 => "musí být liché číslo",
+          :even                => "musí být sudé číslo"
+        },
+        :template => {
+          :header   => {
+            :one => "Při ukládání objektu %{model} došlo k chybám a nebylo jej možné uložit",
+            :other => "Při ukládání objektu %{model} došlo ke %{count} chybám a nebylo možné jej uložit"
+          },
+          :body  => "Následující pole obsahují chybně vyplněné údaje:"
+        }
+      }
+    }
+  }
+}
\ No newline at end of file
diff --git a/sonar-server/src/main/webapp/WEB-INF/config/locales/defaults/cy.yml b/sonar-server/src/main/webapp/WEB-INF/config/locales/defaults/cy.yml
new file mode 100644 (file)
index 0000000..11a5881
--- /dev/null
@@ -0,0 +1,181 @@
+# Welsh translations for Ruby on Rails
+# by Aran Jones (aranjones@gmail.com)
+
+cy:
+  date:
+    formats:
+      default: "%d-%m-%Y"
+      short: "%b %d"
+      long: "%B %d, %Y"
+
+    day_names: [Dydd Sul, Dydd Llun, Dydd Mawrth, Dydd Mercher, Dydd Iau, Dydd Gwener, Dydd Sadwrn]
+    abbr_day_names: [Sul, Llun, Maw, Mer, Iau, Gwe, Sad]
+
+    month_names: [~, mis Ionawr, mis Chwefror, mis Mawrth, mis Ebrill, mis Mai, mis Mehefin, mis Gorffennaf, mis Awst, mis Medi, mis Hydref, mis Tachwedd, mis Rhagfyr]
+    abbr_month_names: [~, Ion, Chw, Maw, Ebr, Mai, Meh, Gor, Awst, Med, Hyd, Tach, Rha]
+    order:
+      - :year
+      - :month
+      - :day
+
+  time:
+    formats:
+      default: "%a, %d %b %Y %H:%M:%S %z"
+      short: "%d %b %H:%M"
+      long: "%B %d, %Y %H:%M"
+    am: "yb"
+    pm: "yh"
+
+  support:
+    array:
+      words_connector: ", "
+      two_words_connector: " a "
+      last_word_connector: ", a "
+
+    select:
+      prompt: "Dewiswch"
+
+  number:
+    format:
+      separator: "."
+      delimiter: ","
+      precision: 3
+      significant: false
+      strip_insignificant_zeros: false
+
+    currency:
+      format:
+        format: "%u%n"
+        unit: "£"
+        separator: "."
+        delimiter: ","
+        precision: 2
+        significant: false
+        strip_insignificant_zeros: false
+
+    percentage:
+      format:
+        delimiter: ""
+
+    precision:
+      format:
+        delimiter: ""
+
+    human:
+      format:
+        delimiter: ""
+        precision: 3
+        significant: true
+        strip_insignificant_zeros: true
+      storage_units:
+        format: "%n %u"
+        units:
+          byte:
+            one:   "Byte"
+            other: "Bytes"
+          kb: "KB"
+          mb: "MB"
+          gb: "GB"
+          tb: "TB"
+      decimal_units:
+        format: "%n %u"
+        units:
+          unit: ""
+          thousand: Mil
+          million: Miliwn
+          billion: Biliwn
+          trillion: Triliwn
+          quadrillion: Cwadriliwn
+
+  datetime:
+    distance_in_words:
+      half_a_minute: "hanner munud"
+      less_than_x_seconds:
+        one:   "llai nag eiliad"
+        other: "llai na %{count} eiliad"
+      x_seconds:
+        one:   "1 eiliad"
+        other: "%{count} o eiliadau"
+      less_than_x_minutes:
+        one:   "llai na munud"
+        other: "llai na %{count} munud"
+      x_minutes:
+        one:   "1 munud"
+        other: "%{count} o funudau"
+      about_x_hours:
+        one:   "tuag awr"
+        other: "tua %{count} awr"
+      x_days:
+        one:   "1 diwrnod"
+        other: "%{count} diwrnod"
+      about_x_months:
+        one:   "tua mis"
+        other: "tua %{count} mis"
+      x_months:
+        one:   "1 mis"
+        other: "%{count} mis"
+      about_x_years:
+        one:   "tua blwyddyn"
+        other: "tua %{count} blynedd"
+      over_x_years:
+        one:   "dros flwyddyn"
+        other: "dros %{count} blynedd"
+      almost_x_years:
+        one:   "bron yn flwyddyn"
+        other: "bron yn %{count} blynedd"
+    prompts:
+      year:   "Blwyddyn"
+      month:  "Mis"
+      day:    "Diwrnod"
+      hour:   "Awr"
+      minute: "Munud"
+      second: "Eiliad"
+
+  helpers:
+    select:
+      prompt: "Dewiswch"
+
+    submit:
+      create: 'Creu %{model}'
+      update: 'Diweddaru %{model}'
+      submit: 'Cadw %{model}'
+
+  errors:
+    format: "%{attribute} %{message}"
+
+    messages: &errors_messages
+      inclusion: "heb fod yn y rhestr"
+      exclusion: "wedi cadw"
+      invalid: "heb fod yn nheilwng"
+      confirmation: "heb fod yn gyfateb"
+      accepted: "angen ei dderbyn"
+      empty: "methu bod yn wag"
+      blank: "methu bod yn wag"
+      too_long: "yn rhy hir (cewch %{count} llythyren ar y fwyaf)"
+      too_short: "yn rhy fyr (rhaid am o leiaf %{count} llythyren)"
+      wrong_length: "gyda maint anghywir o lythrennau (dylai fod yn %{count} llythyren)"
+      not_a_number: "heb fod yn rhif"
+      not_an_integer: "heb fod yn rhif llawn"
+      greater_than: "angen bod yn fwy na %{count}"
+      greater_than_or_equal_to: "angen bod yr un maint neu fwy na %{count}"
+      equal_to: "angen bod yn %{count}"
+      less_than: "angen bod yn llai na %{count}"
+      less_than_or_equal_to: "angen bod yr un maint neu lai na %{count}"
+      odd: "rhaid bod yn odrif"
+      even: "rhaid bod yn eilrif"
+
+  activerecord:
+    errors:
+      template:
+        header:
+          one:    "Atalwyd y %{model} hwn rhag ei gadw gan 1 nam"
+          other:  "Atalwyd y %{model} hwn rhag ei gadw gan %{count} nam"
+        body: "Cafwyd broblemau gyda'r meysydd canlynol:"
+
+      messages:
+        taken: "wedi'i gymryd yn barod"
+        record_invalid: "Gwirio wedi methu: %{errors}"
+        <<: *errors_messages
+
+      full_messages:
+        format: "%{attribute}%{message}"
diff --git a/sonar-server/src/main/webapp/WEB-INF/config/locales/defaults/cz.rb b/sonar-server/src/main/webapp/WEB-INF/config/locales/defaults/cz.rb
deleted file mode 100755 (executable)
index 5e34630..0000000
+++ /dev/null
@@ -1,166 +0,0 @@
-# Czech translations for Ruby on Rails 
-# by Karel Minařík (karmi@karmi.cz)
-
-{ :'cz' => {
-
-    # ActiveSupport
-    :support => {
-      :array => {
-        :two_words_connector => ' a ',
-        :sentence_connector => 'a',
-        :skip_last_comma => true
-      }
-    },
-
-    # Date
-    :date => {
-      :formats => {
-        :default => "%d. %m. %Y",
-        :short   => "%d %b",
-        :long    => "%d. %B %Y",
-      },
-      :day_names         => %w{Neděle Pondělí Úterý Středa Čtvrtek Pátek Sobota},
-      :abbr_day_names    => %w{Ne Po Út St Čt Pá So},
-      :month_names       => %w{~ Leden Únor Březen Duben Květen Červen Červenec Srpen Září Říjen Listopad Prosinec},
-      :abbr_month_names  => %w{~ Led Úno Bře Dub Kvě Čvn Čvc Srp Zář Říj Lis Pro},
-      :order             => [:day, :month, :year]
-    },
-
-    # Time
-    :time => {
-      :formats => {
-        :default => "%a %d. %B %Y %H:%M %z",
-        :short   => "%d. %m. %H:%M",
-        :long    => "%A %d. %B %Y %H:%M",
-      },
-      :am => 'am',
-      :pm => 'pm'
-    },
-
-    # Numbers
-    :number => {
-      :format => {
-        :precision => 3,
-        :separator => '.',
-        :delimiter => ','
-      },
-      :currency => {
-        :format => {
-          :unit => 'Kč',
-          :precision => 2,
-          :format    => '%n %u',
-          :separator => ",",
-          :delimiter => " ",
-        }
-      },
-      :human => {
-        :format => {
-          :precision => 1,
-          :delimiter => ''
-        },
-       :storage_units => {
-         :format => "%n %u",
-         :units => {
-           :byte => "B",
-           :kb   => "KB",
-           :mb   => "MB",
-           :gb   => "GB",
-           :tb   => "TB",
-         }
-       }
-      },
-      :percentage => {
-        :format => {
-          :delimiter => ''
-        }
-      },
-      :precision => {
-        :format => {
-          :delimiter => ''
-        }
-      }
-    },
-
-    # Distance of time ... helper
-    # NOTE: In Czech language, these values are different for the past and for the future. Preference has been given to past here.
-    :datetime => {
-      :distance_in_words => {
-        :half_a_minute => 'půl minutou',
-        :less_than_x_seconds => {
-          :one => 'asi před sekundou',
-          :other => 'asi před {{count}} sekundami'
-        },
-        :x_seconds => {
-          :one => 'sekundou',
-          :other => '{{count}} sekundami'
-        },
-        :less_than_x_minutes => {
-          :one => 'před necelou minutou',
-          :other => 'před ani ne {{count}} minutami'
-        },
-        :x_minutes => {
-          :one => 'minutou',
-          :other => '{{count}} minutami'
-        },
-        :about_x_hours => {
-          :one => 'asi hodinou',
-          :other => 'asi {{count}} hodinami'
-        },
-        :x_days => {
-          :one => '24 hodinami',
-          :other => '{{count}} dny'
-        },
-        :about_x_months => {
-          :one => 'asi měsícem',
-          :other => 'asi {{count}} měsíci'
-        },
-        :x_months => {
-          :one => 'měsícem',
-          :other => '{{count}} měsíci'
-        },
-        :about_x_years => {
-          :one => 'asi rokem',
-          :other => 'asi {{count}} roky'
-        },
-        :over_x_years => {
-          :one => 'více než před rokem',
-          :other => 'více než {{count}} roky'
-        }
-      }
-    },
-
-    # ActiveRecord validation messages
-    :activerecord => {
-      :errors => {
-        :messages => {
-          :inclusion           => "není v seznamu povolených hodnot",
-          :exclusion           => "je vyhrazeno pro jiný účel",
-          :invalid             => "není platná hodnota",
-          :confirmation        => "nebylo potvrzeno",
-          :accepted            => "musí být potvrzeno",
-          :empty               => "nesmí být prázdný/é",
-          :blank               => "je povinná položka", # alternate formulation: "is required"
-          :too_long            => "je příliš dlouhá/ý (max. {{count}} znaků)",
-          :too_short           => "je příliš krátký/á (min. {{count}} znaků)",
-          :wrong_length        => "nemá správnou délku (očekáváno {{count}} znaků)",
-          :taken               => "již databáze obsahuje",
-          :not_a_number        => "není číslo",
-          :greater_than        => "musí být větší než {{count}}",
-          :greater_than_or_equal_to => "musí být větší nebo rovno {{count}}",
-          :equal_to            => "musí být rovno {{count}}",
-          :less_than           => "musí být méně než {{count}}",
-          :less_than_or_equal_to    => "musí být méně nebo rovno {{count}}",
-          :odd                 => "musí být liché číslo",
-          :even                => "musí být sudé číslo"
-        },
-        :template => {
-          :header   => {
-            :one => "Při ukládání objektu {{model}} došlo k chybám a nebylo jej možné uložit",
-            :other => "Při ukládání objektu {{model}} došlo ke {{count}} chybám a nebylo možné jej uložit"
-          },
-          :body  => "Následující pole obsahují chybně vyplněné údaje:"
-        }
-      }
-    }
-  }
-}
\ No newline at end of file
old mode 100755 (executable)
new mode 100644 (file)
index f89cc1d..b0a306a
@@ -4,16 +4,23 @@
 da:
   # active_support
   date:
+    # See http://sproget.dk/svarbase/SV00000046/ and http://en.wikipedia.org/wiki/Date_formats
+    # either use traditional (2.10.03, 2. oktober 2003): "%e.%m.%y", "%e. %B %Y"
+    # or international ISO 8601 format (2003-10-20): "%Y-%m-%d"
+    # Note: some Windows distributions do not support %e - you may have to use %d instead
     formats:
       default: "%d.%m.%Y"
       short: "%e. %b %Y"
       long: "%e. %B %Y"
 
     day_names: [søndag, mandag, tirsdag, onsdag, torsdag, fredag, lørdag]
-    abbr_day_names: [sø, ma, ti, 'on', to, fr, lø]
+    abbr_day_names: [sø, ma, ti, 'on', to, fr, lø] # Note: unescaped 'on' is parsed as true
     month_names: [~, januar, februar, marts, april, maj, juni, juli, august, september, oktober, november, december]
     abbr_month_names: [~, jan, feb, mar, apr, maj, jun, jul, aug, sep, okt, nov, dec]
-    order: [ :day, :month, :year ]
+    order:
+      - :day
+      - :month
+      - :year
 
   time:
     formats:
@@ -32,47 +39,9 @@ da:
       words_connector: ", "
       two_words_connector: " og "
       last_word_connector: " og "
-
-  datetime:
-    distance_in_words:
-      half_a_minute: "et halvt minut"
-      less_than_x_seconds:
-        one:  "mindre end et sekund"
-        other: "mindre end {{count}} sekunder"
-      x_seconds:
-        one:  "et sekund"
-        other: "{{count}} sekunder"
-      less_than_x_minutes:
-        one:  "mindre end et minut"
-        other: "mindre end {{count}} minutter"
-      x_minutes:
-        one:  "et minut"
-        other: "{{count}} minutter"
-      about_x_hours:
-        one:  "cirka en time"
-        other: "cirka {{count}} timer"
-      x_days:
-        one:  "en dag"
-        other: "{{count}} dage"
-      about_x_months:
-        one:  "cirka en måned"
-        other: "cirka {{count}} måneder"
-      x_months:
-        one:  "en måned"
-        other: "{{count}} måneder"
-      about_x_years:
-        one:  "cirka et år"
-        other: "cirka {{count}} år"
-      over_x_years:
-        one:  "mere end et år"
-        other: "mere end {{count}} år"
-    prompts:
-      second: "Sekund"
-      minute: "Minut"
-      hour: "Time"
-      day: "Dag"
-      month: "Måned"
-      year: "År"
+    select:
+      # default value for :prompt => true in FormOptionsHelper
+      prompt: "Vælg..."
 
   # action_view
   number:
@@ -80,6 +49,9 @@ da:
       separator: ","
       delimiter: "."
       precision: 3
+      significant: false
+      strip_insignificant_zeros: false
+
     currency:
       format:
         format: "%u %n"
@@ -87,16 +59,23 @@ da:
         separator: ","
         delimiter: "."
         precision: 2
+        significant: false
+        strip_insignificant_zeros: false
+
+    percentage:
+      format:
+        delimiter: ""
+
     precision:
       format:
-        # separator:
         delimiter: ""
-        # precision:
+
     human:
       format:
-        # separator: 
         delimiter: ""
-        precision: 1
+        precision: 3
+        significant: true
+        strip_insignificant_zeros: true
       # Rails 2.2
       #storage_units: [Bytes, KB, MB, GB, TB]
       # Rails 2.3
@@ -112,38 +91,105 @@ da:
           mb: "MB"
           gb: "GB"
           tb: "TB"
-    percentage:
-      format:
-        # separator:
-        delimiter: ""
-        # precision:
+      decimal_units:
+        format: "%n %u"
+        units:
+          unit: ""
+          thousand: Tusind
+          million: Million
+          billion: Milliard
+          trillion: Billion
+          quadrillion: Billiard
+
+  datetime:
+    distance_in_words:
+      half_a_minute: "et halvt minut"
+      less_than_x_seconds:
+        one:   "mindre end et sekund"
+        other: "mindre end %{count} sekunder"
+      x_seconds:
+        one:   "et sekund"
+        other: "%{count} sekunder"
+      less_than_x_minutes:
+        one:   "mindre end et minut"
+        other: "mindre end %{count} minutter"
+      x_minutes:
+        one:   "et minut"
+        other: "%{count} minutter"
+      about_x_hours:
+        one:   "cirka en time"
+        other: "cirka %{count} timer"
+      x_days:
+        one:   "en dag"
+        other: "%{count} dage"
+      about_x_months:
+        one:   "cirka en måned"
+        other: "cirka %{count} måneder"
+      x_months:
+        one:   "en måned"
+        other: "%{count} måneder"
+      about_x_years:
+        one:   "cirka et år"
+        other: "cirka %{count} år"
+      over_x_years:
+        one:   "mere end et år"
+        other: "mere end %{count} år"
+      almost_x_years:
+        one:   "næsten et år"
+        other: "næsten %{count} år"
+    prompts:
+      year:   "År"
+      month:  "Måned"
+      day:    "Dag"
+      hour:   "Time"
+      minute: "Minut"
+      second: "Sekund"
+
+  helpers:
+    select:
+      prompt: "Vælg..."
+
+    submit:
+      create: "Opret %{model}"
+      update: "Opdater %{model}"
+      submit: "Gem %{model}"
+
+  errors:
+    format: "%{attribute} %{message}"
+
+    messages: &errors_messages
+      inclusion: "er ikke i listen"
+      exclusion: "er reserveret"
+      invalid: "er ikke gyldig"
+      confirmation: "stemmer ikke overens med bekræftelse"
+      accepted: "skal accepteres"
+      empty: "må ikke udelades"
+      blank: "skal udfyldes"
+      too_long: "er for lang (maksimum %{count} tegn)"
+      too_short: "er for kort (minimum %{count} tegn)"
+      wrong_length: "har forkert længde (skulle være %{count} tegn)"
+      not_a_number: "er ikke et tal"
+      not_an_integer: "er ikke et heltal"
+      greater_than: "skal være større end %{count}"
+      greater_than_or_equal_to: "skal være større end eller lig med %{count}"
+      equal_to: "skal være lig med %{count}"
+      less_than: "skal være mindre end %{count}"
+      less_than_or_equal_to: "skal være mindre end eller lig med %{count}"
+      odd: "skal være ulige"
+      even: "skal være lige"
 
-  # active_record
   activerecord:
     errors:
-      messages:
-        inclusion: "er ikke i listen"
-        exclusion: "er reserveret"
-        invalid: "er ikke gyldig"
-        confirmation: "stemmer ikke overens"
-        accepted: "skal accepteres"
-        empty: "må ikke udelades"
-        blank: "skal udfyldes"
-        too_long: "er for lang (maksimum {{count}} tegn)"
-        too_short: "er for kort (minimum {{count}} tegn)"
-        wrong_length: "har forkert længde (skulle være {{count}} tegn)"
-        taken: "er allerede brugt"
-        not_a_number: "er ikke et tal"
-        greater_than: "skal være større end {{count}}"
-        greater_than_or_equal_to: "skal være større end eller lig med {{count}}"
-        equal_to: "skal være lig med {{count}}"
-        less_than: "skal være mindre end {{count}}"
-        less_than_or_equal_to: "skal være mindre end eller lig med {{count}}"
-        odd: "skal være ulige"
-        even: "skal være lige"
-
       template:
         header:
-          one:   "En fejl forhindrede {{model}} i at blive gemt"
-          other:  "{{count}} fejl forhindrede denne {{model}} i at blive gemt"
+          one:   "En fejl forhindrede %{model} i at blive gemt"
+          other: "%{count} fejl forhindrede %{model} i at blive gemt"
         body: "Der var problemer med følgende felter:"
+
+      messages:
+        taken: "er allerede brugt"
+        record_invalid: "Validering fejlede: %{errors}"
+        <<: *errors_messages
+
+      full_messages:
+        format: "%{attribute} %{message}"
old mode 100755 (executable)
new mode 100644 (file)
index 096bc47..b9a0369
@@ -13,7 +13,10 @@ de-AT:
     abbr_day_names: [So, Mo, Di, Mi, Do, Fr, Sa]
     month_names: [~, Jänner, Februar, März, April, Mai, Juni, Juli, August, September, Oktober, November, Dezember]
     abbr_month_names: [~, Jän, Feb, Mär, Apr, Mai, Jun, Jul, Aug, Sep, Okt, Nov, Dez]
-    order: [ :day, :month, :year ]
+    order:
+      - :day
+      - :month
+      - :year
   
   time:
     formats:
@@ -29,37 +32,38 @@ de-AT:
     distance_in_words:
       half_a_minute: 'eine halbe Minute'
       less_than_x_seconds:
-        zero: 'weniger als 1 Sekunde'
-        one: 'weniger als 1 Sekunde'
-        other: 'weniger als {{count}} Sekunden'
+        one: 'weniger als eine Sekunde'
+        other: 'weniger als %{count} Sekunden'
       x_seconds:
-        one: '1 Sekunde'
-        other: '{{count}} Sekunden'
+        one: 'eine Sekunde'
+        other: '%{count} Sekunden'
       less_than_x_minutes:
-        zero: 'weniger als 1 Minute'
         one: 'weniger als eine Minute'
-        other: 'weniger als {{count}} Minuten'
+        other: 'weniger als %{count} Minuten'
       x_minutes:
-        one: '1 Minute'
-        other: '{{count}} Minuten'
+        one: 'eine Minute'
+        other: '%{count} Minuten'
       about_x_hours:
-        one: 'etwa 1 Stunde'
-        other: 'etwa {{count}} Stunden'
+        one: 'etwa eine Stunde'
+        other: 'etwa %{count} Stunden'
       x_days:
-        one: '1 Tag'
-        other: '{{count}} Tage'
+        one: 'ein Tag'
+        other: '%{count} Tage'
       about_x_months:
-        one: 'etwa 1 Monat'
-        other: 'etwa {{count}} Monate'
+        one: 'etwa ein Monat'
+        other: 'etwa %{count} Monate'
       x_months:
-        one: '1 Monat'
-        other: '{{count}} Monate'
+        one: 'ein Monat'
+        other: '%{count} Monate'
+      almost_x_years:
+        one: 'fast ein Jahr'
+        other: 'fast %{count} Jahre'
       about_x_years:
-        one: 'etwa 1 Jahr'
-        other: 'etwa {{count}} Jahre'
+        one: 'etwa ein Jahr'
+        other: 'etwa %{count} Jahre'
       over_x_years:
-        one: 'mehr als 1 Jahr'
-        other: 'mehr als {{count}} Jahre'
+        one: 'mehr als ein Jahr'
+        other: 'mehr als %{count} Jahre'
     prompts:
       second: "Sekunden"
       minute: "Minuten"
@@ -108,13 +112,23 @@ de-AT:
       words_connector: ", "
       two_words_connector: " und "
       last_word_connector: " und "
+    select:
+      prompt: "Bitte wählen:"
+
+  activemodel:
+    errors:
+      template:
+        header:
+          one:    "Konnte %{model} nicht speichern: ein Fehler."
+          other:  "Konnte %{model} nicht speichern: %{count} Fehler."
+        body: "Bitte überprüfen Sie die folgenden Felder:"
 
   activerecord:
     errors:
       template:
         header:
-          one:    "Konnte dieses {{model}} Objekt nicht speichern: 1 Fehler."
-          other:  "Konnte dieses {{model}} Objekt nicht speichern: {{count}} Fehler."
+          one:    "Konnte %{model} nicht speichern: ein Fehler."
+          other:  "Konnte %{model} nicht speichern: %{count} Fehler."
         body: "Bitte überprüfen Sie die folgenden Felder:"
 
       messages:
@@ -125,16 +139,16 @@ de-AT:
         accepted: "muss akzeptiert werden"
         empty: "muss ausgefüllt werden"
         blank: "muss ausgefüllt werden"
-        too_long: "ist zu lang (nicht mehr als {{count}} Zeichen)"
-        too_short: "ist zu kurz (nicht weniger als {{count}} Zeichen)"
-        wrong_length: "hat die falsche Länge (muss genau {{count}} Zeichen haben)"
+        too_long: "ist zu lang (nicht mehr als %{count} Zeichen)"
+        too_short: "ist zu kurz (nicht weniger als %{count} Zeichen)"
+        wrong_length: "hat die falsche Länge (muss genau %{count} Zeichen haben)"
         taken: "ist bereits vergeben"
         not_a_number: "ist keine Zahl"
-        greater_than: "muss größer als {{count}} sein"
-        greater_than_or_equal_to: "muss größer oder gleich {{count}} sein"
-        equal_to: "muss genau {{count}} sein"
-        less_than: "muss kleiner als {{count}} sein"
-        less_than_or_equal_to: "muss kleiner oder gleich {{count}} sein"
+        greater_than: "muss größer als %{count} sein"
+        greater_than_or_equal_to: "muss größer oder gleich %{count} sein"
+        equal_to: "muss genau %{count} sein"
+        less_than: "muss kleiner als %{count} sein"
+        less_than_or_equal_to: "muss kleiner oder gleich %{count} sein"
         odd: "muss ungerade sein"
         even: "muss gerade sein"
-      models:
+        record_invalid: "Gültigkeitsprüfung ist fehlgeschlagen: %{errors}"
diff --git a/sonar-server/src/main/webapp/WEB-INF/config/locales/defaults/de-CH.yml b/sonar-server/src/main/webapp/WEB-INF/config/locales/defaults/de-CH.yml
new file mode 100644 (file)
index 0000000..fcc8560
--- /dev/null
@@ -0,0 +1,154 @@
+# German (Switzerland) translations for Ruby on Rails 
+# by Clemens Kofler (clemens@railway.at)
+
+de-CH:
+  date:
+    formats:
+      default: "%d.%m.%Y"
+      short: "%e. %b"
+      long: "%e. %B %Y"
+      only_day: "%e"
+
+    day_names: [Sonntag, Montag, Dienstag, Mittwoch, Donnerstag, Freitag, Samstag]
+    abbr_day_names: [So, Mo, Di, Mi, Do, Fr, Sa]
+    month_names: [~, Januar, Februar, März, April, Mai, Juni, Juli, August, September, Oktober, November, Dezember]
+    abbr_month_names: [~, Jan, Feb, Mär, Apr, Mai, Jun, Jul, Aug, Sep, Okt, Nov, Dez]
+    order:
+      - :day
+      - :month
+      - :year
+  
+  time:
+    formats:
+      default: "%A, %d. %B %Y, %H:%M Uhr"
+      short: "%d. %B, %H:%M Uhr"
+      long: "%A, %d. %B %Y, %H:%M Uhr"
+      time: "%H:%M"
+
+    am: "vormittags"
+    pm: "nachmittags"
+      
+  datetime:
+    distance_in_words:
+      half_a_minute: 'eine halbe Minute'
+      less_than_x_seconds:
+        one: 'weniger als eine Sekunde'
+        other: 'weniger als %{count} Sekunden'
+      x_seconds:
+        one: 'eine Sekunde'
+        other: '%{count} Sekunden'
+      less_than_x_minutes:
+        one: 'weniger als eine Minute'
+        other: 'weniger als %{count} Minuten'
+      x_minutes:
+        one: 'eine Minute'
+        other: '%{count} Minuten'
+      about_x_hours:
+        one: 'etwa eine Stunde'
+        other: 'etwa %{count} Stunden'
+      x_days:
+        one: 'ein Tag'
+        other: '%{count} Tage'
+      about_x_months:
+        one: 'etwa ein Monat'
+        other: 'etwa %{count} Monate'
+      x_months:
+        one: 'ein Monat'
+        other: '%{count} Monate'
+      almost_x_years:
+        one: 'fast ein Jahr'
+        other: 'fast %{count} Jahre'
+      about_x_years:
+        one: 'etwa ein Jahr'
+        other: 'etwa %{count} Jahre'
+      over_x_years:
+        one: 'mehr als ein Jahr'
+        other: 'mehr als %{count} Jahre'
+    prompts:
+      second: "Sekunden"
+      minute: "Minuten"
+      hour: "Stunden"
+      day: "Tag"
+      month: "Monat"
+      year: "Jahr"
+
+  number:
+    format:
+      precision: 2
+      separator: '.'
+      delimiter: "'"
+    currency:
+      format:
+        unit: 'CHF'
+        format: '%u %n'
+        separator: 
+        delimiter: 
+        precision: 
+    percentage:
+      format:
+        delimiter: ""
+    precision:
+      format:
+        delimiter: ""
+    human:
+      format:
+        delimiter: ""
+        precision: 1
+      storage_units:
+        # Storage units output formatting.
+        # %u is the storage unit, %n is the number (default: 2 MB)
+        format: "%n %u"
+        units:
+          byte:
+            one:   "Byte"
+            other: "Bytes"
+          kb: "KB"
+          mb: "MB"
+          gb: "GB"
+          tb: "TB"
+
+  support:
+    array:
+      words_connector: ", "
+      two_words_connector: " und "
+      last_word_connector: " und "
+    select:
+      prompt: "Bitte wählen:"
+
+  activemodel:
+    errors:
+      template:
+        header:
+          one:    "Konnte %{model} nicht speichern: ein Fehler."
+          other:  "Konnte %{model} nicht speichern: %{count} Fehler."
+        body: "Bitte überprüfen Sie die folgenden Felder:"
+
+  activerecord:
+    errors:
+      template:
+        header:
+          one:    "Konnte %{model} nicht speichern: ein Fehler."
+          other:  "Konnte %{model} nicht speichern: %{count} Fehler."
+        body: "Bitte überprüfen Sie die folgenden Felder:"
+
+      messages:
+        inclusion: "ist kein gültiger Wert"
+        exclusion: "ist nicht verfügbar"
+        invalid: "ist nicht gültig"
+        confirmation: "stimmt nicht mit der Bestätigung überein"
+        accepted: "muss akzeptiert werden"
+        empty: "muss ausgefüllt werden"
+        blank: "muss ausgefüllt werden"
+        too_long: "ist zu lang (nicht mehr als %{count} Zeichen)"
+        too_short: "ist zu kurz (nicht weniger als %{count} Zeichen)"
+        wrong_length: "hat die falsche Länge (muss genau %{count} Zeichen haben)"
+        taken: "ist bereits vergeben"
+        not_a_number: "ist keine Zahl"
+        greater_than: "muss grösser als %{count} sein"
+        greater_than_or_equal_to: "muss grösser oder gleich %{count} sein"
+        equal_to: "muss genau %{count} sein"
+        less_than: "muss kleiner als %{count} sein"
+        less_than_or_equal_to: "muss kleiner oder gleich %{count} sein"
+        odd: "muss ungerade sein"
+        even: "muss gerade sein"
+        record_invalid: "Gültigkeitsprüfung ist fehlgeschlagen: %{errors}"
old mode 100755 (executable)
new mode 100644 (file)
index ad1cb92..509b495
@@ -1,5 +1,7 @@
 # German translations for Ruby on Rails 
 # by Clemens Kofler (clemens@railway.at)
+# contributors:
+#  - Alexander Dreher - http://github.com/alexdreher - Rails 3 update
 
 de:
   date:
@@ -13,7 +15,10 @@ de:
     abbr_day_names: [So, Mo, Di, Mi, Do, Fr, Sa]
     month_names: [~, Januar, Februar, März, April, Mai, Juni, Juli, August, September, Oktober, November, Dezember]
     abbr_month_names: [~, Jan, Feb, Mär, Apr, Mai, Jun, Jul, Aug, Sep, Okt, Nov, Dez]
-    order: [ :day, :month, :year ]
+    order:
+      - :day
+      - :month
+      - :year
   
   time:
     formats:
@@ -29,37 +34,38 @@ de:
     distance_in_words:
       half_a_minute: 'eine halbe Minute'
       less_than_x_seconds:
-        zero: 'weniger als 1 Sekunde'
-        one: 'weniger als 1 Sekunde'
-        other: 'weniger als {{count}} Sekunden'
+        one: 'weniger als eine Sekunde'
+        other: 'weniger als %{count} Sekunden'
       x_seconds:
-        one: '1 Sekunde'
-        other: '{{count}} Sekunden'
+        one: 'eine Sekunde'
+        other: '%{count} Sekunden'
       less_than_x_minutes:
-        zero: 'weniger als 1 Minute'
         one: 'weniger als eine Minute'
-        other: 'weniger als {{count}} Minuten'
+        other: 'weniger als %{count} Minuten'
       x_minutes:
-        one: '1 Minute'
-        other: '{{count}} Minuten'
+        one: 'eine Minute'
+        other: '%{count} Minuten'
       about_x_hours:
-        one: 'etwa 1 Stunde'
-        other: 'etwa {{count}} Stunden'
+        one: 'etwa eine Stunde'
+        other: 'etwa %{count} Stunden'
       x_days:
-        one: '1 Tag'
-        other: '{{count}} Tage'
+        one: 'ein Tag'
+        other: '%{count} Tage'
       about_x_months:
-        one: 'etwa 1 Monat'
-        other: 'etwa {{count}} Monate'
+        one: 'etwa ein Monat'
+        other: 'etwa %{count} Monate'
       x_months:
-        one: '1 Monat'
-        other: '{{count}} Monate'
+        one: 'ein Monat'
+        other: '%{count} Monate'
+      almost_x_years:
+        one: 'fast ein Jahr'
+        other: 'fast %{count} Jahre'
       about_x_years:
-        one: 'etwa 1 Jahr'
-        other: 'etwa {{count}} Jahre'
+        one: 'etwa ein Jahr'
+        other: 'etwa %{count} Jahre'
       over_x_years:
-        one: 'mehr als 1 Jahr'
-        other: 'mehr als {{count}} Jahre'
+        one: 'mehr als ein Jahr'
+        other: 'mehr als %{count} Jahre'
     prompts:
       second: "Sekunden"
       minute: "Minuten"
@@ -73,13 +79,17 @@ de:
       precision: 2
       separator: ','
       delimiter: '.'
+      significant: false
+      strip_insignificant_zeros: false
     currency:
       format:
         unit: '€'
         format: '%n%u'
-        separator: 
-        delimiter: 
-        precision: 
+        separator: ","
+        delimiter: ""
+        precision: 2
+        significant: false
+        strip_insignificant_zeros: false
     percentage:
       format:
         delimiter: ""
@@ -90,6 +100,8 @@ de:
       format:
         delimiter: ""
         precision: 1
+        significant: true
+        strip_insignificant_zeros: true
       storage_units:
         # Storage units output formatting.
         # %u is the storage unit, %n is the number (default: 2 MB)
@@ -102,39 +114,80 @@ de:
           mb: "MB"
           gb: "GB"
           tb: "TB"
+      decimal_units:
+        format: "%n %u"
+        units:
+          unit: ""
+          thousand: Tausend
+          million: Millionen
+          billion: 
+            one: Milliarde
+            others: Milliarden
+          trillion: Billionen
+          quadrillion: 
+            one: Billiarde
+            others: Billiarden
 
   support:
     array:
       words_connector: ", "
       two_words_connector: " und "
       last_word_connector: " und "
+    select:
+      prompt: "Bitte wählen:"
+
+  activemodel:
+    errors:
+      template:
+        header:
+          one:    "Konnte %{model} nicht speichern: ein Fehler."
+          other:  "Konnte %{model} nicht speichern: %{count} Fehler."
+        body: "Bitte überprüfen Sie die folgenden Felder:"
+  helpers:
+    select:
+      prompt: "Bitte wählen"
+
+    submit:
+      create: '%{model} erstellen'
+      update: '%{model} aktualisieren'
+      submit: '%{model} speichern'
 
+  errors:
+    format: "%{attribute} %{message}"
+
+    messages: &errors_messages
+      inclusion: "ist kein gültiger Wert"
+      exclusion: "ist nicht verfügbar"
+      invalid: "ist nicht gültig"
+      confirmation: "stimmt nicht mit der Bestätigung überein"
+      accepted: "muss akzeptiert werden"
+      empty: "muss ausgefüllt werden"
+      blank: "muss ausgefüllt werden"
+      too_long: "ist zu lang (nicht mehr als %{count} Zeichen)"
+      too_short: "ist zu kurz (nicht weniger als %{count} Zeichen)"
+      wrong_length: "hat die falsche Länge (muss genau %{count} Zeichen haben)"
+      not_a_number: "ist keine Zahl"
+      greater_than: "muss größer als %{count} sein"
+      greater_than_or_equal_to: "muss größer oder gleich %{count} sein"
+      equal_to: "muss genau %{count} sein"
+      less_than: "muss kleiner als %{count} sein"
+      less_than_or_equal_to: "muss kleiner oder gleich %{count} sein"
+      odd: "muss ungerade sein"
+      even: "muss gerade sein"
+      not_an_integer: "muss ganzzahlig sein"
+      
   activerecord:
     errors:
       template:
         header:
-          one:    "Konnte dieses {{model}} Objekt nicht speichern: 1 Fehler."
-          other:  "Konnte dieses {{model}} Objekt nicht speichern: {{count}} Fehler."
+          one:    "Konnte %{model} nicht speichern: ein Fehler."
+          other:  "Konnte %{model} nicht speichern: %{count} Fehler."
         body: "Bitte überprüfen Sie die folgenden Felder:"
 
-      messages:
-        inclusion: "ist kein gültiger Wert"
-        exclusion: "ist nicht verfügbar"
-        invalid: "ist nicht gültig"
-        confirmation: "stimmt nicht mit der Bestätigung überein"
-        accepted: "muss akzeptiert werden"
-        empty: "muss ausgefüllt werden"
-        blank: "muss ausgefüllt werden"
-        too_long: "ist zu lang (nicht mehr als {{count}} Zeichen)"
-        too_short: "ist zu kurz (nicht weniger als {{count}} Zeichen)"
-        wrong_length: "hat die falsche Länge (muss genau {{count}} Zeichen haben)"
+      messages:        
         taken: "ist bereits vergeben"
-        not_a_number: "ist keine Zahl"
-        greater_than: "muss größer als {{count}} sein"
-        greater_than_or_equal_to: "muss größer oder gleich {{count}} sein"
-        equal_to: "muss genau {{count}} sein"
-        less_than: "muss kleiner als {{count}} sein"
-        less_than_or_equal_to: "muss kleiner oder gleich {{count}} sein"
-        odd: "muss ungerade sein"
-        even: "muss gerade sein"
-      models:
+        record_invalid: "Gültigkeitsprüfung ist fehlgeschlagen: %{errors}"
+        <<: *errors_messages
+
+      full_messages:
+        format: "%{attribute} %{message}"
diff --git a/sonar-server/src/main/webapp/WEB-INF/config/locales/defaults/dsb.yml b/sonar-server/src/main/webapp/WEB-INF/config/locales/defaults/dsb.yml
new file mode 100644 (file)
index 0000000..ca7b494
--- /dev/null
@@ -0,0 +1,185 @@
+# Lower Sorbian translations for Ruby on Rails
+# by Michael Wolf (preklady@wolfmicha.de)
+
+dsb:
+  # ActiveSupport
+  support:
+    array:
+      words_connector: ", "
+      two_words_connector: " a "
+      last_word_connector: " a "
+      sentence_connector: "a"
+      skip_last_comma: true
+
+  # Date
+  date:
+    formats:
+      default: "%d. %m. %Y"
+      short:   "%d %b"
+      long:    "%d. %B %Y"
+    day_names:        [njeźela, pónjeźele, wałtora, srjoda, stwórtk, pětk, sobota]
+    abbr_day_names:   [Nj, Pó, Wu, Sr, St, Pě, So]
+    month_names:      [~, Januar, Februar, Měrc, Apryl, Maj, Junij, Julij, Awgust, September, Oktober, Nowember, December]
+    abbr_month_names: [~, jan, feb, měr, apr, maj, jun, jul, awg, sep, okt, now, dec]
+    order:
+      - :day
+      - :month
+      - :year
+
+  # Time
+  time:
+    formats:
+      default: "%A, %d. %B %Y, %H:%M hodź"
+      short:   "%d. %B, %H:%M hodź."
+      long:    "%A, %d. %B %Y, %H:%M hodź."
+    am: "dopołdnja"
+    pm: "wótpołdnja"
+
+
+  # Numbers
+  number:
+    format:
+      precision: 3
+      separator: ","
+      delimiter: "."
+    currency:
+      format:
+        unit: "€"
+        precision: 2
+        format: "%n %u"
+        separator: ","
+        delimiter: " "
+    human:
+      format:
+        precision: 1
+        delimiter: ""
+    storage_units:
+      format: "%n %u"
+      units:
+        byte:
+          one: "bajt"
+          two: "bajta"
+          few: "bajty"
+          other: "bajtow"
+        kb:   "KB"
+        mb:   "MB"
+        gb:   "GB"
+        tb:   "TB"
+
+    percentage:
+      format:
+        delimiter: ""
+
+    precision:
+      format:
+        delimiter: ""
+
+
+  # Distance of time ... helper
+  # Used in distance_of_time_in_words(), distance_of_time_in_words_to_now(), time_ago_in_words()
+  datetime:
+    distance_in_words:
+      half_a_minute: "poł minuty"
+      less_than_x_seconds:
+        one:   "mjenjej ako 1 sekundu"
+        two:   "mjenjej ako %{count} sekundoma"
+        few:   "mjenjej ako %{count} sekundami"
+        other: "mjenjej ako %{count} sekundami"
+        x_seconds:
+        one:   "1 sekundu"
+        two:   "%{count} sekundoma"
+        few:   "%{count} sekundami"
+        other: "%{count} sekundami"
+      less_than_x_minutes:
+        one: "mjenjej ako 1 minutu"
+        two: "mjenjej ako %{count} minutoma"
+        few: "mjenjej ako %{count} minutami"
+        other: "mjenjej ako %{count} minutami"
+      x_minutes:
+        one:    "1 minutu"
+        two:    "%{count} minutoma"
+        few:    "%{count} minutami"
+        other:  "%{count} minutami"
+      about_x_hours:
+        one:    "něźi 1 góźinu"
+        two:    "něźi %{count} góźinoma"
+        few:    "něźi %{count} góźinami"
+        other:  "něźi %{count} góźinami"
+      x_days:
+        one:    "1 dnjom"
+        two:    "%{count} dnjoma"
+        few:    "%{count} dnjami"
+        other:  "%{count} dnjami"
+      about_x_months:
+        one:    "něźi 1 mjasecom"
+        two:    "něźi %{count} mjasecoma"
+        few:    "něźi %{count} mjasecami"
+        other:  "něźi %{count} mjasecami"
+      x_months:
+        one:    "1 mjasecom"
+        two:    "%{count} mjasecoma"
+        few:    "%{count} mjasecami"
+        other:  "%{count} mjasecami"
+      about_x_years:
+        one:    "něźi 1 lětom"
+        two:    "něźi %{count} lětoma"
+        few:    "něźi %{count} lětami"
+        other:  "něźi %{count} lětami"
+      over_x_years:
+        one:    "wěcej ako 1 lětom"
+        two:    "wěcej ako %{count} lětoma"
+        few:    "wěcej ako %{count} lětami"
+        other:  "wěcej ako %{count} lětami"
+      prompts:
+        year:   "Lěto"
+        month:  "Mjasec"
+        day:    "Źeń"
+        hour:   "Góźina"
+        minute: "Minuta"
+        second: "Sekunda"
+
+  # ActiveRecord validation messages
+  activerecord:
+    errors:
+      messages:
+        inclusion:           "njejo płaśiwa gódnota"
+        exclusion:           "njestoj k dispoziciji"
+        invalid:             "njejo płaśiwy"
+        confirmation:        "njejo se wobkšuśiło"
+        accepted:            "musy se wobkšuśiś"
+        empty:               "njesmějo prozny byś"
+        blank:               "jo trěbny"
+        too_long:
+          one:               "jo pśedłujki (maks. 1 znamješko)"
+          two:               "jo pśedłujki (maks. %{count} znamješce)"
+          few:               "jo pśedłujki (maks. %{count} znamješka)"
+          other:             "jo pśedłujki (maks. %{count} znamješkow)"
+        too_short:
+          one:               "jo překrotki (min. 1 znamješko)"
+          two:               "jo překrotki (min. %{count} znamješće)"
+          few:               "jo překrotki (min. %{count} znamješka)"
+          other:             "jo překrotki (min. %{count} znamješkow)"
+        wrong_length:
+          one:               "njama pšawu dłujkosć (1 znamješko wócakane)"
+          two:               "njama pšawu dłujkosć (%{count} znamješce wócakanej)"
+          few:               "njama pšawu dłujkosć (%{count} znamješka wócakane)"
+          other:             "njama pšawu dłujkosć (%{count} znamješkow wócakanych)"
+        taken:                "jo južo w datowej bance"
+        not_a_number:         "njejo licba"
+        greater_than:         "musy wětšy ako %{count} byś"
+        greater_than_or_equal_to: "musy wětšy abo jadnak %{count} być"
+        equal_to:                 "musy jadnak %{count} byś"
+        less_than:                "musy mjeńšy ako %{count} byś"
+        less_than_or_equal_to:    "musy mjeńšy abo jadnak %{count} byś"
+        odd:                      "musy njerowna licba byś"
+        even:                     "musy rowna licba byś"
+
+      template:
+        header:
+          one:   "Pśi składowanju objekta %{model} jo k zmólce dojšło a njejo było móžno składowaś"
+          two:   "Pśi składowanju objekta %{model} jo k %{count} zmólkam dojšło a njejo było móžno składowaś"
+          few:   "Pśi składowanju objekta %{model} jo k %{count} zmólkam dojšło a njejo było móžno składowaś"
+          other: "Pśi składowanju objekta %{model} jo k %{count} zmólkam dojšło a njejo było móžno składowaś"
+        body:  "Pšosym pśeglědaj slědujuce póla:"
+
+      models:
diff --git a/sonar-server/src/main/webapp/WEB-INF/config/locales/defaults/ee.yml b/sonar-server/src/main/webapp/WEB-INF/config/locales/defaults/ee.yml
deleted file mode 100755 (executable)
index e59c84a..0000000
+++ /dev/null
@@ -1,109 +0,0 @@
-# Estonian localization for Ruby on Rails 2.2+
-# by Zahhar Kirillov <zahhar@gmail.com>
-
-ee:
-  date:
-    formats:
-      default: "%d.%m.%Y"
-      short: "%d.%m.%y"
-      long: "%d. %B %Y"
-
-    day_names: [pühapäev, esmaspäev, teisipäev, kolmapäev, neljapäev, reede, laupäev]
-    standalone_day_names: [Pühapäev, Esmaspäev, Teisipäev, Kolmapäev, Neljapäev, Reede, Laupäev]
-    abbr_day_names: [P, E, T, K, N, R, L]
-
-    month_names: [~, jaanuar, veebruar, märts, aprill, mai, juuni, juuli, august, september, oktoober, november, detsember]
-    standalone_month_names: [~, Jaanuar, Veebruar, Märts, Aprill, Mai, Juuni, Juuli, August, September, Oktoober, November, Detsember]
-    abbr_month_names: [~, jaan., veebr., märts, apr., mai, juuni, juuli, aug., sept., okt., nov., dets.]
-    standalone_abbr_month_names: [~, jaan., veebr., märts, apr., mai, juuni, juuli, aug., sept., okt., nov., dets.]
-
-    order: [ :day, :month, :year ]
-
-  time:
-    formats:
-      default: "%d. %B %Y, %H:%M"
-      short: "%d.%m.%y, %H:%M"
-      long: "%a, %d. %b %Y, %H:%M:%S %z"
-
-    am: "enne lõunat"
-    pm: "pärast lõunat"
-
-  number:
-    format:
-      separator: ","
-      delimiter: " "
-      precision: 2
-      
-    currency:
-      format:
-        format: "%n %u"
-        unit: "kr"
-        separator: ","
-        delimiter: " "
-        precision: 2
-        
-    percentage:
-      format:
-        delimiter: ""
-        
-    precision:
-      format:
-        delimiter: ""
-        
-    human:
-      format:
-        delimiter: ""
-        precision: 1
-      storage_units: [bait, KB, MB, GB, TB]
-
-  datetime:
-    distance_in_words:
-      half_a_minute: "pool minutit"
-      less_than_x_seconds:
-        one:   "vähem kui {{count}} sekund"
-        other: "vähem kui {{count}} sekundit"
-      x_seconds:
-        one:   "{{count}} sekund"
-        other: "{{count}} sekundit"
-      less_than_x_minutes:
-        one:   "vähem kui {{count}} minut"
-        other: "vähem kui {{count}} minutit"
-      x_minutes:
-        one:   "{{count}} minut"
-        other: "{{count}} minutit"
-      about_x_hours:
-        one:   "umbes {{count}} tund"
-        other: "umbes {{count}} tundi"
-      x_days:
-        one:   "{{count}} päev"
-        other: "{{count}} päeva"
-      about_x_months:
-        one:   "umbes {{count}} kuu"
-        other: "umbes {{count}} kuud"
-      x_months:
-        one:   "{{count}} kuu"
-        other: "{{count}} kuud"
-      about_x_years:
-        one:   "umbes {{count}} aasta"
-        other: "umbes {{count}} aastat"
-      over_x_years:
-        one:   "üle {{count}} aasta"
-        other: "üle {{count}} aastat"
-    prompts:
-      year: "Aasta"
-      month: "Kuu"
-      day: "Päev"
-      hour: "Tunde"
-      minute: "Minutit"
-      second: "Sekundit"
-
-  support:
-    array:
-      # Rails 2.2
-      sentence_connector: "ja"
-      skip_last_comma: true
-      
-      # Rails 2.3
-      words_connector: ", "
-      two_words_connector: " ja "
-      last_word_connector: " ja "
old mode 100755 (executable)
new mode 100644 (file)
index 8f97b8d..9f145e4
-# Greek translations for Ruby on Rails
-# by Nick Kokkos (nkokkos@gmail.com)
-
 el:
-  number:
-    # Used in number_with_delimiter()
-    # These are also the defaults for 'currency', 'percentage', 'precision', and 'human'
-    format:
-      # Sets the separator between the units, for more precision (e.g. 1,0 / 2,0 == 0,5)
-      separator: ","
-      # Delimets thousands (e.g. 1.000.000 is a million) (always in groups of three)
-      delimiter: "."
-      # Number of decimals, behind the separator (the number 1 with a precision of 2 gives: 1,00)
-      precision: 3
-        
-    # Used in number_to_currency()
-    currency:
-      format:
-        # Where is the currency sign? %u is the currency unit, %n the number (default: $5.00)
-        # in Greek currency values would be represented as (e.g €5,78:five euros and seventy eight  cents or €1.012,45: one thousand twelve euros and 45 cents)
-        format: "%u%n"
-        unit: "€"
-        # These three are to override number.format and are optional
-        separator: ","
-        delimiter: "."
-        precision: 2
-        
-    # Used in number_to_percentage()
-    percentage:
-      format:
-        # These three are to override number.format and are optional
-        # separator: 
-        delimiter: ""
-        # precision: 
-        
-    # Used in number_to_precision()
-    precision:
-      format:
-        # These three are to override number.format and are optional
-        # separator:
-        delimiter: ""
-        # precision:
-        
-    # Used in number_to_human_size()
-    human:
-      format:
-        # These three are to override number.format and are optional
-        # separator: 
-        delimiter: ""
-        precision: 1
-        storage_units: [Bytes, KB, MB, GB, TB]
+  date:
+    formats:
+      default: "%d/%m/%Y"
+      short: "%d %b"
+      long: "%e %B %Y"
+      long_ordinal: "%e %B %Y"
+      only_day: "%e"
+
+    day_names: [Κυριακή, Δευτέρα, Τρίτη, Τετάρτη, Πέμπτη, Παρασκευή, Σάββατο]
+    abbr_day_names: [Κυρ, Δευ, Τρι, Τετ, Πεμ, Παρ, Σαβ]
+    month_names: [~, Ιανουάριος, Φεβρουάριος, Μάρτιος, Απρίλιος, Μάιος, Ιούνιος, Ιούλιος, Αύγουστος, Σεπτέμβριος, Οκτώβριος, Νοέμβριος, Δεκέμβριος]
+    abbr_month_names: [~, Ιαν., Φεβ., Μάρ., Απρ., Μαι., Ιουν., Ιούλ., Αυγ., Σεπ., Οκτ., Νοε., Δεκ.]
+    order:
+      - :day
+      - :month
+      - :year
+
+  time:
+    formats:
+      default: "%d %B %Y %H:%M"
+      time: "%H:%M"
+      short: "%d %b %H:%M"
+      long: "%A %d %B %Y %H:%M:%S %Z"
+      long_ordinal: "%A %d %B %Y %H:%M:%S %Z"
+      only_second: "%S"
+    am: 'πμ'
+    pm: 'μμ'
 
-  # Used in distance_of_time_in_words(), distance_of_time_in_words_to_now(), time_ago_in_words()
   datetime:
     distance_in_words:
       half_a_minute: "μισό λεπτό"
       less_than_x_seconds:
-        one:   "λιγότερο απο ένα δευτερόλεπτο"
-        other: "λιγότερο απο {{count}} δευτερόλεπτα"
+        one: "λιγότερο από ένα δευτερόλεπτο"
+        other: "λιγότερο από %{count} δευτερόλεπτα"
       x_seconds:
-        one:   "1 δευτερόλεπτο"
-        other: "{{count}} δευτερόλεπτα"
+        one: "1 δευτερόλεπτο"
+        other: "%{count} δευτερόλεπτα"
       less_than_x_minutes:
-        one:   "λιγότερο απο ένα λεπτό"
-        other: "λιγότερο απο {{count}} λεπτά"
+        one: "λιγότερο από ένα λεπτό"
+        other: "λιγότερο από %{count} λεπτά"
       x_minutes:
-        one:   "ένα λεπτό"
-        other: "{{count}} λεπτά"
+        one: "1 λεπτό"
+        other: "%{count} λεπτά"
       about_x_hours:
-        one:   "1 ώρα περίπου"
-        other: "{{count}} hours περίπου"
+        one: "περίπου μία ώρα"
+        other: "περίπου %{count} ώρες"
       x_days:
-        one:   "1 μέρα"
-        other: "{{count}} μέρες"
+        one: "1 ώρα"
+        other: "%{count} ώρες"
       about_x_months:
-        one:   "1 μήνα περίπου"
-        other: "{{count}} μήνες περίπου"
+        one: "περίπου ένα μήνα"
+        other: "περίπου %{count} μήνες"
       x_months:
-        one:   "1 μήνα"
-        other: "{{count}} μήνες"
+        one: "1 μήνα"
+        other: "%{count} μήνες"
       about_x_years:
-        one:   "ένα χρόνο περίπου"
-        other: "{{count}} χρόνια περίπου"
+        one: "περίπου ένα χρόνο"
+        other: "περίπου %{count} χρόνια"
       over_x_years:
-        one:   "πάνω απο 1 χρόνο"
-        other: "πάνω απο {{count}} χρόνια"
+        one: "πάνω από ένα χρόνο"
+        other: "πάνω από %{count} χρόνια"
+    prompts:
+      year: "Έτος"
+      month: "Μήνας"
+      day: "Ημέρα"
+      hour: "Ώρα"
+      minute: "Λεπτό"
+      second: "Δευτερόλεπτο"
 
-  activerecord:
-    errors:
-      template:
-        header:
-          one:    "1 λάθος παρεμπόδισε αυτό το {{model}} να αποθηκευθεί"
-          other:  "{{count}} λάθη εμπόδισαν αυτό το {{model}} να αποθηκευθεί"
-        # The variable :count is also available
-        body: "Υπήρξαν προβλήματα με τα ακόλουθα πεδία :"
+  number:
+    format:
+      precision: 3
+      separator: ','
+      delimiter: '.'
+    currency:
+      format:
+        unit: '€'
+        precision: 2
+        format: '%n %u'
+    human:
+      format:
+        # These three are to override number.format and are optional
+        # separator:
+        delimiter: ""
+        precision: 1
+      storage_units:
+        format: "%n %u"
+        units:
+          byte:
+            one: "byte"
+            other: "bytes"
+          kb: "KB"
+          mb: "MB"
+          gb: "GB"
+          tb: "TB"
 
+  support:
+    array:
+      sentence_connector: ' και '
+      skip_last_comma: true
+      words_connector: ", "
+      two_words_connector: " και "
+      last_word_connector: " και "
 
   activerecord:
     errors:
-      # The values :model, :attribute and :value are always available for interpolation
-      # The value :count is available when applicable. Can be used for pluralization.
+      template:
+        header:
+          one: "1 λάθος παρεμπόδισε αυτό το %{model} να αποθηκευθεί."
+          other: "%{count} λάθη εμπόδισαν αυτό το %{model} να αποθηκευθεί."
+        body: "Υπήρξαν προβλήματα με τα ακόλουθα πεδία:"
       messages:
-        inclusion: "δεν συμπεριλαβάνεται στη λίστα"
+        inclusion: "δεν Ï\83Ï\85μÏ\80εÏ\81ιλαμβάνεÏ\84αι Ï\83Ï\84η Î»Î¯Ï\83Ï\84α"
         exclusion: "είναι δεσμευμένο"
         invalid: "είναι άκυρο"
         confirmation: "δεν ταιριάζει με την επικύρωση"
         accepted: "πρέπει να είναι αποδεκτό"
         empty: "δεν πρέπει να είναι άδειο"
         blank: "δεν πρέπει να είναι κενό"
-        too_long: "είναι πολύ μεγάλο (το μέγιστο μήκος είναι {{count}} χαρακτήρες)"
-        too_short: "είναι πολύ μικρό (το μικρότερο μήκος είναι {{count}} χαρακτήρες)"
-        wrong_length: "έχει λανθασμένο μήκος (πρέπει να είναι {{count}} χαρακτήρες)"
+        too_long: "είναι πολύ μεγάλο (το μέγιστο μήκος είναι %{count} χαρακτήρες)"
+        too_short: "είναι πολύ μικρό (το μικρότερο μήκος είναι %{count} χαρακτήρες)"
+        wrong_length: "έχει λανθασμένο μήκος (πρέπει να είναι %{count} χαρακτήρες)"
         taken: "το έχουν ήδη χρησιμοποιήσει"
         not_a_number: "δεν είναι ένας αριθμός"
-        greater_than: "πρέπει να είναι μεγαλύτερο απο {{count}}"
-        greater_than_or_equal_to: "πρέπει να είναι μεγαλύτερο ή ίσον με {{count}}"
-        equal_to: "πρέπει να είναι ίσον με  {{count}}"
-        less_than: "πρέπει να είναι λιγότερο απο {{count}}"
-        less_than_or_equal_to: "πρέπει να είναι λιγότερο ή ίσον με {{count}}"
+        greater_than: "πρέπει να είναι μεγαλύτερο από %{count}"
+        greater_than_or_equal_to: "πρέπει να είναι μεγαλύτερο ή ίσο με %{count}"
+        equal_to: "πρέπει να είναι ίσο με %{count}"
+        less_than: "πρέπει να είναι λιγότερο από %{count}"
+        less_than_or_equal_to: "πρέπει να είναι λιγότερο ή ίσο με %{count}"
         odd: "πρέπει να είναι περιττός"
         even: "πρέπει να είναι άρτιος"
-        # Append your own errors here or at the model/attributes scope.
-
-      # You can define own errors for models or model attributes.
-      # The values :model, :attribute and :value are always available for interpolation.
-      #
-      # For example,
-      #   models:
-      #     user:
-      #       blank: "This is a custom blank message for {{model}}: {{attribute}}"
-      #       attributes:
-      #         login:
-      #           blank: "This is a custom blank message for User login"
-      # Will define custom blank validation message for User model and 
-      # custom blank validation message for login attribute of User model.
-      # models:
-        
-    # Translate model names. Used in Model.human_name().
-    #models:
-      # For example,
-      #   user: "Dude"
-      # will translate User model name to "Dude"
-    
-    # Translate model attribute names. Used in Model.human_attribute_name(attribute).
-    #attributes:
-      # For example,
-      #   user:
-      #     login: "Handle"
-      # will translate User attribute "login" as "Handle"
-
 
-  date:
-    formats:
-      # Use the strftime parameters for formats.
-      # When no format has been given, it uses default.
-      # You can provide other formats here if you like!
-      default: "%d-%m-%Y"
-      short: "%d %b"
-      long: "%d %B %Y"
-      only_day: "%e"
-      
-    day_names: [Κυριακή, Δευτέρα, Τρίτη, Τετάρτη, Πέμπτη, Παρασκευή, Σάββατο]
-    abbr_day_names: [Κυρ, Δευ, Τρι, Τετ, Πεμ, Παρ, Σαβ]
-      
-    # Don't forget the nil at the beginning; there's no such thing as a 0th month
-    month_names: [~, Ιανοάριος, Φεβρουάριος, Μάρτιος, Απρίλιος, Μάιος, Ιούνιος, Ιούλιος, Άυγουστος, Σεπτέμβριος, Οκτώβριος, Νοέμβριος, Δεκέμβριος]
-    abbr_month_names: [~, Ιαν, Φεβ, Μάρ, Απρ, Μαι, Ιουν, Ιούλ, Αυγ, Σεπ, Οκτ, Νοε, Δεκ]
-    # Used in date_select and datime_select.
-    # original was: order: [ :year, :month, :day ] 
-    order: [ :day, :month, :year ]
-
-  time:
-    formats:
-      default: "%a %d %b %Y, %H:%M:%S %z"
-      time: "%H:%M"
-      short: "%d %b %H:%M"
-      long: "%d %B %Y %H:%M"
-      only_second: "%S"
-    am: "am"
-    pm: "pm"
-
-  datetime:
-    formats:
-      default: "%d-%m-%YT%H:%M:%S%Z"
-    
-
-# Used in array.to_sentence.
-  support:
-    array:
-      sentence_connector: "και"
-      skip_last_comma: false
diff --git a/sonar-server/src/main/webapp/WEB-INF/config/locales/defaults/en-AU.yml b/sonar-server/src/main/webapp/WEB-INF/config/locales/defaults/en-AU.yml
new file mode 100644 (file)
index 0000000..2eb397b
--- /dev/null
@@ -0,0 +1,180 @@
+# Australian English translations for Ruby on Rails
+
+"en-AU":
+  date:
+    formats:
+      default: "%d-%m-%Y"
+      short: "%b %d"
+      long: "%B %d, %Y"
+
+    day_names: [Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday]
+    abbr_day_names: [Sun, Mon, Tue, Wed, Thu, Fri, Sat]
+
+    month_names: [~, January, February, March, April, May, June, July, August, September, October, November, December]
+    abbr_month_names: [~, Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec]
+    order:
+      - :year
+      - :month
+      - :day
+
+  time:
+    formats:
+      default: "%a, %d %b %Y %H:%M:%S %z"
+      short: "%d %b %H:%M"
+      long: "%B %d, %Y %H:%M"
+    am: "am"
+    pm: "pm"
+
+  support:
+    array:
+      words_connector: ", "
+      two_words_connector: " and "
+      last_word_connector: ", and "
+
+    select:
+      prompt: "Please select"
+
+  number:
+    format:
+      separator: "."
+      delimiter: ","
+      precision: 3
+      significant: false
+      strip_insignificant_zeros: false
+
+    currency:
+      format:
+        format: "%u%n"
+        unit: "$"
+        separator: "."
+        delimiter: ","
+        precision: 2
+        significant: false
+        strip_insignificant_zeros: false
+
+    percentage:
+      format:
+        delimiter: ""
+
+    precision:
+      format:
+        delimiter: ""
+
+    human:
+      format:
+        delimiter: ""
+        precision: 3
+        significant: true
+        strip_insignificant_zeros: true
+      storage_units:
+        format: "%n %u"
+        units:
+          byte:
+            one:   "Byte"
+            other: "Bytes"
+          kb: "KB"
+          mb: "MB"
+          gb: "GB"
+          tb: "TB"
+      decimal_units:
+        format: "%n %u"
+        units:
+          unit: ""
+          thousand: Thousand
+          million: Million
+          billion: Billion
+          trillion: Trillion
+          quadrillion: Quadrillion
+
+  datetime:
+    distance_in_words:
+      half_a_minute: "half a minute"
+      less_than_x_seconds:
+        one:   "less than 1 second"
+        other: "less than %{count} seconds"
+      x_seconds:
+        one:   "1 second"
+        other: "%{count} seconds"
+      less_than_x_minutes:
+        one:   "less than a minute"
+        other: "less than %{count} minutes"
+      x_minutes:
+        one:   "1 minute"
+        other: "%{count} minutes"
+      about_x_hours:
+        one:   "about 1 hour"
+        other: "about %{count} hours"
+      x_days:
+        one:   "1 day"
+        other: "%{count} days"
+      about_x_months:
+        one:   "about 1 month"
+        other: "about %{count} months"
+      x_months:
+        one:   "1 month"
+        other: "%{count} months"
+      about_x_years:
+        one:   "about 1 year"
+        other: "about %{count} years"
+      over_x_years:
+        one:   "over 1 year"
+        other: "over %{count} years"
+      almost_x_years:
+        one:   "almost 1 year"
+        other: "almost %{count} years"
+    prompts:
+      year:   "Year"
+      month:  "Month"
+      day:    "Day"
+      hour:   "Hour"
+      minute: "Minute"
+      second: "Seconds"
+
+  helpers:
+    select:
+      prompt: "Please select"
+
+    submit:
+      create: 'Create %{model}'
+      update: 'Update %{model}'
+      submit: 'Save %{model}'
+
+  errors:
+    format: "%{attribute} %{message}"
+
+    messages: &errors_messages
+      inclusion: "is not included in the list"
+      exclusion: "is reserved"
+      invalid: "is invalid"
+      confirmation: "doesn't match confirmation"
+      accepted: "must be accepted"
+      empty: "can't be empty"
+      blank: "can't be blank"
+      too_long: "is too long (maximum is %{count} characters)"
+      too_short: "is too short (minimum is %{count} characters)"
+      wrong_length: "is the wrong length (should be %{count} characters)"
+      not_a_number: "is not a number"
+      not_an_integer: "must be an integer"
+      greater_than: "must be greater than %{count}"
+      greater_than_or_equal_to: "must be greater than or equal to %{count}"
+      equal_to: "must be equal to %{count}"
+      less_than: "must be less than %{count}"
+      less_than_or_equal_to: "must be less than or equal to %{count}"
+      odd: "must be odd"
+      even: "must be even"
+
+  activerecord:
+    errors:
+      template:
+        header:
+          one:    "1 error prohibited this %{model} from being saved"
+          other:  "%{count} errors prohibited this %{model} from being saved"
+        body: "There were problems with the following fields:"
+
+      messages:
+        taken: "has already been taken"
+        record_invalid: "Validation failed: %{errors}"
+        <<: *errors_messages
+
+      full_messages:
+        format: "%{attribute} %{message}"
diff --git a/sonar-server/src/main/webapp/WEB-INF/config/locales/defaults/en-GB.yml b/sonar-server/src/main/webapp/WEB-INF/config/locales/defaults/en-GB.yml
new file mode 100644 (file)
index 0000000..5bf1212
--- /dev/null
@@ -0,0 +1,180 @@
+# GB English translations for Ruby on Rails
+
+"en-GB":
+  date:
+    formats:
+      default: "%d-%m-%Y"
+      short: "%d %b"
+      long: "%d %B, %Y"
+
+    day_names: [Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday]
+    abbr_day_names: [Sun, Mon, Tue, Wed, Thu, Fri, Sat]
+
+    month_names: [~, January, February, March, April, May, June, July, August, September, October, November, December]
+    abbr_month_names: [~, Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec]
+    order:
+      - :day
+      - :month
+      - :year
+
+  time:
+    formats:
+      default: "%a, %d %b %Y %H:%M:%S %z"
+      short: "%d %b %H:%M"
+      long: "%d %B, %Y %H:%M"
+    am: "am"
+    pm: "pm"
+
+  support:
+    array:
+      words_connector: ", "
+      two_words_connector: " and "
+      last_word_connector: ", and "
+
+    select:
+      prompt: "Please select"
+
+  number:
+    format:
+      separator: "."
+      delimiter: ","
+      precision: 3
+      significant: false
+      strip_insignificant_zeros: false
+
+    currency:
+      format:
+        format: "%u%n"
+        unit: "£"
+        separator: "."
+        delimiter: ","
+        precision: 2
+        significant: false
+        strip_insignificant_zeros: false
+
+    percentage:
+      format:
+        delimiter: ""
+
+    precision:
+      format:
+        delimiter: ""
+
+    human:
+      format:
+        delimiter: ""
+        precision: 3
+        significant: true
+        strip_insignificant_zeros: true
+      storage_units:
+        format: "%n %u"
+        units:
+          byte:
+            one:   "Byte"
+            other: "Bytes"
+          kb: "KB"
+          mb: "MB"
+          gb: "GB"
+          tb: "TB"
+      decimal_units:
+        format: "%n %u"
+        units:
+          unit: ""
+          thousand: Thousand
+          million: Million
+          billion: Billion
+          trillion: Trillion
+          quadrillion: Quadrillion
+
+  datetime:
+    distance_in_words:
+      half_a_minute: "half a minute"
+      less_than_x_seconds:
+        one:   "less than 1 second"
+        other: "less than %{count} seconds"
+      x_seconds:
+        one:   "1 second"
+        other: "%{count} seconds"
+      less_than_x_minutes:
+        one:   "less than a minute"
+        other: "less than %{count} minutes"
+      x_minutes:
+        one:   "1 minute"
+        other: "%{count} minutes"
+      about_x_hours:
+        one:   "about 1 hour"
+        other: "about %{count} hours"
+      x_days:
+        one:   "1 day"
+        other: "%{count} days"
+      about_x_months:
+        one:   "about 1 month"
+        other: "about %{count} months"
+      x_months:
+        one:   "1 month"
+        other: "%{count} months"
+      about_x_years:
+        one:   "about 1 year"
+        other: "about %{count} years"
+      over_x_years:
+        one:   "over 1 year"
+        other: "over %{count} years"
+      almost_x_years:
+        one:   "almost 1 year"
+        other: "almost %{count} years"
+    prompts:
+      year:   "Year"
+      month:  "Month"
+      day:    "Day"
+      hour:   "Hour"
+      minute: "Minute"
+      second: "Seconds"
+
+  helpers:
+    select:
+      prompt: "Please select"
+
+    submit:
+      create: 'Create %{model}'
+      update: 'Update %{model}'
+      submit: 'Save %{model}'
+
+  errors:
+    format: "%{attribute} %{message}"
+
+    messages: &errors_messages
+      inclusion: "is not included in the list"
+      exclusion: "is reserved"
+      invalid: "is invalid"
+      confirmation: "doesn't match confirmation"
+      accepted: "must be accepted"
+      empty: "can't be empty"
+      blank: "can't be blank"
+      too_long: "is too long (maximum is %{count} characters)"
+      too_short: "is too short (minimum is %{count} characters)"
+      wrong_length: "is the wrong length (should be %{count} characters)"
+      not_a_number: "is not a number"
+      not_an_integer: "must be an integer"
+      greater_than: "must be greater than %{count}"
+      greater_than_or_equal_to: "must be greater than or equal to %{count}"
+      equal_to: "must be equal to %{count}"
+      less_than: "must be less than %{count}"
+      less_than_or_equal_to: "must be less than or equal to %{count}"
+      odd: "must be odd"
+      even: "must be even"
+
+  activerecord:
+    errors:
+      template:
+        header:
+          one:    "1 error prohibited this %{model} from being saved"
+          other:  "%{count} errors prohibited this %{model} from being saved"
+        body: "There were problems with the following fields:"
+
+      messages:
+        taken: "has already been taken"
+        record_invalid: "Validation failed: %{errors}"
+        <<: *errors_messages
+
+      full_messages:
+        format: "%{attribute} %{message}"
diff --git a/sonar-server/src/main/webapp/WEB-INF/config/locales/defaults/en-US.yml b/sonar-server/src/main/webapp/WEB-INF/config/locales/defaults/en-US.yml
new file mode 100644 (file)
index 0000000..645aefd
--- /dev/null
@@ -0,0 +1,182 @@
+# US English translations for Ruby on Rails
+#
+# Use this as the base for the locale file of your language.
+
+"en-US":
+  date:
+    formats:
+      default: "%Y-%m-%d"
+      short: "%b %d"
+      long: "%B %d, %Y"
+
+    day_names: [Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday]
+    abbr_day_names: [Sun, Mon, Tue, Wed, Thu, Fri, Sat]
+
+    month_names: [~, January, February, March, April, May, June, July, August, September, October, November, December]
+    abbr_month_names: [~, Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec]
+    order:
+      - :year
+      - :month
+      - :day
+
+  time:
+    formats:
+      default: "%a, %d %b %Y %H:%M:%S %z"
+      short: "%d %b %H:%M"
+      long: "%B %d, %Y %H:%M"
+    am: "am"
+    pm: "pm"
+
+  support:
+    array:
+      words_connector: ", "
+      two_words_connector: " and "
+      last_word_connector: ", and "
+
+    select:
+      prompt: "Please select"
+
+  number:
+    format:
+      separator: "."
+      delimiter: ","
+      precision: 3
+      significant: false
+      strip_insignificant_zeros: false
+
+    currency:
+      format:
+        format: "%u%n"
+        unit: "$"
+        separator: "."
+        delimiter: ","
+        precision: 2
+        significant: false
+        strip_insignificant_zeros: false
+
+    percentage:
+      format:
+        delimiter: ""
+
+    precision:
+      format:
+        delimiter: ""
+
+    human:
+      format:
+        delimiter: ""
+        precision: 3
+        significant: true
+        strip_insignificant_zeros: true
+      storage_units:
+        format: "%n %u"
+        units:
+          byte:
+            one:   "Byte"
+            other: "Bytes"
+          kb: "KB"
+          mb: "MB"
+          gb: "GB"
+          tb: "TB"
+      decimal_units:
+        format: "%n %u"
+        units:
+          unit: ""
+          thousand: Thousand
+          million: Million
+          billion: Billion
+          trillion: Trillion
+          quadrillion: Quadrillion
+
+  datetime:
+    distance_in_words:
+      half_a_minute: "half a minute"
+      less_than_x_seconds:
+        one:   "less than 1 second"
+        other: "less than %{count} seconds"
+      x_seconds:
+        one:   "1 second"
+        other: "%{count} seconds"
+      less_than_x_minutes:
+        one:   "less than a minute"
+        other: "less than %{count} minutes"
+      x_minutes:
+        one:   "1 minute"
+        other: "%{count} minutes"
+      about_x_hours:
+        one:   "about 1 hour"
+        other: "about %{count} hours"
+      x_days:
+        one:   "1 day"
+        other: "%{count} days"
+      about_x_months:
+        one:   "about 1 month"
+        other: "about %{count} months"
+      x_months:
+        one:   "1 month"
+        other: "%{count} months"
+      about_x_years:
+        one:   "about 1 year"
+        other: "about %{count} years"
+      over_x_years:
+        one:   "over 1 year"
+        other: "over %{count} years"
+      almost_x_years:
+        one:   "almost 1 year"
+        other: "almost %{count} years"
+    prompts:
+      year:   "Year"
+      month:  "Month"
+      day:    "Day"
+      hour:   "Hour"
+      minute: "Minute"
+      second: "Seconds"
+
+  helpers:
+    select:
+      prompt: "Please select"
+
+    submit:
+      create: 'Create %{model}'
+      update: 'Update %{model}'
+      submit: 'Save %{model}'
+
+  errors:
+    format: "%{attribute} %{message}"
+
+    messages: &errors_messages
+      inclusion: "is not included in the list"
+      exclusion: "is reserved"
+      invalid: "is invalid"
+      confirmation: "doesn't match confirmation"
+      accepted: "must be accepted"
+      empty: "can't be empty"
+      blank: "can't be blank"
+      too_long: "is too long (maximum is %{count} characters)"
+      too_short: "is too short (minimum is %{count} characters)"
+      wrong_length: "is the wrong length (should be %{count} characters)"
+      not_a_number: "is not a number"
+      not_an_integer: "must be an integer"
+      greater_than: "must be greater than %{count}"
+      greater_than_or_equal_to: "must be greater than or equal to %{count}"
+      equal_to: "must be equal to %{count}"
+      less_than: "must be less than %{count}"
+      less_than_or_equal_to: "must be less than or equal to %{count}"
+      odd: "must be odd"
+      even: "must be even"
+
+  activerecord:
+    errors:
+      template:
+        header:
+          one:    "1 error prohibited this %{model} from being saved"
+          other:  "%{count} errors prohibited this %{model} from being saved"
+        body: "There were problems with the following fields:"
+
+      messages:
+        taken: "has already been taken"
+        record_invalid: "Validation failed: %{errors}"
+        <<: *errors_messages
+
+      full_messages:
+        format: "%{attribute} %{message}"
diff --git a/sonar-server/src/main/webapp/WEB-INF/config/locales/defaults/eo.yml b/sonar-server/src/main/webapp/WEB-INF/config/locales/defaults/eo.yml
new file mode 100644 (file)
index 0000000..178d4ae
--- /dev/null
@@ -0,0 +1,182 @@
+# Esperanto translations for Ruby on Rails.
+# Contributors:
+# - Emmanuel Debanne (https://github.com/debanne)
+
+eo:
+  date:
+    formats:
+      default: "%Y/%m/%d"
+      short: "%e %b"
+      long: "%e %B %Y"
+    day_names: [dimanĉo, lundo, mardo, merkredo, ĵaŭdo, vendredo, sabato]
+    abbr_day_names: [dim, lun, mar, mer, ĵaŭ, ven, sam]
+    month_names: [~, januaro, februaro, marto, aprilo, majo, junio, julio, aŭgusto, septembro, oktobro, novembro, decembro]
+    abbr_month_names: [~, jan., feb., mar., apr., majo, jun., jul., aŭg., sep., okt., nov., dec.]
+    order:
+      - :day
+      - :month
+      - :year
+  
+  time:
+    formats:
+      default: "%d %B %Y %H:%M:%S"
+      short: "%d %b %H:%M"
+      long: "%A %d %B %Y %H:%M"
+    am: 'am'
+    pm: 'pm'
+  datetime:
+    distance_in_words:
+      half_a_minute: "duona minuto"
+      less_than_x_seconds:
+        zero: "malpli ol unu sekundo"
+        one: "malpli ol unu sekundo"
+        other: "malpli ol %{count} sekundoj"
+      x_seconds:
+        one: "1 sekundo"
+        other: "%{count} sekundoj"
+      less_than_x_minutes:
+        zero: "malpli ol unu minuto"
+        one: "malpli ol unu minuto"
+        other: "malpli ol %{count} minutoj"
+      x_minutes:
+        one: "1 minuto"
+        other: "%{count} minutoj"
+      about_x_hours:
+        one: "ĉirkaŭ unu horo"
+        other: "ĉirkaŭ %{count} horoj"
+      x_days:
+        one: "1 tago"
+        other: "%{count} tagoj"
+      about_x_months:
+        one: "ĉirkaŭ unu monato"
+        other: "ĉirkaŭ %{count} monatoj"
+      x_months:
+        one: "1 monato"
+        other: "%{count} monatoj"
+      about_x_years:
+        one: "ĉirkaŭ uno jaro"
+        other: "ĉirkaŭ %{count} jaroj"
+      over_x_years:
+        one: "pli ol unu jaro"
+        other: "pli ol %{count} jaroj"
+      almost_x_years:
+        one:   "preskaŭ unu jaro"
+        other: "preskaŭ %{count} jaroj"
+    prompts:
+      year: "Jaro"
+      month: "Monato"
+      day: "Tago"
+      hour: "Horo"
+      minute: "Minuto"
+      second: "Sekundo"
+  
+  number:
+    format:
+      separator: ","
+      delimiter: " "
+      precision: 3
+      significant: false
+      strip_insignificant_zeros: false
+    currency:
+      format:
+        format: "%n %u"
+        unit: "€"
+        separator: ","
+        delimiter: " "
+        precision: 2
+        significant: false
+        strip_insignificant_zeros: false
+    percentage:
+      format:
+        delimiter: ""
+    precision:
+      format:
+        delimiter: ""
+    human:
+      format:
+        delimiter: ""
+        precision: 2
+        significant: true
+        strip_insignificant_zeros: true
+      storage_units:
+        format: "%n %u"
+        units:
+          byte:
+            one: "bitoko"
+            other: "bitokoj"
+          kb: "kb"
+          mb: "Mb"
+          gb: "Gb"
+          tb: "Tb"
+      decimal_units:
+        format: "%n %u"
+        units:
+          unit: ""
+          thousand: "mil"
+          million: "miliono"
+          billion: "miliardo"
+          trillion: "mil miliardoj"
+          quadrillion: "miliono da miliardoj"
+
+  support:
+    array:
+      words_connector: ", "
+      two_words_connector: " kaj "
+      last_word_connector: " kaj "
+    select:
+      prompt: "Bonvolu elekti"
+
+  helpers:
+    select:
+      prompt: "Bonvolu elekti"
+    submit:
+      create: "Krei %{model}"
+      update: "Modifi tiun %{model}"
+      submit: "Registri tiun %{model}"
+
+  errors:
+    template: &errors_template
+      header:
+        one: "Ne eblas registri tiun %{model}: 1 eraro"
+        other: "Ne eblas registri tiun %{model}: %{count} eraroj"
+      body: "Kontrolu la jenajn kampojn: "
+
+  attributes:
+    created_at: "Kreita la"
+    updated_at: "Modifita la"
+
+  errors:
+    format: "%{attribute} %{message}"
+    messages: &errors_messages
+      inclusion: "ne estas inkluzivita de la listo"
+      exclusion: "ne estas disponebla"
+      invalid: "estas nevalida"
+      confirmation: "ne kongruas kun la konfirmo"
+      accepted: "devas esti akceptita"
+      empty: "devas esti kompletigita"
+      blank: "devas esti kompletigita"
+      too_long: "estas tro longa (maksimume %{count} karekteroj)"
+      too_short: "estas tro mallonga (minimume %{count} karakteroj)"
+      wrong_length: "ne estas je ĝusta longo (devas enhavi %{count} karakterojn)"
+      not_a_number: "ne estas nombro"
+      not_an_integer: "devas esti entjero"
+      greater_than: "devas superi %{count}"
+      greater_than_or_equal_to: "devas superi aŭ egali %{count}"
+      equal_to: "devas egali %{count}"
+      less_than: "devas malsuperi %{count}"
+      less_than_or_equal_to: "devas malsuperi aŭ egali %{count}"
+      odd: "devas esti nepara"
+      even: "devas esti para"
+
+  activerecord:
+    errors:
+      messages:
+        taken: "ne estas disponebla"
+        record_invalid: "Validado malsukcesis: %{errors}"
+        <<: *errors_messages
+      template:
+        <<: *errors_template
+      full_messages:
+        format: "%{attribute} %{message}"
old mode 100755 (executable)
new mode 100644 (file)
index 3f11db9..2fe807c
-"es-AR":
+es-AR:
+  number:
+    percentage:
+      format:
+        delimiter: ","
+    currency:
+      format:
+        format: "%u%n"
+        unit: "$"
+        separator: "."
+        delimiter: ","
+        precision: 2
+        significant: false
+        strip_insignificant_zeros: false
+    format:
+      delimiter: ","
+      precision: 2
+      significant: false
+      strip_insignificant_zeros: false
+      separator: "."
+    human:
+      format:
+        delimiter: ","
+        precision: 3
+        significant: true
+        strip_insignificant_zeros: true
+      storage_units:
+        format: "%n %u"
+        units:
+          byte:
+            one:   "Byte"
+            other: "Bytes"
+          kb: "KB"
+          mb: "MB"
+          gb: "GB"
+          tb: "TB"
+      decimal_units:
+        format: "%n %u"
+        units:
+          unit: ""
+          thousand: "Mil"
+          million: "Millón"
+          billion: "Mil Millones"
+          trillion: "Billón"
+          quadrillion: "Mil Billones"
+    precision:
+      format:
+        delimiter: ","
+
   date:
-    formats:
-      default: "%e/%m/%Y"
-      short: "%e %b"
-      long: "%e de %B de %Y"
-    day_names:
-    - domingo
-    - lunes
-    - martes
-    - "miércoles"
-    - jueves
-    - viernes
-    - "sábado"
-    abbr_day_names:
-    - dom
-    - lun
-    - mar
-    - mie
-    - jue
-    - vie
-    - sab
-    month_names:
-    -
-    - enero
-    - febrero
-    - marzo
-    - abril
-    - mayo
-    - junio
-    - julio
-    - agosto
-    - septiembre
-    - octubre
-    - noviembre
-    - diciembre
-    abbr_month_names:
-    -
-    - ene
-    - feb
-    - mar
-    - abr
-    - may
-    - jun
-    - jul
-    - ago
-    - set
-    - oct
-    - nov
-    - dic
     order:
-    - :day
-    - :month
-    - :year
+      - :day
+      - :month
+      - :year
+    abbr_day_names: [Dom, Lun, Mar, Mie, Jue, Vie, Sab]
+    abbr_month_names: [~, Ene, Feb, Mar, Abr, May, Jun, Jul, Ago, Sep, Oct, Nov, Dic]
+    day_names: [Domingo, Lunes, Martes, Miércoles, Jueves, Viernes, Sábado]
+    month_names: [~, Enero, Febrero, Marzo, Abril, Mayo, Junio, Julio, Agosto, Septiembre, Octubre, Noviembre, Diciembre]
+    formats:
+      short: "%d de %b"
+      default: "%d/%m/%Y"
+      long: "%A, %d de %B de %Y"
   time:
     formats:
-      default: "%A, %e de %B de %Y, %H:%M hs"
-      short: "%e/%m, %H:%M hs"
-      long: "%A, %e de %B de %Y, %H:%M hs"
-    am: am
-    pm: pm
+      short: "%d de %b a las %H:%M hrs"
+      default: "%a, %d de %b de %Y a las %H:%M:%S %Z"
+      long: "%A, %d de %B de %Y a las %I:%M %p"
+    am: "am"
+    pm: "pm"
+
+  support:
+    array:
+      words_connector: ", "
+      two_words_connector: " y "
+      last_word_connector: " y "
+
+    select:
+      prompt: "Por favor selecciona"
+
   datetime:
     distance_in_words:
-      half_a_minute: medio minuto
+      half_a_minute: "medio minuto"
       less_than_x_seconds:
-        zero: menos de 1 segundo
-        one: menos de 1 segundo
-        other: menos de {{count}} segundos
+        one: "menos de 1 segundo"
+        other: "menos de %{count} segundos"
       x_seconds:
-        one: 1 second
-        other: "{{count}} seconds"
+        one: "1 segundo"
+        other: "%{count} segundos"
       less_than_x_minutes:
-        zero: menos de 1 minuto
-        one: menos de 1 minuto
-        other: menos de {{count}} minutos
+        one: "menos de 1 minuto"
+        other: "menos de %{count} minutos"
       x_minutes:
-        one: 1 minuto
-        other: "{{count}} minutos"
+        one: "1 minuto"
+        other: "%{count} minutos"
       about_x_hours:
-        one: aproximadamente 1 hora
-        other: aproximadamente {{count}} horas
+        one: "cerca de 1 hora"
+        other: "cerca de %{count} horas"
       x_days:
         one: "1 día"
-        other: "{{count}} días"
+        other: "%{count} días"
       about_x_months:
-        one: aproximandamente 1 mes
-        other: aproximadamente {{count}} mes
+        one: "cerca de 1 mes"
+        other: "cerca de %{count} meses"
       x_months:
-        one: 1 month
-        other: "{{count}} mes"
+        one: "1 mes"
+        other: "%{count} meses"
       about_x_years:
-        one: "aproximadamente 1 año"
-        other: "aproximadamente {{count}} años"
+        other: "cerca de %{count} años"
+        one: "cerca de 1 año"
       over_x_years:
         one: "más de 1 año"
-        other: "más de {{count}} años"
+        other: "más de %{count} años"
+      almost_x_years:
+        one:   "casi 1 año"
+        other: "casi %{count} años"
     prompts:
-      year:   "Año"
-      month:  "Mes"
-      day:    "Día"
-      hour:   "Hora"
-      minute: "Minuto"
-      second: "Segundos"
-        
-  number:
-    percentage:
-      format:
-        delimiter: "."
-    precision:
-      format:
-        delimiter: "."
-    human:
-      format:
-        delimiter: "."
-        precision: "2"
-      storage_units:
-        format: "%n %u"
-        units:
-          byte:
-            one:   "byte"
-            other: "bytes"
-          kb: "KB"
-          mb: "MB"
-          gb: "GB"
-          tb: "TB"
-    format:
-      precision: 3
-      separator: ","
-      delimiter: .
-    currency:
-      format:
-        unit: $
-        precision: 2
-        format: "%u %n"
-        separator: ","
-        delimiter: "."
+      year: 'Año'
+      month: 'Mes'
+      day: 'Día'
+      hour: 'Hora'
+      minute: 'Minuto'
+      second: 'Segundos'
+
+  helpers:
+    select:
+      prompt: "Por favor selecciona"
+
+    submit:
+      create: 'Crear %{model}'
+      update: 'Actualizar %{model}'
+      submit: 'Guardar %{model}'
+
+  errors:
+      format: "%{attribute} %{message}"
+
+      messages: &errors_messages
+        inclusion: "no está incluído en la lista"
+        exclusion: "está reservado"
+        invalid: "es inválido"
+        confirmation: "no coincide con la confirmación"
+        blank: "no puede estar en blanco"
+        empty: "no puede estar vacío"
+        not_a_number: "no es un número"
+        not_an_integer: "debe ser un entero"
+        less_than: "debe ser menor que %{count}"
+        less_than_or_equal_to: "debe ser menor o igual que %{count}"
+        greater_than: "debe ser mayor que %{count}"
+        greater_than_or_equal_to: "debe ser mayor o igual que %{count}"
+        too_short:
+          one: "es demasiado corto (mínimo 1 caracter)"
+          other: "es demasiado corto (mínimo %{count} caracteres)"
+        too_long:
+          one: "es demasiado largo (máximo 1 caracter)"
+          other: "es demasiado largo (máximo %{count} caracteres)"
+        equal_to: "debe ser igual a %{count}"
+        wrong_length:
+          one: "longitud errónea (debe ser de 1 caracter)"
+          other: "longitud errónea (debe ser de %{count} caracteres)"
+        accepted: "debe ser aceptado"
+        even: "debe ser un número par"
+        odd: "debe ser un número non"
+
   activerecord:
     errors:
       template:
         header:
-          one: "Un error ocurrió al guardar tus datos."
-          other: "{{count}} errores ocurrieron al guardar tus datos."
-        body: "Los siguientes campos presentan problemas:"
+          one: "%{model} no pudo guardarse debido a 1 error"
+          other: "%{model} no pudo guardarse debido a %{count} errores"
+        body: "Revise que los siguientes campos sean válidos:"
+
       messages:
-        inclusion: "no está incluido en la lista"
-        exclusion: "no está disponible"
-        invalid: "no es válido"
-        confirmation: "no coincide con la confirmación"
-        accepted: debe ser aceptado
-        empty: "no puede estar vacío"
-        blank: no puede estar en blanco
-        too_long: "es demasiado largo (el máximo es de {{count}} caracteres)"
-        too_short: "es demasiado corto (el mínimo es de {{count}} caracteres)"
-        wrong_length: "no posee el largo correcto (debería ser de {{count}} caracteres)"
-        taken: "no está disponible"
-        not_a_number: "no es un número"
-        greater_than: debe ser mayor a {{count}}
-        greater_than_or_equal_to: debe ser mayor o igual a {{count}}
-        equal_to: debe ser igual a {{count}}
-        less_than: debe ser menor que {{count}}
-        less_than_or_equal_to: debe ser menor o igual que {{count}}
-        odd: debe ser par
-        even: debe ser impar
-  support:
-    array:
-      words_connector: ", "
-      two_words_connector: " y "
-      last_word_connector: " y "
\ No newline at end of file
+        taken: "ya ha sido tomado"
+        record_invalid: "La validación falló: %{errors}"
+        <<: *errors_messages
+
+      full_messages:
+        format: "%{attribute} %{message}"
diff --git a/sonar-server/src/main/webapp/WEB-INF/config/locales/defaults/es-CL.yml b/sonar-server/src/main/webapp/WEB-INF/config/locales/defaults/es-CL.yml
new file mode 100644 (file)
index 0000000..6c8fd25
--- /dev/null
@@ -0,0 +1,183 @@
+# Spanish translations for Rails as spoken in Chile
+# Based in the original Spanish translation by Francisco Fernando García Nieto
+# and Tsutomu Kuroda
+
+es-CL:
+  date:
+    formats:
+      default: "%d/%m/%Y"
+      short: "%d de %b"
+      long: "%A %d de %B de %Y"
+
+    day_names: [Domingo, Lunes, Martes, Miércoles, Jueves, Viernes, Sábado]
+    abbr_day_names: [Dom, Lun, Mar, Mie, Jue, Vie, Sab]
+
+    month_names: [~, Enero, Febrero, Marzo, Abril, Mayo, Junio, Julio, Agosto, Septiembre, Octubre, Noviembre, Diciembre]
+    abbr_month_names: [~, Ene, Feb, Mar, Abr, May, Jun, Jul, Ago, Sep, Oct, Nov, Dic]
+    order:
+      - :day
+      - :month
+      - :year
+
+  time:
+    formats:
+      default: "%A, %d de %B de %Y %H:%M:%S %z"
+      short: "%d de %b %H:%M"
+      long: "%A %d de %B de %Y %H:%M"
+    am: "am"
+    pm: "pm"
+
+  support:
+    array:
+      words_connector: ", "
+      two_words_connector: " y "
+      last_word_connector: ", y "
+
+    select:
+      prompt: "Por favor seleccione"
+
+  number:
+    format:
+      separator: ","
+      delimiter: "."
+      precision: 3
+      significant: false
+      strip_insignificant_zeros: false
+
+    currency:
+      format:
+        format: "%u %n"
+        unit: "$"
+        separator: ","
+        delimiter: "."
+        precision: 0
+        significant: false
+        strip_insignificant_zeros: false
+
+    percentage:
+      format:
+        delimiter: ""
+
+    precision:
+      format:
+        delimiter: ""
+
+    human:
+      format:
+        delimiter: ""
+        precision: 1
+        significant: true
+        strip_insignificant_zeros: true
+      storage_units:
+        format: "%n %u"
+        units:
+          byte:
+            one:   "Byte"
+            other: "Bytes"
+          kb: "KB"
+          mb: "MB"
+          gb: "GB"
+          tb: "TB"
+      decimal_units:
+        format: "%n %u"
+        units:
+          unit: ""
+          thousand: "Mil"
+          million: "Millón"
+          billion: "Mil millones"
+          trillion: "Trillón"
+          quadrillion: "Cuatrillón"
+
+  datetime:
+    distance_in_words:
+      half_a_minute: "medio minuto"
+      less_than_x_seconds:
+        one:  "menos de 1 segundo"
+        other: "menos de %{count} segundos"
+      x_seconds:
+        one:  "1 segundo"
+        other: "%{count} segundos"
+      less_than_x_minutes:
+        one:  "menos de 1 minuto"
+        other: "menos de %{count} minutos"
+      x_minutes:
+        one:  "1 minuto"
+        other: "%{count} minutos"
+      about_x_hours:
+        one:  "alrededor de 1 hora"
+        other: "alrededor de %{count} horas"
+      x_days:
+        one:  "1 día"
+        other: "%{count} días"
+      about_x_months:
+        one:  "alrededor de 1 mes"
+        other: "alrededor de %{count} meses"
+      x_months:
+        one:  "1 mes"
+        other: "%{count} meses"
+      about_x_years:
+        one:  "alrededor de 1 año"
+        other: "alrededor de %{count} años"
+      over_x_years:
+        one:  "más de 1 año"
+        other: "más de %{count} años"
+      almost_x_years:
+        one: "casi 1 año"
+        other: "casi %{count} años"
+    prompts:
+      year:   "Año"
+      month:  "Mes"
+      day:    "Día"
+      hour:   "Hora"
+      minute: "Minutos"
+      second: "Segundos"
+
+  helpers:
+    select:
+      prompt: "Por favor seleccione"
+
+    submit:
+      create: 'Guardar %{model}'
+      update: 'Actualizar %{model}'
+      submit: 'Guardar %{model}'
+
+  errors:
+    format: "%{attribute} %{message}"
+
+    messages: &errors_messages
+      inclusion: "no está incluido en la lista"
+      exclusion: "está reservado"
+      invalid: "no es válido"
+      confirmation: "no coincide con la confirmación"
+      accepted: "debe ser aceptado"
+      empty: "no puede estar vacío"
+      blank: "no puede estar en blanco"
+      too_long: "es demasiado largo (%{count} caracteres máximo)"
+      too_short: "es demasiado corto (%{count} caracteres mínimo)"
+      wrong_length: "no tiene la longitud correcta (%{count} caracteres exactos)"
+      not_a_number: "no es un número"
+      not_an_integer: "debe ser un entero"
+      greater_than: "debe ser mayor que %{count}"
+      greater_than_or_equal_to: "debe ser mayor que o igual a %{count}"
+      equal_to: "debe ser igual a %{count}"
+      less_than: "debe ser menor que %{count}"
+      less_than_or_equal_to: "debe ser menor que o igual a %{count}"
+      odd: "debe ser impar"
+      even: "debe ser par"
+
+  activerecord:
+    errors:
+      template:
+        header:
+          one:   "No se pudo guardar este/a %{model} porque se encontró 1 error"
+          other:  "No se pudo guardar este/a %{model} porque se encontraron %{count} errores"
+        # The variable :count is also available
+        body: "Se encontraron problemas con los siguientes campos:"
+
+      messages:
+        taken: "ya está en uso"
+        record_invalid: "La validación falló: %{errors}"
+        <<: *errors_messages
+
+      full_messages:
+        format: "%{attribute} %{message}"
diff --git a/sonar-server/src/main/webapp/WEB-INF/config/locales/defaults/es-CO.yml b/sonar-server/src/main/webapp/WEB-INF/config/locales/defaults/es-CO.yml
new file mode 100644 (file)
index 0000000..950a12b
--- /dev/null
@@ -0,0 +1,179 @@
+# Spanish as spoken in Colombia (es-CO) translations for Rails
+
+es-CO:
+  number:
+    percentage:
+      format:
+        delimiter: ","
+    currency:
+      format:
+        format: "%u%n"
+        unit: "$"
+        separator: "."
+        delimiter: ","
+        precision: 0
+        significant: false
+        strip_insignificant_zeros: false
+    format:
+      delimiter: ","
+      precision: 2
+      significant: false
+      strip_insignificant_zeros: false
+      separator: "."
+    human:
+      format:
+        delimiter: ","
+        precision: 3
+        significant: true
+        strip_insignificant_zeros: true
+      storage_units:
+        format: "%n %u"
+        units:
+          byte:
+            one:   "Byte"
+            other: "Bytes"
+          kb: "KB"
+          mb: "MB"
+          gb: "GB"
+          tb: "TB"
+      decimal_units:
+        format: "%n %u"
+        units:
+          unit: ""
+          thousand: "Mil"
+          million: "Millón"
+          billion: "Billón"
+          trillion: "Trillón"
+          quadrillion: "Cuatrillón"
+    precision:
+      format:
+        delimiter: ","
+
+  date:
+    order:
+      - :day
+      - :month
+      - :year
+    abbr_day_names: [Dom, Lun, Mar, Mie, Jue, Vie, Sab]
+    abbr_month_names: [~, Ene, Feb, Mar, Abr, May, Jun, Jul, Ago, Sep, Oct, Nov, Dic]
+    day_names: [Domingo, Lunes, Martes, Miércoles, Jueves, Viernes, Sábado]
+    month_names: [~, Enero, Febrero, Marzo, Abril, Mayo, Junio, Julio, Agosto, Septiembre, Octubre, Noviembre, Diciembre]
+    formats:
+      short: "%d de %b"
+      default: "%d/%m/%Y"
+      long: "%A, %d de %B de %Y"
+  time:
+    formats:
+      short: "%d de %b a las %H:%M hrs"
+      default: "%a, %d de %b de %Y a las %H:%M:%S %Z"
+      long: "%A, %d de %B de %Y a las %I:%M %p"
+    am: "am"
+    pm: "pm"
+
+  support:
+    array:
+      words_connector: ", "
+      two_words_connector: " y "
+      last_word_connector: " y "
+
+    select:
+      prompt: "Por favor selecciona"
+
+  datetime:
+    distance_in_words:
+      half_a_minute: "medio minuto"
+      less_than_x_seconds:
+        one: "menos de 1 segundo"
+        other: "menos de %{count} segundos"
+      x_seconds:
+        one: "1 segundo"
+        other: "%{count} segundos"
+      less_than_x_minutes:
+        one: "menos de 1 minuto"
+        other: "menos de %{count} minutos"
+      x_minutes:
+        one: "1 minuto"
+        other: "%{count} minutos"
+      about_x_hours:
+        one: "cerca de 1 hora"
+        other: "cerca de %{count} horas"
+      x_days:
+        one: "1 día"
+        other: "%{count} días"
+      about_x_months:
+        one: "cerca de 1 mes"
+        other: "cerca de %{count} meses"
+      x_months:
+        one: "1 mes"
+        other: "%{count} meses"
+      about_x_years:
+        other: "cerca de %{count} años"
+        one: "cerca de 1 año"
+      over_x_years:
+        one: "más de 1 año"
+        other: "más de %{count} años"
+      almost_x_years:
+        one:   "casi 1 año"
+        other: "casi %{count} años"
+    prompts:
+      year: 'Año'
+      month: 'Mes'
+      day: 'Día'
+      hour: 'Hora'
+      minute: 'Minuto'
+      second: 'Segundos'
+
+  helpers:
+    select:
+      prompt: "Por favor selecciona"
+
+    submit:
+      create: 'Crear %{model}'
+      update: 'Actualizar %{model}'
+      submit: 'Guardar %{model}'
+
+  errors:
+      format: "%{attribute} %{message}"
+
+      messages: &errors_messages
+        inclusion: "no está incluído en la lista"
+        exclusion: "está reservado"
+        invalid: "es inválido"
+        confirmation: "no coincide con la confirmación"
+        blank: "no puede estar en blanco"
+        empty: "no puede estar vacío"
+        not_a_number: "no es un número"
+        not_an_integer: "debe ser un entero"
+        less_than: "debe ser menor que %{count}"
+        less_than_or_equal_to: "debe ser menor o igual que %{count}"
+        greater_than: "debe ser mayor que %{count}"
+        greater_than_or_equal_to: "debe ser mayor o igual que %{count}"
+        too_short:
+          one: "es demasiado corto (mínimo 1 caracter)"
+          other: "es demasiado corto (mínimo %{count} caracteres)"
+        too_long:
+          one: "es demasiado largo (máximo 1 caracter)"
+          other: "es demasiado largo (máximo %{count} caracteres)"
+        equal_to: "debe ser igual a %{count}"
+        wrong_length:
+          one: "longitud errónea (debe ser de 1 caracter)"
+          other: "longitud errónea (debe ser de %{count} caracteres)"
+        accepted: "debe ser aceptado"
+        even: "debe ser un número par"
+        odd: "debe ser un número impar"
+
+  activerecord:
+    errors:
+      template:
+        header:
+          one: "%{model} no pudo guardarse debido a 1 error"
+          other: "%{model} no pudo guardarse debido a %{count} errores"
+        body: "Revise que los siguientes campos sean válidos:"
+
+      messages:
+        taken: "ya ha sido tomado"
+        record_invalid: "La validación falló: %{errors}"
+        <<: *errors_messages
+
+      full_messages:
+        format: "%{attribute} %{message}"
old mode 100755 (executable)
new mode 100644 (file)
index 99728ba..3f6d35d
@@ -1,32 +1,66 @@
 # Spanish as spoken in Mexico (es-MX) translations for Rails
 # by Edgar J. Suárez (edgar.js@gmail.com)
+# Fixed currency format (Can't convert string to symbol)
+# by Ivan Torres (mexpolk@gmail.com)
+# Added datetime / prompts for time_select helper
+# by Daniel Roux ( daniel.roux@gmail.com)
+# Added missing translations for Rails 2 and 3
+# by Carlos González ( carlosdavid.gonzalez@gmail.com)
 
 es-MX:
   number:
     percentage:
       format:
-        delimiter: ""
+        delimiter: ","
     currency:
-      format: "%u%n"
-      delimiter: ","
-      unit: "$"
-      precision: 2
-      separator: "."
+      format:
+        format: "%u%n"
+        unit: "$"
+        separator: "."
+        delimiter: ","
+        precision: 2
+        significant: false
+        strip_insignificant_zeros: false
     format:
       delimiter: ","
-      precision: 3
+      precision: 2
+      significant: false
+      strip_insignificant_zeros: false
       separator: "."
     human:
       format:
-        delimiter: ""
-        precision: 1
-      storage_units: [Bytes, KB, MB, GB, TB]
+        delimiter: ","
+        precision: 3
+        significant: true
+        strip_insignificant_zeros: true
+      storage_units:
+        format: "%n %u"
+        units:
+          byte:
+            one:   "Byte"
+            other: "Bytes"
+          kb: "KB"
+          mb: "MB"
+          gb: "GB"
+          tb: "TB"
+      decimal_units:
+        format: "%n %u"
+        units:
+          unit: ""
+          thousand: "Mil"
+          million: "Millón"
+          billion: "Mil millones"
+          trillion: "Trillón"
+          quadrillion: "Cuatrillón"
     precision:
       format:
-        delimiter: ""
+        delimiter: ","
 
   date:
-    order: [:day, :month, :year]
+    order:
+      - :day
+      - :month
+      - :year
     abbr_day_names: [Dom, Lun, Mar, Mie, Jue, Vie, Sab]
     abbr_month_names: [~, Ene, Feb, Mar, Abr, May, Jun, Jul, Ago, Sep, Oct, Nov, Dic]
     day_names: [Domingo, Lunes, Martes, Miércoles, Jueves, Viernes, Sábado]
@@ -43,71 +77,110 @@ es-MX:
     am: "am"
     pm: "pm"
 
+  support:
+    array:
+      words_connector: ", "
+      two_words_connector: " y "
+      last_word_connector: " y "
+
+    select:
+      prompt: "Por favor selecciona"
+
   datetime:
     distance_in_words:
       half_a_minute: "medio minuto"
       less_than_x_seconds:
         one: "menos de 1 segundo"
-        other: "menos de {{count}} segundos"
+        other: "menos de %{count} segundos"
       x_seconds:
         one: "1 segundo"
-        other: "{{count}} segundos"
+        other: "%{count} segundos"
       less_than_x_minutes:
         one: "menos de 1 minuto"
-        other: "menos de {{count}} minutos"
+        other: "menos de %{count} minutos"
       x_minutes:
         one: "1 minuto"
-        other: "{{count}} minutos"
+        other: "%{count} minutos"
       about_x_hours:
         one: "cerca de 1 hora"
-        other: "cerca de {{count}} horas"
+        other: "cerca de %{count} horas"
       x_days:
         one: "1 día"
-        other: "{{count}} días"
+        other: "%{count} días"
       about_x_months:
         one: "cerca de 1 mes"
-        other: "cerca de {{count}} meses"
+        other: "cerca de %{count} meses"
       x_months:
         one: "1 mes"
-        other: "{{count}} meses"
+        other: "%{count} meses"
       about_x_years:
-        other: "cerca de {{count}} años"
+        other: "cerca de %{count} años"
         one: "cerca de 1 año"
       over_x_years:
         one: "más de 1 año"
-        other: "más de {{count}} años"
+        other: "más de %{count} años"
+      almost_x_years:
+        one:   "casi 1 año"
+        other: "casi %{count} años"
+    prompts:
+      year: 'Año'
+      month: 'Mes'
+      day: 'Día'
+      hour: 'Hora'
+      minute: 'Minuto'
+      second: 'Segundos'
 
-  activerecord:
-    errors:
-      template:
-        header:
-          one: "{{model}} no pudo guardarse debido a 1 error"
-          other: "{{model}} no pudo guardarse debido a {{count}} errores"
-        body: "Revise que los siguientes campos sean válidos:"
-      messages:
+  helpers:
+    select:
+      prompt: "Por favor selecciona"
+
+    submit:
+      create: 'Crear %{model}'
+      update: 'Actualizar %{model}'
+      submit: 'Guardar %{model}'
+
+  errors:
+      format: "%{attribute} %{message}"
+
+      messages: &errors_messages
         inclusion: "no está incluído en la lista"
         exclusion: "está reservado"
         invalid: "es inválido"
-        invalid_date: "es una fecha inválida"
         confirmation: "no coincide con la confirmación"
         blank: "no puede estar en blanco"
         empty: "no puede estar vacío"
         not_a_number: "no es un número"
-        taken: "ya ha sido tomado"
-        less_than: "debe ser menor que {{count}}"
-        less_than_or_equal_to: "debe ser menor o igual que {{count}}"
-        greater_than: "debe ser mayor que {{count}}"
-        greater_than_or_equal_to: "debe ser mayor o igual que {{count}}"
+        not_an_integer: "debe ser un entero"
+        less_than: "debe ser menor que %{count}"
+        less_than_or_equal_to: "debe ser menor o igual que %{count}"
+        greater_than: "debe ser mayor que %{count}"
+        greater_than_or_equal_to: "debe ser mayor o igual que %{count}"
         too_short:
           one: "es demasiado corto (mínimo 1 caracter)"
-          other: "es demasiado corto (mínimo {{count}} caracteres)"
+          other: "es demasiado corto (mínimo %{count} caracteres)"
         too_long:
           one: "es demasiado largo (máximo 1 caracter)"
-          other: "es demasiado largo (máximo {{count}} caracteres)"
-        equal_to: "debe ser igual a {{count}}"
+          other: "es demasiado largo (máximo %{count} caracteres)"
+        equal_to: "debe ser igual a %{count}"
         wrong_length:
           one: "longitud errónea (debe ser de 1 caracter)"
-          other: "longitud errónea (debe ser de {{count}} caracteres)"
+          other: "longitud errónea (debe ser de %{count} caracteres)"
         accepted: "debe ser aceptado"
         even: "debe ser un número par"
         odd: "debe ser un número non"
+
+  activerecord:
+    errors:
+      template:
+        header:
+          one: "%{model} no pudo guardarse debido a 1 error"
+          other: "%{model} no pudo guardarse debido a %{count} errores"
+        body: "Revise que los siguientes campos sean válidos:"
+
+      messages:
+        taken: "ya ha sido tomado"
+        record_invalid: "La validación falló: %{errors}"
+        <<: *errors_messages
+
+      full_messages:
+        format: "%{attribute} %{message}"
diff --git a/sonar-server/src/main/webapp/WEB-INF/config/locales/defaults/es-PE.yml b/sonar-server/src/main/webapp/WEB-INF/config/locales/defaults/es-PE.yml
new file mode 100644 (file)
index 0000000..356546a
--- /dev/null
@@ -0,0 +1,124 @@
+# Spanish as spoken in Perú (es-PE) translations for Rails
+# by Peter Baker (pcbaker@gmail.com)
+# modificado por CCP
+
+es-PE:
+  number:
+    percentage:
+      format:
+        delimiter: ","
+    currency:
+      format: # Nuevos Soles
+        format: "%u%n"
+        unit: "S./"
+    format:
+      delimiter: ","
+      precision: 2
+      separator: "."
+    human:
+      format:
+        delimiter: ","
+      storage_units: [Bytes, KB, MB, GB, TB]
+    precision:
+      format:
+        delimiter: ","
+
+  date:
+    order:
+      - :day
+      - :month
+      - :year
+    abbr_day_names: [Dom, Lun, Mar, Mie, Jue, Vie, Sab]
+    abbr_month_names: [~, Ene, Feb, Mar, Abr, May, Jun, Jul, Ago, Sep, Oct, Nov, Dic]
+    day_names: [Domingo, Lunes, Martes, Miércoles, Jueves, Viernes, Sábado]
+    month_names: [~, Enero, Febrero, Marzo, Abril, Mayo, Junio, Julio, Agosto, Septiembre, Octubre, Noviembre, Diciembre]
+    formats:
+      month_and_year: "%B %Y"
+      date_and_day: "%A %d"
+      short: "%d de %b"
+      default: "%d/%m/%Y"
+      long: "%A, %d de %B del %Y"
+  time:
+    formats:
+      short: "%d de %b a las %H:%M hrs"
+      short_with_year: "%d %b %Y"
+      default: "%a, %d de %b del %Y a las %H:%M:%S %Z"
+      long: "%A, %d de %B del %Y a las %I:%M %p"
+    am: "am"
+    pm: "pm"
+
+  datetime:
+    distance_in_words:
+      half_a_minute: "medio minuto"
+      less_than_x_seconds:
+        one: "menos de 1 segundo"
+        other: "menos de {{count}} segundos"
+      x_seconds:
+        one: "1 segundo"
+        other: "{{count}} segundos"
+      less_than_x_minutes:
+        one: "menos de 1 minuto"
+        other: "menos de {{count}} minutos"
+      x_minutes:
+        one: "1 minuto"
+        other: "{{count}} minutos"
+      about_x_hours:
+        one: "cerca de 1 hora"
+        other: "cerca de {{count}} horas"
+      x_days:
+        one: "1 día"
+        other: "{{count}} días"
+      about_x_months:
+        one: "cerca de 1 mes"
+        other: "cerca de {{count}} meses"
+      x_months:
+        one: "1 mes"
+        other: "{{count}} meses"
+      about_x_years:
+        other: "cerca de {{count}} años"
+        one: "cerca de 1 año"
+      over_x_years:
+        one: "más de 1 año"
+        other: "más de {{count}} años"
+    prompts:
+      hour: 'Hora'
+      minute: 'Minuto'
+      second: 'Segundo'        
+
+  # Active Record
+
+  activerecord:
+    errors:
+      template:
+        header:
+          one: "{{model}} no pudo guardarse debido a 1 error"
+          other: "{{model}} no pudo guardarse debido a {{count}} errores"
+        body: "Revise que los siguientes campos sean válidos:"
+      messages:
+        record_invalid: "Falla de validación: {{errors}}"
+        inclusion: "no está incluído en la lista"
+        exclusion: "está reservado"
+        invalid: "es inválido"
+        invalid_date: "es una fecha inválida"
+        confirmation: "no coincide con la confirmación"
+        accepted: "debe ser aceptado"
+        blank: "no puede estar en blanco"
+        empty: "no puede estar vacío"
+        not_a_number: "no es un número"
+        taken: "ya ha sido tomado"
+        less_than: "debe ser menor que {{count}}"
+        less_than_or_equal_to: "debe ser menor o igual que {{count}}"
+        greater_than: "debe ser mayor que {{count}}"
+        greater_than_or_equal_to: "debe ser mayor o igual que {{count}}"
+        too_short:
+          one: "es demasiado corto (mínimo 1 caracter)"
+          other: "es demasiado corto (mínimo {{count}} caracteres)"
+        too_long:
+          one: "es demasiado largo (máximo 1 caracter)"
+          other: "es demasiado largo (máximo {{count}} caracteres)"
+        equal_to: "debe ser igual a {{count}}"
+        wrong_length:
+          one: "longitud errónea (debe ser de 1 caracter)"
+          other: "longitud errónea (debe ser de {{count}} caracteres)"
+        even: "debe ser un número par"
+        odd: "debe ser un número non"
\ No newline at end of file
old mode 100755 (executable)
new mode 100644 (file)
index 9bfa744..c65ea7b
@@ -1,55 +1,74 @@
 # Spanish translations for Rails
 # by Francisco Fernando García Nieto (ffgarcianieto@gmail.com)
+# contributors:
+#  - Tsutomu Kuroda - http://github.com/kuroda (t-kuroda@oiax.jp)
+
+"es":
+  date:
+    formats:
+      default: "%d/%m/%Y"
+      short: "%d de %b"
+      long: "%d de %B de %Y"
+
+    day_names: [Domingo, Lunes, Martes, Miércoles, Jueves, Viernes, Sábado]
+    abbr_day_names: [Dom, Lun, Mar, Mie, Jue, Vie, Sab]
+
+    month_names: [~, Enero, Febrero, Marzo, Abril, Mayo, Junio, Julio, Agosto, Septiembre, Octubre, Noviembre, Diciembre]
+    abbr_month_names: [~, Ene, Feb, Mar, Abr, May, Jun, Jul, Ago, Sep, Oct, Nov, Dic]
+    order:
+      - :day
+      - :month
+      - :year
+
+  time:
+    formats:
+      default: "%A, %d de %B de %Y %H:%M:%S %z"
+      short: "%d de %b %H:%M"
+      long: "%d de %B de %Y %H:%M"
+    am: "am"
+    pm: "pm"
+
+  support:
+    array:
+      words_connector: ", "
+      two_words_connector: " y "
+      last_word_connector: ", y "
+
+    select:
+      prompt: "Por favor seleccione"
 
-es:
   number:
-    # Used in number_with_delimiter()
-    # These are also the defaults for 'currency', 'percentage', 'precision', and 'human'
     format:
-      # Sets the separator between the units, for more precision (e.g. 1.0 / 2.0 == 0.5)
-      separator: "," 
-      # Delimets thousands (e.g. 1,000,000 is a million) (always in groups of three)
-      delimiter: "." 
-      # Number of decimals, behind the separator (1 with a precision of 2 gives: 1.00)
+      separator: "."
+      delimiter: ","
       precision: 3
+      significant: false
+      strip_insignificant_zeros: false
 
-    # Used in number_to_currency()
     currency:
       format:
-        # Where is the currency sign? %u is the currency unit, %n the number (default: $5.00)
-        format: "%n %u" 
-        unit: "€" 
-        # These three are to override number.format and are optional
-        separator: "," 
-        delimiter: "." 
+        format: "%n %u"
+        unit: "€"
+        separator: "."
+        delimiter: ","
         precision: 2
+        significant: false
+        strip_insignificant_zeros: false
 
-    # Used in number_to_percentage()
     percentage:
       format:
-        # These three are to override number.format and are optional
-        # separator: 
-        delimiter: "" 
-        # precision: 
+        delimiter: ""
 
-    # Used in number_to_precision()
     precision:
       format:
-        # These three are to override number.format and are optional
-        # separator:
-        delimiter: "" 
-        # precision:
+        delimiter: ""
 
-    # Used in number_to_human_size()
     human:
       format:
-        # These three are to override number.format and are optional
-        # separator: 
-        delimiter: "" 
+        delimiter: ""
         precision: 1
-      # Rails <= v2.2.2
-      # storage_units: [Bytes, KB, MB, GB, TB]
-      # Rails >= v2.3
+        significant: true
+        strip_insignificant_zeros: true
       storage_units:
         format: "%n %u"
         units:
@@ -60,114 +79,106 @@ es:
           mb: "MB"
           gb: "GB"
           tb: "TB"
+      decimal_units:
+        format: "%n %u"
+        units:
+          unit: ""
+          thousand: "Mil"
+          million: "Millón"
+          billion: "Mil millones"
+          trillion: "Trillón"
+          quadrillion: "Cuatrillón"
 
-  # Used in distance_of_time_in_words(), distance_of_time_in_words_to_now(), time_ago_in_words()
   datetime:
     distance_in_words:
-      half_a_minute: "medio minuto" 
+      half_a_minute: "medio minuto"
       less_than_x_seconds:
-        one:  "menos de 1 segundo" 
-        other: "menos de {{count}} segundos"
+        one:  "menos de 1 segundo"
+        other: "menos de %{count} segundos"
       x_seconds:
-        one:  "1 segundo" 
-        other: "{{count}} segundos" 
+        one:  "1 segundo"
+        other: "%{count} segundos"
       less_than_x_minutes:
-        one:  "menos de 1 minuto" 
-        other: "menos de {{count}} minutos" 
+        one:  "menos de 1 minuto"
+        other: "menos de %{count} minutos"
       x_minutes:
-        one:  "1 minuto" 
-        other: "{{count}} minutos" 
+        one:  "1 minuto"
+        other: "%{count} minutos"
       about_x_hours:
-        one:  "alrededor de 1 hora" 
-        other: "alrededor de {{count}} horas" 
+        one:  "alrededor de 1 hora"
+        other: "alrededor de %{count} horas"
       x_days:
-        one:  "1 día" 
-        other: "{{count}} días" 
+        one:  "1 día"
+        other: "%{count} días"
       about_x_months:
-        one:  "alrededor de 1 mes" 
-        other: "alrededor de {{count}} meses" 
+        one:  "alrededor de 1 mes"
+        other: "alrededor de %{count} meses"
       x_months:
-        one:  "1 mes" 
-        other: "{{count}} meses" 
+        one:  "1 mes"
+        other: "%{count} meses"
       about_x_years:
-        one:  "alrededor de 1 año" 
-        other: "alrededor de {{count}} años" 
+        one:  "alrededor de 1 año"
+        other: "alrededor de %{count} años"
       over_x_years:
-        one:  "más de 1 año" 
-        other: "más de {{count}} años" 
+        one:  "más de 1 año"
+        other: "más de %{count} años"
+      almost_x_years:
+        one: "casi 1 año"
+        other: "casi %{count} años"
+    prompts:
+      year:   "Año"
+      month:  "Mes"
+      day:    "Día"
+      hour:   "Hora"
+      minute: "Minutos"
+      second: "Segundos"
+
+  helpers:
+    select:
+      prompt: "Por favor seleccione"
+
+    submit:
+      create: 'Guardar %{model}'
+      update: 'Actualizar %{model}'
+      submit: 'Guardar %{model}'
+
+  errors:
+    format: "%{attribute} %{message}"
+
+    messages: &errors_messages
+      inclusion: "no está incluido en la lista"
+      exclusion: "está reservado"
+      invalid: "no es válido"
+      confirmation: "no coincide con la confirmación"
+      accepted: "debe ser aceptado"
+      empty: "no puede estar vacío"
+      blank: "no puede estar en blanco"
+      too_long: "es demasiado largo (%{count} caracteres máximo)"
+      too_short: "es demasiado corto (%{count} caracteres mínimo)"
+      wrong_length: "no tiene la longitud correcta (%{count} caracteres exactos)"
+      not_a_number: "no es un número"
+      not_an_integer: "debe ser un entero"
+      greater_than: "debe ser mayor que %{count}"
+      greater_than_or_equal_to: "debe ser mayor que o igual a %{count}"
+      equal_to: "debe ser igual a %{count}"
+      less_than: "debe ser menor que %{count}"
+      less_than_or_equal_to: "debe ser menor que o igual a %{count}"
+      odd: "debe ser impar"
+      even: "debe ser par"
 
   activerecord:
     errors:
       template:
         header:
-          one:   "no se pudo guardar este {{model}} porque se encontró 1 error" 
-          other:  "no se pudo guardar este {{model}} porque se encontraron {{count}} errores" 
+          one:   "No se pudo guardar este/a %{model} porque se encontró 1 error"
+          other:  "No se pudo guardar este/a %{model} porque se encontraron %{count} errores"
         # The variable :count is also available
-        body: "Se encontraron problemas con los siguientes campos:" 
+        body: "Se encontraron problemas con los siguientes campos:"
 
-      # The values :model, :attribute and :value are always available for interpolation
-      # The value :count is available when applicable. Can be used for pluralization.
       messages:
-        inclusion: "no está incluido en la lista" 
-        exclusion: "está reservado" 
-        invalid: "no es válido" 
-        confirmation: "no coincide con la confirmación"
-        accepted: "debe ser aceptado"
-        empty: "no puede estar vacío"
-        blank: "no puede estar en blanco"
-        too_long: "es demasiado largo ({{count}} caracteres máximo)"
-        too_short: "es demasiado corto ({{count}} caracteres mínimo)"
-        wrong_length: "no tiene la longitud correcta ({{count}} caracteres exactos)"
         taken: "ya está en uso"
-        not_a_number: "no es un número"
-        greater_than: "debe ser mayor que {{count}}"
-        greater_than_or_equal_to: "debe ser mayor que o igual a {{count}}"
-        equal_to: "debe ser igual a {{count}}"
-        less_than: "debe ser menor que {{count}}"
-        less_than_or_equal_to: "debe ser menor que o igual a {{count}}"
-        odd: "debe ser impar"
-        even: "debe ser par"
-
-        # Append your own errors here or at the model/attributes scope.
-
-      models:
-        # Overrides default messages
-
-      attributes:
-        # Overrides model and default messages.
-
-  date:
-    formats:
-      # Use the strftime parameters for formats.
-      # When no format has been given, it uses default.
-      # You can provide other formats here if you like!
-      default: "%e/%m/%Y"
-      short: "%e de %b" 
-      long: "%e de %B de %Y" 
-
-    day_names: [Domingo, Lunes, Martes, Miércoles, Jueves, Viernes, Sábado]
-    abbr_day_names: [Dom, Lun, Mar, Mie, Jue, Vie, Sab]
-
-    # Don't forget the nil at the beginning; there's no such thing as a 0th month
-    month_names: [~, Enero, Febrero, Marzo, Abril, Mayo, Junio, Julio, Agosto, Setiembre, Octubre, Noviembre, Diciembre]
-    abbr_month_names: [~, Ene, Feb, Mar, Abr, May, Jun, Jul, Ago, Set, Oct, Nov, Dic]
-    # Used in date_select and datime_select.
-    order: [ :day, :month, :year ]
-
-  time:
-    formats:
-      default: "%A, %e de %B de %Y %H:%M:%S %z"
-      short: "%e de %b %H:%M" 
-      long: "%e de %B de %Y %H:%M" 
-    am: "am" 
-    pm: "pm" 
+        record_invalid: "La validación falló: %{errors}"
+        <<: *errors_messages
 
-# Used in array.to_sentence.
-  support:
-    array:
-      # Rails <= v.2.2.2
-      # sentence_connector: "y"
-      # Rails >= v.2.3
-      words_connector: ", "
-      two_words_connector: " y "
-      last_word_connector: " y "
+      full_messages:
+        format: "%{attribute} %{message}"
diff --git a/sonar-server/src/main/webapp/WEB-INF/config/locales/defaults/et.yml b/sonar-server/src/main/webapp/WEB-INF/config/locales/defaults/et.yml
new file mode 100644 (file)
index 0000000..27706f2
--- /dev/null
@@ -0,0 +1,187 @@
+# Estonian localization for Ruby on Rails 2 and 3
+# by Zahhar Kirillov <zahhar@gmail.com>
+# contributors:
+#  - Mart Karu - http://github.com/martkaru <karu@metal.ee>
+
+et:
+  date:
+    formats:
+      default: "%d.%m.%Y"
+      short: "%d.%m.%y"
+      long: "%d. %B %Y"
+
+    day_names: [pühapäev, esmaspäev, teisipäev, kolmapäev, neljapäev, reede, laupäev]
+    standalone_day_names: [Pühapäev, Esmaspäev, Teisipäev, Kolmapäev, Neljapäev, Reede, Laupäev]
+    abbr_day_names: [P, E, T, K, N, R, L]
+
+    month_names: [~, jaanuar, veebruar, märts, aprill, mai, juuni, juuli, august, september, oktoober, november, detsember]
+    standalone_month_names: [~, Jaanuar, Veebruar, Märts, Aprill, Mai, Juuni, Juuli, August, September, Oktoober, November, Detsember]
+    abbr_month_names: [~, jaan., veebr., märts, apr., mai, juuni, juuli, aug., sept., okt., nov., dets.]
+    standalone_abbr_month_names: [~, jaan., veebr., märts, apr., mai, juuni, juuli, aug., sept., okt., nov., dets.]
+
+    order:
+      - :day
+      - :month
+      - :year
+
+  time:
+    formats:
+      default: "%d. %B %Y, %H:%M"
+      short: "%d.%m.%y, %H:%M"
+      long: "%a, %d. %b %Y, %H:%M:%S %z"
+
+    am: "enne lõunat"
+    pm: "pärast lõunat"
+
+  support:
+    array:
+      words_connector: ", "
+      two_words_connector: " ja "
+      last_word_connector: " ja "
+
+    select:
+      prompt: "Palun vali"
+
+  number:
+    format:
+      separator: ","
+      delimiter: " "
+      precision: 2
+      significant: false
+      strip_insignificant_zeros: false
+
+    currency:
+      format:
+        format: "%n %u"
+        unit: "€"
+        separator: ","
+        delimiter: " "
+        precision: 2
+        significant: false
+        strip_insignificant_zeros: false
+        
+    percentage:
+      format:
+        delimiter: ""
+        
+    precision:
+      format:
+        delimiter: ""
+        
+    human:
+      format:
+        delimiter: ""
+        precision: 1
+        significant: true
+        strip_insignificant_zeros: true
+      storage_units:
+        format: "%n %u"
+        units:
+          byte:
+            one: "bait"
+            other: "baiti"
+          kb: "KB"
+          mb: "MB"
+          gb: "GB"
+          tb: "TB"
+      decimal_units:
+        format: "%n %u"
+        units:
+          unit: ""
+          thousand: tuhat
+          million: miljon
+          billion: miljard
+          trillion: triljon
+          quadrillion: kvadriljon
+
+  datetime:
+    distance_in_words:
+      half_a_minute: "pool minutit"
+      less_than_x_seconds:
+        one:   "vähem kui %{count} sekund"
+        other: "vähem kui %{count} sekundit"
+      x_seconds:
+        one:   "%{count} sekund"
+        other: "%{count} sekundit"
+      less_than_x_minutes:
+        one:   "vähem kui %{count} minut"
+        other: "vähem kui %{count} minutit"
+      x_minutes:
+        one:   "%{count} minut"
+        other: "%{count} minutit"
+      about_x_hours:
+        one:   "umbes %{count} tund"
+        other: "umbes %{count} tundi"
+      x_days:
+        one:   "%{count} päev"
+        other: "%{count} päeva"
+      about_x_months:
+        one:   "umbes %{count} kuu"
+        other: "umbes %{count} kuud"
+      x_months:
+        one:   "%{count} kuu"
+        other: "%{count} kuud"
+      about_x_years:
+        one:   "umbes %{count} aasta"
+        other: "umbes %{count} aastat"
+      over_x_years:
+        one:   "üle %{count} aasta"
+        other: "üle %{count} aastat"
+      almost_x_years:
+        one:   "peaaegu üks aasta"
+        other: "peaaegu %{count} aastat"
+    prompts:
+      year: "Aasta"
+      month: "Kuu"
+      day: "Päev"
+      hour: "Tunde"
+      minute: "Minutit"
+      second: "Sekundit"
+
+  helpers:
+    select:
+      prompt: "Palun vali"
+
+    submit:
+      create: 'Loo uus %{model}'
+      update: 'Uuenda objekti %{model}'
+      submit: 'Salvesta %{model}'
+
+  errors:
+    format: "%{attribute} %{message}"
+    messages: &errors_messages
+      inclusion: "ei leidu nimekirjas"
+      exclusion: "on reserveeritud"
+      invalid: "ei ole korrektne"
+      confirmation: "ei vasta kinnitusele"
+      accepted: "peab olema heaks kiidetud"
+      empty: "on tühi"
+      blank: "on täitmata"
+      too_long: "on liiga pikk (maksimum on %{count} tähemärki)"
+      too_short: "on liiga lühike (miinimum on %{count} tähemärki)"
+      wrong_length: "on vale pikkusega (peab olema %{count} tähemärki)"
+      not_a_number: "ei ole number"
+      not_an_integer: "peab olema täisarv"
+      greater_than: "ei tohi olla suurem kui %{count}"
+      greater_than_or_equal_to: "peab olema suurem või võrdne arvuga %{count}"
+      equal_to: "peab võrdne arvuga %{count}"
+      less_than: "peab olema vähem kui %{count}"
+      less_than_or_equal_to: "peab olema vähem või võrdne arvuga %{count}"
+      odd: "peab olema paaritu arv"
+      even: "peab olema paarisarv"
+
+  activerecord:
+    errors:
+      template:
+        header:
+          one:    "Üks viga takistas objekti %{model} salvestamist"
+          other:  "%{count} viga takistasid objekti %{model} salvestamist"
+        body: "Probleeme ilmnes järgmiste väljadega:"
+
+      messages:
+        taken: "on juba võetud"
+        record_invalid: "Valideerimine ebaõnnestus: %{errors}"
+        <<: *errors_messages
+
+      full_messages:
+        format: "%{attribute} %{message}"
diff --git a/sonar-server/src/main/webapp/WEB-INF/config/locales/defaults/eu.yml b/sonar-server/src/main/webapp/WEB-INF/config/locales/defaults/eu.yml
new file mode 100644 (file)
index 0000000..e482499
--- /dev/null
@@ -0,0 +1,184 @@
+# Basque translations for Rails
+# by Esti Alvarez (esti@efaber.net)
+
+
+"eu":
+  date:
+    formats:
+      default: "%Y/%m/%e"
+      short: "%b %e"
+      long: "%Y(e)ko %Bk %e"
+
+    day_names: [Igandea, Astelehena, Asteartea, Asteazkena, Osteguna, Ostirala, Larunbata]
+    abbr_day_names: [Igan, Astel, Astear, Asteaz, Oste, Osti, Lar]
+
+    month_names: [~, Urtarrila, Otsaila, Martxoa, Apirila, Maiatza, Ekaina, Uztaila, Abuztua, Iraila, Urria, Azaroa, Abendua]
+    abbr_month_names: [~, Urt, Ots, Mar, Api, Mai, Eka, Uzt, Abu, Ira, Urr, Aza, Aben]
+    order:
+      - :year
+      - :month
+      - :day
+
+  time:
+    formats:
+      default: "%A, %Y(e)ko %Bren %e %H:%M:%S %z"
+      short: "%b %e, %H:%M"
+      long: "%Y(e)ko %Bren %e,  %H:%M"
+    am: "am"
+    pm: "pm"
+
+  # Used in array.to_sentence.
+  support:
+    array:
+      words_connector: ", "
+      two_words_connector: " eta "
+      last_word_connector: " eta "
+
+    select:
+      prompt: "Aukeratu mesedez"
+
+  number:
+    format:
+      separator: ","
+      delimiter: "."
+      precision: 3
+      significant: false
+      strip_insignificant_zeros: false
+
+    currency:
+      format:
+        format: "%n %u"
+        unit: "€"
+        separator: ","
+        delimiter: "."
+        precision: 2
+        significant: false
+        strip_insignificant_zeros: false
+
+    percentage:
+      format:
+        delimiter: ""
+
+    precision:
+      format:
+        delimiter: ""
+
+    human:
+      format:
+        delimiter: ""
+        precision: 3
+        significant: true
+        strip_insignificant_zeros: true
+      storage_units:
+        format: "%n %u"
+        units:
+          byte:
+            one:   "Byte"
+            other: "Byte"
+          kb: "KB"
+          mb: "MB"
+          gb: "GB"
+          tb: "TB"
+      decimal_units:
+        format: "%n %u"
+        units:
+          unit: ""
+          thousand: "Mila"
+          million: "Milioi"
+          billion: "Mila milioi"
+          trillion: "Trilioi"
+          quadrillion: "Kuatrilioi"
+
+  datetime:
+    distance_in_words:
+      half_a_minute: "minutu erdi"
+      less_than_x_seconds:
+        one:  "segundu bat baino gutxiago"
+        other: "%{count} segundu baino gutxiago"
+      x_seconds:
+        one:  "segundu bat"
+        other: "%{count} segundu"
+      less_than_x_minutes:
+        one:  "1 minutu bat baino gutxiago"
+        other: "%{count} minutu baino gutxiago"
+      x_minutes:
+        one:  "minutu bat"
+        other: "%{count} minutu"
+      about_x_hours:
+        one:  "ordu bat inguru"
+        other: "%{count} ordu inguru"
+      x_days:
+        one:  "egun bat"
+        other: "%{count} egun"
+      about_x_months:
+        one:  "hilabete bat inguru"
+        other: "%{count} hilabete inguru"
+      x_months:
+        one:  "hilabete bat"
+        other: "%{count} hilabete"
+      about_x_years:
+        one:  "urte bat inguru"
+        other: "%{count} urte inguru"
+      over_x_years:
+        one:  "urte bat baino gehiago"
+        other: "%{count} urte baino gehiago"
+      almost_x_years:
+        one: "ia urte bat"
+        other: "ia %{count} urte"
+    prompts:
+      year:   "Urte"
+      month:  "Hilabete"
+      day:    "Egun"
+      hour:   "Ordu"
+      minute: "Minutu"
+      second: "Segundu"
+
+  helpers:
+    select:
+      prompt: "Mesedez, aukeratu"
+
+    submit:
+      create: '%{model}a eratu'
+      update: '%{model}a eguneratu'
+      submit: '%{model}a gorde'
+
+  errors:
+    format: "%{attribute} %{message}"
+
+    messages: &errors_messages
+      inclusion: "ez da zerrendako aukera bat"
+      exclusion: "erreserbatuta dago"
+      invalid: "ez da zuzena"
+      confirmation: "ez dator bat konfirmazioarekin"
+      accepted: "onartuta izan behar da"
+      empty: "ezin da hutsik egon"
+      blank: "ezin da zuriz utzi"
+      too_long: "luzeegia da (%{count} karaktere gehienez)"
+      too_short: "laburregia da (%{count} karaktere gutxienez)"
+      wrong_length: "ez du luzeera zuzena (%{count} karaktere izan behar ditu)"
+      not_a_number: "ez da zenbaki bat"
+      not_an_integer: "zenbaki osoa izan behar da"
+      greater_than: "%{count} baino handiagoa izan behar da"
+      greater_than_or_equal_to: "%{count} baino handiago edo berdin izan behar da"
+      equal_to: "%{count} izan behar da"
+      less_than: "%{count} baino txikiago izan behar da"
+      less_than_or_equal_to: "%{count} baino txikiago edo berdin izan behar da"
+      odd: "bakoitia izan behar du"
+      even: "bikoitia izan behar du"
+
+  activerecord:
+    errors:
+      template:
+        header:
+          one:   "Errore batek ezinezkoa egin du {{model}} hau gordetzea"
+          other:  "{{count}} errorek ezinezkoa egiten dute {{model}} hau gordetzea"
+        body: "Arazoak egon dira ondoko eremuekin:"
+
+      messages:
+        taken: "hartuta dago"
+        record_invalid: "Balioztatze arazoa: %{errors}"
+        <<: *errors_messages
+
+      full_messages:
+        format: "%{attribute} %{message}"
+
old mode 100755 (executable)
new mode 100644 (file)
index e6102aa..6291777
@@ -1,12 +1,49 @@
 # Persian translations for Ruby on Rails 
 # by Reza (reza@balatarin.com)
+# Rails 3 update by rbjarnason
+
+"fa":
+  date:
+    formats:
+      default: "%Y/%m/%d"
+      short: "%m/%d"
+      long: "%e %B %Y"
+
+    day_names: [یکشنبه, دوشنبه, سه‌شنبه, چهارشنبه, پنج‌شنبه, جمعه, شنبه]
+    abbr_day_names: [ی, د, س, چ, پ, ج, ش]
+
+    month_names: [~, ژانویه, فوریه, مارس, آوریل, مه, ژوئن, ژوئیه, اوت, سپتامبر, اکتبر, نوامبر, دسامبر]
+    abbr_month_names: [~, ژانویه, فوریه, مارس, آوریل, مه, ژوئن, ژوئیه, اوت, سپتامبر, اکتبر, نوامبر, دسامبر]
+    order:
+      - :day
+      - :month
+      - :year
+
+  time:
+    formats:
+      default: "%A، %e %B %Y، ساعت %H:%M:%S (%Z)"
+      short: "%e %B، ساعت %H:%M"
+      long: "%e %B %Y، ساعت %H:%M"
+    am: "قبل از ظهر"
+    pm: "بعد از ظهر"
+
+  support:
+    array:
+      words_connector: "، "
+      two_words_connector: " و "
+      last_word_connector: "، و "
+
+    select:
+      prompt: "لطفا انتخاب کنید"
 
-fa:
   number:
     format:
-      precision: 2
       separator: '٫'
       delimiter: '٬'
+      precision: 2
+      significant: false
+      strip_insignificant_zeros: false
+
     currency:
       format:
         unit: 'ریال'
@@ -14,106 +51,132 @@ fa:
         separator: '٫'
         delimiter: '٬'
         precision: 0
+        significant: false
+        strip_insignificant_zeros: false
+
     percentage:
       format:
         delimiter: ""
+
     precision:
       format:
         delimiter: ""
+
     human:
       format:
         delimiter: ""
         precision: 1
-      storage_units: [بایت, کیلوبایت, مگابایت, گیگابایت, ترابایت]
-
-  date:
-    formats:
-      default: "%Y/%m/%d"
-      short: "%m/%d"
-      long: "%e %B %Y"
-      only_day: "%e"
-
-    day_names: [یکشنبه, دوشنبه, سه‌شنبه, چهارشنبه, پنج‌شنبه, جمعه, شنبه]
-    abbr_day_names: [ی, د, س, چ, پ, ج]
-    month_names: [~, ژانویه, فوریه, مارس, آوریل, مه, ژوئن, ژوئیه, اوت, سپتامبر, اکتبر, نوامبر, دسامبر]
-    abbr_month_names: [~, ژانویه, فوریه, مارس, آوریل, مه, ژوئن, ژوئیه, اوت, سپتامبر, اکتبر, نوامبر, دسامبر]
-    order: [ :day, :month, :year ]
-
-  time:
-    formats:
-      default: "%A، %e %B %Y، ساعت %H:%M:%S (%Z)"
-      short: "%e %B، ساعت %H:%M"
-      long: "%e %B %Y، ساعت %H:%M"
-      time: "%H:%M"
-    am: "قبل از ظهر"
-    pm: "بعد از ظهر"
-
-  support:
-    array:
-      sentence_connector: "و"
-      skip_last_comma: true
+        significant: true
+        strip_insignificant_zeros: true
+      storage_units:
+        format: "%n %u"
+        units:
+          byte:
+            one: "بایت"
+            other: "بایت"
+          kb: "کیلوبایت"
+          mb: "مگابایت"
+          gb: "گیگابایت"
+          tb: "ترابایت"
+      decimal_units:
+        format: "%n %u"
+        units:
+          unit: ""
+          thousand: هزار
+          million: میلیون
+          billion: بیلیون
+          trillion: تریلیون
+          quadrillion: کادریلیون
 
   datetime:
     distance_in_words:
       half_a_minute: "نیم دقیقه"
       less_than_x_seconds:
-        zero:  "کمتر از ۱ ثانیه"
         one: "۱ ثانیه"
-        other: "کمتر  از {{count}} ثانیه"
+        other: "کمتر  از %{count} ثانیه"
       x_seconds:
         one:  "۱ ثانیه"
-        other: "{{count}} ثانیه"
+        other: "%{count} ثانیه"
       less_than_x_minutes:
         one:  "کمتر از ۱ دقیقه"
-        other: "کمتر از {{count}} دقیقه"
+        other: "کمتر از %{count} دقیقه"
       x_minutes:
         one:  "۱ دقیقه"
-        other: "{{count}} دقیقه"
+        other: "%{count} دقیقه"
       about_x_hours:
         one:  "حدود ۱ ساعت"
-        other: "حدود {{count}} ساعت"
+        other: "حدود %{count} ساعت"
       x_days:
         one:  "۱ روز"
-        other: "{{count}} روز"
+        other: "%{count} روز"
       about_x_months:
         one:  "حدود ۱ ماه"
-        other: "حدود {{count}} ماه"
+        other: "حدود %{count} ماه"
       x_months:
         one:  "۱ ماه"
-        other: "{{count}} ماه"
+        other: "%{count} ماه"
       about_x_years:
         one:  "حدود ۱ سال"
-        other: "حدود {{count}} سال"
+        other: "حدود %{count} سال"
       over_x_years:
         one:  "بیش از ۱ سال"
-        other: "بیش از {{count}} سال"
+        other: "بیش از %{count} سال"
+      almost_x_years:
+        one:   "حدود ۱ سال"
+        other: "حدود %{count} سال"
+    prompts:
+      year:   "سال"
+      month:  "ماه"
+      day:    "روز"
+      hour:   "ساعت"
+      minute: "دقیقه"
+      second: "ثانیه"
+
+  helpers:
+    select:
+      prompt: "لطفا انتخاب کنید"
+
+    submit:
+      create: '%{model} ایجاد'
+      update: '%{model} بروز'
+      submit: '%{model} ذخیره'
+
+  errors:
+    format: "%{attribute} %{message}"
+
+    messages: &errors_messages
+      inclusion: "در لیست موجود نیست" 
+      exclusion: "رزرو است" 
+      invalid: "نامعتبر است" 
+      confirmation: "با تایید نمی‌خواند"
+      accepted: "باید پذیرفته شود" 
+      empty: "نمی‌تواند خالی باشد"
+      blank: "نباید خالی باشد"
+      too_long: "بلند است (حداکثر %{count} کاراکتر)"
+      too_short: "کوتاه است (حداقل %{count} کاراکتر)"
+      wrong_length: "نااندازه است (باید %{count} کاراکتر باشد)"
+      not_a_number: "عدد نیست"
+      not_an_integer: "عدد صحیح نیست"
+      greater_than: "باید بزرگتر از %{count} باشد"
+      greater_than_or_equal_to: "باید بزرگتر یا برابر %{count} باشد"
+      equal_to: "باید برابر %{count} باشد"
+      less_than: "باید کمتر از %{count} باشد"
+      less_than_or_equal_to: "باید کمتر یا برابر %{count} باشد"
+      odd: "باید فرد باشد"
+      even: "باید زوج باشد"
 
   activerecord:
     errors:
       template:
-        header: 
-          one: "1 خطا جلوی ذخیره این {{model}} را گرفت"
-          other: "{{count}} خطا جلوی ذخیره این {{model}} را گرفت"
+        header:
+          one: "1 خطا جلوی ذخیره این %{model} را گرفت"
+          other: "%{count} خطا جلوی ذخیره این %{model} را گرفت"
         body: "موارد زیر مشکل داشت:"
+
       messages:
-        inclusion: "در لیست موجود نیست" 
-        exclusion: "رزرو است" 
-        invalid: "نامعتبر است" 
-        confirmation: "با تایید نمی‌خواند"
-        accepted: "باید پذیرفته شود" 
-        empty: "نمی‌تواند خالی باشد"
-        blank: "نباید خالی باشد"
-        too_long: "بلند است (حداکثر {{count}} کاراکتر)"
-        too_short: "کوتاه است (حداقل {{count}} کاراکتر)"
-        wrong_length: "نااندازه است (باید {{count}} کاراکتر باشد)"
         taken: "پیشتر گرفته شده"
-        not_a_number: "عدد نیست"
-        greater_than: "باید بزرگتر از {{count}} باشد"
-        greater_than_or_equal_to: "باید بزرگتر یا برابر {{count}} باشد"
-        equal_to: "باید برابر {{count}} باشد"
-        less_than: "باید کمتر از {{count}} باشد"
-        less_than_or_equal_to: "باید کمتر یا برابر {{count}} باشد"
-        odd: "باید فرد باشد"
-        even: "باید زوج باشد"
-        presence: "را فراموش کرده‌اید"
-        format: "فرمت مشکل دارد"
\ No newline at end of file
+        record_invalid: "رکورد نامعتبر است %{errors}"
+        <<: *errors_messages
+
+      full_messages:
+        format: "%{attribute}%{message}"
old mode 100755 (executable)
new mode 100644 (file)
index 4573244..38b0e94
@@ -1,24 +1,32 @@
-# Finnish translations for Ruby on Rails 
+# Finnish translations for Ruby on Rails
 # by Marko Seppä (marko.seppa@gmail.com)
+#
+# corrected by Petri Kivikangas (pkivik@gmail.com)
+# corrected and amended by Niklas Laxström (niklas.laxstrom+rails@gmail.com) 2009
+# Rails 3 conversion by rbjarnason
 
 fi:
   date:
     formats:
       default: "%e. %Bta %Y"
-      long: "%A%e. %Bta %Y"
+      long: "%A %e. %Bta %Y"
       short: "%e.%m.%Y"
-    day_names: [Sunnuntai, Maanantai, Tiistai, Keskiviikko, Torstai, Perjantai, Lauantai]
-    abbr_day_names: [Su, Ma, Ti, Ke, To, Pe, La]
-    month_names: [~, Tammikuu, Helmikuu, Maaliskuu, Huhtikuu, Toukokuu, Kesäkuu, Heinäkuu, Elokuu, Syyskuu, Lokakuu, Marraskuu, Joulukuu]
-    abbr_month_names: [~, Tammi, Helmi, Maalis, Huhti, Touko, Kesä, Heinä, Elo, Syys, Loka, Marras, Joulu]
-    order: [:day, :month, :year]
+
+    day_names: [sunnuntai, maanantai, tiistai, keskiviikko, torstai, perjantai, lauantai]
+    abbr_day_names: [su, ma, ti, ke, to, pe, la]
+
+    month_names: [~, tammikuu, helmikuu, maaliskuu, huhtikuu, toukokuu, kesäkuu, heinäkuu, elokuu, syyskuu, lokakuu, marraskuu, joulukuu]
+    abbr_month_names: [~, tammi, helmi, maalis, huhti, touko, kesä, heinä, elo, syys, loka, marras, joulu]
+    order:
+      - :day
+      - :month
+      - :year
 
   time:
     formats:
-      default: "%a, %e. %b %Y %H:%M:%S %z"
-      short: "%e. %b %H:%M"
-      long: "%B %d, %Y %H:%M"
+      default: "%A %e. %Bta %Y %H:%M:%S %z"
+      short: "%e.%m. %H.%M"
+      long: "%e. %Bta %Y %H.%M"
     am: "aamupäivä"
     pm: "iltapäivä"
 
@@ -28,14 +36,17 @@ fi:
       two_words_connector: " ja "
       last_word_connector: " ja "
 
-
+    select:
+      prompt: "Valitse"
 
   number:
     format:
-      separator: ","
-      delimiter: "."
+      separator: "."
+      delimiter: ","
       precision: 3
-    
+      significant: false
+      strip_insignificant_zeros: false
+
     currency:
       format:
         format: "%n %u"
@@ -43,99 +54,132 @@ fi:
         separator: ","
         delimiter: "."
         precision: 2
-        
+        significant: false
+        strip_insignificant_zeros: false
+
     percentage:
       format:
-        # separator:
         delimiter: ""
-        # precision: 
 
     precision:
       format:
-        # separator:
         delimiter: ""
-        # precision:
-        
+
     human:
       format:
         delimiter: ""
-        precision: 1
+        precision: 3
+        significant: true
+        strip_insignificant_zeros: true
       storage_units:
         format: "%n %u"
         units:
           byte:
             one: "tavu"
             other: "tavua"
-          kb: "kB" 
+          kb: "kB"
           mb: "MB"
           gb: "GB"
           tb: "TB"
+      decimal_units:
+        format: "%n %u"
+        units:
+          unit: ""
+          thousand: Tuhatta
+          million: Euroa
+          billion: Miljardia
+          trillion: Biljoona
+          quadrillion: Kvadriljoona
 
   datetime:
     distance_in_words:
       half_a_minute: "puoli minuuttia"
       less_than_x_seconds:
-        one:   "aiemmin kuin sekunti"
-        other: "aiemmin kuin {{count}} sekuntia"
+        one:   "alle sekunti"
+        other: "alle %{count} sekuntia"
       x_seconds:
         one:   "sekunti"
-        other: "{{count}} sekuntia"
+        other: "%{count} sekuntia"
       less_than_x_minutes:
-        one:   "aiemmin kuin minuutti"
-        other: "aiemmin kuin {{count}} minuuttia"
+        one:   "alle minuutti"
+        other: "alle %{count} minuuttia"
       x_minutes:
         one:   "minuutti"
-        other: "{{count}} minuuttia"
+        other: "%{count} minuuttia"
       about_x_hours:
         one:   "noin tunti"
-        other: "noin {{count}} tuntia"
+        other: "noin %{count} tuntia"
       x_days:
         one:   "päivä"
-        other: "{{count}} päivää"
+        other: "%{count} päivää"
       about_x_months:
         one:   "noin kuukausi"
-        other: "noin {{count}} kuukautta"
+        other: "noin %{count} kuukautta"
       x_months:
         one:   "kuukausi"
-        other: "{{count}} kuukautta"
+        other: "%{count} kuukautta"
       about_x_years:
         one:   "vuosi"
-        other: "noin {{count}} vuotta"
+        other: "noin %{count} vuotta"
       over_x_years:
         one:   "yli vuosi"
-        other: "yli {{count}} vuotta"
+        other: "yli %{count} vuotta"
+      almost_x_years:
+        one: "melkein yksi vuosi"
+        other: "melkein %{count} vuotta"
     prompts:
       year:   "Vuosi"
       month:  "Kuukausi"
       day:    "Päivä"
       hour:   "Tunti"
       minute: "Minuutti"
-      second: "Sekuntia"
-  
+      second: "Sekunti"
+
+  helpers:
+    select:
+      prompt: "Valitse"
+
+    submit:
+      create: 'Luo %{model}'
+      update: 'Päivitä %{model}'
+      submit: 'Tallenna %{model}'
+
+  errors:
+    format: "%{attribute} %{message}"
+
+    messages: &errors_messages
+      inclusion: "ei löydy listasta"
+      exclusion: "on varattu"
+      invalid: "on kelvoton"
+      confirmation: "ei vastaa varmennusta"
+      accepted: "täytyy olla hyväksytty"
+      empty: "ei voi olla tyhjä"
+      blank: "ei voi olla sisällötön"
+      too_long: "on liian pitkä (saa olla enintään %{count} merkkiä)"
+      too_short: "on liian lyhyt (oltava vähintään %{count} merkkiä)"
+      wrong_length: "on väärän pituinen (täytyy olla täsmälleen %{count} merkkiä)"
+      not_an_integer: "on kokonaisluku"
+      not_a_number: "ei ole luku"
+      greater_than: "täytyy olla suurempi kuin %{count}"
+      greater_than_or_equal_to: "täytyy olla suurempi tai yhtä suuri kuin %{count}"
+      equal_to: "täytyy olla yhtä suuri kuin %{count}"
+      less_than: "täytyy olla pienempi kuin %{count}"
+      less_than_or_equal_to: "täytyy olla pienempi tai yhtä suuri kuin %{count}"
+      odd: "täytyy olla pariton"
+      even: "täytyy olla parillinen"
+
   activerecord:
     errors:
       template:
         header:
-          one:    "1 virhe esti tämän {{model}} mallinteen tallentamisen"
-          other:  "{{count}} virhettä esti tämän {{model}} mallinteen tallentamisen"
+          one:    "Virhe syötteessä esti mallin %{model} tallentamisen"
+          other:  "%{count} virhettä esti mallin %{model} tallentamisen"
         body: "Seuraavat kentät aiheuttivat ongelmia:"
+
       messages:
-        inclusion: "ei löydy listauksesta"
-        exclusion: "on jo varattu"
-        invalid: "on kelvoton"
-        confirmation: "ei vastaa varmennusta"
-        accepted: "täytyy olla hyväksytty"
-        empty: "ei voi olla tyhjä"
-        blank: "ei voi olla sisällötön"
-        too_long: "on liian pitkä (maksimi on {{count}} merkkiä)"
-        too_short: "on liian lyhyt (minimi on {{count}} merkkiä)"
-        wrong_length: "on väärän pituinen (täytyy olla täsmälleen {{count}} merkkiä)"
         taken: "on jo käytössä"
-        not_a_number: "ei ole numero"
-        greater_than: "täytyy olla suurempi kuin {{count}}"
-        greater_than_or_equal_to: "täytyy olla suurempi tai yhtä suuri kuin{{count}}"
-        equal_to: "täytyy olla yhtä suuri kuin {{count}}"
-        less_than: "täytyy olla pienempi kuin {{count}}"
-        less_than_or_equal_to: "täytyy olla pienempi tai yhtä suuri kuin {{count}}"
-        odd: "täytyy olla pariton"
-        even: "täytyy olla parillinen"
\ No newline at end of file
+        record_invalid: "Validointi epäonnistui: %{errors}"
+        <<: *errors_messages
+
+      full_messages:
+        format: "%{attribute}%{message}"
diff --git a/sonar-server/src/main/webapp/WEB-INF/config/locales/defaults/fr-CA.yml b/sonar-server/src/main/webapp/WEB-INF/config/locales/defaults/fr-CA.yml
new file mode 100755 (executable)
index 0000000..50157f9
--- /dev/null
@@ -0,0 +1,187 @@
+# French translations for Ruby on Rails
+# by Christian Lescuyer (christian@flyingcoders.com)
+# contributors:
+#  - Sebastien Grosjean - ZenCocoon.com
+#  - Bruno Michel - http://github.com/nono
+#  - Tsutomu Kuroda - http://github.com/kuroda (t-kuroda@oiax.jp)
+#
+# French Canadian adjustments
+# by Serafim Junior Dos Santos Fagundes <serafim@cyb3r.ca>
+
+fr-CA:
+  date:
+    formats:
+      default: "%Y-%m-%d"
+      short: "%y-%m-%d"
+      long: "%d %B %Y"
+    day_names: [dimanche, lundi, mardi, mercredi, jeudi, vendredi, samedi]
+    abbr_day_names: [dim, lun, mar, mer, jeu, ven, sam]
+    month_names: [~, janvier, février, mars, avril, mai, juin, juillet, août, septembre, octobre, novembre, décembre]
+    abbr_month_names: [~, jan., fév., mar., avr., mai, juin, juil., août, sept., oct., nov., déc.]
+    order:
+      - :year
+      - :month
+      - :day
+
+  time:
+    formats:
+      default: "%H:%M:%S"
+      short: "%H:%M"
+      long: "%A %d %B %Y %H:%M"
+    am: 'am'
+    pm: 'pm'
+
+  datetime:
+    distance_in_words:
+      half_a_minute: "une demi-minute"
+      less_than_x_seconds:
+        zero:  "moins d'une seconde"
+        one:   "moins d'une seconde"
+        other: "moins de %{count} secondes"
+      x_seconds:
+        one:   "1 seconde"
+        other: "%{count} secondes"
+      less_than_x_minutes:
+        zero:  "moins d'une minute"
+        one:   "moins d'une minute"
+        other: "moins de %{count} minutes"
+      x_minutes:
+        one:   "1 minute"
+        other: "%{count} minutes"
+      about_x_hours:
+        one:   "environ une heure"
+        other: "environ %{count} heures"
+      x_days:
+        one:   "1 jour"
+        other: "%{count} jours"
+      about_x_months:
+        one:   "environ un mois"
+        other: "environ %{count} mois"
+      x_months:
+        one:   "1 mois"
+        other: "%{count} mois"
+      about_x_years:
+        one:   "environ un an"
+        other: "environ %{count} ans"
+      over_x_years:
+        one:   "plus d'un an"
+        other: "plus de %{count} ans"
+      almost_x_years:
+        one:   "presqu'un an"
+        other: "presque %{count} ans"
+    prompts:
+      year:   "Année"
+      month:  "Mois"
+      day:    "Jour"
+      hour:   "Heure"
+      minute: "Minute"
+      second: "Seconde"
+
+  number:
+    format:
+      separator: ","
+      delimiter: " "
+      precision: 3
+      significant: false
+      strip_insignificant_zeros: false
+    currency:
+      format:
+        format: "%n %u"
+        unit: "$"
+        separator: ","
+        delimiter: " "
+        precision: 2
+        significant: false
+        strip_insignificant_zeros: false
+    percentage:
+      format:
+        delimiter: ""
+    precision:
+      format:
+        delimiter: ""
+    human:
+      format:
+        delimiter: ""
+        precision: 2
+        significant: true
+        strip_insignificant_zeros: true
+      storage_units:
+        format: "%n %u"
+        units:
+          byte:
+            one:   "Octet"
+            other: "Octets"
+          kb: "ko"
+          mb: "Mo"
+          gb: "Go"
+          tb: "To"
+      decimal_units:
+        format: "%n %u"
+        units:
+          unit: ""
+          thousand: "Millier"
+          million: "Million"
+          billion: "Milliard"
+          trillion: "Mille milliard"
+          quadrillion: "Million de milliards"
+
+  support:
+    array:
+      words_connector: ", "
+      two_words_connector: " et "
+      last_word_connector: " et "
+    select:
+      prompt: "Veuillez sélectionner"
+
+  helpers:
+    select:
+      prompt: "Veuillez sélectionner"
+    submit:
+      create: "Créer un %{model}"
+      update: "Modifier ce %{model}"
+      submit: "Enregistrer ce %{model}"
+
+  errors:
+    template: &errors_template
+      header:
+        one:   "Impossible d'enregistrer ce %{model} : 1 erreur"
+        other: "Impossible d'enregistrer ce %{model} : %{count} erreurs"
+      body: "Veuillez vérifier les champs suivants : "
+
+  attributes:
+    created_at: "Créé le"
+    updated_at: "Modifié le"
+
+  errors:
+    format: "Le %{attribute} %{message}"
+    messages: &errors_messages
+      inclusion: "n'est pas inclus(e) dans la liste"
+      exclusion: "n'est pas disponible"
+      invalid: "n'est pas valide"
+      confirmation: "ne concorde pas avec la confirmation"
+      accepted: "doit être accepté(e)"
+      empty: "doit être rempli(e)"
+      blank: "doit être rempli(e)"
+      too_long: "est trop long (pas plus de %{count} caractères)"
+      too_short: "est trop court (au moins %{count} caractères)"
+      wrong_length: "ne fait pas la bonne longueur (doit comporter %{count} caractères)"
+      not_a_number: "n'est pas un nombre"
+      not_an_integer: "doit être un nombre entier"
+      greater_than: "doit être supérieur à %{count}"
+      greater_than_or_equal_to: "doit être supérieur ou égal à %{count}"
+      equal_to: "doit être égal à %{count}"
+      less_than: "doit être inférieur à %{count}"
+      less_than_or_equal_to: "doit être inférieur ou égal à %{count}"
+      odd: "doit être impair"
+      even: "doit être pair"
+
+  activerecord:
+    errors:
+      messages:
+        taken: "n'est pas disponible"
+        record_invalid: "La validation a échoué : %{errors}"
+        <<: *errors_messages
+      template:
+        <<: *errors_template
+      full_messages:
+        format: "%{attribute} %{message}"
index 2bb2e3a7e18098796ac243ef1cb467b6920526b9..d87505c4619c3e29f7da05b02525927d0ad4d252 100755 (executable)
@@ -1,75 +1,70 @@
-# French (Switzerland) translations for Ruby on Rails 
+# French (Switzerland) translations for Ruby on Rails
 # by Yann Lugrin (yann.lugrin@sans-savoir.net, http://github.com/yannlugrin)
 #
 # original translation into French by Christian Lescuyer
 # contributor: Sebastien Grosjean - ZenCocoon.com
 
-# HTML codes
-# e accent aigu : &eacute;
-# e accent grave : &egrave;
-# a grave : &agrave;
-# u circonflexe : &ucirc;
-# e circonflexe : &ecirc;
-
 fr-CH:
   date:
     formats:
       default: "%d.%m.%Y"
-      short: "%e. %b"
-      long: "%e. %B %Y"
-      long_ordinal: "%e %B %Y"
-      only_day: "%e"
-
+      short: "%e %b"
+      long: "%e %B %Y"
     day_names: [dimanche, lundi, mardi, mercredi, jeudi, vendredi, samedi]
     abbr_day_names: [dim, lun, mar, mer, jeu, ven, sam]
-    month_names: [~, janvier, f&eacute;vrier, mars, avril, mai, juin, juillet, ao&ucirc;t, septembre, octobre, novembre, d&eacute;cembre]
-    abbr_month_names: [~, jan., f&eacute;v., mar., avr., mai, juin, juil., ao&ucirc;t, sept., oct., nov., d&eacute;c.]
-    order: [ :day, :month, :year ]
-  
+    month_names: [~, janvier, février, mars, avril, mai, juin, juillet, août, septembre, octobre, novembre, décembre]
+    abbr_month_names: [~, jan., fév., mar., avr., mai, juin, juil., août, sept., oct., nov., déc.]
+    order:
+      - :day
+      - :month
+      - :year
+
   time:
     formats:
-      default: "%d %B %Y %H:%M"
-      time: "%H:%M"
+      default: "%d. %B %Y %H:%M"
       short: "%d. %b %H:%M"
       long: "%A, %d. %B %Y %H:%M:%S %Z"
-      long_ordinal: "%A %d %B %Y %H:%M:%S %Z"
-      only_second: "%S"
-    am: 'am'
-    pm: 'pm'
+    am: "am"
+    pm: "pm"
 
   datetime:
     distance_in_words:
       half_a_minute: "une demi-minute"
       less_than_x_seconds:
-        one:   "moins d'une seconde"
-        other: "moins de {{count}} secondes"
+        zero:  "moins d'une seconde"
+        one:   "moins d'une seconde"
+        other: "moins de %{count} secondes"
       x_seconds:
-        one:   "1 seconde"
-        other: "{{count}} secondes"
+        one:   "1 seconde"
+        other: "%{count} secondes"
       less_than_x_minutes:
+        zero:  "moins d'une minute"
         one:   "moins d'une minute"
-        other: "moins de {{count}} minutes"
+        other: "moins de %{count} minutes"
       x_minutes:
         one:   "1 minute"
-        other: "{{count}} minutes"
+        other: "%{count} minutes"
       about_x_hours:
         one:   "environ une heure"
-        other: "environ {{count}} heures"
+        other: "environ %{count} heures"
       x_days:
         one:   "1 jour"
-        other: "{{count}} jours"
+        other: "%{count} jours"
       about_x_months:
         one:   "environ un mois"
-        other: "environ {{count}} mois"
+        other: "environ %{count} mois"
       x_months:
         one:   "1 mois"
-        other: "{{count}} mois"
+        other: "%{count} mois"
       about_x_years:
         one:   "environ un an"
-        other: "environ {{count}} ans"
+        other: "environ %{count} ans"
       over_x_years:
         one:   "plus d'un an"
-        other: "plus de {{count}} ans"
+        other: "plus de %{count} ans"
+      almost_x_years:
+        one:   "presqu'un an"
+        other: "presque %{count} ans"
     prompts:
       year:   "Année"
       month:  "Mois"
@@ -77,54 +72,113 @@ fr-CH:
       hour:   "Heure"
       minute: "Minute"
       second: "Seconde"
-  
+
   number:
     format:
-      precision: 3
-      separator: '.'
+      separator: "."
       delimiter: "'"
+      precision: 3
+      significant: false
+      strip_insignificant_zeros: false
     currency:
       format:
-        unit: 'CHF'
+        format: "%n %u"
+        unit: "CHF"
+        separator: "."
+        delimiter: "'"
         precision: 2
-        format: '%n %u'
+        significant: false
+        strip_insignificant_zeros: false
+    percentage:
+      format:
+        delimiter: ""
+    precision:
+      format:
+        delimiter: ""
     human:
       format:
+        delimiter: ""
         precision: 2
-      storage_units: [ Octet, ko, Mo, Go, To ]
-  
+        significant: true
+        strip_insignificant_zeros: true
+      storage_units:
+        format: "%n %u"
+        units:
+          byte:
+            one:   "octet"
+            other: "octets"
+          kb: "ko"
+          mb: "Mo"
+          gb: "Go"
+          tb: "To"
+      decimal_units:
+        format: "%n %u"
+        units:
+          unit: ""
+          thousand: "millier"
+          million: "million"
+          billion: "milliard"
+          trillion: "billion"
+          quadrillion: "million de milliards"
+
   support:
     array:
-      sentence_connector: 'et'
-      skip_last_comma: true
-      word_connector: ", "
+      words_connector: ", "
       two_words_connector: " et "
       last_word_connector: " et "
-  
+    select:
+      prompt: "Veuillez sélectionner"
+
+  helpers:
+    select:
+      prompt: "Veuillez sélectionner"
+    submit:
+      create: "Créer un %{model}"
+      update: "Modifier ce %{model}"
+      submit: "Enregistrer ce %{model}"
+
+  errors:
+    template: &errors_template
+      header:
+        one:   "Impossible d'enregistrer ce %{model} : 1 erreur"
+        other: "Impossible d'enregistrer ce %{model} : %{count} erreurs"
+      body: "Veuillez vérifier les champs suivants : "
+
+  attributes:
+    created_at: "Créé le"
+    updated_at: "Modifié le"
+
+  errors:
+    format: "Le %{attribute} %{message}"
+    messages: &errors_messages
+      inclusion: "n'est pas inclus(e) dans la liste"
+      exclusion: "n'est pas disponible"
+      invalid: "n'est pas valide"
+      confirmation: "ne concorde pas avec la confirmation"
+      accepted: "doit être accepté(e)"
+      empty: "doit être rempli(e)"
+      blank: "doit être rempli(e)"
+      too_long: "est trop long (pas plus de %{count} caractères)"
+      too_short: "est trop court (au moins %{count} caractères)"
+      wrong_length: "ne fait pas la bonne longueur (doit comporter %{count} caractères)"
+      not_a_number: "n'est pas un nombre"
+      not_an_integer: "doit être un nombre entier"
+      greater_than: "doit être supérieur à %{count}"
+      greater_than_or_equal_to: "doit être supérieur ou égal à %{count}"
+      equal_to: "doit être égal à %{count}"
+      less_than: "doit être inférieur à %{count}"
+      less_than_or_equal_to: "doit être inférieur ou égal à %{count}"
+      odd: "doit être impair"
+      even: "doit être pair"
+
   activerecord:
     errors:
-      template:
-        header: 
-          one: "Impossible d'enregistrer {{model}}: 1 erreur"
-          other: "Impossible d'enregistrer {{model}}: {{count}} erreurs."
-        body: "Veuillez vérifier les champs suivants :"
       messages:
-        inclusion: "n'est pas inclus(e) dans la liste"
-        exclusion: "n'est pas disponible"
-        invalid: "n'est pas valide"
-        confirmation: "ne concorde pas avec la confirmation"
-        accepted: "doit être accepté(e)"
-        empty: "doit être rempli(e)"
-        blank: "doit être rempli(e)"
-        too_long: "est trop long (pas plus de {{count}} caractères)"
-        too_short: "est trop court (au moins {{count}} caractères)"
-        wrong_length: "ne fait pas la bonne longueur (doit comporter {{count}} caractères)"
         taken: "n'est pas disponible"
-        not_a_number: "n'est pas un nombre"
-        greater_than: "doit être supérieur à {{count}}"
-        greater_than_or_equal_to: "doit être supérieur ou égal à {{count}}"
-        equal_to: "doit être égal à {{count}}"
-        less_than: "doit être inférieur à {{count}}"
-        less_than_or_equal_to: "doit être inférieur ou égal à {{count}}"
-        odd: "doit être impair"
-        even: "doit être pair"
+        record_invalid: "La validation a échoué : %{errors}"
+        <<: *errors_messages
+      template:
+        <<: *errors_template
+      full_messages:
+        format: "%{attribute} %{message}"
+
index 58855d02006bc91636513d67e50b46e657d077b8..643edc5cb9d3dcfaa5cb6bfdd1843092fc216e43 100755 (executable)
-# French translations for Ruby on Rails 
+# French translations for Ruby on Rails
 # by Christian Lescuyer (christian@flyingcoders.com)
-# contributor: Sebastien Grosjean - ZenCocoon.com
+# contributors:
+#  - Sebastien Grosjean - ZenCocoon.com
+#  - Bruno Michel - http://github.com/nono
+#  - Tsutomu Kuroda - http://github.com/kuroda (t-kuroda@oiax.jp)
 
-# HTML codes
-# e accent aigu : &eacute;
-# e accent grave : &egrave;
-# a grave : &agrave;
-# u circonflexe : &ucirc;
-# e circonflexe : &ecirc;
 fr:
   date:
     formats:
       default: "%d/%m/%Y"
       short: "%e %b"
       long: "%e %B %Y"
-      long_ordinal: "%e %B %Y"
-      only_day: "%e"
-
     day_names: [dimanche, lundi, mardi, mercredi, jeudi, vendredi, samedi]
     abbr_day_names: [dim, lun, mar, mer, jeu, ven, sam]
-    month_names: [~, janvier, f&eacute;vrier, mars, avril, mai, juin, juillet, ao&ucirc;t, septembre, octobre, novembre, d&eacute;cembre]
-    abbr_month_names: [~, jan., f&eacute;v., mar., avr., mai, juin, juil., ao&ucirc;t, sept., oct., nov., d&eacute;c.]
-    order: [ :day, :month, :year ]
-  
+    month_names: [~, janvier, février, mars, avril, mai, juin, juillet, août, septembre, octobre, novembre, décembre]
+    abbr_month_names: [~, jan., fév., mar., avr., mai, juin, juil., août, sept., oct., nov., déc.]
+    order:
+      - :day
+      - :month
+      - :year
+
   time:
     formats:
-      default: "%d %B %Y %H:%M"
-      time: "%H:%M"
+      default: "%d %B %Y %H:%M:%S"
       short: "%d %b %H:%M"
-      long: "%A %d %B %Y %H:%M:%S %Z"
-      long_ordinal: "%A %d %B %Y %H:%M:%S %Z"
-      only_second: "%S"
+      long: "%A %d %B %Y %H:%M"
     am: 'am'
     pm: 'pm'
 
   datetime:
     distance_in_words:
-      half_a_minute: "30 secondes"
+      half_a_minute: "une demi-minute"
       less_than_x_seconds:
         zero:  "moins d'une seconde"
-        one:   "moins de 1 seconde"
-        other: "moins de {{count}} secondes"
+        one:   "moins d'une seconde"
+        other: "moins de %{count} secondes"
       x_seconds:
         one:   "1 seconde"
-        other: "{{count}} secondes"
+        other: "%{count} secondes"
       less_than_x_minutes:
-        zero:  "moins d'une minute"
-        one:   "moins de 1 minute"
-        other: "moins de {{count}} minutes"
+        zero:  "moins d'une minute"
+        one:   "moins d'une minute"
+        other: "moins de %{count} minutes"
       x_minutes:
         one:   "1 minute"
-        other: "{{count}} minutes"
+        other: "%{count} minutes"
       about_x_hours:
         one:   "environ une heure"
-        other: "environ {{count}} heures"
+        other: "environ %{count} heures"
       x_days:
         one:   "1 jour"
-        other: "{{count}} jours"
+        other: "%{count} jours"
       about_x_months:
         one:   "environ un mois"
-        other: "environ {{count}} mois"
+        other: "environ %{count} mois"
       x_months:
         one:   "1 mois"
-        other: "{{count}} mois"
+        other: "%{count} mois"
       about_x_years:
         one:   "environ un an"
-        other: "environ {{count}} ans"
+        other: "environ %{count} ans"
       over_x_years:
         one:   "plus d'un an"
-        other: "plus de {{count}} ans"
+        other: "plus de %{count} ans"
+      almost_x_years:
+        one:   "presqu'un an"
+        other: "presque %{count} ans"
     prompts:
-      year:   "Ann&eacute;e"
+      year:   "Année"
       month:  "Mois"
       day:    "Jour"
       hour:   "Heure"
       minute: "Minute"
       second: "Seconde"
-  
+
   number:
     format:
+      separator: ","
+      delimiter: " "
       precision: 3
-      separator: ','
-      delimiter: ' '
+      significant: false
+      strip_insignificant_zeros: false
     currency:
       format:
-        unit: '€'
+        format: "%n %u"
+        unit: "€"
+        separator: ","
+        delimiter: " "
         precision: 2
-        format: '%n %u'
+        significant: false
+        strip_insignificant_zeros: false
+    percentage:
+      format:
+        delimiter: ""
+    precision:
+      format:
+        delimiter: ""
     human:
       format:
+        delimiter: ""
         precision: 2
-      storage_units: [ Octet, ko, Mo, Go, To ]
-  
+        significant: true
+        strip_insignificant_zeros: true
+      storage_units:
+        format: "%n %u"
+        units:
+          byte:
+            one:   "octet"
+            other: "octets"
+          kb: "ko"
+          mb: "Mo"
+          gb: "Go"
+          tb: "To"
+      decimal_units:
+        format: "%n %u"
+        units:
+          unit: ""
+          thousand: "millier"
+          million: "million"
+          billion: "milliard"
+          trillion: "billion"
+          quadrillion: "million de milliards"
+
   support:
     array:
-      sentence_connector: 'et'
-      skip_last_comma: true
       words_connector: ", "
       two_words_connector: " et "
       last_word_connector: " et "
-  
+    select:
+      prompt: "Veuillez sélectionner"
+
+  helpers:
+    select:
+      prompt: "Veuillez sélectionner"
+    submit:
+      create: "Créer un %{model}"
+      update: "Modifier ce %{model}"
+      submit: "Enregistrer ce %{model}"
+
+  attributes:
+    created_at: "Créé le"
+    updated_at: "Modifié le"
+
+  errors:
+    format: "Le %{attribute} %{message}"
+    messages: &errors_messages
+      inclusion: "n'est pas inclus(e) dans la liste"
+      exclusion: "n'est pas disponible"
+      invalid: "n'est pas valide"
+      confirmation: "ne concorde pas avec la confirmation"
+      accepted: "doit être accepté(e)"
+      empty: "doit être rempli(e)"
+      blank: "doit être rempli(e)"
+      too_long: "est trop long (pas plus de %{count} caractères)"
+      too_short: "est trop court (au moins %{count} caractères)"
+      wrong_length: "ne fait pas la bonne longueur (doit comporter %{count} caractères)"
+      not_a_number: "n'est pas un nombre"
+      not_an_integer: "doit être un nombre entier"
+      greater_than: "doit être supérieur à %{count}"
+      greater_than_or_equal_to: "doit être supérieur ou égal à %{count}"
+      equal_to: "doit être égal à %{count}"
+      less_than: "doit être inférieur à %{count}"
+      less_than_or_equal_to: "doit être inférieur ou égal à %{count}"
+      odd: "doit être impair"
+      even: "doit être pair"
+    template: &errors_template
+      header:
+        one:   "Impossible d'enregistrer ce %{model} : 1 erreur"
+        other: "Impossible d'enregistrer ce %{model} : %{count} erreurs"
+      body: "Veuillez vérifier les champs suivants : "
+
   activerecord:
     errors:
-      template:
-        header: 
-          one: "Impossible d'enregistrer {{model}}: 1 erreur"
-          other: "Impossible d'enregistrer {{model}}: {{count}} erreurs."
-        body: "Veuillez v&eacute;rifier les champs suivants :"
       messages:
-        inclusion: "n'est pas inclus(e) dans la liste"
-        exclusion: "n'est pas disponible"
-        invalid: "n'est pas valide"
-        confirmation: "ne concorde pas avec la confirmation"
-        accepted: "doit &ecirc;tre accept&eacute;(e)"
-        empty: "doit &ecirc;tre rempli(e)"
-        blank: "doit &ecirc;tre rempli(e)"
-        too_long: "est trop long (pas plus de {{count}} caract&egrave;res)"
-        too_short: "est trop court (au moins {{count}} caract&egrave;res)"
-        wrong_length: "ne fait pas la bonne longueur (doit comporter {{count}} caract&egrave;res)"
         taken: "n'est pas disponible"
-        not_a_number: "n'est pas un nombre"
-        greater_than: "doit &ecirc;tre sup&eacute;rieur &agrave; {{count}}"
-        greater_than_or_equal_to: "doit &ecirc;tre sup&eacute;rieur ou &eacute;gal &agrave; {{count}}"
-        equal_to: "doit &ecirc;tre &eacute;gal &agrave; {{count}}"
-        less_than: "doit &ecirc;tre inf&eacute;rieur &agrave; {{count}}"
-        less_than_or_equal_to: "doit &ecirc;tre inf&eacute;rieur ou &eacute;gal &agrave; {{count}}"
-        odd: "doit &ecirc;tre impair"
-        even: "doit &ecirc;tre pair"
+        record_invalid: "La validation a échoué : %{errors}"
+        <<: *errors_messages
+      template:
+        <<: *errors_template
+      full_messages:
+        format: "%{attribute} %{message}"
diff --git a/sonar-server/src/main/webapp/WEB-INF/config/locales/defaults/fur.yml b/sonar-server/src/main/webapp/WEB-INF/config/locales/defaults/fur.yml
new file mode 100644 (file)
index 0000000..3d05a22
--- /dev/null
@@ -0,0 +1,144 @@
+# Friulian translations for Ruby on Rails 
+# by Andrea Decorte (adecorte@gmail.com)
+
+fur:
+  number:
+    format:
+      separator: ","
+      delimiter: "."
+      precision: 3
+      
+    currency:
+      format:
+        format: "%n %u"
+        unit: "€"
+        separator: "."
+        delimiter: ","
+        precision: 2
+        
+    percentage:
+      format:
+        delimiter: ""
+        # precision: 
+        
+    precision:
+      format:
+        # separator:
+        delimiter: ""
+        # precision:
+        
+    human:
+      format:
+        # separator: 
+        delimiter: ""
+        precision: 1
+      storage_units:
+        format: "%n %u"
+        units:
+          byte:
+            one:   "Byte"
+            other: "Byte"
+          kb: "Kb"
+          mb: "Mb"
+          gb: "Gb"
+          tb: "Tb"
+
+  date:
+    formats:
+      default: "%d-%m-%Y"
+      short: "%d di %b"
+      long: "%d di %B dal %Y"
+
+    day_names: [domenie, lunis, martars, miercus, joibe, vinars, sabide]
+    abbr_day_names: [dom, lun, mar, mie, joi, vin, sab]
+
+    month_names: [~, Zenâr, Fevrâr, Març, Avrîl, Mai, Jugn, Lui, Avost, Setembar, Otubar, Novembar, Dicembar]
+    abbr_month_names: [~, Zen, Fev, Mar, Avr, Mai, Jug, Lui, Avo, Set, Otu, Nov, Dic]
+    order:
+      - :day
+      - :month
+      - :year
+  
+  time:
+    formats:
+      default: "%a %d di %b dal %Y, %H:%M:%S %z"
+      short: "%d di %b %H:%M"
+      long: "%d di %B %Y %H:%M"
+          
+    am: 'am'
+    pm: 'pm'
+      
+  datetime:
+    distance_in_words:
+      half_a_minute: "mieç minût"
+      less_than_x_seconds:
+        one:  "mancul di un secont"
+        other: "mancul di %{count} seconts"
+      x_seconds:
+        one:  "1 secont"
+        other: "%{count} seconts"
+      less_than_x_minutes:
+        one:  "mancul di un minût"
+        other: "mancul di %{count} minûts"
+      x_minutes:
+        one:  "1 minût"
+        other: "%{count} minûts"
+      about_x_hours:
+        one:  "cirche une ore"
+        other: "cirche %{count} oris"
+      x_days:
+        one:  "1 zornade"
+        other: "%{count} zornadis"
+      about_x_months:
+        one:  "cirche un mês"
+        other: "cirche %{count} mês"
+      x_months:
+        one:  "1 mês"
+        other: "%{count} mês"
+      about_x_years:
+        one:  "cirche un an"
+        other: "cirche %{count} agns"
+      over_x_years:
+        one:  "plui di un an"
+        other: "plui di %{count} agns"
+    prompts:
+      year:   "An"
+      month:  "Mês"
+      day:    "Dì"
+      hour:   "Ore"
+      minute: "Minût"
+      second: "Seconts"
+
+  support:
+    array:
+      words_connector: ", "
+      two_words_connector: " e "
+      last_word_connector: ", e "
+        
+  activerecord:
+    errors:
+      template:
+        header: 
+          one: "No si pues salvâ chest %{model}: 1 erôr"
+          other: "No si pues salvâ chest %{model}: %{count} erôrs."
+        body: "Torne par plasê a controlâ i cjamps ca sot:"
+      messages:
+        inclusion: "non è includût te liste"
+        exclusion: "al è riservât"
+        invalid: "nol è valit"
+        confirmation: "nol è compagn de conferme"
+        accepted: "al à di jessi acetât"
+        empty: "nol pues jessi vueit"
+        blank: "nol pues jessi lassât in blanc"
+        too_long: "al è masse lunc (il massim al è %{count} letaris)"
+        too_short: "al è masse curt (il minim al è %{count} letaris)"
+        wrong_length: "nol à la lungjece juste (al ò di jessi di %{count} letaris)"
+        taken: "al è za doprât"
+        not_a_number: "nol è un numar"
+        greater_than: "al à di jessi plui grant di %{count}"
+        greater_than_or_equal_to: "al à di jessi plui grant o compagn di %{count}"
+        equal_to: "al à di jessi compagn di %{count}"
+        less_than: "al à di jessi mancul di %{count}"
+        less_than_or_equal_to: "al à di jessi mancul o compagn di %{count}"
+        odd: "al à di jessi dispar"
+        even: "al à di jessi pâr"
\ No newline at end of file
old mode 100755 (executable)
new mode 100644 (file)
index 7e46d5c..53e6603
@@ -69,7 +69,10 @@ gl-ES:
     abbr_day_names:   [Dom, Lun, Mar, Mer, Xov, Ven, Sab]
     month_names:      [~, Xaneiro, Febreiro, Marzo, Abril, Maio, Xuño, Xullo, Agosto, Setembro, Outubro, Novembro, Decembro]
     abbr_month_names: [~, Xan, Feb, Mar, Abr, Mai, Xuñ, Xul, Ago, Set, Out, Nov, Dec]
-    order:            [:day, :month, :year]
+    order:
+      - :day
+      - :month
+      - :year
 
   time:
     formats:
@@ -89,38 +92,38 @@ gl-ES:
         zero: 'menos dun segundo'
         one: '1 segundo'
         few: 'poucos segundos'
-        other: '{{count}} segundos'
+        other: '%{count} segundos'
       x_seconds:
         one: '1 segundo'
-        other: '{{count}} segundos'
+        other: '%{count} segundos'
       less_than_x_minutes:
         zero: 'menos dun minuto'
         one: '1 minuto'
-        other: '{{count}} minutos'
+        other: '%{count} minutos'
       x_minutes:
         one: '1 minuto'
-        other: '{{count}} minuto'
+        other: '%{count} minuto'
       about_x_hours:
         one: 'aproximadamente unha hora'
-        other: '{{count}} horas'
+        other: '%{count} horas'
       x_days:
         one: '1 día'
-        other: '{{count}} días'
+        other: '%{count} días'
       x_weeks:
         one: '1 semana'
-        other: '{{count}} semanas'
+        other: '%{count} semanas'
       about_x_months:
         one: 'aproximadamente 1 mes'
-        other: '{{count}} meses'
+        other: '%{count} meses'
       x_months:
         one: '1 mes'
-        other: '{{count}} meses'
+        other: '%{count} meses'
       about_x_years:
         one: 'aproximadamente 1 ano'
-        other: '{{count}} anos'
+        other: '%{count} anos'
       over_x_years:
         one: 'máis dun ano'
-        other: '{{count}} anos'
+        other: '%{count} anos'
       now: 'agora'
       today: 'hoxe'
       tomorrow: 'mañá'
@@ -155,8 +158,8 @@ gl-ES:
     errors:
       template:
         header:
-          one: "1 erro evitou que se poidese gardar o {{model}}"
-          other: "{{count}} erros evitaron que se poidese gardar o {{model}}"
+          one: "1 erro evitou que se poidese gardar o %{model}"
+          other: "%{count} erros evitaron que se poidese gardar o %{model}"
         # A variable :count tamén está dispoñible aquí
         body: "Atopáronse os seguintes problemas:"
       messages:
@@ -167,16 +170,16 @@ gl-ES:
         accepted: "debe ser aceptado"
         empty: "non pode estar valeiro"
         blank: "non pode estar en blanco"
-        too_long: "é demasiado longo (non máis de {{count}} carácteres)"
-        too_short: "é demasiado curto (non menos de {{count}} carácteres)"
-        wrong_length: "non ten a lonxitude correcta (debe ser de {{count}} carácteres)"
+        too_long: "é demasiado longo (non máis de %{count} carácteres)"
+        too_short: "é demasiado curto (non menos de %{count} carácteres)"
+        wrong_length: "non ten a lonxitude correcta (debe ser de %{count} carácteres)"
         taken: "non está dispoñible"
         not_a_number: "non é un número"
-        greater_than: "debe ser maior que {{count}}"
-        greater_than_or_equal_to: "debe ser maior ou igual que {{count}}"
-        equal_to: "debe ser igual a {{count}}"
-        less_than: "debe ser menor que {{count}}"
-        less_than_or_equal_to: "debe ser menor ou igual que {{count}}"
+        greater_than: "debe ser maior que %{count}"
+        greater_than_or_equal_to: "debe ser maior ou igual que %{count}"
+        equal_to: "debe ser igual a %{count}"
+        less_than: "debe ser menor que %{count}"
+        less_than_or_equal_to: "debe ser menor ou igual que %{count}"
         odd: "debe ser par"
         even: "debe ser impar"
         # Engade aquí os teus propios mensaxes de erro ou no ámbito modelo/atributo
@@ -187,7 +190,7 @@ gl-ES:
         # Exemplos avanzados
         # models:
         #   user:
-        #     blank: "Esta é unha mensaxe personalizada para o modelo {{model}}: {{attribute}}"
+        #     blank: "Esta é unha mensaxe personalizada para o modelo %{model}: %{attribute}"
         #     attributes:
         #       login:
         #         blank: "Esta é unha mensaxe personalidaza para o modelo Usuario: login"
diff --git a/sonar-server/src/main/webapp/WEB-INF/config/locales/defaults/gsw-CH.yml b/sonar-server/src/main/webapp/WEB-INF/config/locales/defaults/gsw-CH.yml
new file mode 100644 (file)
index 0000000..8724913
--- /dev/null
@@ -0,0 +1,182 @@
+# Swiss German (Switzerland) translations for Ruby on Rails 
+# by Florian Hanke (florian.hanke@gmail.com).
+#
+# Adapted from de-CH by Clemens Kofler (clemens@railway.at).
+
+gsw-CH:
+  date:
+    formats:
+      default: "%d.%m.%Y"
+      short: "%e. %b"
+      long: "%e. %B %Y"
+      only_day: "%e"
+
+    day_names: [Sunntig, Mäntig, Ziischtig, Mittwuch, Dunnschtig, Friitig, Samschtig]
+    abbr_day_names: [Su, Mä, Zi, Mi, Du, Fr, Sa]
+    month_names: [~, Januar, Februar, März, April, Mai, Juni, Juli, Auguscht, Septämber, Oktober, Novämber, Dezämber]
+    abbr_month_names: [~, Jan, Feb, Mär, Apr, Mai, Jun, Jul, Aug, Sep, Okt, Nov, Dez]
+    order:
+      - :day
+      - :month
+      - :year
+  
+  time:
+    formats:
+      default: "%A, %d. %B %Y, %H:%M"
+      short: "%d. %B, %H:%M"
+      long: "%A, %d. %B %Y, %H:%M"
+      time: "%H:%M"
+
+    am: "am Vormittaag"
+    pm: "am Namitaag"
+      
+  datetime:
+    distance_in_words:
+      half_a_minute: 'ä halbi Minuutä'
+      less_than_x_seconds:
+        one: 'weniger als ä Sekundä'
+        other: 'weniger als %{count} Sekundä'
+      x_seconds:
+        one: 'ä Sekunde'
+        other: '%{count} Sekunde'
+      less_than_x_minutes:
+        one: 'weniger als ä Minuutä'
+        other: 'weniger als %{count} Minuutä'
+      x_minutes:
+        one: 'ä Minutä'
+        other: '%{count} Minutä'
+      about_x_hours:
+        one: 'öppe nä Schtund'
+        other: 'öppe nä %{count} Schtund'
+      x_days:
+        one: 'än Taag'
+        other: '%{count} Taag'
+      about_x_months:
+        one: 'öppe än Monät'
+        other: 'öppe %{count} Mönet'
+      x_months:
+        one: 'än Monät'
+        other: '%{count} Mönet'
+      almost_x_years:
+        one: 'fascht äs Jaar'
+        other: 'fascht %{count} Jaar'
+      about_x_years:
+        one: 'öppe näs Jaar'
+        other: 'öppe %{count} Jaar'
+      over_x_years:
+        one: 'meh als äs Jaar'
+        other: 'meh als %{count} Jaar'
+    prompts:
+      second: "Sekundä"
+      minute: "Minutä"
+      hour: "Schtund"
+      day: "Taag"
+      month: "Monät"
+      year: "Jaar"
+
+  number:
+    format:
+      precision: 2
+      separator: '.'
+      delimiter: "'"
+      significant: false
+      strip_insignificant_zeros: false
+    currency:
+      format:
+        unit: 'SFr.'
+        format: '%u %n'
+        separator: '.'
+        delimiter: "'"
+        precision: 2
+        significant: false
+        strip_insignificant_zeros: false
+    percentage:
+      format:
+        delimiter: "'"
+    precision:
+      format:
+        delimiter: ""
+    human:
+      format:
+        delimiter: ""
+        precision: 1
+        significant: true
+        strip_insignificant_zeros: true
+      storage_units:
+        # Storage units output formatting.
+        # %u is the storage unit, %n is the number (default: 2 MB)
+        format: "%n %u"
+        units:
+          byte:
+            one:   "Byte"  # Bäit
+            other: "Bytes" # Bäits
+          kb: "KB"
+          mb: "MB"
+          gb: "GB"
+          tb: "TB"
+      decimal_units:
+        format: "%n %u"
+        units:
+          unit: ""
+          thousand: Tuusig
+          million: Milioon
+          billion: Bilioon
+          trillion: Trilioon
+          quadrillion: Quadrilioon
+
+  support:
+    array:
+      words_connector: ", "
+      two_words_connector: " und "
+      last_word_connector: " und "
+    select:
+      prompt: "Bitte wääle:"
+      
+  helpers:
+    select:
+      prompt: "Bitte wääle"
+      
+    submit:
+      create: '%{model} erschtele'
+      update: '%{model} ändere'
+      submit: '%{model} schpeichere'
+      
+  errors:
+    format: "%{attribute} %{message}"
+    
+    messages: &errors_messages
+      inclusion: "isch kän gültige Wert"
+      exclusion: "isch nöd ume"
+      invalid: "isch nöd gültig"
+      confirmation: "isch nöd gliich wie'd Beschtätigung"
+      accepted: "mues akzeptiert werdä"
+      empty: "mues uusgfüllt werdä"
+      blank: "mues uusgfüllt werdä"
+      too_long: "isch z'lang (nöd mee als %{count} Zeiche)"
+      too_short: "isch z'churz (nöd weniger als %{count} Zeiche)"
+      wrong_length: "hät di falsch Längi (mues genau %{count} Zeiche haa)"
+      not_a_number: "isch kä Nummerä"
+      not_an_integer: "isch kä Zaal"
+      greater_than: "mues grösser als %{count} sii"
+      greater_than_or_equal_to: "mues grösser oder gliich wi %{count} sii"
+      equal_to: "mues genau %{count} sii"
+      less_than: "mues chliiner als %{count} sii"
+      less_than_or_equal_to: "mues chliiner oder gliich %{count} sii"
+      odd: "mues ungraad sii"
+      even: "mues graad sii"
+      
+  activerecord:
+    errors:
+      template:
+        header:
+          one:    "Han's %{model} nöd schpeichere chönne: än Fehler."
+          other:  "Han's %{model} näd schpeichere chönne: %{count} Fehler."
+        body: "Bitte überprüefed Si die Felder:"
+        
+      messages:
+        taken: "isch bereits vergää"
+        record_invalid: "Gültigkeitsprüefig hät fehlgschlage: %{errors}"
+        <<: *errors_messages
+        
+      full_messages:
+        format: "%{attribute} %{message}"
old mode 100755 (executable)
new mode 100644 (file)
index 6b2f6d4..30bfb84
@@ -1,7 +1,8 @@
 # Hebrew translations for Ruby on Rails 
 # by Dotan Nahum (dipidi@gmail.com)
+# Rails 3 update by rbjarnason
 
-"he-IL":
+"he":
   date:
     formats:
       default: "%Y-%m-%d"
       only_day: "%e"
 
     day_names: [ראשון, שני, שלישי, רביעי, חמישי, שישי, שבת]
-    abbr_day_names: [רא, שנ, של, רב, חמ, שי, שב]
+    abbr_day_names: [א, ב, ג, ד, ה, ו, ש]
+
     month_names: [~, ינואר, פברואר, מרץ, אפריל, מאי, יוני, יולי, אוגוסט, ספטמבר, אוקטובר, נובמבר, דצמבר]
     abbr_month_names: [~, יאנ, פב, מרץ, אפר, מאי, יונ, יול, אוג, ספט, אוק, נוב, דצ]
-    order: [ :day, :month, :year ]
-  
+    order:
+      - :day
+      - :month
+      - :year
+
   time:
     formats:
       default: "%a %b %d %H:%M:%S %Z %Y"
       short: "%d %b %H:%M"
       long: "%B %d, %Y %H:%M"
       only_second: "%S"
-      
-      datetime:
-        formats:
-          default: "%d-%m-%YT%H:%M:%S%Z"
-          
-      am: 'am'
-      pm: 'pm'
-      
+    am: "am"
+    pm: "pm"
+
+  support:
+    array:
+      words_connector: ", "
+      two_words_connector: " את "
+      last_word_connector: ", את "
+
+    select:
+      prompt: "נא לבחור"
+
+  number:
+    format:
+      precision: 3
+      separator: '.'
+      delimiter: ','
+      significant: false
+      strip_insignificant_zeros: false
+
+    currency:
+      format:
+        unit: 'שח'
+        precision: 2
+        format: '%u %n'
+        separator: "."
+        delimiter: ","
+        significant: false
+        strip_insignificant_zeros: false
+
+    percentage:
+      format:
+        delimiter: ""
+
+    precision:
+      format:
+        delimiter: ""
+
+    human:
+      format:
+        delimiter: ""
+        precision: 3
+        significant: true
+        strip_insignificant_zeros: true
+      storage_units:
+        format: "%n %u"
+        units:
+          byte:
+            one:   "בתים"
+            other: "בתים"
+          kb: "KB"
+          mb: "MB"
+          gb: "GB"
+          tb: "TB"
+      decimal_units:
+        format: "%n %u"
+        units:
+          unit: ""
+          thousand: אלף
+          million: מיליון
+          billion: מיליארד
+          trillion: טריליון
+          quadrillion: קודריליון
+
   datetime:
     distance_in_words:
       half_a_minute: 'חצי דקה'
       less_than_x_seconds:
         zero: 'פחות משניה אחת'
         one: 'פחות משניה אחת'
-        other: 'פחות מ- {{count}} שניות'
+        other: 'פחות מ- %{count} שניות'
       x_seconds:
         one: 'שניה אחת'
-        other: '{{count}} שניות'
+        other: '%{count} שניות'
       less_than_x_minutes:
         zero: 'פחות מדקה אחת'
         one: 'פחות מדקה אחת'
-        other: 'פחות מ- {{count}} דקות'
+        other: 'פחות מ- %{count} דקות'
       x_minutes:
         one: 'דקה אחת'
-        other: '{{count}} דקות'
+        other: '%{count} דקות'
       about_x_hours:
         one: 'בערך שעה אחת'
-        other: 'בערך {{count}} שעות'
+        other: 'בערך %{count} שעות'
       x_days:
         one: 'יום אחד'
-        other: '{{count}} ימים'
+        other: '%{count} ימים'
       about_x_months:
         one: 'בערך חודש אחד'
-        other: 'בערך {{count}} חודשים'
+        other: 'בערך %{count} חודשים'
       x_months:
         one: 'חודש אחד'
-        other: '{{count}} חודשים'
+        other: '%{count} חודשים'
       about_x_years:
         one: 'בערך שנה אחת'
-        other: 'בערך {{count}} שנים'
+        other: 'בערך %{count} שנים'
       over_x_years:
         one: 'מעל שנה אחת'
-        other: 'מעל {{count}} שנים'
-      
-  number:
-    format:
-      precision: 3
-      separator: '.'
-      delimiter: ','
-    currency:
-      format:
-        unit: 'שח'
-        precision: 2
-        format: '%u %n'
-        
-  active_record:
-    error:
-      header_message: ["לא ניתן לשמור {{model}}: שגיאה אחת", "לא ניתן לשמור {{model}}: {{count}} שגיאות."]
-      message: "אנא בדוק את השדות הבאים:"
-    error_messages:
+        other: 'מעל %{count} שנים'
+      almost_x_years:
+        one:   "כמעט שנה"
+        other: "כמעט %{count} שנים"
+    prompts:
+      year:   "שנה"
+      month:  "חודש"
+      day:    "יום"
+      hour:   "שעה"
+      minute: "דקה"
+      second: "שניות"
+
+  helpers:
+    select:
+      prompt: "נא לבחור"
+
+    submit:
+      create: '%{model} יצירת'
+      update: '%{model} עדכון'
+      submit: '%{model} שמור'
+
+  errors:
+    format: "%{attribute} %{message}"
+
+    messages: &errors_messages
       inclusion: "לא נכלל ברשימה"
       exclusion: "לא זמין"
       invalid: "לא ולידי"
       accepted: "חייב באישור"
       empty: "חייב להכלל"
       blank: "חייב להכלל"
-      too_long: "יותר מדי ארוך (לא יותר מ- {{count}} תוים)"
-      too_short: "יותר מדי קצר (לא יותר מ- {{count}} תוים)"
-      wrong_length: "לא באורך הנכון (חייב להיות {{count}} תוים)"
-      taken: "לא זמין"
+      too_long: "יותר מדי ארוך (לא יותר מ- %{count} תוים)"
+      too_short: "יותר מדי קצר (לא יותר מ- %{count} תוים)"
+      wrong_length: "לא באורך הנכון (חייב להיות %{count} תוים)"
       not_a_number: "הוא לא מספר"
-      greater_than: "חייב להיות גדול מ- {{count}}"
-      greater_than_or_equal_to: "חייב להיות גדול או שווה ל- {{count}}"
-      equal_to: "חייב להיות שווה ל- {{count}}"
-      less_than: "חייב להיות קטן מ- {{count}}"
-      less_than_or_equal_to: "חייב להיות קטן או שווה ל- {{count}}"
+      not_an_integer: "must be an integer"
+      greater_than: "חייב להיות גדול מ- %{count}"
+      greater_than_or_equal_to: "חייב להיות גדול או שווה ל- %{count}"
+      equal_to: "חייב להיות שווה ל- %{count}"
+      less_than: "חייב להיות קטן מ- %{count}"
+      less_than_or_equal_to: "חייב להיות קטן או שווה ל- %{count}"
       odd: "חייב להיות אי זוגי"
-      even: "חייב להיות זוגי"
\ No newline at end of file
+      even: "חייב להיות זוגי"
+      
+  activerecord:
+    errors:
+      template:
+        header:
+          one: "לא ניתן לשמור %{model}: שגיאה אחת"
+          other: "לא ניתן לשמור %{model}: %{count} שגיאות."
+        body: "אנא בדוק את השדות הבאים:"
+
+      messages:
+        taken: "לא זמין"
+        record_invalid: "אימות נכשל: %{errors}"
+        <<: *errors_messages
+
+      full_messages:
+        format: "%{attribute}%{message}"
diff --git a/sonar-server/src/main/webapp/WEB-INF/config/locales/defaults/hi-IN.yml b/sonar-server/src/main/webapp/WEB-INF/config/locales/defaults/hi-IN.yml
new file mode 100644 (file)
index 0000000..d0d24ad
--- /dev/null
@@ -0,0 +1,181 @@
+# Hindi (India) translations for Rails
+# by Aditya Sanghi (aditya.sanghi@risingsuntech.net)
+
+hi-IN:
+  date:
+    formats:
+      default: "%d-%m-%Y"
+      short: "%b %d"
+      long: "%B %d, %Y"
+
+    day_names: [रविवार, सोमवार, मंगलवार, बुधवार, गुरुवार, शुक्रवार, शनिवार]
+    abbr_day_names: [रवि, सोम, मंगल, बुध, गुरु, शुक्र, शनि]
+
+    month_names: [~, जनवरी, फरवरी, मार्च, अप्रैल, मई, जून, जुलाई, अगस्त, सितंबर, अक्टूबर, नवंबर, दिसंबर]
+    abbr_month_names: [~, Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec]
+    order:
+      - :day
+      - :month
+      - :year
+
+  time:
+    formats:
+      default: "%a, %d %b %Y %H:%M:%S %z"
+      short: "%d %b %H:%M"
+      long: "%B %d, %Y %H:%M"
+    am: "am"
+    pm: "pm"
+
+  support:
+    array:
+      words_connector: ", "
+      two_words_connector: " और "
+      last_word_connector: ", और "
+
+    select:
+      prompt: "कृपया चुनें"
+
+  number:
+    format:
+      separator: "."
+      delimiter: ","
+      precision: 3
+      significant: false
+      strip_insignificant_zeros: false
+
+    currency:
+      format:
+        format: "%u%n"
+        unit: "$"
+        separator: "."
+        delimiter: ","
+        precision: 2
+        significant: false
+        strip_insignificant_zeros: false
+
+    percentage:
+      format:
+        delimiter: ""
+
+    precision:
+      format:
+        delimiter: ""
+
+    human:
+      format:
+        delimiter: ""
+        precision: 3
+        significant: true
+        strip_insignificant_zeros: true
+      storage_units:
+        format: "%n %u"
+        units:
+          byte:
+            one:   "Byte"
+            other: "Bytes"
+          kb: "KB"
+          mb: "MB"
+          gb: "GB"
+          tb: "TB"
+      decimal_units:
+        format: "%n %u"
+        units:
+          unit: ""
+          thousand: "हज़ार"
+          million: "मिल्लिओंन"
+          billion: "अरब"
+          trillion: "खरब"
+          quadrillion: "करोड़ शंख"
+
+  datetime:
+    distance_in_words:
+      half_a_minute: "एक आधा मिनट"
+      less_than_x_seconds:
+        one:   "एक सेकंड से कम"
+        other: "%{count}  सेकंड से कम"
+      x_seconds:
+        one:   "एक सेकंड"
+        other: "%{count} सेकंड"
+      less_than_x_minutes:
+        one:   "एक मिनट से कम"
+        other: "%{count} मिनट से कम"
+      x_minutes:
+        one:   "एक मिनट"
+        other: "%{count} मिनट"
+      about_x_hours:
+        one:   "लग - भग एक घंटा"
+        other: "लग - भग %{count} घंटा"
+      x_days:
+        one:   "एक दिन"
+        other: "%{count} दिन"
+      about_x_months:
+        one:   "लग - भग 1 महीना"
+        other: "लग - भग %{count} महीना"
+      x_months:
+        one:   "एक महीना"
+        other: "%{count} महीना"
+      about_x_years:
+        one:   "लग - भग 1 साल"
+        other: "लग - भग %{count} साल"
+      over_x_years:
+        one:   "एक साल के ऊपर"
+        other: "%{count} साल के ऊपर"
+      almost_x_years:
+        one:   "लग - भग एक साल"
+        other: "लग - भग %{count} साल"
+    prompts:
+      year:   "वर्ष"
+      month:  "माह"
+      day:    "दिन"
+      hour:   "घंटा"
+      minute: "क्षण"
+      second: "सेकंड"
+
+  helpers:
+    select:
+      prompt: "कृपया चुनें"
+
+    submit:
+      create: 'बनाएँ %{model}'
+      update: 'अद्यतन %{model}'
+      submit: 'सहेजें %{model}'
+
+  errors:
+    format: "%{attribute} %{message}"
+
+    messages: &errors_messages
+      inclusion: "सूची में शामिल नहीं है"
+      exclusion: "आरक्षित है"
+      invalid: "अवैध है"
+      confirmation: "पुष्टिकरण मेल नहीं खाता"
+      accepted: "होना स्वीकार किया जाना आवश्यक"
+      empty: "खाली नहीं किया जा सकता"
+      blank: "खाली नहीं किया जा सकता"
+      too_long: "बहुत लंबा है (अधिकतम %{count} अक्षरों है)"
+      too_short: "बहुत छोटा है (न्यूनतम %{count} अक्षरों है)"
+      wrong_length: "गलत लंबाई है (%{count} वर्ण वाले होने चाहिए)"
+      not_a_number: "कोई संख्या नहीं है"
+      not_an_integer: "एक पूर्णांक होना चाहिए"
+      greater_than: "%{count} से अधिक होना चाहिए"
+      greater_than_or_equal_to: "%{count} से बड़ा या बराबर होना आवश्यक है"
+      equal_to: "%{count} के लिए बराबर होना चाहिए"
+      less_than: "%{count} से कम होना चाहिए"
+      less_than_or_equal_to: "%{count} से कम या बराबर होना आवश्यक है"
+      odd: "विषम होना चाहिए"
+      even: "सम होना चाहिए"
+
+  activerecord:
+    errors:
+      template:
+        header:
+          one:    "एक त्रुटि सहेजे जाने से इस %{model} को निषिद्ध"
+          other:  "%{count} त्रुटियों को सहेजे जाने से इस %{model} निषिद्ध"
+        body: "वहाँ निम्नलिखित क्षेत्रों के साथ समस्याओं रहे थे:"
+
+      messages:
+        taken: "पहले ही ले लिया गया है"
+        record_invalid: "सत्यापन विफल: %{errors}"
+        <<: *errors_messages
+
+      full_messages:
+        format: "%{attribute}%{message}"
diff --git a/sonar-server/src/main/webapp/WEB-INF/config/locales/defaults/hi.yml b/sonar-server/src/main/webapp/WEB-INF/config/locales/defaults/hi.yml
new file mode 100644 (file)
index 0000000..5ca2970
--- /dev/null
@@ -0,0 +1,181 @@
+# Hindi (hi) translations for Rails
+# by Rajesh Ranjan (rajesh672@gmail.com)
+
+hi:
+  date:
+    formats:
+      default: "%d-%m-%Y"
+      short: "%b %d"
+      long: "%B %d, %Y"
+
+    day_names: [रविवार, सोमवार, मंगलवार, बुधवार, गुरुवार, शुक्रवार, शनिवार]
+    abbr_day_names: [रवि, सोम, मंगल, बुध, गुरु, शुक्र, शनि]
+
+    month_names: [~, जनवरी, फरवरी, मार्च, अप्रैल, मई, जून, जुलाई, अगस्त, सितंबर, अक्टूबर, नवंबर, दिसंबर]
+    abbr_month_names: [~, जन, फर, मार्च, अप्रै, मई, जून, जुला, अग, सितं, अक्टू, नवं, दिस]
+    order:
+      - :day
+      - :month
+      - :year
+
+  time:
+    formats:
+      default: "%a, %d %b %Y %H:%M:%S %z"
+      short: "%d %b %H:%M"
+      long: "%B %d, %Y %H:%M"
+    am: "पूर्वाह्न"
+    pm: "अपराह्न"
+
+  support:
+    array:
+      words_connector: ", "
+      two_words_connector: " और "
+      last_word_connector: ", और "
+
+    select:
+      prompt: "कृपया चुनें"
+
+  number:
+    format:
+      separator: "."
+      delimiter: ","
+      precision: 3
+      significant: false
+      strip_insignificant_zeros: false
+
+    currency:
+      format:
+        format: "%u%n"
+        unit: "$"
+        separator: "."
+        delimiter: ","
+        precision: 2
+        significant: false
+        strip_insignificant_zeros: false
+
+    percentage:
+      format:
+        delimiter: ""
+
+    precision:
+      format:
+        delimiter: ""
+
+    human:
+      format:
+        delimiter: ""
+        precision: 3
+        significant: true
+        strip_insignificant_zeros: true
+      storage_units:
+        format: "%n %u"
+        units:
+          byte:
+            one:   "Byte"
+            other: "Bytes"
+          kb: "KB"
+          mb: "MB"
+          gb: "GB"
+          tb: "TB"
+      decimal_units:
+        format: "%n %u"
+        units:
+          unit: ""
+          thousand: "हज़ार"
+          million: "दस करोड़"
+          billion: "अरब"
+          trillion: "खरब"
+          quadrillion: "करोड़ शंख"
+
+  datetime:
+    distance_in_words:
+      half_a_minute: "एक आधा मिनट"
+      less_than_x_seconds:
+        one:   "एक सेकेंड से कम"
+        other: "%{count}  सेकेंड से कम"
+      x_seconds:
+        one:   "एक सेकेंड"
+        other: "%{count} सेकेंड"
+      less_than_x_minutes:
+        one:   "एक मिनट से कम"
+        other: "%{count} मिनट से कम"
+      x_minutes:
+        one:   "एक मिनट"
+        other: "%{count} मिनट"
+      about_x_hours:
+        one:   "लगभग एक घंटा"
+        other: "लगभग %{count} घंटा"
+      x_days:
+        one:   "एक दिन"
+        other: "%{count} दिन"
+      about_x_months:
+        one:   "लगभग 1 महीना"
+        other: "लगभग %{count} महीना"
+      x_months:
+        one:   "एक महीना"
+        other: "%{count} महीना"
+      about_x_years:
+        one:   "लगभग 1 साल"
+        other: "लगभग %{count} साल"
+      over_x_years:
+        one:   "एक साल के ऊपर"
+        other: "%{count} साल से अधिक"
+      almost_x_years:
+        one:   "लगभग एक साल"
+        other: "लगभग %{count} साल"
+    prompts:
+      year:   "वर्ष"
+      month:  "माह"
+      day:    "दिन"
+      hour:   "घंटा"
+      minute: "मिनट"
+      second: "सेकेंड"
+
+  helpers:
+    select:
+      prompt: "कृपया चुनें"
+
+    submit:
+      create: '%{model} बनाएँ'
+      update: '%{model} अद्यतन'
+      submit: '%{model} सौंपें'
+
+  errors:
+    format: "%{attribute} %{message}"
+
+    messages: &errors_messages
+      inclusion: "सूची में शामिल नहीं है"
+      exclusion: "आरक्षित है"
+      invalid: "अवैध है"
+      confirmation: "पुष्टिकरण मेल नहीं खाता"
+      accepted: "स्वीकार किया जाना जरूरी"
+      empty: "रिक्त नहीं रह सकता है"
+      blank: "खाली नहीं रह सकता है"
+      too_long: "अत्यधिक लंबा है (अधिकतम %{count} वर्ण हैं)"
+      too_short: "अत्यधिक छोटा है (न्यूनतम %{count} वर्ण हैं)"
+      wrong_length: "गलत लंबाई है (%{count} वर्ण युक्त होना चाहिए)"
+      not_a_number: "कोई संख्या नहीं है"
+      not_an_integer: "एक पूर्णांक होना चाहिए"
+      greater_than: "%{count} से अधिक होना चाहिए"
+      greater_than_or_equal_to: "%{count} से बड़ा या बराबर होना आवश्यक है"
+      equal_to: "%{count} के लिए बराबर होना चाहिए"
+      less_than: "%{count} से कम होना चाहिए"
+      less_than_or_equal_to: "%{count} से कम या बराबर होना आवश्यक है"
+      odd: "विसम होना चाहिए"
+      even: "सम होना चाहिए"
+
+  activerecord:
+    errors:
+      template:
+        header:
+          one:    "इस %{model} को सहेजे जाना एक त्रुटि के कारण नहीं हुआ"
+          other:  "इस %{model} को सहेजे जाना %{count} त्रुटि के कारण नहीं हुआ"
+        body: "निम्नलिखित क्षेत्रों के साथ समस्या थी:"
+
+      messages:
+        taken: "पहले ही ले लिया गया है"
+        record_invalid: "सत्यापन विफल: %{errors}"
+        <<: *errors_messages
+
+      full_messages:
+        format: "%{attribute}%{message}"
diff --git a/sonar-server/src/main/webapp/WEB-INF/config/locales/defaults/hr.yml b/sonar-server/src/main/webapp/WEB-INF/config/locales/defaults/hr.yml
new file mode 100644 (file)
index 0000000..0c61451
--- /dev/null
@@ -0,0 +1,119 @@
+# Croatian translation for Ruby on Rails
+# by Marjan Vrban (mvrban@gmail.com)
+
+"hr":
+  date:
+    formats:
+      default: "%d/%m/%Y"
+      short: "%e %b"
+      long: "%B %e, %Y"
+      only_day: "%e"
+
+    day_names: [Nedjelja, Ponedjeljak, Utorak, Srijeda, Četvrtak, Petak, Subota]
+    abbr_day_names: [Ned, Pon, Uto, Sre, Čet, Pet, Sub]
+    month_names: [~, Siječanj, Veljača, Ožujak, Travanj, Svibanj, Lipanj, Srpanj, Kolovoz, Rujan, Listopad, Studeni, Prosinac]
+    abbr_month_names: [~, Sij, Vel, Ožu, Tra, Svi, Lip, Srp, Kol, Ruj, Lis, Stu, Pro]
+    order:
+      - :day
+      - :month
+      - :year
+
+  time:
+    formats:
+      default: "%a %b %d %H:%M:%S %Z %Y"
+      time: "%H:%M"
+      short: "%d %b %H:%M"
+      long: "%B %d, %Y %H:%M"
+      only_second: "%S"
+
+      datetime:
+        formats:
+          default: "%Y-%m-%dT%H:%M:%S%Z"
+
+      am: 'AM'
+      pm: 'PM'
+
+  datetime:
+    distance_in_words:
+      half_a_minute: 'pola minute'
+      less_than_x_seconds:
+        zero: 'manje od 1 sekunde'
+        one: 'manje od 1 sekunde'
+        few: 'manje od %{count} sekunde'
+        other: 'manje od %{count} sekundi'
+      x_seconds:
+        one: '1 sekunda'
+        few: '%{count} sekunde'
+        other: '%{count} sekundi'
+      less_than_x_minutes:
+        zero: 'manje od minute'
+        one: 'manje od 1 minute'
+        other: 'manje od %{count} minuta'
+      x_minutes:
+        one: '1 minuta'
+        other: '%{count} minuta-e'
+      about_x_hours:
+        one: 'oko 1 sat'
+        few: 'oko %{count} sata'
+        other: 'oko %{count} sati'
+      x_days:
+        one: '1 dan'
+        other: '%{count} dana'
+      about_x_months:
+        one: 'oko 1 mjesec'
+        few: 'oko %{count} mjeseca'
+        other: 'oko %{count} mjeseci'
+      x_months:
+        one: '1 mjesec'
+        few: '%{count} mjeseca'
+        other: '%{count} mjeseci'
+      about_x_years:
+        one: 'oko 1 godine'
+        other: 'oko %{count} godine'
+      over_x_years:
+        one: 'preko 1 godine'
+        other: 'preko %{count} godine'
+
+  number:
+    format:
+      precision: 3
+      separator: ','
+      delimiter: '.'
+    currency:
+      format:
+        unit: 'Kn'
+        precision: 2
+        format: '%n %u'
+
+  support:
+    array:
+      sentence_connector: "i"
+
+  activerecord:
+    errors:
+      template:
+        header:
+          one: 'Nisam uspio spremiti %{model}: 1 greška'
+          few: 'Nisam uspio spremiti %{model}: %{count} greške.'
+          other: 'Nisam uspio spremiti %{model}: %{count} greški.'
+        body: "Molim Vas provjerite slijedeća polja:"
+      messages:
+        inclusion: "nije u listi"
+        exclusion: "nije dostupno"
+        invalid: "nije ispravan"
+        confirmation: "se ne slaže sa svojom potvrdom"
+        accepted: "mora biti prihvaćen"
+        empty: "mora biti ispunjen"
+        blank: "mora biti ispunjen"
+        too_long: "je predugačak (ne više od %{count} karaktera)"
+        too_short: "je prekratak (ne manje od %{count} karaktera)"
+        wrong_length: "nije odgovarajuće dužine (mora imati %{count} karaktera)"
+        taken: "je zauzeto"
+        not_a_number: "nije broj"
+        greater_than: "mora biti veće od %{count}"
+        greater_than_or_equal_to: "mora biti veće ili jednako %{count}"
+        equal_to: "mora biti jednako %{count}"
+        less_than: "mora biti manje od %{count}"
+        less_than_or_equal_to: "mora biti manje ili jednako %{count}"
+        odd: "mora biti neparno"
+        even: "mora biti parno"
diff --git a/sonar-server/src/main/webapp/WEB-INF/config/locales/defaults/hsb.yml b/sonar-server/src/main/webapp/WEB-INF/config/locales/defaults/hsb.yml
new file mode 100644 (file)
index 0000000..c5e4219
--- /dev/null
@@ -0,0 +1,193 @@
+# Upper Sorbian translations for Ruby on Rails
+# by Michael Wolf (preklady@wolfmicha.de)
+
+hsb:
+
+  # ActiveSupport
+  support:
+    array:
+      words_connector: ", "
+      two_words_connector: " a "
+      last_word_connector: " a "
+      sentence_connector: "a"
+      skip_last_comma: true
+
+
+
+  # Date
+  date:
+    formats:
+      default: "%d. %m. %Y"
+      short:   "%d %b"
+      long:    "%d. %B %Y"
+
+    day_names:        [njedźela, póndźela, wutora, srjeda, štwórtk, pjatk, sobota]
+    abbr_day_names:   [Nj, Pó, Wu, Sr, Št, Pj, So]
+    month_names:      [~, Januar, Februar, Měrc, Apryl, Meja, Junij, Julij, Awgust, September, Oktober, Nowember, December]
+    abbr_month_names: [~, jan, feb, měr, apr, mej, jun, jul, awg, sep, okt, now, dec]
+    order:
+      - :day
+      - :month
+      - :year
+
+  # Time
+  time:
+    formats:
+      default: "%A, %d. %B %Y, %H:%M hodź"
+      short:   "%d. %B, %H:%M hodź."
+      long:    "%A, %d. %B %Y, %H:%M hodź."
+
+    am: "dopołdnja"
+    pm: "popołdnju"
+
+
+  # Numbers
+  number:
+    format:
+      precision: 3
+      separator: ","
+      delimiter: "."
+
+    currency:
+      format:
+        unit: "€"
+        precision: 2
+        format: "%n %u"
+        separator: ","
+        delimiter: " "
+
+    human:
+      format:
+        precision: 1
+        delimiter: ""
+
+    storage_units:
+      format: "%n %u"
+      units:
+        byte:
+          one: "bajt"
+          two: "bajtaj"
+          few: "bajty"
+          other: "bajtow"
+        kb:   "KB"
+        mb:   "MB"
+        gb:   "GB"
+        tb:   "TB"
+
+    percentage:
+      format:
+        delimiter: ""
+
+    precision:
+      format:
+        delimiter: ""
+
+
+  # Distance of time ... helper
+  # Used in distance_of_time_in_words(), distance_of_time_in_words_to_now(), time_ago_in_words()
+  datetime:
+    distance_in_words:
+      half_a_minute: "poł mjeńšiny"
+      less_than_x_seconds:
+        one:   "mjenje hač 1 sekundu"
+        two:   "mjenje hač %{count} sekundomaj"
+        few:   "mjenje hač %{count} sekundami"
+        other: "mjenje hač %{count} sekundami"
+      x_seconds:
+        one:   "1 sekundu"
+        two:   "%{count} sekundomaj"
+        few:   "%{count} sekundami"
+        other: "%{count} sekundami"
+      less_than_x_minutes:
+        one: "mjenje hač 1 mjeńšinu"
+        two: "mjenje hač %{count} mjeńšinomaj"
+        few: "mjenje hač %{count} mjeńšinami"
+        other: "mjenje hač %{count} mjeńšinami"
+      x_minutes:
+        one:    "1 mjeńšinu"
+        two:    "%{count} mjeńšinomaj"
+        few:    "%{count} mjeńšinami"
+        other:  "%{count} mjeńšinami"
+      about_x_hours:
+        one:    "něhdźe 1 hodźinu"
+        two:    "něhdźe %{count} hodźinomaj"
+        few:    "něhdźe %{count} hodźinami"
+        other:  "něhdźe %{count} hodźinami"
+      x_days:
+        one:    "1 dnjom"
+        two:    "%{count} dnjomaj"
+        few:    "%{count} dnjemi"
+        other:  "%{count} dnjemi"
+      about_x_months:
+        one:    "něhdźe 1 měsacom"
+        two:    "něhdźe %{count} měsacomaj"
+        few:    "něhdźe %{count} měsacami"
+        other:  "něhdźe %{count} měsacami"
+      x_months:
+        one:    "1 měsacom"
+        two:    "%{count} měsacomaj"
+        few:    "%{count} měsacami"
+        other:  "%{count} měsacami"
+      about_x_years:
+        one:    "něhdźe 1 lětom"
+        two:    "něhdźe %{count} lětomaj"
+        few:    "něhdźe %{count} lětami"
+        other:  "něhdźe %{count} lětami"
+      over_x_years:
+        one:    "přez 1 lětom"
+        two:    "přez %{count} lětomaj"
+        few:    "přez %{count} lětami"
+        other:  "přez %{count} lětami"
+      prompts:
+        year:   "Lěto"
+        month:  "Měsac"
+        day:    "Dźeń"
+        hour:   "Hodźina"
+        minute: "Mjeńšina"
+        second: "Sekunda"
+
+  # ActiveRecord validation messages
+  activerecord:
+    errors:
+      messages:
+        inclusion:    "njeje płaćiwa hódnota"
+        exclusion:    "njesteji k dispoziciji"
+        invalid:      "njeje płaćiwy"
+        confirmation: "njebu wobkrućene"
+        accepted:     "dyrbi so wobkrućić"
+        empty:        "njesmě prózdny być"
+        blank:        "je trěbny"
+        too_long:     
+          one:        "je předołhi (maks. 1 znamješko)"
+          two:        "je předołhi (maks. %{count} znamješce)"
+          few:        "je předołhi (maks. %{count} znamješka)"
+          other:      "je předołhi (maks. %{count} znamješkow)"
+        too_short:    
+          one:        "je překrótki (min. 1 znamješko)"
+          two:        "je překrótki (min. %{count} znamješće)"
+          few:        "je překrótki (min. %{count} znamješka)"
+          other:      "je překrótki (min. %{count} znamješkow)"
+        wrong_length:
+          one:        "nima prawu dołhosć (1 znamješko wočakowane)"
+          two:        "nima prawu dołhosć (%{count} znamješce wočakowanej)"
+          few:        "nima prawu dołhosć (%{count} znamješka wočakowane)"
+          other:      "nima prawu dołhosć (%{count} znamješkow wočakowanych)"
+        taken:        "je hižo w datowej bance"
+        not_a_number: "njeje ličba"
+        greater_than: "dyrbi wjetši hač %{count} być"
+        greater_than_or_equal_to: "dyrbi wjetši abo runja %{count} być"
+        equal_to:                 "dyrbi runja %{count} być"
+        less_than:                "dyrbi mjenje hač %{count} być"
+        less_than_or_equal_to:    "dyrbi mjenje abo runja %{count} być"
+        odd:                      "dyrbi njeruna ličby być"
+        even:                     "dyrbi runa ličba być"
+
+      template:
+        header:
+          one:   "Při składowanju objekta %{model} je k zmylkej dóšło a njebě móžno składować"
+          two:   "Při składowanju objekta %{model} je k %{count} zmylkam dóšło a njebě móžno składować"
+          few:   "Při składowanju objekta %{model} je k %{count} zmylkam dóšło a njebě móžno składować"
+          other: "Při składowanju objekta %{model} je k %{count} zmylkam dóšło a njebě móžno składować"
+          body:  "Prošu přepruwuj slědowace pola:"
+
+      models:
old mode 100755 (executable)
new mode 100644 (file)
index 6163892..d15676f
     abbr_day_names: [v., h., k., sze., cs., p., szo.]
     month_names: [~, január, február, március, április, május, június, július, augusztus, szeptember, október, november, december]
     abbr_month_names: [~, jan., febr., márc., ápr., máj., jún., júl., aug., szept., okt., nov., dec.]
-    order: [ :year, :month, :day ]
+    order:
+      - :year
+      - :month
+      - :day
 
   time:
     formats:
       less_than_x_seconds:
 #        zero: 'kevesebb, mint 1 másodperc'
         one: 'kevesebb, mint 1 másodperc'
-        other: 'kevesebb, mint {{count}} másodperc'
+        other: 'kevesebb, mint %{count} másodperc'
       x_seconds:
         one: '1 másodperc'
-        other: '{{count}} másodperc'
+        other: '%{count} másodperc'
       less_than_x_minutes:
 #        zero: 'kevesebb, mint 1 perc'
         one: 'kevesebb, mint 1 perc'
-        other: 'kevesebb, mint {{count}} perc'
+        other: 'kevesebb, mint %{count} perc'
       x_minutes:
         one: '1 perc'
-        other: '{{count}} perc'
+        other: '%{count} perc'
       about_x_hours:
-        one: 'majdnem 1 óra'
-        other: 'majdnem {{count}} óra'
+        one: 'kb 1 óra'
+        other: 'kb %{count} óra'
       x_days:
         one: '1 nap'
-        other: '{{count}} nap'
+        other: '%{count} nap'
       about_x_months:
-        one: 'majdnem 1 hónap'
-        other: 'majdnem {{count}} hónap'
+        one: 'kb 1 hónap'
+        other: 'kb %{count} hónap'
       x_months:
         one: '1 hónap'
-        other: '{{count}} hónap'
+        other: '%{count} hónap'
       about_x_years:
-        one: 'majdnem 1 év'
-        other: 'majdnem {{count}} év'
+        one: 'kb 1 év'
+        other: 'kb %{count} év'
       over_x_years:
         one: 'több, mint 1 év'
-        other: 'több, mint {{count}} év'
+        other: 'több, mint %{count} év'
+      almost_x_years:
+        one:   "majdnem 1 év"
+        other: "majdnem %{count} év"
     prompts:
       year:   "Év"
       month:  "Hónap"
       format:
         delimiter: ""
         precision: 1
-      storage_units: [bájt, KB, MB, GB, TB]
+      storage_units:
+        format: "%n %u"
+        units:
+          byte:
+            one:   "bájt"
+            other: "bájt"
+          kb: "KB"
+          mb: "MB"
+          gb: "GB"
+          tb: "TB"
 
-  support:
-    array:
-#      sentence_connector: "és"
-#      skip_last_comma: true
-      words_connector: ", "
-      two_words_connector: " és "
-      last_word_connector: " és "
   activerecord:
     errors:
       template:
         header:
-          one: "1 hiba miatt nem menthető a következő: {{model}}"
-          other: "{{count}} hiba miatt nem menthető a következő: {{model}}"
+          one: "1 hiba miatt nem menthető a következő: %{model}"
+          other: "%{count} hiba miatt nem menthető a következő: %{model}"
         body: "Problémás mezők:"
       messages:
         inclusion: "nincs a listában"
         accepted: "nincs elfogadva"
         empty: "nincs megadva"
         blank: "nincs megadva"
-        too_long: "túl hosszú (nem lehet több {{count}} karakternél)"
-        too_short: "túl rövid (legalább {{count}} karakter kell legyen)"
-        wrong_length: "nem megfelelő hosszúságú ({{count}} karakter szükséges)"
+        too_long: "túl hosszú (nem lehet több %{count} karakternél)"
+        too_short: "túl rövid (legalább %{count} karakter kell legyen)"
+        wrong_length: "nem megfelelő hosszúságú (%{count} karakter szükséges)"
         taken: "már foglalt"
         not_a_number: "nem szám"
-        greater_than: "nagyobb kell legyen, mint {{count}}"
-        greater_than_or_equal_to: "legalább {{count}} kell legyen"
-        equal_to: "pontosan {{count}} kell legyen"
-        less_than: "kevesebb, mint {{count}} kell legyen"
-        less_than_or_equal_to: "legfeljebb {{count}} lehet"
+        greater_than: "nagyobb kell legyen, mint %{count}"
+        greater_than_or_equal_to: "legalább %{count} kell legyen"
+        equal_to: "pontosan %{count} kell legyen"
+        less_than: "kevesebb, mint %{count} kell legyen"
+        less_than_or_equal_to: "legfeljebb %{count} lehet"
         odd: "páratlan kell legyen"
-        even: "páros kell legyen"
\ No newline at end of file
+        even: "páros kell legyen"
+        record_invalid: "Sikertelen validálás %{errors}"
+
+  support:
+    array:
+#      sentence_connector: "és"
+#      skip_last_comma: true
+      words_connector: ", "
+      two_words_connector: " és "
+      last_word_connector: " és "
+    select:
+      # default value for :prompt => true in FormOptionsHelper
+      prompt: "Válasszon"
\ No newline at end of file
old mode 100755 (executable)
new mode 100644 (file)
index 3efb383..a126bdf
@@ -1,37 +1,51 @@
-# Bahasa Indonesia translations for Ruby on Rails 
+# Indonesian translations for Ruby on Rails 
 # by wynst (wynst.uei@gmail.com)
 
 id:
+  locale:
+    native_name: Bahasa Indonesia
+    address_separator: " "
   date:
     formats:
       default: "%d %B %Y"
       long: "%A, %d %B %Y"
       short: "%d.%m.%Y"
  
-    day_names: [Minggu,Senin, Selasa, Rabu, Kamis, Jum'at, Sabtu]
-    abbr_day_names: [Minggu,Senin, Selasa, Rabu, Kamis, Jum'at, Sabtu]
+    day_names: [Minggu, Senin, Selasa, Rabu, Kamis, Jum'at, Sabtu]
+    abbr_day_names: [Min, Sen, Sel, Rab, Kam, Jum, Sab]
     month_names: [~, Januari, Februari, Maret, April, Mei, Juni, Juli, Agustus, September, Oktober, November, Desember]
     abbr_month_names: [~, Jan, Feb, Mar, Apr, Mei, Jun, Jul, Agu, Sep, Okt, Nov, Des]
-    order: [:day, :month, :year]
+    order:
+      - :day
+      - :month
+      - :year
 
   time:
     formats:
       default: "%a, %d %b %Y %H.%M.%S %z"
+      numeric: "%d-%b-%y %H:%M"
       short: "%d %b %H.%M"
       long: "%d %B %Y %H.%M"
+      time: "%H:%M"
+      
     am: "am"
     pm: "pm"
 
   support:
+    select:
+      prompt: "Silahkan pilih"
     array:
       sentence_connector: "dan"
       skip_last_comma: true
+      words_connector: ", "
+      two_words_connector: ", "
+      last_word_connector: " dan "
 
   number:
     format:
-      separator: ","
       delimiter: "."
-      precision: 3
+      separator: ","
+      precision: 2
     
     currency:
       format:
@@ -43,62 +57,67 @@ id:
         
     percentage:
       format:
-        # separator:
-        delimiter: ""
-        # precision: 
+      delimiter: "."
+      separator: ","
+      precision: 2
 
     precision:
       format:
-        # separator:
-        delimiter: ""
-        # precision:
+      delimiter: "."
+      separator: ","
         
     human:
       format:
-        delimiter: ""
-        precision: 1
+      delimiter: "."
+      separator: ","
+      precision: 1
       storage_units: [Byte, KB, MB, GB, TB]
  
   datetime:
     distance_in_words:
       half_a_minute: "setengah menit"
       less_than_x_seconds:
+        zero:  "kurang dari 1 detik"
         one:   "kurang dari 1 detik"
-        other: "kurang dari {{count}} detik"
+        other: "kurang dari %{count} detik"
       x_seconds:
         one:   "1 detik"
-        other: "{{count}} detik"
+        other: "%{count} detik"
       less_than_x_minutes:
+        zero:  "kurang dari 1 menit"
         one:   "kurang dari 1 menit"
-        other: "kurang dari  {{count}} menit"
+        other: "kurang dari  %{count} menit"
       x_minutes:
         one:   "menit"
-        other: "{{count}} menit"
+        other: "%{count} menit"
       about_x_hours:
         one:   "sekitar 1 jam"
-        other: "sekitar {{count}} jam"
+        other: "sekitar %{count} jam"
       x_days:
         one:   "sehari"
-        other: "{{count}} hari"
+        other: "%{count} hari"
       about_x_months:
         one:   "sekitar sebulan"
-        other: "sekitar {{count}} bulan"
+        other: "sekitar %{count} bulan"
       x_months:
         one:   "sebulan"
-        other: "{{count}} bulan"
+        other: "%{count} bulan"
       about_x_years:
         one:   "tahun"
-        other: "noin {{count}} tahun"
+        other: "noin %{count} tahun"
       over_x_years:
         one:   "lebih dari setahun"
-        other: "lebih dari {{count}} tahun"
+        other: "lebih dari %{count} tahun"
+      almost_x_years:
+        one:   "hampir setahun"
+        other: "hampir %{count} tahun"
  
   activerecord:
     errors:
       template:
         header:
-          one:    "1 kesalahan mengakibatkan {{model}} ini tidak bisa disimpan"
-          other:  "{{count}} kesalahan mengakibatkan {{model}} ini tidak bisa disimpan"
+          one:    "1 kesalahan mengakibatkan %{model} ini tidak bisa disimpan"
+          other:  "%{count} kesalahan mengakibatkan %{model} ini tidak bisa disimpan"
         body: "Ada persoalan dengan field berikut:"
       messages:
         inclusion: "tidak terikut di daftar"
@@ -108,15 +127,16 @@ id:
         accepted: "harus diterima"
         empty: "tidak bisa kosong"
         blank: "tidak bisa kosong"
-        too_long: "terlalu panjang (maksimum {{count}} karakter)"
-        too_short: "terlalu pendek (maksimum {{count}} karakter)"
-        wrong_length: "dengan panjang tidak sama (seharusnya {{count}} karakter)"
+        too_long: "terlalu panjang (maksimum %{count} karakter)"
+        too_short: "terlalu pendek (maksimum %{count} karakter)"
+        wrong_length: "dengan panjang tidak sama (seharusnya %{count} karakter)"
         taken: "sudah dipanjar"
         not_a_number: "bukan nomor"
-        greater_than: "harus lebih besar dari {{count}}"
-        greater_than_or_equal_to: "harus sama atau lebih besar dari {{count}}"
-        equal_to: "harus sama dengan {{count}}"
-        less_than: "harus lebih kecil dari {{count}}"
-        less_than_or_equal_to: "harus sama atau lebih kecil dari {{count}}"
+        greater_than: "harus lebih besar dari %{count}"
+        greater_than_or_equal_to: "harus sama atau lebih besar dari %{count}"
+        equal_to: "harus sama dengan %{count}"
+        less_than: "harus lebih kecil dari %{count}"
+        less_than_or_equal_to: "harus sama atau lebih kecil dari %{count}"
         odd: "harus ganjil"
-        even: "harus genap"
\ No newline at end of file
+        even: "harus genap"
+        record_invalid: "Verifikasi gagal: %{errors}"
diff --git a/sonar-server/src/main/webapp/WEB-INF/config/locales/defaults/is.yml b/sonar-server/src/main/webapp/WEB-INF/config/locales/defaults/is.yml
new file mode 100644 (file)
index 0000000..79326ad
--- /dev/null
@@ -0,0 +1,181 @@
+# Icelandic, by Ævar Arnfjörð Bjarmason <avarab@gmail.com>
+
+"is":
+  date:
+    formats:
+      default: "%d.%m.%Y"
+      short: "%e. %b"
+      long: "%e. %B %Y"
+
+    day_names: [sunnudaginn, mánudaginn, þriðjudaginn, miðvikudaginn, fimmtudaginn, föstudaginn, laugardaginn]
+    abbr_day_names: [sun, mán, þri, mið, fim, fös, lau]
+
+    month_names: [~, janúar, febrúar, mars, apríl, maí, júní, júlí, ágúst, september, október, nóvember, desember]
+    abbr_month_names: [~, jan, feb, mar, apr, maí, jún, júl, ágú, sep, okt, nóv, des]
+    order:
+      - :day
+      - :month
+      - :year
+
+  time:
+    formats:
+      default: "%A %e. %B %Y kl. %H:%M"
+      time: "%H:%M"
+      short: "%e. %B kl. %H:%M"
+      long: "%A %e. %B %Y kl. %H:%M"
+    am: ""
+    pm: ""
+
+  support:
+    array:
+      words_connector: ", "
+      two_words_connector: " og "
+      last_word_connector: " og "
+
+    select:
+      prompt: "Veldu"
+
+  number:
+    format:
+      separator: "."
+      delimiter: ","
+      precision: 3
+      significant: false
+      strip_insignificant_zeros: false
+
+    currency:
+      format:
+        format: "%n %u"
+        unit: "kr."
+        separator: "."
+        delimiter: ","
+        precision: 2
+        significant: false
+        strip_insignificant_zeros: false
+
+    percentage:
+      format:
+        delimiter: ""
+
+    precision:
+      format:
+        delimiter: ""
+
+    human:
+      format:
+        delimiter: ""
+        precision: 3
+        significant: true
+        strip_insignificant_zeros: true
+      storage_units:
+        format: "%n %u"
+        units:
+          byte:
+            one:   "bæti"
+            other: "bæti"
+          kb: "KB"
+          mb: "MB"
+          gb: "GB"
+          tb: "TB"
+      decimal_units:
+        format: "%n %u"
+        units:
+          unit: ""
+          thousand: þúsund
+          million: milljón
+          billion: billjón
+          trillion: trilljón
+          quadrillion: grasilljón
+
+  datetime:
+    distance_in_words:
+      half_a_minute: "hálf mínúta"
+      less_than_x_seconds:
+        one: "minna en 1 sekúnda"
+        other: "minna en %{count} sekúndur"
+      x_seconds:
+        one: "1 sekúnda"
+        other: "%{count} sekúndur"
+      less_than_x_minutes:
+        one: "minna en 1 mínúta"
+        other: "minna en %{count} mínútur"
+      x_minutes:
+        one: "1 mínúta"
+        other: "%{count} mínútur"
+      about_x_hours:
+        one: "u.þ.b. 1 klukkustund"
+        other: "u.þ.b. %{count} klukkustundir"
+      x_days:
+        one: "1 dagur"
+        other: "%{count} dagar"
+      about_x_months:
+        one: "u.þ.b. 1 mánuður"
+        other: "u.þ.b. %{count} mánuðir"
+      x_months:
+        one: "1 mánuður"
+        other: "%{count} mánuðir"
+      about_x_years:
+        one: "u.þ.b. 1 ár"
+        other: "u.þ.b. %{count} ár"
+      over_x_years:
+        one: "meira en 1 ár"
+        other: "meira en %{count} ár"
+      almost_x_years:
+        one:   "næstum 1 ár"
+        other: "næstum %{count} ár"
+    prompts:
+      year:   "Ár"
+      month:  "Mánuður"
+      day:    "Dagur"
+      hour:   "Klukkustund"
+      minute: "Mínúta"
+      second: "Sekónda"
+
+  helpers:
+    select:
+      prompt: "Veldu"
+
+    submit:
+      create: 'Búa til %{model}'
+      update: 'Uppfæra %{model}'
+      submit: 'Geyma %{model}'
+
+  errors:
+    format: "%{attribute} %{message}"
+
+    messages: &errors_messages
+      inclusion: "er ekki í listanum"
+      exclusion: "er frátekið"
+      invalid: "er ógilt"
+      confirmation: "er ekki jafngilt staðfestingunni"
+      accepted: "þarf að vera tekið gilt"
+      empty: "má ekki vera tómt"
+      blank: "má ekki innihalda auða stafi"
+      too_long: "er of langt (má mest vera %{count} stafir)"
+      too_short: "er of stutt (má minnst vera %{count} stafir)"
+      wrong_length: "er af rangri lengd (má mest vera %{count} stafir)"
+      not_a_number: "er ekki tala"
+      not_an_integer: "verður að vera heiltala"
+      greater_than: "þarf að vera stærri en %{count}"
+      greater_than_or_equal_to: "þarf að vera stærri en eða jafngilt %{count}"
+      equal_to: "þarf að vera jafngilt %{count}"
+      less_than: "þarf að vera minna en %{count}"
+      less_than_or_equal_to: "þarf að vera minna en eða jafngilt %{count}"
+      odd: "þarf að vera oddatala"
+      even: "þarf að vera slétt tala"
+
+  activerecord:
+    errors:
+      template:
+        header:
+          one:    "Ekki var hægt að vista %{model} vegna einnar villu."
+          other:  "Ekki var hægt að vista %{model} vegna %{count} villna."
+        body: "Upp kom vandamál í eftirfarandi dálkum:"
+
+      messages:
+        taken: "er þegar í notkun"
+        record_invalid: "Villur: %{errors}"
+        <<: *errors_messages
+
+      full_messages:
+        format: "%{attribute}%{message}"
old mode 100755 (executable)
new mode 100644 (file)
index 8adccf2..3404397
@@ -1,18 +1,19 @@
-# Italian translations for Ruby on Rails 
-# by Claudio Poli (masterkain@gmail.com)
-# maintained by Simone Carletti (weppos@weppos.net)
+# Italian translations for Ruby on Rails
 #
-# This localization file targets Rails 2.3.2.
-# If you need a previous version go to http://github.com/weppos/rails-i18n/
-# and choose between available tags.
+# Contributors:
+# - Claudio Poli (masterkain@gmail.com)
+# - Simone Carletti (weppos@weppos.net)
+# - Davide Guerri (d.guerri@caspur.it)
 
 it:
   number:
     format:
-      separator: ","
-      delimiter: "."
-      precision: 3
-      
+      delimiter: ""
+      precision: 2
+      significant: false
+      strip_insignificant_zeros: false
+      separator: "."
+
     currency:
       format:
         format: "%n %u"
@@ -20,23 +21,27 @@ it:
         separator: "."
         delimiter: ","
         precision: 2
-        
+        significant: false
+        strip_insignificant_zeros: false
+
     percentage:
       format:
         delimiter: ""
         # precision: 
-        
+
     precision:
       format:
         # separator:
         delimiter: ""
         # precision:
-        
+
     human:
       format:
         # separator: 
         delimiter: ""
         precision: 1
+        significant: true
+        strip_insignificant_zeros: true
       storage_units:
         format: "%n %u"
         units:
@@ -47,6 +52,15 @@ it:
           mb: "Mb"
           gb: "Gb"
           tb: "Tb"
+      decimal_units:
+        format: "%n %u"
+        units:
+          unit: ""
+          thousand: "Mila"
+          million: "Milioni"
+          billion: "Miliardi"
+          trillion: "Bilioni"
+          quadrillion: "Biliardi"
 
   date:
     formats:
@@ -59,50 +73,55 @@ it:
 
     month_names: [~, Gennaio, Febbraio, Marzo, Aprile, Maggio, Giugno, Luglio, Agosto, Settembre, Ottobre, Novembre, Dicembre]
     abbr_month_names: [~, Gen, Feb, Mar, Apr, Mag, Giu, Lug, Ago, Set, Ott, Nov, Dic]
-    order: [ :day, :month, :year ]
-  
+    order:
+      - :day
+      - :month
+      - :year
+
   time:
     formats:
       default: "%a %d %b %Y, %H:%M:%S %z"
       short: "%d %b %H:%M"
       long: "%d %B %Y %H:%M"
-          
     am: 'am'
     pm: 'pm'
-      
+
   datetime:
     distance_in_words:
       half_a_minute: "mezzo minuto"
       less_than_x_seconds:
         one:  "meno di un secondo"
-        other: "meno di {{count}} secondi"
+        other: "meno di %{count} secondi"
       x_seconds:
         one:  "1 secondo"
-        other: "{{count}} secondi"
+        other: "%{count} secondi"
       less_than_x_minutes:
         one:  "meno di un minuto"
-        other: "meno di {{count}} minuti"
+        other: "meno di %{count} minuti"
       x_minutes:
         one:  "1 minuto"
-        other: "{{count}} minuti"
+        other: "%{count} minuti"
       about_x_hours:
         one:  "circa un'ora"
-        other: "circa {{count}} ore"
+        other: "circa %{count} ore"
       x_days:
         one:  "1 giorno"
-        other: "{{count}} giorni"
+        other: "%{count} giorni"
       about_x_months:
         one:  "circa un mese"
-        other: "circa {{count}} mesi"
+        other: "circa %{count} mesi"
       x_months:
         one:  "1 mese"
-        other: "{{count}} mesi"
+        other: "%{count} mesi"
       about_x_years:
         one:  "circa un anno"
-        other: "circa {{count}} anni"
+        other: "circa %{count} anni"
       over_x_years:
         one:  "oltre un anno"
-        other: "oltre {{count}} anni"
+        other: "oltre %{count} anni"
+      almost_x_years:
+        one:   "circa 1 anno"
+        other: "circa %{count} anni"
     prompts:
       year:   "Anno"
       month:  "Mese"
@@ -115,16 +134,24 @@ it:
     array:
       words_connector: ", "
       two_words_connector: " e "
-      last_word_connector: ", e "
-        
-  activerecord:
-    errors:
-      template:
-        header: 
-          one: "Non posso salvare questo {{model}}: 1 errore"
-          other: "Non posso salvare questo {{model}}: {{count}} errori."
-        body: "Per favore ricontrolla i seguenti campi:"
-      messages:
+      last_word_connector: " e "
+
+    select:
+      prompt: "Per favore, seleziona"
+
+  helpers:
+    select:
+      prompt: "Per favore, seleziona"
+
+    submit:
+      create: 'Crea %{model}'
+      update: 'Aggiorna %{model}'
+      submit: 'Invia %{model}'
+
+  errors:
+      format: "%{attribute} %{message}"
+
+      messages: &errors_messages
         inclusion: "non è incluso nella lista"
         exclusion: "è riservato"
         invalid: "non è valido"
@@ -132,15 +159,37 @@ it:
         accepted: "deve essere accettata"
         empty: "non può essere vuoto"
         blank: "non può essere lasciato in bianco"
-        too_long: "è troppo lungo (il massimo è {{count}} lettere)"
-        too_short: "è troppo corto (il minimo è {{count}} lettere)"
-        wrong_length: "è della lunghezza sbagliata (deve essere di {{count}} lettere)"
-        taken: "è già in uso"
+        too_long: 
+          one: "è troppo lungo (il massimo è 1 carattere)"
+          other: "è troppo lungo (il massimo è %{count} caratteri)"
+        too_short: 
+          one:  "è troppo corto (il minimo è 1 carattere)"
+          other:  "è troppo corto (il minimo è %{count} caratteri)"
+        wrong_length: 
+          one: "è della lunghezza sbagliata (deve essere di 1 carattere)"
+          other: "è della lunghezza sbagliata (deve essere di %{count} caratteri)"
         not_a_number: "non è un numero"
-        greater_than: "deve essere superiore a {{count}}"
-        greater_than_or_equal_to: "deve essere superiore o uguale a {{count}}"
-        equal_to: "deve essere uguale a {{count}}"
-        less_than: "deve essere meno di {{count}}"
-        less_than_or_equal_to: "deve essere meno o uguale a {{count}}"
+        not_an_integer: "non è un intero"
+        greater_than: "deve essere superiore a %{count}"
+        greater_than_or_equal_to: "deve essere superiore o uguale a %{count}"
+        equal_to: "deve essere uguale a %{count}"
+        less_than: "deve essere meno di %{count}"
+        less_than_or_equal_to: "deve essere meno o uguale a %{count}"
         odd: "deve essere dispari"
-        even: "deve essere pari"
\ No newline at end of file
+        even: "deve essere pari"
+
+  activerecord:
+    errors:
+      template:
+        header: 
+          one: "Non posso salvare questo %{model}: 1 errore"
+          other: "Non posso salvare questo %{model}: %{count} errori."
+        body: "Per favore ricontrolla i seguenti campi:"
+
+      messages:
+        taken: "è già in uso"
+        record_invalid: "Validazione fallita: %{errors}"
+        <<: *errors_messages
+
+      full_messages:
+        format: "%{attribute} %{message}"
old mode 100755 (executable)
new mode 100644 (file)
index 6abb581..f0b626e
@@ -1,6 +1,8 @@
-# Japanese translations for Ruby on Rails 
+# Japanese translations for Ruby on Rails
 # by Akira Matsuda (ronnie@dio.jp)
 # AR error messages are basically taken from Ruby-GetText-Package. Thanks to Masao Mutoh.
+# contributors:
+#  - Tsutomu Kuroda (t-kuroda@oiax.jp)
 
 ja:
   date:
@@ -15,7 +17,10 @@ ja:
     month_names: [~, 1月, 2月, 3月, 4月, 5月, 6月, 7月, 8月, 9月, 10月, 11月, 12月]
     abbr_month_names: [~, 1月, 2月, 3月, 4月, 5月, 6月, 7月, 8月, 9月, 10月, 11月, 12月]
 
-    order: [:year, :month, :day]
+    order:
+      - :year
+      - :month
+      - :day
 
   time:
     formats:
@@ -33,11 +38,16 @@ ja:
       two_words_connector: "と"
       last_word_connector: "と"
 
+    select:
+      prompt: "選択してください。"
+
   number:
     format:
       separator: "."
       delimiter: ","
       precision: 3
+      significant: false
+      strip_insignificant_zeros: false
 
     currency:
       format:
@@ -45,7 +55,9 @@ ja:
         unit: "円"
         separator: "."
         delimiter: ","
-        precision: 0
+        precision: 3
+        significant: false
+        strip_insignificant_zeros: false
 
     percentage:
       format:
@@ -58,7 +70,10 @@ ja:
     human:
       format:
         delimiter: ""
-        precision: 1
+        precision: 3
+        significant: true
+        strip_insignificant_zeros: true
+
       storage_units:
         format: "%n%u"
         units:
@@ -68,68 +83,106 @@ ja:
           gb: "ギガバイト"
           tb: "テラバイト"
 
+      decimal_units:
+        format: "%n %u"
+        units:
+          unit: ""
+          thousand: "千"
+          million: "百万"
+          billion: "十億"
+          trillion: "兆"
+          quadrillion: "千兆"
+
   datetime:
     distance_in_words:
       half_a_minute: "30秒前後"
       less_than_x_seconds:
         one:   "1秒以内"
-        other: "{{count}}秒以内"
+        other: "%{count}秒以内"
       x_seconds:
         one:   "1秒"
-        other: "{{count}}秒"
+        other: "%{count}秒"
       less_than_x_minutes:
         one:   "1分以内"
-        other: "{{count}}分以内"
+        other: "%{count}分以内"
       x_minutes:
         one:   "1分"
-        other: "{{count}}分"
+        other: "%{count}分"
       about_x_hours:
         one:   "約1時間"
-        other: "約{{count}}時間"
+        other: "約%{count}時間"
       x_days:
         one:   "1日"
-        other: "{{count}}日"
+        other: "%{count}日"
       about_x_months:
         one:   "約1ヶ月"
-        other: "約{{count}}ヶ月"
+        other: "約%{count}ヶ月"
       x_months:
         one:   "1ヶ月"
-        other: "{{count}}ヶ月"
+        other: "%{count}ヶ月"
       about_x_years:
-        one:   "約{{count}}年"
-        other: "約{{count}}年"
+        one:   "約1年"
+        other: "約%{count}年"
       over_x_years:
-        one:   "{{count}}年以上"
-        other: "{{count}}年以上"
+        one:   "1年以上"
+        other: "%{count}年以上"
+      almost_x_years:
+        one:   "1年弱"
+        other: "%{count}年弱"
+
+    prompts:
+      year:   "年"
+      month:  "月"
+      day:    "日"
+      hour:   "時"
+      minute: "分"
+      second: "秒"
+
+  helpers:
+    select:
+      prompt: "選択してください。"
+
+    submit:
+      create: "登録する"
+      update: "更新する"
+      submit: "保存する"
+
+  errors:
+    format: "%{attribute}%{message}"
+
+    messages: &errors_messages
+      inclusion: "は一覧にありません。"
+      exclusion: "は予約されています。"
+      invalid: "は不正な値です。"
+      confirmation: "が一致しません。"
+      accepted: "を受諾してください。"
+      empty: "を入力してください。"
+      blank: "を入力してください。"
+      too_long: "は%{count}文字以内で入力してください。"
+      too_short: "は%{count}文字以上で入力してください。"
+      wrong_length: "は%{count}文字で入力してください。"
+      not_a_number: "は数値で入力してください。"
+      not_an_integer: "は整数で入力してください。"
+      greater_than: "は%{count}より大きい値にしてください。"
+      greater_than_or_equal_to: "は%{count}以上の値にしてください。"
+      equal_to: "は%{count}にしてください。"
+      less_than: "は%{count}より小さい値にしてください。"
+      less_than_or_equal_to: "は%{count}以下の値にしてください。"
+      odd: "は奇数にしてください。"
+      even: "は偶数にしてください。"
 
   activerecord:
     errors:
-      format:
-        separator: ""
       template:
         header:
-          one:   "{{model}}にエラーが発生しました。"
-          other: "{{model}}に{{count}}つのエラーが発生しました。"
+          one:   "%{model}にエラーが発生しました。"
+          other: "%{model}に%{count}つのエラーが発生しました。"
         body: "次の項目を確認してください。"
 
       messages:
-        inclusion: "は一覧にありません。"
-        exclusion: "は予約されています。"
-        invalid: "は不正な値です。"
-        confirmation: "が一致しません。"
-        accepted: "を受諾してください。"
-        empty: "を入力してください。"
-        blank: "を入力してください。"
-        too_long: "は{{count}}文字以内で入力してください。"
-        too_short: "は{{count}}文字以上で入力してください。"
-        wrong_length: "は{{count}}文字で入力してください。"
         taken: "はすでに存在します。"
-        not_a_number: "は数値で入力してください。"
-        greater_than: "は{{count}}より大きい値にしてください。"
-        greater_than_or_equal_to: "は{{count}}以上の値にしてください。"
-        equal_to: "は{{count}}にしてください。"
-        less_than: "は{{count}}より小さい値にしてください。"
-        less_than_or_equal_to: "は{{count}}以下の値にしてください。"
-        odd: "は奇数にしてください。"
-        even: "は偶数にしてください。"
+        record_invalid: "バリデーションに失敗しました。 %{errors}"
+        <<: *errors_messages
 
+      full_messages:
+        format: "%{attribute}%{message}"
old mode 100755 (executable)
new mode 100644 (file)
index b7f6b71..929b22c
@@ -1,6 +1,8 @@
-# Korean (한글) translations for Ruby on Rails 
+# Korean (한글) translations for Ruby on Rails
 # by John Hwang (jhwang@tavon.org)
 # http://github.com/tavon
+# and Sunghee Kang(paranoiase@gmail.com)
+# http://www.twitter.com/paranoiase
 
 ko:
   date:
@@ -8,14 +10,16 @@ ko:
       default: "%Y/%m/%d"
       short: "%m/%d"
       long: "%Y년 %m월 %d일 (%a)"
-      
+
     day_names: [일요일, 월요일, 화요일, 수요일, 목요일, 금요일, 토요일]
     abbr_day_names: [일, 월, 화, 수, 목, 금, 토]
-      
+
     month_names: [~, 1월, 2월, 3월, 4월, 5월, 6월, 7월, 8월, 9월, 10월, 11월, 12월]
     abbr_month_names: [~, 1월, 2월, 3월, 4월, 5월, 6월, 7월, 8월, 9월, 10월, 11월, 12월]
-
-    order: [ :year, :month, :day ]
+    order:
+      - :year
+      - :month
+      - :day
 
   time:
     formats:
@@ -24,130 +28,159 @@ ko:
       long: "%Y년 %B월 %d일, %H시 %M분 %S초 %Z"
     am: "오전"
     pm: "오후"
-      
-  # Used in distance_of_time_in_words(), distance_of_time_in_words_to_now(), time_ago_in_words()
-  datetime:
-    distance_in_words:
-      half_a_minute: "30초"
-      less_than_x_seconds:
-        one:   "일초 이하"
-        other: "{{count}}초 이하"
-      x_seconds:
-        one:   "일초"
-        other: "{{count}}초"
-      less_than_x_minutes:
-        one:   "일분 이하"
-        other: "{{count}}분 이하"
-      x_minutes:
-        one:   "일분"
-        other: "{{count}}분"
-      about_x_hours:
-        one:   "약 한시간"
-        other: "약 {{count}}시간"
-      x_days:
-        one:   "하루"
-        other: "{{count}}일"
-      about_x_months:
-        one:   "약 한달"
-        other: "약 {{count}}달"
-      x_months:
-        one:   "한달"
-        other: "{{count}}달"
-      about_x_years:
-        one:   "약 일년"
-        other: "약 {{count}}년"
-      over_x_years:
-        one:   "일년 이상"
-        other: "{{count}}년 이상"
-    prompts:
-      year:   "년"
-      month:  "월"
-      day:    "일"
-      hour:   "시"
-      minute: "분"
-      second: "초"
-      
+
+  support:
+    array:
+      sentence_connector: ", "
+      words_connector: ", "
+      two_words_connector: "와(과) "
+      last_word_connector: ", "
+
+    select:
+      prompt: "선택해 주세요"
+
   number:
-    # Used in number_with_delimiter()
-    # These are also the defaults for 'currency', 'percentage', 'precision', and 'human'
     format:
-      # Sets the separator between the units, for more precision (e.g. 1.0 / 2.0 == 0.5)
       separator: "."
-      # Delimets thousands (e.g. 1,000,000 is a million) (always in groups of three)
       delimiter: ","
-      # Number of decimals, behind the separator (the number 1 with a precision of 2 gives: 1.00)
       precision: 3
-      
-    # Used in number_to_currency()
+      significant: false
+      strip_insignificant_zeros: false
+
     currency:
       format:
-        # Where is the currency sign? %u is the currency unit, %n the number (default: $5.00)
-        format: "%u%n"
-        unit: "₩"
-        # These three are to override number.format and are optional
+        format: "%n%u"
+        unit: "원"
         separator: "."
         delimiter: ","
         precision: 0
-        
-    # Used in number_to_percentage()
+        significant: false
+        strip_insignificant_zeros: false
+
     percentage:
       format:
-        # These three are to override number.format and are optional
-        # separator: 
         delimiter: ""
-        # precision: 
-        
-    # Used in number_to_precision()
+
     precision:
       format:
-        # These three are to override number.format and are optional
-        # separator:
         delimiter: ""
-        # precision:
-        
-    # Used in number_to_human_size()
+
     human:
       format:
-        # These three are to override number.format and are optional
-        # separator: 
         delimiter: ""
-        precision: 1
-      storage_units: [Bytes, KB, MB, GB, TB]
+        precision: 3
+        significant: true
+        strip_insignificant_zeros: true
+
+      storage_units:
+        format: "%n%u"
+        units:
+          byte: "바이트"
+          kb: "킬로바이트"
+          mb: "메가바이트"
+          gb: "기가바이트"
+          tb: "테라바이트"
+
+      decimal_units:
+        format: "%n%u"
+        units:
+          unit: ""
+          thousand: "천"
+          million: "백만"
+          billion: "십억"
+          trillion: "조"
+          quadrillion: "경"
+
+  datetime:
+    distance_in_words:
+      half_a_minute: "30초"
+      less_than_x_seconds:
+        one: "일 초 이하"
+        other: "%{count}초 이하"
+      x_seconds:
+        one: "일 초"
+        other: "%{count}초"
+      less_than_x_minutes:
+        one: "일 분 이하"
+        other: "%{count}분 이하"
+      x_minutes:
+        one: "일 분"
+        other: "%{count}분"
+      about_x_hours:
+        one: "약 한 시간"
+        other: "약 %{count}시간"
+      x_days:
+        one: "하루"
+        other: "%{count}일"
+      about_x_months:
+        one: "약 한 달"
+        other: "약 %{count}달"
+      x_months:
+        one: "한 달"
+        other: "%{count}달"
+      about_x_years:
+        one: "약 일 년"
+        other: "약 %{count}년"
+      over_x_years:
+        one: "일 년 이상"
+        other: "%{count}년 이상"
+      almost_x_years:
+        one: "일 년 이하"
+        other: "%{count}년 이하"
+
+    prompts:
+      year: "년"
+      month: "월"
+      day: "일"
+      hour: "시"
+      minute: "분"
+      second: "초"
+
+  helpers:
+    select:
+      prompt: "선택해주세요"
+
+    submit:
+      create: "등록"
+      update: "갱신"
+      submit: "제출"
+
+  errors:
+    format: "%{attribute}%{message}"
+
+    messages: &errors_messages
+      inclusion: "은(는) 목록에 포함되어 있습니다"
+      exclusion: "은(는) 목록에 포함되어 있습니다"
+      invalid: "은(는) 무효입니다"
+      confirmation: "은(는) 확인되었습니다"
+      accepted: "은(는) 확인되었습니다"
+      empty: "은(는) 비어두면 안 됩니다"
+      blank: "은(는) 비어두면 안 됩니다"
+      too_long: "은(는) 너무 깁니다 (최대 %{count}자 까지)"
+      too_short: "은(는) 너무 짧습니다 (최소 %{count}자 까지)"
+      wrong_length: "은(는) 길이가 틀렸습니다 (%{count}자를 필요합니다)"
+      not_a_number: "은(는) 숫자가 아닙니다"
+      not_an_integer: "은(는) 정수가 아닙니다"
+      greater_than: "은(는) %{count}이상을 요구합니다"
+      greater_than_or_equal_to: "은(는) %{count}과 같거나 이상을 요구합니다"
+      equal_to: "은(는) %{count}과 같아야 합니다"
+      less_than: "은(는) %{count}이하를 요구합니다"
+      less_than_or_equal_to: "은(는) %{count}과 같거나 이하을 요구합니다"
+      odd: "은(는) 홀수를 요구합니다"
+      even: "은(는) 짝수를 요구합니다"
 
-# Used in array.to_sentence.
-  support:
-    array:
-      words_connector: ", "
-      two_words_connector: "과 "
-      last_word_connector: ", "
-        
   activerecord:
     errors:
       template:
         header:
-          one:    "한개의 오류가 발생해 {{model}}를 저장 할 수 없습니다"
-          other:  "{{count}}개의 오류가 발생해 {{model}}를 저장 할 수 없습니다"
-        # The variable :count is also available
-        body: "다음 항목에 문제가 발견했습니다:"
+          one: "한 개의 오류가 발생해 %{model}를 저장 할 수 없습니다"
+          other: "%{count}개의 오류가 발생해 %{model}를 저장 할 수 없습니다"
+        body: "다음 항목에 문제가 발견되었습니다:"
 
       messages:
-        inclusion: "은 목록에 포함되어 있지 않습니다"
-        exclusion: "은 예약되어 있습니다"
-        invalid: "은 무효입니다"
-        confirmation: "은 확인이 되지 않았습니다"
-        accepted: "은 인정되어야 합니다"
-        empty: "은 비어두면 안 됩니다"
-        blank: "은 비어두면 안 됩니다"
-        too_long: "은 너무 깁니다 (최대 {{count}}자 까지)"
-        too_short: "은 너무 짧습니다 (최소 {{count}}자 까지)"
-        wrong_length: "은 길이가 틀렸습니다 ({{count}}자를 필요합니다)"
-        taken: "은 이미 선택된 겁니다"
-        not_a_number: "은 숫자가 아닙니다"
-        greater_than: "은 {{count}}이상을 요구합니다"
-        greater_than_or_equal_to: "은 {{count}}과 같거나 이상을 요구합니다"
-        equal_to: "은 {{count}}과 같아야 합니다"
-        less_than: "은 {{count}}과 같아야 합니다"
-        less_than_or_equal_to: "은 {{count}}과 같거나 이하을 요구합니다"
-        odd: "은 홀수을 요구합니다"
-        even: "은 짝수을 요구합니다"
-        # Append your own errors here or at the model/attributes scope.
+        taken: "은(는) 이미 존재합니다."
+        record_invalid: "데이터 검증에 실패하였습니다. %{errors}"
+        <<: *errors_messages
+
+      full_messages:
+        format: "%{attribute}%{message}"
\ No newline at end of file
diff --git a/sonar-server/src/main/webapp/WEB-INF/config/locales/defaults/lo.yml b/sonar-server/src/main/webapp/WEB-INF/config/locales/defaults/lo.yml
new file mode 100644 (file)
index 0000000..32a6320
--- /dev/null
@@ -0,0 +1,204 @@
+# Lao translation for Ruby on Rails
+# By justin maccarthy justin.maccarthy@gmail.com with help from Lao language experts...
+# 
+
+lo:
+  number:
+    # Used in number_with_delimiter()
+    # These are also the defaults for 'currency', 'percentage', 'precision', and 'human'
+    format:
+      # Sets the separator between the units, for more precision (e.g. 1.0 / 2.0 == 0.5)
+      separator: "."
+      # Delimets thousands (e.g. 1,000,000 is a million) (always in groups of three)
+      delimiter: ","
+      # Number of decimals, behind the separator (the number 1 with a precision of 2 gives: 1.00)
+      precision: 3
+      
+    # Used in number_to_currency()
+    currency:
+      format:
+        # Where is the currency sign? %u is the currency unit, %n the number (default: $5.00)
+        format: "%n %u"
+        unit: "Kip"
+        # These three are to override number.format and are optional
+        separator: "."
+        delimiter: ","
+        precision: 2
+        
+    # Used in number_to_percentage()
+    percentage:
+      format:
+        # These three are to override number.format and are optional
+        # separator: 
+        delimiter: ""
+        # precision: 
+        
+    # Used in number_to_precision()
+    precision:
+      format:
+        # These three are to override number.format and are optional
+        # separator:
+        delimiter: ""
+        # precision:
+        
+    # Used in number_to_human_size()
+    human:
+      format:
+        # These three are to override number.format and are optional
+        # separator: 
+        delimiter: ""
+        precision: 1
+      storage_units:
+        # Storage units output formatting.
+        # %u is the storage unit, %n is the number (default: 2 MB)
+        format: "%n %u"
+        units:
+          byte:
+            one:   "Byte"
+            other: "Bytes"
+          kb: "KB"
+          mb: "MB"
+          gb: "GB"
+          tb: "TB"
+
+  # Used in distance_of_time_in_words(), distance_of_time_in_words_to_now(), time_ago_in_words()
+  datetime:
+    distance_in_words:
+      half_a_minute: "ເຄິ່ງນາທີ "
+      less_than_x_seconds:
+        one:   "ນ້ອຍກວ່າ 1 ວິນາທີ "
+        other: "ນ້ອຍກວ່າ %{count} ວິນາທີ "
+      x_seconds:
+        one:   "1 ວິນາທີ "
+        other: "%{count} ວິນາທີ "
+      less_than_x_minutes:
+        one:   "ນ້ອຍກວ່າ 1 ນາທີ "
+        other: "ນ້ອຍກວ່າ %{count} ນາທີ "
+      x_minutes:
+        one:   "1 ນາທີ "
+        other: "%{count} ນາທີ "
+      about_x_hours:
+        one:   "ປະມານ 1 ຊົ່ວໂມງ"
+        other: "ປະມານ %{count} ຊົ່ວໂມງ"
+      x_days:
+        one:   "1 ມື້ "
+        other: "%{count} ມື້ "
+      about_x_months:
+        one:   "ປະມານ 1 ເດືອນ"
+        other: "ປະມານ %{count} ເດືອນ"
+      x_months:
+        one:   "1 ເດືອນ"
+        other: "%{count} ເດືອນ"
+      about_x_years:
+        one:   "ປະມານ 1 ປີ "
+        other: "ປະມານ %{count} ປີ "
+      over_x_years:
+        one:   "ຫຼາຍກວ່າ 1 ປີ "
+        other: "ຫຼາຍກວ່າ %{count} ປີ "
+    prompts:
+      year:   "ປີ"
+      month:  "ເດືອນ"
+      day:    "ວັນ"
+      hour:   "ຊົ່ວໂມງ"
+      minute: "ນາທີ"
+      second: "ວິນາທີ"
+
+  activerecord:
+    errors:
+      template:
+        header:
+          one:    "ບໍ່ສາມາດບັນທຶກ %{model} ໄດ້ເນື່ອງຈາກເກີດຂໍ້ຜິດພາດ"
+          other:  "ບໍ່ສາມາດບັນທຶກ %{model} ໄດ້ເນື່ອງຈາກ ເກີດ %{count} ຂໍ້ຜິດພາດ"
+        # The variable :count is also available
+        body: "ກະລຸນາກວດສອບຂໍ້ມູນໃນຫ້ອງຕໍ່ໄປນີ້ :"
+        
+      # The values :model, :attribute and :value are always available for interpolation
+      # The value :count is available when applicable. Can be used for pluralization.
+      messages:
+        inclusion: "ບໍ່ໄດ້ຮວມຢູ່ໃນບັນຊີລາຍການ"
+        exclusion: "ມີການຈອງໄວ້ແລ້ວ"
+        invalid: "ບໍ່ຖືກ"
+        confirmation: "ບໍ່ຖືກກັບການຢືນຢັນ"
+        accepted: "ຕ້ອງຍອມຮັບ"
+        empty: "ວ່າງໄວ້ບໍ່ໄດ້"
+        blank: "ເປົ່າບໍ່ໄດ້"
+        too_long: "ຍາວໂພດ (ສູງສຸດຄື %{count} ຕົວອັກສອນ)"
+        too_short: "ສັ້ນໂພດ (ຕຳ່ສຸດຄື %{count} ຕົວອັກສອນ)"
+        wrong_length: "ຄວາມຍາວຜິດ (ຄວນຈະເປັນ %{count} ຕົວອັກສອນ)"
+        taken: "ຮັບເອົາໄປແລ້ວ"
+        not_a_number: "ບໍ່ແມ່ນຕົວເລກ"
+        greater_than: "ຕ້ອງສູງກວ່າ %{count}"
+        greater_than_or_equal_to: "ຕ້ອງສູງກວ່າ ຫຼື ເທົ່າກັບ %{count}"
+        equal_to: "ຕ້ອງເທົ່າກັບ %{count}"
+        less_than: "ຕ້ອງຕຳ່ກວ່າ %{count}"
+        less_than_or_equal_to: "ຕ້ອງຕຳ່ກວ່າ ຫຼື ເທົ່າກັບ %{count}"
+        odd: "ຕ້ອງເປັນເລກຄີກ"
+        even: "ຕ້ອງເປັນເລກຄູ່"
+        record_invalid: "ການຢືນຢັນບໍ່ສຳເລັດ : %{errors}"
+        # Append your own errors here or at the model/attributes scope.
+
+      # You can define own errors for models or model attributes.
+      # The values :model, :attribute and :value are always available for interpolation.
+      #
+      # For example,
+      #   models:
+      #     user:
+      #       blank: "This is a custom blank message for %{model}: %{attribute}"
+      #       attributes:
+      #         login:
+      #           blank: "This is a custom blank message for User login"
+      # Will define custom blank validation message for User model and 
+      # custom blank validation message for login attribute of User model.
+      #models:
+        
+    # Translate model names. Used in Model.human_name().
+    #models:
+      # For example,
+      #   user: "Dude"
+      # will translate User model name to "Dude"
+    
+    # Translate model attribute names. Used in Model.human_attribute_name(attribute).
+    #attributes:
+      # For example,
+      #   user:
+      #     login: "Handle"
+      # will translate User attribute "login" as "Handle"
+
+  date:
+    formats:
+      # Use the strftime parameters for formats.
+      # When no format has been given, it uses default.
+      # You can provide other formats here if you like!
+      default: "%d-%m-%Y"
+      short: "%e %b"
+      long: "%e %B %Y"
+      
+    day_names: ["ອາທິດ", "ຈັນ", "ອັງຄານ", "ພຸດ", "ພະຫັດ", "ສຸກ", "ເສົາ"]
+    abbr_day_names: ["", "", "", "", "", "", ""]
+      
+    # Don't forget the nil at the beginning; there's no such thing as a 0th month
+    month_names: [~, "ມັງກອນ", "ກຸມພາ", "ມີນາ", "ເມສາ", "ພຶດສະພາ", "ມິຖຸນາ", "ກໍລະກົດ", "ສິງຫາ", "ກັນຍາ", "ຕຸລາ", "ພະຈິກ", "ທັນວາ"]
+    abbr_month_names: [~,"", "", "", "", "", "", "", "", "", "", "", ""]
+    # Used in date_select and datime_select.
+    order:
+      - :day
+      - :month
+      - :year
+
+  time:
+    formats:
+      default: "%a %d %b %Y %H:%M:%S %z"
+      short: "%d %b %H:%M น."
+      long: "%d %B %Y %H:%M น."
+    am: ""
+    pm: ""
+      
+# Used in array.to_sentence.
+  support:
+    array:
+      words_connector: ", "
+      two_words_connector: "ແລະ "
+      last_word_connector: ", ແລະ "
+    select:
+      # default value for :prompt => true in FormOptionsHelper
+      prompt: "โปรดเลือก"
old mode 100755 (executable)
new mode 100644 (file)
index 7471b03..3df8df7
@@ -28,41 +28,52 @@ lt:
       format:
         delimiter: ""
         precision: 1
-      storage_units: [baitai, KB, MB, GB, TB]
+      storage_units:
+        # Storage units output formatting.
+        # %u is the storage unit, %n is the number (default: 2 MB)
+        format: "%n %u"
+        units:
+          byte:
+            one:   "Baitas"
+            other: "Baitai"
+          kb: "KB"
+          mb: "MB"
+          gb: "GB"
+          tb: "TB"
 
   datetime:
     distance_in_words:
       half_a_minute: "pusė minutės"
       less_than_x_seconds:
         one:   "mažiau nei 1 sekundė"
-        other: "mažiau nei {{count}} sekundės"
+        other: "mažiau nei %{count} sekundės"
       x_seconds:
         one:   "1 sekundė"
-        other: "{{count}} sekundės"
+        other: "%{count} sekundės"
       less_than_x_minutes:
         one:   "mažiau nei minutė"
-        other: "mažiau nei {{count}} minutės"
+        other: "mažiau nei %{count} minutės"
       x_minutes:
         one:   "1 minutė"
-        other: "{{count}} minutės"
+        other: "%{count} minutės"
       about_x_hours:
         one:   "apie 1 valanda"
-        other: "apie {{count}} valandų"
+        other: "apie %{count} valandų"
       x_days:
         one:   "1 diena"
-        other: "{{count}} dienų"
+        other: "%{count} dienų"
       about_x_months:
         one:   "apie 1 mėnuo"
-        other: "apie {{count}} mėnesiai"
+        other: "apie %{count} mėnesiai"
       x_months:
         one:   "1 mėnuo"
-        other: "{{count}} mėnesiai"
+        other: "%{count} mėnesiai"
       about_x_years:
         one:   "apie 1 metai"
-        other: "apie {{count}} metų"
+        other: "apie %{count} metų"
       over_x_years:
         one:   "virš 1 metų"
-        other: "virš {{count}} metų"
+        other: "virš %{count} metų"
     prompts:
       year:   "Metai"
       month:  "Mėnuo"
@@ -75,8 +86,8 @@ lt:
     errors:
       template:
         header:
-          one:    "Išsaugant objektą {{model}} rasta klaida"
-          other:  "Išsaugant objektą {{model}} rastos {{count}} klaidos"
+          one:    "Išsaugant objektą %{model} rasta klaida"
+          other:  "Išsaugant objektą %{model} rastos %{count} klaidos"
         body: "Šiuose laukuose yra klaidų:"
 
       messages:
@@ -87,16 +98,16 @@ lt:
         accepted: "turi būti patvirtintas"
         empty: "negali būti tuščias"
         blank: "negali būti tuščias"
-        too_long: "per ilgas (daugiausiai {{count}} simboliai)"
-        too_short: "per trumpas (mažiausiai {{count}} simboliai)"
-        wrong_length: "neteisingo ilgio (turi būti {{count}} simboliai)"
+        too_long: "per ilgas (daugiausiai %{count} simboliai)"
+        too_short: "per trumpas (mažiausiai %{count} simboliai)"
+        wrong_length: "neteisingo ilgio (turi būti %{count} simboliai)"
         taken: "jau užimtas"
         not_a_number: "ne skaičius"
-        greater_than: "turi būti didesnis už {{count}}"
-        greater_than_or_equal_to: "turi būti didesnis arba lygus {{count}}"
-        equal_to: "turi būti lygus {{count}}"
-        less_than: "turi būti mažesnis už {{count}}"
-        less_than_or_equal_to: "turi būti mažesnis arba lygus {{count}}"
+        greater_than: "turi būti didesnis už %{count}"
+        greater_than_or_equal_to: "turi būti didesnis arba lygus %{count}"
+        equal_to: "turi būti lygus %{count}"
+        less_than: "turi būti mažesnis už %{count}"
+        less_than_or_equal_to: "turi būti mažesnis arba lygus %{count}"
         odd: "turi būti nelyginis"
         even: "turi būti lyginis"
     
@@ -113,7 +124,10 @@ lt:
       
     month_names: [~, sausio, vasario, kovo, balandžio, gegužės, birželio, liepos, rugpjūčio, rugsėjo, spalio, lapkričio, gruodžio]
     abbr_month_names: [~, Sau, Vas, Kov, Bal, Geg, Bir, Lie, Rgp, Rgs, Spa, Lap, Grd]
-    order: [ :year, :month, :day ]
+    order:
+      - :year
+      - :month
+      - :day
 
   time:
     formats:
old mode 100755 (executable)
new mode 100644 (file)
index dd37e79..12fc6b1
@@ -12,7 +12,10 @@ lv:
     abbr_day_names: [Sv., P., O., T., C., Pk., S.]
     month_names: [~, janvārī, februārī, martā, aprīlī, maijā, jūnijā, jūlijā, augustā, septembrī, oktobrī, novembrī, decembrī]
     abbr_month_names: [~, Janv, Febr, Marts, Apr, Maijs, Jūn, Jūl, Aug, Sept, Okt, Nov, Dec]
-    order: [ :year, :month, :day ]
+    order:
+      - :year
+      - :month
+      - :day
 
   time:
     formats:
@@ -28,34 +31,37 @@ lv:
       half_a_minute: "pusminūte"
       less_than_x_seconds:
         one: "mazāk par vienu sekundi"
-        other: "mazāk par {{count}} sekundēm"
+        other: "mazāk par %{count} sekundēm"
       x_seconds:
         one: "1 sekunde"
-        other: "{{count}} sekundes"
+        other: "%{count} sekundes"
       less_than_x_minutes:
         one: "mazāk par vienu minūti"
-        other: "mazāk par {{count}} minūtēm"
+        other: "mazāk par %{count} minūtēm"
       x_minutes:
         one: "1 minūte"
-        other: "{{count}} minūtes"
+        other: "%{count} minūtes"
       about_x_hours:
         one: "apmēram 1 stunda"
-        other: "apmēram {{count}} stundas"
+        other: "apmēram %{count} stundas"
       x_days:
         one: "1 diena"
-        other: "{{count}} dienas"
+        other: "%{count} dienas"
       about_x_months:
         one: "apmēram 1 mēnesis"
-        other: "apmēram {{count}} mēneši"
+        other: "apmēram %{count} mēneši"
       x_months:
         one: "1 mēnesis"
-        other: "{{count}} mēneši"
+        other: "%{count} mēneši"
       about_x_years:
         one: "apmēram 1 gads"
-        other: "apmēram {{count}} gadi"
+        other: "apmēram %{count} gadi"
       over_x_years:
         one: "vairāk kā gads"
-        other: "vairāk kā {{count}} gadi"
+        other: "vairāk kā %{count} gadi"
+      almost_x_years:
+        one:   "gandrīz 1 gads"
+        other: "gandrīz %{count} gadi"
     prompts:
       second: "sekunde"
       minute: "minūte"
@@ -69,6 +75,9 @@ lv:
       precision: 2
       separator: ','
       delimiter: '.'
+      significant: false
+      strip_insignificant_zeros: false
+
     currency:
       format:
         unit: 'LVL'
@@ -76,16 +85,23 @@ lv:
         separator: ","
         delimiter: "."
         precision: 2
+        significant: false
+        strip_insignificant_zeros: false
+
     percentage:
       format:
         delimiter: ""
+
     precision:
       format:
         delimiter: ""
+
     human:
       format:
         delimiter: ""
         precision: 1
+        significant: false
+        strip_insignificant_zeros: false
       storage_units:
         format: "%n %u"
         units:
@@ -96,6 +112,15 @@ lv:
           mb: "MB"
           gb: "GB"
           tb: "TB"
+      decimal_units:
+        format: "%n %u"
+        units:
+          unit: ""
+          thousand: Tūkstotis
+          million: Miljons
+          billion: Biljons
+          trillion: Triljons
+          quadrillion: Kvadriljons
 
   support:
     array:
@@ -103,14 +128,21 @@ lv:
       two_words_connector: " un "
       last_word_connector: " un "
 
-  activerecord:
-    errors:
-      template:
-        header:
-          one:    "Dēļ 1 kļūdas šis {{model}} netika saglabāts"
-          other:  "Dēļ {{count}} kļūdām šis {{model}} netika saglabāts"
-        body: "Problēmas ir šajos ievades laukos:"
-      messages:
+    select:
+      prompt: "Lūdzu izvēlies"
+
+  helpers:
+    select:
+      prompt: "Lūdzu izvēlies"
+
+    submit:
+      create: 'Izveidot %{model}'
+      update: 'Atjaunināt %{model}'
+      submit: 'Saglabāt %{model}'
+
+  errors:
+    format: "%{attribute} %{message}"
+    messages: &errors_messages
         inclusion: "nav iekļauts sarakstā"
         exclusion: "nav pieejams"
         invalid: "nav derīgs"
@@ -118,15 +150,32 @@ lv:
         accepted: "ir jāpiekrīt"
         empty: "ir jābūt aizpildītam"
         blank: "ir jābūt aizpildītam"
-        too_long: "ir par garu (maksimums ir {{count}} zīmes)"
-        too_short: "ir par īsu (minimums ir {{count}} zīmes)"
-        wrong_length: "ir nepareizs garums (jābūt {{count}} zīmēm)"
+        too_long: "ir par garu (maksimums ir %{count} zīmes)"
+        too_short: "ir par īsu (minimums ir %{count} zīmes)"
+        wrong_length: "ir nepareizs garums (jābūt %{count} zīmēm)"
         taken: "ir jau aizņemts"
         not_a_number: "nav skaitlis"
-        greater_than: "ir jābūt lielākam par {{count}}"
-        greater_than_or_equal_to: "ir jābūt lielākam vai vienādam ar {{count}}"
-        equal_to: "ir jābūt vienādam ar {{count}}"
-        less_than: "ir jābūt mazākam par {{count}}"
-        less_than_or_equal_to: "ir jābūt mazākam vai vienādam ar {{count}}"
+        not_an_integer: "ir jābūt veselam skaitlim"
+        greater_than: "ir jābūt lielākam par %{count}"
+        greater_than_or_equal_to: "ir jābūt lielākam vai vienādam ar %{count}"
+        equal_to: "ir jābūt vienādam ar %{count}"
+        less_than: "ir jābūt mazākam par %{count}"
+        less_than_or_equal_to: "ir jābūt mazākam vai vienādam ar %{count}"
         odd: "ir jābūt nepāra skaitlim"
         even: "ir jābūt pāra skaitlim"
+
+  activerecord:
+    errors:
+      template:
+        header:
+          one:    "Dēļ 1 kļūdas šis %{model} netika saglabāts"
+          other:  "Dēļ %{count} kļūdām šis %{model} netika saglabāts"
+        body: "Problēmas ir šajos ievades laukos:"
+
+      messages:
+        taken: "ir jau aizņemts"
+        record_invalid: "Pārbaude neizdevās: %{errors}"
+        <<: *errors_messages
+
+      full_messages:
+        format: "%{attribute}%{message}"
old mode 100755 (executable)
new mode 100644 (file)
index a465107..7953e79
     abbr_day_names: [Нед, Пон, Вто, Сре, Чет, Пет, Саб]
     month_names: [~, Јануари, Февруари, Март, Април, Мај, Јуни, Јули, Август, Септември, Октомври, Ноември, Декември]
     abbr_month_names: [~, Јан, Фев, Мар, Апр, Мај, Јун, Јул, Авг, Сеп, Окт, Ное, Дек]
-    order: [ :day, :month, :year ]
+    order:
+      - :day
+      - :month
+      - :year
 
   time:
     formats:
       less_than_x_seconds:
         zero: 'помалку од секунда'
         one: 'помалку од 1 секунда'
-        few: 'помалку од {{count}} секунди'
-        other: 'помалку од {{count}} секунди'
+        few: 'помалку од %{count} секунди'
+        other: 'помалку од %{count} секунди'
       x_seconds:
         one: '1 секунда'
-        few: '{{count}} секунди'
-        other: '{{count}} секунди'
+        few: '%{count} секунди'
+        other: '%{count} секунди'
       less_than_x_minutes:
         zero: 'помалку од минута'
         one: 'помалку од 1 минута'
-        other: 'помалку од {{count}} минути'
+        other: 'помалку од %{count} минути'
       x_minutes:
         one: '1 минута'
-        other: '{{count}} минути'
+        other: '%{count} минути'
       about_x_hours:
         one: 'околу 1 час'
-        few: 'околу {{count}} часа'
-        other: 'околу {{count}} часа'
+        few: 'околу %{count} часа'
+        other: 'околу %{count} часа'
       x_days:
         one: '1 ден'
-        other: '{{count}} денови'
+        other: '%{count} денови'
       about_x_months:
         one: 'околу 1 месец'
-        few: 'околу {{count}} месеци'
-        other: 'околу {{count}} месеци'
+        few: 'околу %{count} месеци'
+        other: 'околу %{count} месеци'
       x_months:
         one: '1 месец'
-        few: '{{count}} месеци'
-        other: '{{count}} месеци'
+        few: '%{count} месеци'
+        other: '%{count} месеци'
       about_x_years:
         one: 'околу 1 година'
-        other: 'околу {{count}} години'
+        other: 'околу %{count} години'
       over_x_years:
         one: 'над 1 година'
-        other: 'над {{count}} години'
+        other: 'над %{count} години'
 
   number:
     format:
@@ -88,9 +91,9 @@
     errors:
       template:
         header:
-          one: 'Не успеав да го зачувам {{model}}: 1 грешка.'
-          few: 'Не успеав да го зачувам {{model}}: {{count}} грешки.'
-          other: 'Не успеав да го зачувам {{model}}: {{count}} грешки.'
+          one: 'Не успеав да го зачувам %{model}: 1 грешка.'
+          few: 'Не успеав да го зачувам %{model}: %{count} грешки.'
+          other: 'Не успеав да го зачувам %{model}: %{count} грешки.'
         body: "Ве молиме проверете ги следните полиња:"
       messages:
         inclusion: "не е во листата"
         accepted: "мора да биде прифатен"
         empty: "мора да биде зададен"
         blank: "мора да биде зададен"
-        too_long: "е предолг (не повеќе од {{count}} карактери)"
-        too_short: "е прекраток (не помалку од {{count}} карактери)"
-        wrong_length: "несоодветна должина (мора да имате {{count}} карактери)"
+        too_long: "е предолг (не повеќе од %{count} карактери)"
+        too_short: "е прекраток (не помалку од %{count} карактери)"
+        wrong_length: "несоодветна должина (мора да имате %{count} карактери)"
         taken: "е зафатено"
         not_a_number: "не е број "
-        greater_than: "мора да биде поголемо од {{count}}"
-        greater_than_or_equal_to: "мора да биде поголемо или еднакво на {{count}}"
-        equal_to: "мора да биде еднакво на {{count}}"
-        less_than: "мора да биде помало од {{count}}"
-        less_than_or_equal_to: "мора да биде помало или еднакво на {{count}}"
+        greater_than: "мора да биде поголемо од %{count}"
+        greater_than_or_equal_to: "мора да биде поголемо или еднакво на %{count}"
+        equal_to: "мора да биде еднакво на %{count}"
+        less_than: "мора да биде помало од %{count}"
+        less_than_or_equal_to: "мора да биде помало или еднакво на %{count}"
         odd: "мора да биде непарно"
         even: "мора да биде парно"
 
diff --git a/sonar-server/src/main/webapp/WEB-INF/config/locales/defaults/mn.yml b/sonar-server/src/main/webapp/WEB-INF/config/locales/defaults/mn.yml
new file mode 100644 (file)
index 0000000..ea50672
--- /dev/null
@@ -0,0 +1,159 @@
+# Mongolian localization for Ruby on Rails 2.2+
+# by Ochirkhuyag.L <ochkoo@gmail.com>
+#
+mn:
+  date:
+    formats:
+      default: "%Y-%m-%d"
+      short: "%y-%m-%d"
+      long: "%Y %B %d"
+    day_names: [Ням, Даваа, Мягмар, Лхагва, Пүрэв, Баасан, Бямба]
+    abbr_day_names: [Ня, Да, Мя, Лх, Пү, Ба, Бя]
+    month_names: [~, 1 сар, 2 сар, 3 сар, 4 сар, 5 сар, 6 сар, 7 сар, 8 сар, 9 сар, 10 сар, 11 сар, 12 сар]
+    abbr_month_names: [~, 1 сар, 2 сар, 3 сар, 4 сар, 5 сар, 6 сар, 7 сар, 8 сар, 9 сар, 10 сар, 11 сар, 12 сар]
+    order:
+      - :year
+      - :month
+      - :day
+  time:
+    formats:
+      default: "%Y-%m-%d %H:%M"
+      short: "%y-%m-%d"
+      long: "%Y %B %d, %H:%M:%S"
+    am: "өглөө"
+    pm: "орой"
+  number:
+    format:
+      separator: "."
+      delimiter: " "
+      precision: 3
+      
+    currency:
+      format:
+        format: "%n %u"
+        unit: "төг."
+        separator: "."
+        delimiter: " "
+        precision: 2
+        
+    percentage:
+      format:
+        delimiter: ""
+        
+    precision:
+      format:
+        delimiter: ""
+        
+    human:
+      format:
+        delimiter: ""
+        precision: 1
+      # Rails 2.2
+      # storage_units: [байт, КБ, МБ, ГБ, ТБ]
+      # Rails 2.3
+      storage_units:
+        # Storage units output formatting.
+        # %u is the storage unit, %n is the number (default: 2 MB)
+        format: "%n %u"
+        units:
+          byte:
+            one: "Байт"
+            other: "Байт"
+          kb: "КБ"
+          mb: "МБ"
+          gb: "ГБ"
+          tb: "ТБ"
+  datetime:
+    distance_in_words:
+      half_a_minute: "хагас минут"   
+      less_than_x_seconds:
+        one: "%{count} секундээс бага"
+        other: "%{count} секундээс бага"
+      x_seconds:
+        one: "%{count} секунд"
+        other: "%{count} секунд"
+      less_than_x_minutes:
+        one: "%{count} минутаас бага"
+        other: "%{count} минутаас бага"
+      x_minutes:
+        one: "%{count} минут"
+        other: "%{count} минут"
+      about_x_hours:
+        one: "%{count} цаг орчим"
+        other: "%{count} цаг орчим"
+      x_days:
+        one: "%{count} өдөр"
+        other: "%{count} өдөр"
+      about_x_months:
+        one: "%{count} сар орчим"
+        other: "%{count} сар орчим"
+      x_months:
+        one: "%{count} сар"
+        other: "%{count} сар"
+      about_x_years:
+        one: "%{count} жил орчим"
+        other: "%{count} жил орчим"
+      almost_x_years:
+        one: "бараг %{count} жил"
+        other: "бараг %{count} жил"
+      over_x_years:
+        one: "%{count} жилээс илүү"
+        other: "%{count} жилээс илүү"
+    prompts:
+      year: "Жил"
+      month: "Сар"
+      day: "Өдөр"
+      hour: "Цаг"
+      minute: "Минут"
+      second: "Секунд"
+
+  activerecord:
+    errors:
+      messages:
+        inclusion: "жагсаалтад алга байна"
+        exclusion: "бол ашиглахад хориотой"
+        invalid: "буруу байна"
+        confirmation: "адилгүй байна"
+        accepted: "хүлээн зөвшөөрөгдсөн байх ёстой"
+        empty: "байхгүй байж болохгүй"
+        blank: "хоосон байж болохгүй"
+        too_long: "хэт урт байна (хамгийн уртдаа %{count} тэмдэгт)"
+        too_short: "хэт богино байна (хамгийн багадаа %{count} тэмдэгт)"
+        wrong_length: "урт нь буруу байна (%{count} тэмдэгт байх ёстой)"
+        taken: "аль хэдийн авчихсан байна"
+        not_a_number: "тоо биш байна"
+        not_an_integer: "бүхэл тоо байх ёстой"
+        greater_than: "%{count}-с их байх ёстой"
+        greater_than_or_equal_to: "%{count}-с их юмуу тэнцүү байх ёстой"
+        equal_to: "%{count}-тэй тэнцүү байх ёстой"
+        less_than: "%{count}-с бага байх ёстой"
+        less_than_or_equal_to: "%{count}-с бага юмуу тэнцүү байх ёстой"
+        odd: "сонгой байх ёстой"
+        even: "тэгш байх ёстой"
+        record_invalid: "Шалгалт амжилтгүй: %{errors}"
+        # Append your own errors here or at the model/attributes scope.
+
+  activemodel:
+    errors:
+      template:
+        header:
+          one:    "1 алдаа гарсан тул %{model} хадгалагдахгүй байна"
+          other:  "%{count} алдаа гарсан тул %{model} хадгалагдахгүй байна"
+        # The variable :count is also available
+        body: "Дараах %{count} хэсэгт алдаа гарлаа:"
+
+  support:
+    array:
+      words_connector: ", "
+      two_words_connector: " болон "
+      last_word_connector: " болон "
+    select:
+      prompt: "Сонгоно уу"
diff --git a/sonar-server/src/main/webapp/WEB-INF/config/locales/defaults/nb.yml b/sonar-server/src/main/webapp/WEB-INF/config/locales/defaults/nb.yml
new file mode 100644 (file)
index 0000000..395361a
--- /dev/null
@@ -0,0 +1,180 @@
+# Norwegian, norsk bokmål
+# by irb.no
+# contributors:
+# - Kim Joar Bekkelund - http://kimjoar.net
+
+nb:
+  support:
+    array:
+      words_connector: ", "
+      two_words_connector: " og "
+      last_word_connector: " og "
+    select:
+      prompt: "Velg"
+  date:
+    formats:
+      default: "%d.%m.%Y"
+      short: "%e. %b"
+      long: "%e. %B %Y"
+    day_names: [søndag, mandag, tirsdag, onsdag, torsdag, fredag, lørdag]
+    abbr_day_names: [søn, man, tir, ons, tor, fre, lør]
+    month_names: [~, januar, februar, mars, april, mai, juni, juli, august, september, oktober, november, desember]
+    abbr_month_names: [~, jan, feb, mar, apr, mai, jun, jul, aug, sep, okt, nov, des]
+    order:
+      - :day
+      - :month
+      - :year
+  time:
+    formats:
+      default: "%A, %e. %B %Y, %H:%M"
+      short: "%e. %B, %H:%M"
+      long: "%A, %e. %B %Y, %H:%M"
+    am: ""
+    pm: ""
+  datetime:
+    distance_in_words:
+      half_a_minute: "et halvt minutt"
+      less_than_x_seconds:
+        one: "mindre enn 1 sekund"
+        other: "mindre enn %{count} sekunder"
+      x_seconds:
+        one: "1 sekund"
+        other: "%{count} sekunder"
+      less_than_x_minutes:
+        one: "mindre enn 1 minutt"
+        other: "mindre enn %{count} minutter"
+      x_minutes:
+        one: "1 minutt"
+        other: "%{count} minutter"
+      about_x_hours:
+        one: "rundt 1 time"
+        other: "rundt %{count} timer"
+      x_days:
+        one: "1 dag"
+        other: "%{count} dager"
+      about_x_months:
+        one: "rundt 1 måned"
+        other: "rundt %{count} måneder"
+      x_months:
+        one: "1 måned"
+        other: "%{count} måneder"
+      about_x_years:
+        one: "rundt 1 år"
+        other: "rundt %{count} år"
+      over_x_years:
+        one: "over 1 år"
+        other: "over %{count} år"
+      almost_x_years:
+        one: "nesten 1 år"
+        other: "nesten %{count} år"
+    prompts:
+      year:   "År"
+      month:  "Måned"
+      day:    "Dag"
+      hour:   "Time"
+      minute: "Minutt"
+      second: "Sekund"
+  number:
+    format: &number_format
+      precision: 2
+      separator: ","
+      delimiter: " "
+      significant: false
+      strip_insignificant_zeros: true
+    currency:
+      format:
+        unit: "kr"
+        format: "%n %u"
+        <<: *number_format
+    precision:
+      format:
+        delimiter: ""
+    human:
+      format:
+        precision: 1
+        separator: ","
+        delimiter: " "
+        significant: false
+        strip_insignificant_zeros: true
+      storage_units:
+        # Storage units output formatting.
+        # %u is the storage unit, %n is the number (default: 2 MB)
+        format: "%n %u"
+        units:
+          byte:
+            one:   "Byte"
+            other: "Bytes"
+          kb: "kB"
+          mb: "MB"
+          gb: "GB"
+          tb: "TB"
+      decimal_units:
+        format: "%n %u"
+        units:
+          unit: ""
+          thousand: "tusen"
+          million:
+            one: "million"
+            other: "millioner"
+          billion:
+            one: "milliard"
+            other: "milliarder"
+          trillion:
+            one: "billion"
+            other: "billioner"
+          quadrillion:
+            one: "billiard"
+            other: "billiarder"
+
+    percentage:
+      format:
+        delimiter: ""
+
+  helpers:
+    select:
+      prompt: "Vennligst velg"
+
+    submit:
+      create: "Lag %{model}"
+      update: "Oppdater %{model}"
+      submit: "Lagre %{model}"
+
+  errors:
+    format: "%{attribute} %{message}"
+
+    messages: &errors_messages
+      inclusion: "er ikke inkludert i listen"
+      exclusion: "er reservert"
+      invalid: "er ugyldig"
+      confirmation: "passer ikke bekreftelsen"
+      accepted: "må være akseptert"
+      empty: "kan ikke være tom"
+      blank: "kan ikke være blank"
+      too_long: "er for lang (maksimum %{count} tegn)"
+      too_short: "er for kort (minimum %{count} tegn)"
+      wrong_length: "er av feil lengde (maksimum %{count} tegn)"
+      not_a_number: "er ikke et tall"
+      not_an_integer: "er ikke et heltall"
+      greater_than: "må være større enn %{count}"
+      greater_than_or_equal_to: "må være større enn eller lik %{count}"
+      equal_to: "må være lik %{count}"
+      less_than: "må være mindre enn %{count}"
+      less_than_or_equal_to: "må være mindre enn eller lik %{count}"
+      odd: "må være oddetall"
+      even: "må være partall"
+
+  activerecord:
+    errors:
+      template:
+        header:
+          one:   "Kunne ikke lagre %{model} på grunn av én feil."
+          other: "Kunne ikke lagre %{model} på grunn av %{count} feil."
+        body: "Det oppstod problemer i følgende felt:"
+
+      messages:
+        taken: "er allerede i bruk"
+        record_invalid: "Det oppstod feil: %{errors}"
+        <<: *errors_messages
+
+      full_messages:
+        format: "%{attribute}%{message}"
diff --git a/sonar-server/src/main/webapp/WEB-INF/config/locales/defaults/nl.rb b/sonar-server/src/main/webapp/WEB-INF/config/locales/defaults/nl.rb
deleted file mode 100755 (executable)
index cd6c1cc..0000000
+++ /dev/null
@@ -1,103 +0,0 @@
-{
-  :'nl' => {
-    :date => {
-      :formats => {
-        :default      => "%d/%m/%Y",
-        :short        => "%e %b",
-        :long         => "%e %B %Y",
-        :long_ordinal => lambda { |date| "#{date.day}e van %B %Y" },
-        :only_day     => "%e"
-      },
-      :day_names => %w(Zondag Maandag Dinsdag Woensdag Donderdag Vrijdag Zaterdag),
-      :abbr_day_names => %w(Zo Ma Di Wo Do Vr Za),
-      :month_names => [nil] + %w(Januari Februari Maart April Mei Juni Juli Augustus September Oktober November December),
-      :abbr_month_names => [nil] + %w(Jan Feb Mrt Apr Mei Jun Jul Aug Sep Okt Nov Dec),
-      :order => [:day, :month, :year]
-    },
-    :time => {
-      :formats => {
-        :default      => "%a %b %d %H:%M:%S %Z %Y",
-        :time         => "%H:%M",
-        :short        => "%d %b %H:%M",
-        :long         => "%d %B %Y %H:%M",
-        :long_ordinal => lambda { |time| "#{time.day}e van %B %Y %H:%M" },
-        :only_second  => "%S"
-      },
-      :datetime => {
-        :formats => {
-          :default => "%Y-%m-%dT%H:%M:%S%Z"
-        }
-      },
-      :time_with_zone => {
-        :formats => {
-          :default => lambda { |time| "%Y-%m-%d %H:%M:%S #{time.formatted_offset(false, 'UTC')}" }
-        }
-      },
-      :am => %q('s ochtends),
-      :pm => %q('s middags)
-    },
-    :datetime => {
-      :distance_in_words => {
-        :half_a_minute       => 'een halve minuut',
-        :less_than_x_seconds => {:zero => 'minder dan een seconde', :one => 'minder dan 1 seconde', :other => 'minder dan {{count}} secondes'},
-        :x_seconds           => {:one => '1 seconde', :other => '{{count}} secondes'},
-        :less_than_x_minutes => {:zero => 'minder dan een minuut', :one => 'minder dan 1 minuut', :other => 'minder dan {{count}} minuten'},
-        :x_minutes           => {:one => "1 minuut", :other => "{{count}} minuten"},
-        :about_x_hours       => {:one => 'ongeveer 1 uur', :other => 'ongeveer {{count}} uren'},
-        :x_days              => {:one => '1 dag', :other => '{{count}} dagen'},
-        :about_x_months      => {:one => 'ongeveer 1 maand', :other => 'ongeveer {{count}} maanden'},
-        :x_months            => {:one => '1 maand', :other => '{{count}} maanden'},
-        :about_x_years       => {:one => 'ongeveer 1 jaar', :other => 'ongeveer {{count}} jaren'},
-        :over_x_years        => {:one => 'langer dan 1 jaar', :other => 'langer dan {{count}} jaren'}
-      }
-    },
-    :number => {
-      :format => {
-        :precision => 2,
-        :separator => ',',
-        :delimiter => '.'
-      },
-      :currency => {
-        :format => {
-          :unit => '€',
-          :precision => 2,
-          :format => '%u %n'
-        }
-      }
-    },
-
-    # Active Record
-    :activerecord => {
-      :errors => {
-        :template => {
-          :header => {
-            :one => "Kon dit {{model}} object niet opslaan: 1 fout.", 
-            :other => "Kon dit {{model}} niet opslaan: {{count}} fouten."
-          },
-          :body => "Controleer alstublieft de volgende velden:"
-        },
-        :messages => {
-          :inclusion => "is niet in de lijst opgenomen",
-          :exclusion => "is niet beschikbaar",
-          :invalid => "is ongeldig",
-          :confirmation => "komt niet met z'n bevestiging overeen",
-          :accepted  => "moet worden geaccepteerd",
-          :empty => "moet opgegeven zijn",
-          :blank => "moet opgegeven zijn",
-          :too_long => "is te lang (niet meer dan {{count}} karakters)",
-          :too_short => "is te kort (niet minder dan {{count}} karakters)",
-          :wrong_length => "heeft niet de juiste lengte (moet precies {{count}} karakters zijn)",
-          :taken => "is niet beschikbaar",
-          :not_a_number => "is niet een getal",
-          :greater_than => "moet groter zijn dan {{count}}",
-          :greater_than_or_equal_to => "moet groter of gelijk zijn aan {{count}}",
-          :equal_to => "moet gelijk zijn aan {{count}}",
-          :less_than => "moet minder zijn dan {{count}}",
-          :less_than_or_equal_to => "moet minder of gelijk zijn aan {{count}}",
-          :odd => "moet oneven zijn",
-          :even => "moet even zijn"
-        }
-      }
-    }
-  }
-}
old mode 100755 (executable)
new mode 100644 (file)
index ff6f32b..cdf72d4
-# Dutch translation in YML by Ariejan de Vroom <ariejan@ariejan.net>
+# Dutch translations for Ruby on Rails, based on US English template
+# Original version by Ariejan de Vroom <ariejan@ariejan.net>
 #  - Sponsored by Kabisa ICT - http://kabisa.nl
-#
-# Fully compatible with Translate (the Rails translation plugin) 
-#  - http://developer.newsdesk.se/2009/01/21/translate-new-rails-i18n-plugin-with-a-nice-web-ui/
---- 
-nl: 
-  number: 
-    format: 
-      separator: ","
-      precision: 2
-      delimiter: .
-    human: 
-      storage_units: 
-        format: "%n %u"
-        units: 
-          kb: KB
-          tb: TB
-          gb: GB
-          byte: 
-            one: Byte
-            other: Bytes
-          mb: MB
-    currency: 
-      format: 
-        format: "%u %n"
-        unit: !binary |
-          4oKs
-
-        separator: .
-        precision: 2
-        delimiter: .
-  activerecord: 
-    errors: 
-      messages: 
-        greater_than_or_equal_to: moet groter of gelijk zijn aan {{count}}
-        less_than_or_equal_to: moet minder of gelijk zijn aan {{count}}
-        confirmation: komt niet met de bevestiging overeen
-        blank: moet opgegeven zijn
-        exclusion: is niet beschikbaar
-        invalid: is ongeldig
-        odd: moet oneven zijn
-        too_short: is te kort (niet minder dan {{count}} tekens)
-        wrong_length: heeft niet de juiste lengte (moet {{count}} tekens lang zijn)
-        empty: moet opgegeven zijn
-        even: moet even zijn
-        less_than: moet minder zijn dan {{count}}
-        equal_to: moet gelijk zijn aan {{count}}
-        greater_than: moet groter zijn dan {{count}}
-        accepted: moet worden geaccepteerd
-        too_long: is te lang (niet meer dan {{count}} tekens)
-        taken: is niet beschikbaar
-        inclusion: is niet in de lijst opgenomen
-        not_a_number: is geen getal
-      template: 
-        body: "Controleer alstublieft de volgende velden:"
-        header: 
-          one: "Kon dit {{model}} object niet opslaan: 1 fout."
-          other: "Kon dit {{model}} niet opslaan: {{count}} fouten."
+# Rails 3 update by Floris Huetink <floris@avocado.nl> (github: florish)
+
+nl:
+  date:
+    formats:
+      default: "%d/%m/%Y"
+      short: "%e %b"
+      long: "%e %B %Y"
+      only_day: "%e"
+
+    day_names: [zondag, maandag, dinsdag, woensdag, donderdag, vrijdag, zaterdag]
+    abbr_day_names: [zon, maa, din, woe, don, vri, zat]
+
+    month_names: [~, januari, februari, maart, april, mei, juni, juli, augustus, september, oktober, november, december]
+    abbr_month_names: [~, jan, feb, mar, apr, mei, jun, jul, aug, sep, okt, nov, dec]
+    order:
+      - :day
+      - :month
+      - :year
+
   time: 
-    am: "'s ochtends"
     formats: 
       default: "%a %d %b %Y %H:%M:%S %Z"
-      time: "%H:%M"
       short: "%d %b %H:%M"
+      long: "%d %B %Y %H:%M"            
+      time: "%H:%M"
       only_second: "%S"
-      datetime: 
-        formats: 
-          default: "%d-%m-%YT%H:%M:%S%Z"
-      long: "%d %B %Y %H:%M"
-    pm: "'s middages"
-  date: 
-    month_names: 
-    - 
-    - Januari
-    - Februari
-    - Maart
-    - April
-    - Mei
-    - Juni
-    - Juli
-    - Augustus
-    - September
-    - Oktober
-    - November
-    - December
-    abbr_day_names: 
-    - Zon
-    - Maa
-    - Din
-    - Woe
-    - Don
-    - Vri
-    - Zat
-    order: 
-    - :day
-    - :month
-    - :year
-    formats: 
-      only_day: "%e"
-      default: "%d/%m/%Y"
-      short: "%e %b"
-      long: "%e %B %Y"
-    day_names: 
-    - Zondag
-    - Maandag
-    - Dinsdag
-    - Woensdag
-    - Donderdag
-    - Vrijdag
-    - Zaterdag
-    abbr_month_names: 
-    - 
-    - Jan
-    - Feb
-    - Mar
-    - Apr
-    - Mei
-    - Jun
-    - Jul
-    - Aug
-    - Sep
-    - Okt
-    - Nov
-    - Dec
+    am: "'s ochtends"
+    pm: "'s middags"
+
   support: 
     array: 
-      words_connector: ","
-      last_word_connector: ", en"
-      two_words_connector: en
-  datetime: 
-    format: 
-      default: "%Y-%m-%dT%H:%M:%S%Z"
-    prompts: 
-      minute: Minuut
-      second: Seconden
-      month: Maand
-      hour: Uur
-      day: Dag
-      year: Jaar
-    distance_in_words: 
-      less_than_x_minutes: 
-        one: "minder dan \xC3\xA9\xC3\xA9n minuut"
-        other: minder dan {{count}} minuten
-      x_days: 
-        one: 1 dag
-        other: "{{count}} dagen"
-      x_seconds: 
-        one: 1 seconde
-        other: "{{count}} seconden"
-      about_x_hours: 
-        one: "ongeveer \xC3\xA9\xC3\xA9n uur"
-        other: ongeveer {{count}} uur
-      less_than_x_seconds: 
-        one: "minder dan \xC3\xA9\xC3\xA9n seconde"
-        other: minder dan {{count}} seconden
-      x_months: 
-        one: 1 maand
-        other: "{{count}} maanden"
-      x_minutes: 
-        one: 1 minuut
-        other: "{{count}} minuten"
-      about_x_years: 
-        one: "ongeveer \xC3\xA9\xC3\xA9n jaar"
-        other: ongeveer {{count}} jaren
+      words_connector: ", "
+      two_words_connector: " en "
+      last_word_connector: " en "
+
+    select:
+      prompt: "Selecteer"
+
+  number:
+    format:
+      separator: ","
+      delimiter: "."
+      precision: 2
+      significant: false
+      strip_insignificant_zeros: false
+
+    currency:
+      format:
+        format: "%u%n"
+        unit: "€"
+        separator: ","
+        delimiter: "."
+        precision: 2
+        significant: false
+        strip_insignificant_zeros: false
+
+    percentage:
+      format:
+        delimiter: ""
+
+    precision:
+      format:
+        delimiter: ""
+
+    human:
+      format:
+        delimiter: ""
+        precision: 3
+        significant: true
+        strip_insignificant_zeros: true
+      storage_units:
+        format: "%n %u"
+        units:
+          byte:
+            one:   "Byte"
+            other: "Bytes"
+          kb: "KB"
+          mb: "MB"
+          gb: "GB"
+          tb: "TB"
+      decimal_units:
+        format: "%n %u"
+        units:
+          unit: ""
+          thousand: "duizend"
+          million: "miljoen"
+          billion: "miljard"
+          trillion: "biljoen"
+          quadrillion: "biljard"
+
+  datetime:
+    distance_in_words:
+      half_a_minute: "een halve minuut"
+      less_than_x_seconds:
+        one:   "minder dan \xC3\xA9\xC3\xA9n seconde"
+        other: "minder dan %{count} seconden"
+      x_seconds:
+        one:   "1 seconde"
+        other: "%{count} seconden"
+      less_than_x_minutes:
+        one:   "minder dan \xC3\xA9\xC3\xA9n minuut"
+        other: "minder dan %{count} minuten"
+      x_minutes:
+        one:   "1 minuut"
+        other: "%{count} minuten"
+      about_x_hours:
+        one:   "ongeveer \xC3\xA9\xC3\xA9n uur"
+        other: "ongeveer %{count} uur"
+      x_days:
+        one:   "1 dag"
+        other: "%{count} dagen"
       about_x_months: 
         one: "ongeveer \xC3\xA9\xC3\xA9n maand"
-        other: ongeveer {{count}} maanden
+        other: "ongeveer %{count} maanden"
+      x_months:
+        one:   "1 maand"
+        other: "%{count} maanden"
+      about_x_years: 
+        one: "ongeveer \xC3\xA9\xC3\xA9n jaar"
+        other: "ongeveer %{count} jaar"
       over_x_years: 
-        one: "langer dan \xC3\xA9\xC3\xA9n jaar"
-        other: langer {{count}} jaar
-      half_a_minute: halve minuut
+        one: "meer dan \xC3\xA9\xC3\xA9n jaar"
+        other: "meer dan %{count} jaar"
+      almost_x_years:
+        one:   "bijna \xC3\xA9\xC3\xA9n jaar"
+        other: "bijna %{count} jaar"
+    prompts:
+      year:   "jaar"
+      month:  "maand"
+      day:    "dag"
+      hour:   "uur"
+      minute: "minuut"
+      second: "seconde"
+
+  helpers:
+    select:
+      prompt: "Selecteer"
+
+    submit:
+      create: '%{model} toevoegen'
+      update: '%{model} bewaren'
+      submit: '%{model} opslaan'
+
+  errors:
+    format: "%{attribute} %{message}"
+
+    messages: &errors_messages
+      inclusion: "is niet in de lijst opgenomen"
+      exclusion: "is niet beschikbaar"
+      invalid: "is ongeldig"
+      confirmation: "komt niet met de bevestiging overeen"
+      accepted: "moet worden geaccepteerd"
+      empty: "moet opgegeven zijn"
+      blank: "moet opgegeven zijn"
+      too_long: "is te lang (maximaal %{count} tekens)"
+      too_short: "is te kort (minimaal %{count} tekens)"
+      wrong_length: "heeft onjuiste lengte (moet %{count} tekens lang zijn)"
+      not_a_number: "is geen getal"
+      not_an_integer: "moet een geheel getal zijn"
+      greater_than: "moet groter zijn dan %{count}"
+      greater_than_or_equal_to: "moet groter dan of gelijk zijn aan %{count}"
+      equal_to: "moet gelijk zijn aan %{count}"
+      less_than: "moet minder zijn dan %{count}"
+      less_than_or_equal_to: "moet minder dan of gelijk zijn aan %{count}"
+      odd: "moet oneven zijn"
+      even: "moet even zijn"
+
+  activerecord:
+    errors:
+      template:
+        header:
+          one:    "%{model} niet opgeslagen: 1 fout gevonden"
+          other:  "%{model} niet opgeslagen: %{count} fouten gevonden"
+        body: "Controleer de volgende velden:"
+
+      messages:
+        taken: "is al in gebruik"
+        record_invalid: "Validatie mislukt: %{errors}"
+        <<: *errors_messages
+
+      full_messages:
+        format: "%{attribute} %{message}"
diff --git a/sonar-server/src/main/webapp/WEB-INF/config/locales/defaults/nn.yml b/sonar-server/src/main/webapp/WEB-INF/config/locales/defaults/nn.yml
new file mode 100644 (file)
index 0000000..9602375
--- /dev/null
@@ -0,0 +1,99 @@
+# Norwegian, nynorsk, by irb.no
+nn:
+  support:
+    array:
+      sentence_connector: "og"
+  date:
+    formats:
+      default: "%d.%m.%Y"
+      short: "%e. %b"
+      long: "%e. %B %Y"
+    day_names: [sundag, måndag, tysdag, onsdag, torsdag, fredag, laurdag]
+    abbr_day_names: [sun, mån, tys, ons, tor, fre, lau]
+    month_names: [~, januar, februar, mars, april, mai, juni, juli, august, september, oktober, november, desember]
+    abbr_month_names: [~, jan, feb, mar, apr, mai, jun, jul, aug, sep, okt, nov, des]
+    order:
+      - :day
+      - :month
+      - :year
+  time:
+    formats:
+      default: "%A, %e. %B %Y, %H:%M"
+      time: "%H:%M"
+      short: "%e. %B, %H:%M"
+      long: "%A, %e. %B %Y, %H:%M"
+    am: ""
+    pm: ""
+  datetime:
+    distance_in_words:
+      half_a_minute: "eit halvt minutt"
+      less_than_x_seconds:
+        one: "mindre enn 1 sekund"
+        other: "mindre enn %{count} sekund"
+      x_seconds:
+        one: "1 sekund"
+        other: "%{count} sekund"
+      less_than_x_minutes:
+        one: "mindre enn 1 minutt"
+        other: "mindre enn %{count} minutt"
+      x_minutes:
+        one: "1 minutt"
+        other: "%{count} minutt"
+      about_x_hours:
+        one: "rundt 1 time"
+        other: "rundt %{count} timar"
+      x_days:
+        one: "1 dag"
+        other: "%{count} dagar"
+      about_x_months:
+        one: "rundt 1 månad"
+        other: "rundt %{count} månader"
+      x_months:
+        one: "1 månad"
+        other: "%{count} månader"
+      about_x_years:
+        one: "rundt 1 år"
+        other: "rundt %{count} år"
+      over_x_years:
+        one: "over 1 år"
+        other: "over %{count} år"
+  number:
+    format:
+      precision: 2
+      separator: "."
+      delimiter: ","
+    currency:
+      format:
+        unit: "kr"
+        format: "%n %u"
+    precision:
+      format:
+        delimiter: ""
+        precision: 4
+  activerecord:
+    errors:
+      template:
+        header: "kunne ikkje lagra %{model} grunna %{count} feil."
+        body: "det oppstod problem i følgjande felt:"
+      messages:
+        inclusion: "er ikkje inkludert i lista"
+        exclusion: "er reservert"
+        invalid: "er ugyldig"
+        confirmation: "er ikkje stadfesta"
+        accepted: "må vera akseptert"
+        empty: "kan ikkje vera tom"
+        blank: "kan ikkje vera blank"
+        too_long: "er for lang (maksimum %{count} teikn)"
+        too_short: "er for kort (minimum %{count} teikn)"
+        wrong_length: "har feil lengde (maksimum %{count} teikn)"
+        taken: "er allerie i bruk"
+        not_a_number: "er ikkje eit tal"
+        greater_than: "må vera større enn %{count}"
+        greater_than_or_equal_to: "må vera større enn eller lik %{count}"
+        equal_to: "må vera lik %{count}"
+        less_than: "må vera mindre enn %{count}"
+        less_than_or_equal_to: "må vera mindre enn eller lik %{count}"
+        odd: "må vera oddetal"
+        even: "må vera partal"
+      # models:
+      # attributes:
diff --git a/sonar-server/src/main/webapp/WEB-INF/config/locales/defaults/no-NB.yml b/sonar-server/src/main/webapp/WEB-INF/config/locales/defaults/no-NB.yml
deleted file mode 100755 (executable)
index ef2d937..0000000
+++ /dev/null
@@ -1,96 +0,0 @@
-# Norwegian, norsk bokmål, by irb.no
-"no-NB":
-  support:
-    array:
-      sentence_connector: "og"
-  date:
-    formats:
-      default: "%d.%m.%Y"
-      short: "%e. %b"
-      long: "%e. %B %Y"
-    day_names: [søndag, mandag, tirsdag, onsdag, torsdag, fredag, lørdag]
-    abbr_day_names: [søn, man, tir, ons, tor, fre, lør]
-    month_names: [~, januar, februar, mars, april, mai, juni, juli, august, september, oktober, november, desember]
-    abbr_month_names: [~, jan, feb, mar, apr, mai, jun, jul, aug, sep, okt, nov, des]
-    order: [:day, :month, :year]
-  time:
-    formats:
-      default: "%A, %e. %B %Y, %H:%M"
-      time: "%H:%M"
-      short: "%e. %B, %H:%M"
-      long: "%A, %e. %B %Y, %H:%M"
-    am: ""
-    pm: ""
-  datetime:
-    distance_in_words:
-      half_a_minute: "et halvt minutt"
-      less_than_x_seconds:
-        one: "mindre enn 1 sekund"
-        other: "mindre enn {{count}} sekunder"
-      x_seconds:
-        one: "1 sekund"
-        other: "{{count}} sekunder"
-      less_than_x_minutes:
-        one: "mindre enn 1 minutt"
-        other: "mindre enn {{count}} minutter"
-      x_minutes:
-        one: "1 minutt"
-        other: "{{count}} minutter"
-      about_x_hours:
-        one: "rundt 1 time"
-        other: "rundt {{count}} timer"
-      x_days:
-        one: "1 dag"
-        other: "{{count}} dager"
-      about_x_months:
-        one: "rundt 1 måned"
-        other: "rundt {{count}} måneder"
-      x_months:
-        one: "1 måned"
-        other: "{{count}} måneder"
-      about_x_years:
-        one: "rundt 1 år"
-        other: "rundt {{count}} år"
-      over_x_years:
-        one: "over 1 år"
-        other: "over {{count}} år"
-  number:
-    format:
-      precision: 2
-      separator: "."
-      delimiter: ","
-    currency:
-      format:
-        unit: "kr"
-        format: "%n %u"
-    precision:
-      format:
-        delimiter: ""
-        precision: 4
-  activerecord:
-    errors:
-      template:
-        header: "kunne ikke lagre {{model}} på grunn av {{count}} feil."
-        body: "det oppstod problemer i følgende felt:"
-      messages:
-        inclusion: "er ikke inkludert i listen"
-        exclusion: "er reservert"
-        invalid: "er ugyldig"
-        confirmation: "passer ikke bekreftelsen"
-        accepted: "må være akseptert"
-        empty: "kan ikke være tom"
-        blank: "kan ikke være blank"
-        too_long: "er for lang (maksimum {{count}} tegn)"
-        too_short: "er for kort (minimum {{count}} tegn)"
-        wrong_length: "er av feil lengde (maksimum {{count}} tegn)"
-        taken: "er allerede i bruk"
-        not_a_number: "er ikke et tall"
-        greater_than: "må være større enn {{count}}"
-        greater_than_or_equal_to: "må være større enn eller lik {{count}}"
-        equal_to: "må være lik {{count}}"
-        less_than: "må være mindre enn {{count}}"
-        less_than_or_equal_to: "må være mindre enn eller lik {{count}}"
-        odd: "må være oddetall"
-        even: "må være partall"
-      # models:
-      # attributes:
diff --git a/sonar-server/src/main/webapp/WEB-INF/config/locales/defaults/no-NN.yml b/sonar-server/src/main/webapp/WEB-INF/config/locales/defaults/no-NN.yml
deleted file mode 100755 (executable)
index 7cd9893..0000000
+++ /dev/null
@@ -1,96 +0,0 @@
-# Norwegian, nynorsk, by irb.no
-"no-NN":
-  support:
-    array:
-      sentence_connector: "og"
-  date:
-    formats:
-      default: "%d.%m.%Y"
-      short: "%e. %b"
-      long: "%e. %B %Y"
-    day_names: [sundag, måndag, tysdag, onsdag, torsdag, fredag, laurdag]
-    abbr_day_names: [sun, mån, tys, ons, tor, fre, lau]
-    month_names: [~, januar, februar, mars, april, mai, juni, juli, august, september, oktober, november, desember]
-    abbr_month_names: [~, jan, feb, mar, apr, mai, jun, jul, aug, sep, okt, nov, des]
-    order: [:day, :month, :year]
-  time:
-    formats:
-      default: "%A, %e. %B %Y, %H:%M"
-      time: "%H:%M"
-      short: "%e. %B, %H:%M"
-      long: "%A, %e. %B %Y, %H:%M"
-    am: ""
-    pm: ""
-  datetime:
-    distance_in_words:
-      half_a_minute: "eit halvt minutt"
-      less_than_x_seconds:
-        one: "mindre enn 1 sekund"
-        other: "mindre enn {{count}} sekund"
-      x_seconds:
-        one: "1 sekund"
-        other: "{{count}} sekund"
-      less_than_x_minutes:
-        one: "mindre enn 1 minutt"
-        other: "mindre enn {{count}} minutt"
-      x_minutes:
-        one: "1 minutt"
-        other: "{{count}} minutt"
-      about_x_hours:
-        one: "rundt 1 time"
-        other: "rundt {{count}} timar"
-      x_days:
-        one: "1 dag"
-        other: "{{count}} dagar"
-      about_x_months:
-        one: "rundt 1 månad"
-        other: "rundt {{count}} månader"
-      x_months:
-        one: "1 månad"
-        other: "{{count}} månader"
-      about_x_years:
-        one: "rundt 1 år"
-        other: "rundt {{count}} år"
-      over_x_years:
-        one: "over 1 år"
-        other: "over {{count}} år"
-  number:
-    format:
-      precision: 2
-      separator: "."
-      delimiter: ","
-    currency:
-      format:
-        unit: "kr"
-        format: "%n %u"
-    precision:
-      format:
-        delimiter: ""
-        precision: 4
-  activerecord:
-    errors:
-      template:
-        header: "kunne ikkje lagra {{model}} grunna {{count}} feil."
-        body: "det oppstod problem i følgjande felt:"
-      messages:
-        inclusion: "er ikkje inkludert i lista"
-        exclusion: "er reservert"
-        invalid: "er ugyldig"
-        confirmation: "er ikkje stadfesta"
-        accepted: "må vera akseptert"
-        empty: "kan ikkje vera tom"
-        blank: "kan ikkje vera blank"
-        too_long: "er for lang (maksimum {{count}} teikn)"
-        too_short: "er for kort (minimum {{count}} teikn)"
-        wrong_length: "har feil lengde (maksimum {{count}} teikn)"
-        taken: "er allerie i bruk"
-        not_a_number: "er ikkje eit tal"
-        greater_than: "må vera større enn {{count}}"
-        greater_than_or_equal_to: "må vera større enn eller lik {{count}}"
-        equal_to: "må vera lik {{count}}"
-        less_than: "må vera mindre enn {{count}}"
-        less_than_or_equal_to: "må vera mindre enn eller lik {{count}}"
-        odd: "må vera oddetal"
-        even: "må vera partal"
-      # models:
-      # attributes:
\ No newline at end of file
old mode 100755 (executable)
new mode 100644 (file)
index 5b9f80f..f91081f
@@ -1,26 +1,73 @@
 # Polish translations for Ruby on Rails
 # by Jacek Becela (jacek.becela@gmail.com, http://github.com/ncr)
+# Minor changes and adjustments for Rails 3 by Piotrek Okoński (http://github.com/pokonski)
 
 pl:
+  date:
+    formats:
+      default: "%d-%m-%Y"
+      short: "%d %b"
+      long: "%B %d, %Y"
+
+    day_names: [niedziela, poniedziałek, wtorek, środa, czwartek, piątek, sobota]
+    abbr_day_names: [nie, pon, wto, śro, czw, pia, sob]
+
+    month_names: [~, styczeń, luty, marzec, kwiecień, maj, czerwiec, lipiec, sierpień, wrzesień, październik, listopad, grudzień]
+    abbr_month_names: [~, sty, lut, mar, kwi, maj, cze, lip, sie, wrz, paź, lis, gru]
+    order:
+      - :day
+      - :month
+      - :year
+
+  time:
+    formats:
+      default: "%a, %d %b %Y %H:%M:%S %z"
+      short: "%d %b %H:%M"
+      long: "%B %d, %Y %H:%M"
+    am: "przed południem"
+    pm: "po południu"
+
+  support:
+    array:
+      words_connector: ", "
+      two_words_connector: " i "
+      last_word_connector: " oraz "
+
+    select:
+      prompt: "Proszę wybrać"
+
   number:
     format:
       separator: ","
       delimiter: " "
-      precision: 2
+      precision: 3
+      significant: false
+      strip_insignificant_zeros: false
+
     currency:
       format:
-        format: "%n %u"
+        format: "%u %n"
         unit: "PLN"
+        separator: ","
+        delimiter: " "
+        precision: 2
+        significant: false
+        strip_insignificant_zeros: true
+
     percentage:
       format:
         delimiter: ""
+
     precision:
       format:
         delimiter: ""
+
     human:
       format:
         delimiter: ""
-        precision: 1
+        precision: 3
+        significant: true
+        strip_insignificant_zeros: true
       storage_units:
         format: "%n %u"
         units:
@@ -31,97 +78,116 @@ pl:
           mb: "MB"
           gb: "GB"
           tb: "TB"
-
-  date:
-    formats:
-      default: "%Y-%m-%d"
-      short: "%d %b"
-      long: "%d %B %Y"
-    
-    day_names: [Niedziela, Poniedziałek, Wtorek, Środa, Czwartek, Piątek, Sobota]
-    abbr_day_names: [nie, pon, wto, śro, czw, pia, sob]
-    
-    month_names: [~, Styczeń, Luty, Marzec, Kwiecień, Maj, Czerwiec, Lipiec, Sierpień, Wrzesień, Październik, Listopad, Grudzień]
-    abbr_month_names: [~, sty, lut, mar, kwi, maj, cze, lip, sie, wrz, paź, lis, gru]
-    order: [ :year, :month, :day ]
-
-  time:
-    formats:
-      default: "%a, %d %b %Y, %H:%M:%S %z"
-      short: "%d %b, %H:%M"
-      long: "%d %B %Y, %H:%M"
-    am: "przed południem"
-    pm: "po południu"
+      decimal_units:
+        format: "%n %u"
+        units:
+          unit: ""
+          thousand: Tysiąc
+          million: Milion
+          billion: Miliard
+          trillion: Trylion
+          quadrillion: Kwadrylion
 
   datetime:
     distance_in_words:
       half_a_minute: "pół minuty"
       less_than_x_seconds:
         one:   "mniej niż sekundę"
-        few:   "mniej niż {{count}} sekundy"
-        other: "mniej niż {{count}} sekund"
+        few:   "mniej niż %{count} sekundy"
+        other: "mniej niż %{count} sekund"
       x_seconds:
-        one:   "sekundę"
-        few:   "{{count}} sekundy"
-        other: "{{count}} sekund"
+        one:   "1 sekunda"
+        few:   "%{count} sekundy"
+        other: "%{count} sekund"
       less_than_x_minutes:
         one:   "mniej niż minutę"
-        few:   "mniej niż {{count}} minuty"
-        other: "mniej niż {{count}} minut"
+        few:   "mniej niż %{count} minuty"
+        other: "mniej niż %{count} minut"
       x_minutes:
-        one:   "minutę"
-        few:   "{{count}} minuty"
-        other: "{{count}} minut"
+        one:   "1 minuta"
+        few:   "%{count} minuty"
+        other: "%{count} minut"
       about_x_hours:
         one:   "około godziny"
-        other: "about {{count}} godzin"
+        few:   "około %{count} godziny"
+        other: "około %{count} godzin"
       x_days:
         one:   "1 dzień"
-        other: "{{count}} dni"
+        few:   "%{count} dni"
+        other: "%{count} dni"
       about_x_months:
         one:   "około miesiąca"
-        other: "około {{count}} miesięcy"
+        few:   "około %{count} miesiące"
+        other: "około %{count} miesięcy"
       x_months:
         one:   "1 miesiąc"
-        few:   "{{count}} miesiące"
-        other: "{{count}} miesięcy"
+        few:   "%{count} miesiące"
+        other: "%{count} miesięcy"
       about_x_years:
-        one:   "około roku"
-        other: "około {{count}} lat"
+        one:   "około rok"
+        few:   "około %{count} lata"
+        other: "około %{count} lat"
       over_x_years:
         one:   "ponad rok"
-        few:   "ponad {{count}} lata"
-        other: "ponad {{count}} lat"
+        few:   "ponad %{count} lata"
+        other: "ponad %{count} lat"
+      almost_x_years:
+        one:   "prawie rok"
+        few:   "prawie %{count} lata"
+        other: "prawie %{count} lat"
+    prompts:
+      year:   "Rok"
+      month:  "Miesiąc"
+      day:    "Dzień"
+      hour:   "Godzina"
+      minute: "Minuta"
+      second: "Sekundy"
+
+  helpers:
+    select:
+      prompt: "Proszę wybrać"
+
+    submit:
+      create: 'Utwórz %{model}'
+      update: 'Aktualizuj %{model}'
+      submit: 'Zapisz %{model}'
+
+  errors:
+    format: "%{attribute} %{message}"
+
+    messages: &errors_messages
+      inclusion: "nie znajduje się na liście dopuszczalnych wartości"
+      exclusion: "jest zarezerwowane"
+      invalid: "jest nieprawidłowe"
+      confirmation: "nie zgadza się z potwierdzeniem"
+      accepted: "musi zostać zaakceptowane"
+      empty: "nie może być puste"
+      blank: "nie może być puste"
+      too_long: "jest za długie (maksymalnie %{count} znaków)"
+      too_short: "jest za krótkie (przynajmniej %{count} znaków)"
+      wrong_length: "ma nieprawidłową długość (powinna wynosić %{count} znaków)"
+      not_a_number: "nie jest liczbą"
+      not_an_integer: "musi być liczbą całkowitą"
+      greater_than: "musi być większe od %{count}"
+      greater_than_or_equal_to: "musi być większe lub równe %{count}"
+      equal_to: "musi być równe %{count}"
+      less_than: "musi być mniejsze od %{count}"
+      less_than_or_equal_to: "musi być mniejsze lub równe %{count}"
+      odd: "musi być nieparzyste"
+      even: "musi być parzyste"
 
   activerecord:
     errors:
       template:
         header:
-          one:    "{{model}} nie został zachowany z powodu jednego błędu"
-          other:  "{{model}} nie został zachowany z powodu {{count}} błędów"
+          one:    "%{model} nie został zachowany z powodu jednego błędu"
+          other:  "%{model} nie został zachowany z powodu %{count} błędów"
         body: "Błędy dotyczą następujących pól:"
+
       messages:
-        inclusion: "nie znajduje się na liście dopuszczalnych wartości"
-        exclusion: "znajduje się na liście zabronionych wartości"
-        invalid: "jest nieprawidłowe"
-        confirmation: "nie zgadza się z potwierdzeniem"
-        accepted: "musi być zaakceptowane"
-        empty: "nie może być puste"
-        blank: "nie może być puste"
-        too_long: "jest za długie (maksymalnie {{count}} znaków)"
-        too_short: "jest za krótkie (minimalnie {{count}} znaków)"
-        wrong_length: "jest nieprawidłowej długości (powinna wynosić {{count}} znaków)"
         taken: "zostało już zajęte"
-        not_a_number: "nie jest liczbą"
-        greater_than: "musi być większe niż {{count}}"
-        greater_than_or_equal_to: "musi być większe lub równe {{count}}"
-        equal_to: "musi być równe {{count}}"
-        less_than: "musie być mniejsze niż {{count}}"
-        less_than_or_equal_to: "musi być mniejsze lub równe {{count}}"
-        odd: "musi być nieparzyste"
-        even: "musi być parzyste"
-      
-  support:
-    array:
-      sentence_connector: "i"
-      skip_last_comma: true
+        record_invalid: "Negatywne sprawdzenie poprawności: %{errors}"
+        <<: *errors_messages
+
+      full_messages:
+        format: "%{attribute} %{message}"
old mode 100755 (executable)
new mode 100644 (file)
index 7e14e4b..a72497f
-pt-BR:
+# encoding: UTF-8
+# pt-BR translations for Ruby on Rails
+"pt-BR":
   # formatos de data e hora
   date:
     formats:
       default: "%d/%m/%Y"
       short: "%d de %B"
       long: "%d de %B de %Y"
-    
+
     day_names: [Domingo, Segunda, Terça, Quarta, Quinta, Sexta, Sábado]
     abbr_day_names: [Dom, Seg, Ter, Qua, Qui, Sex, Sáb]
+
     month_names: [~, Janeiro, Fevereiro, Março, Abril, Maio, Junho, Julho, Agosto, Setembro, Outubro, Novembro, Dezembro]
     abbr_month_names: [~, Jan, Fev, Mar, Abr, Mai, Jun, Jul, Ago, Set, Out, Nov, Dez]
-    order: [ :day, :month, :year ]
+    order:
+      - :day
+      - :month
+      - :year
   
   time:
     formats:
-      default: "%A, %d de %B de %Y, %H:%M hs"
-      short: "%d/%m, %H:%M hs"
-      long: "%A, %d de %B de %Y, %H:%M hs"
+      default: "%A, %d de %B de %Y, %H:%M h"
+      short: "%d/%m, %H:%M h"
+      long: "%A, %d de %B de %Y, %H:%M h"
     am: ''
     pm: ''
-  
-  # date helper distanci em palavras
+
+  # Usado no Array.to_sentence
+  support:
+    array:
+      words_connector: ", "
+      two_words_connector: " e "
+      last_word_connector: " e "
+
+    select:
+      prompt: "Por favor selecione"
+
+  number:
+    format:
+      separator: ','
+      delimiter: '.'
+      precision: 3
+      significant: false
+      strip_insignificant_zeros: false
+
+    currency:
+      format:
+        format: '%u %n'
+        unit: 'R$'
+        separator: ','
+        delimiter: '.'
+        precision: 2
+        significant: false
+        strip_insignificant_zeros: false
+
+    percentage:
+      format:
+        delimiter: '.'
+
+    precision:
+      format:
+        delimiter: '.'
+
+    human:
+      format:
+        delimiter: '.'
+        precision: 2
+        significant: true
+        strip_insignificant_zeros: true
+      storage_units:
+        format: "%n %u"
+        units:
+          byte:
+            one: "Byte"
+            other: "Bytes"
+          kb: "KB"
+          mb: "MB"
+          gb: "GB"
+          tb: "TB"
+      # number_to_human()
+      # new in rails 3: please add to other locales
+      decimal_units:
+        format: "%n %u"
+        units:
+          unit: ""     
+          thousand: "mil"
+          million:
+            one: milhão
+            other: milhões
+          billion:
+            one: bilhão
+            other: bilhões
+          trillion:
+            one: trilhão
+            other: trilhões
+          quadrillion:
+            one: quatrilhão
+            other: quatrilhões
+
+  # distancia do tempo em palavras
   datetime:
     distance_in_words:
       half_a_minute: 'meio minuto'
       less_than_x_seconds:
         one: 'menos de 1 segundo'
-        other: 'menos de {{count}} segundos'
-      
+        other: 'menos de %{count} segundos'
       x_seconds:
         one: '1 segundo'
-        other: '{{count}} segundos'
-      
+        other: '%{count} segundos'
       less_than_x_minutes:
         one: 'menos de um minuto'
-        other: 'menos de {{count}} minutos'
-      
+        other: 'menos de %{count} minutos'
       x_minutes:
         one: '1 minuto'
-        other: '{{count}} minutos'
-      
+        other: '%{count} minutos'
       about_x_hours:
         one: 'aproximadamente 1 hora'
-        other: 'aproximadamente {{count}} horas'
-      
+        other: 'aproximadamente %{count} horas'
       x_days:
         one: '1 dia'
-        other: '{{count}} dias'
-      
+        other: '%{count} dias'
       about_x_months:
         one: 'aproximadamente 1 mês'
-        other: 'aproximadamente {{count}} meses'
-      
+        other: 'aproximadamente %{count} meses'
       x_months:
         one: '1 mês'
-        other: '{{count}} meses'
-      
+        other: '%{count} meses'
       about_x_years:
         one: 'aproximadamente 1 ano'
-        other: 'aproximadamente {{count}} anos'
-      
+        other: 'aproximadamente %{count} anos'
       over_x_years:
         one: 'mais de 1 ano'
-        other: 'mais de {{count}} anos'
+        other: 'mais de %{count} anos'
+      almost_x_years:
+        one: 'quase 1 ano'
+        other: 'quase %{count} anos'
     prompts:
       year:   "Ano"
       month:  "Mês"
       day:    "Dia"
       hour:   "Hora"
       minute: "Minuto"
-      second: "Segundos"
+      second: "Segundo"
 
-  # numeros
-  number:
-    format:
-      precision: 3
-      separator: ','
-      delimiter: '.'
-    currency:
-      format:
-        unit: 'R$'
-        precision: 2
-        format: '%u %n'
-        separator: ','
-        delimiter: '.'
-    percentage:
-      format:
-        delimiter: '.'
-    precision:
-      format:
-        delimiter: '.'
-    human:
-      format:
-        precision: 1
-        delimiter: '.'
-      storage_units:
-        format: "%n %u"
-        units:
-          byte:
-            one: "Byte"
-            other: "Bytes"
-          kb: "KB"
-          mb: "MB"
-          gb: "GB"
-          tb: "TB"
+  helpers:
+    select:
+      prompt: "Por favor selecione"
+
+    submit:
+      create: 'Criar %{model}'
+      update: 'Atualizar %{model}'
+      submit: 'Salvar %{model}'
+
+  errors:
+    format: "%{attribute} %{message}"
+
+    template:
+      header:
+        one: "Não foi possível gravar %{model}: 1 erro"
+        other: "Não foi possível gravar %{model}: %{count} erros."
+      body: "Por favor, verifique o(s) seguinte(s) campo(s):"
+
+    messages: &errors_messages
+      inclusion: "não está incluído na lista"
+      exclusion: "não está disponível"
+      invalid: "não é válido"
+      confirmation: "não está de acordo com a confirmação"
+      accepted: "deve ser aceito"
+      empty: "não pode ficar vazio"
+      blank: "não pode ficar em branco"
+      too_long: "é muito longo (máximo: %{count} caracteres)"
+      too_short: "é muito curto (mínimo: %{count} caracteres)"
+      wrong_length: "não possui o tamanho esperado (%{count} caracteres)"
+      not_a_number: "não é um número"
+      not_an_integer: "não é um número inteiro"
+      greater_than: "deve ser maior que %{count}"
+      greater_than_or_equal_to: "deve ser maior ou igual a %{count}"
+      equal_to: "deve ser igual a %{count}"
+      less_than: "deve ser menor que %{count}"
+      less_than_or_equal_to: "deve ser menor ou igual a %{count}"
+      odd: "deve ser ímpar"
+      even: "deve ser par"
 
-# Used in array.to_sentence.
-  support:
-    array:
-      words_connector: ", "
-      two_words_connector: " e "
-      last_word_connector: " e "
-    
-  # Active Record
   activerecord:
     errors:
       template:
         header:
-          one: "Não foi possível gravar {{model}}: 1 erro"
-          other: "Não foi possível gravar {{model}}: {{count}} erros."
+          one: "Não foi possível gravar %{model}: 1 erro"
+          other: "Não foi possível gravar %{model}: %{count} erros."
         body: "Por favor, verifique o(s) seguinte(s) campo(s):"
+
       messages:
-        inclusion: "não está incluído na lista"
-        exclusion: "não está disponível"
-        invalid: "não é válido"
-        confirmation: "não está de acordo com a confirmação"
-        accepted: "deve ser aceito"
-        empty: "não pode ficar vazio"
-        blank: "não pode ficar em branco"
-        too_long: "é muito longo (máximo: {{count}} caracteres)"
-        too_short: "é muito curto (mínimo: {{count}} caracteres)"
-        wrong_length: "não possui o tamanho esperado ({{count}} caracteres)"
         taken: "já está em uso"
-        not_a_number: "não é um número"
-        greater_than: "deve ser maior do que {{count}}"
-        greater_than_or_equal_to: "deve ser maior ou igual a {{count}}"
-        equal_to: "deve ser igual a {{count}}"
-        less_than: "deve ser menor do que {{count}}"
-        less_than_or_equal_to: "deve ser menor ou igual a {{count}}"
-        odd: "deve ser ímpar"
-        even: "deve ser par"
+        record_invalid: "A validação falhou: %{errors}"
+        <<: *errors_messages
+
+      full_messages:
+        format: "%{attribute} %{message}"
old mode 100755 (executable)
new mode 100644 (file)
index f7a6079..a5e4953
-# Portuguese localization for Ruby on Rails
-# by Ricardo Otero <oterosantos@gmail.com>
+# European Portuguese translations for Ruby on Rails
 #
-# This localization file targets Rails 2.3.2.
-# If you need a previous version go to http://github.com/weppos/rails-i18n/
-# and choose between available tags.
-pt-PT:
-  support:
-    array:
-      words_connector: ","
-      two_words_connector: "e"
-      last_word_connector: ", e"
-    
+#
+
+"pt-PT":
   date:
-    formats:
+    formats:      
       default: "%d/%m/%Y"
       short: "%d de %B"
       long: "%d de %B de %Y"
+
     day_names: [Domingo, Segunda, Terça, Quarta, Quinta, Sexta, Sábado]
     abbr_day_names: [Dom, Seg, Ter, Qua, Qui, Sex, Sáb]
+    
     month_names: [~, Janeiro, Fevereiro, Março, Abril, Maio, Junho, Julho, Agosto, Setembro, Outubro, Novembro, Dezembro]
     abbr_month_names: [~, Jan, Fev, Mar, Abr, Mai, Jun, Jul, Ago, Set, Out, Nov, Dez]
-    order: [:day, :month, :year]
-    
+    order:
+      - :day
+      - :month
+      - :year
+
   time:
-    formats:        
+    formats:
       default: "%A, %d de %B de %Y, %H:%Mh"
       short: "%d/%m, %H:%M hs"
       long: "%A, %d de %B de %Y, %H:%Mh"
-    am: ''
-    pm: ''
-  datetime:
-    distance_in_words:
-      half_a_minute: "meio minuto"
-      less_than_x_seconds:
-        one: "menos de 1 segundo"
-        other: "menos de {{count}} segundos"
-      x_seconds:
-        one: "1 segundo"
-        other: "{{count}} segundos"
-      less_than_x_minutes: 
-        one: "menos de um minuto"
-        other: "menos de {{count}} minutos"
-      x_minutes:
-        one: "1 minuto"
-        other: "{{count}} minutos"
-      about_x_hours:
-        one: "aproximadamente 1 hora"
-        other: "aproximadamente {{count}} horas"
-      x_days:
-        one: "1 dia"
-        other: "{{count}} dias"
-      about_x_months:
-        one: "aproximadamente 1 mês"
-        other: "aproximadamente {{count}} meses"
-      x_months:
-        one: "1 mês"
-        other: "{{count}} meses"
-      about_x_years:
-        one: "aproximadamente 1 ano"
-        other: "aproximadamente {{count}} anos"
-      over_x_years:
-        one: "mais de 1 ano"
-        other: "mais de {{count}} anos"
-    prompts:
-      year: "Ano"
-      month: "Mês"
-      day: "Dia"
-      hour: "Hora"
-      minute: "Minuto"
-      second: "Segundo"
-        
+    am: "am"
+    pm: "pm"
+
+  support:
+    array:
+      words_connector: ", "
+      two_words_connector: " e "
+      last_word_connector: ", e"  
+    
+    select:    
+      prompt: "Por favor seleccione"
+      
   number:
     format:
+      separator: ","
+      delimiter: "."
       precision: 3
-      separator: ','
-      delimiter: '.'
+      significant: false
+      strip_insignificant_zeros: false
+
     currency:
       format:
-        unit: '€'
-        precision: 2
         format: "%u%n"
-        separator: ','
-        delimiter: '.'
+        unit: "€"
+        separator: ","
+        delimiter: "."
+        precision: 2
+        significant: false
+        strip_insignificant_zeros: false
+
     percentage:
       format:
-        delimiter: ''
+        delimiter: ""
+
     precision:
       format:
-        delimiter: ''
+        delimiter: ""
+
     human:
       format:
+        delimiter: ""
         precision: 1
-        delimiter: ''
+        significant: true
+        strip_insignificant_zeros: true
       storage_units:
-        format:
+        format: "%n %u"
         units:
           byte:
-            one: "Byte"
+            one:   "Byte"
             other: "Bytes"
           kb: "KB"
           mb: "MB"
           gb: "GB"
-          tb: "TB"
+          tb: "TB"      
+      decimal_units:
+        format: "%n %u"
+        units:
+          unit: ""
+          thousand: mil
+          million:
+            one: milhão
+            other: milhões
+          billion:
+            one: mil milhões
+            other: mil milhões
+          trillion:
+            one: bilião
+            other: biliões
+          quadrillion:
+            one: mil biliões
+            other:  mil biliões
+      
+  datetime:
+    distance_in_words:
+      half_a_minute: "meio minuto"
+      less_than_x_seconds:
+        one:   "menos de 1 segundo"
+        other: "menos de %{count} segundos"
+      x_seconds:
+        one:   "1 segundo"
+        other: "%{count} segundos"
+      less_than_x_minutes:
+        one:   "menos de um minuto"
+        other: "menos de %{count} minutos"
+      x_minutes:
+        one:   "1 minuto"
+        other: "%{count} minutos"
+      about_x_hours:
+        one:   "aproximadamente 1 hora"
+        other: "aproximadamente %{count} horas"
+      x_days:
+        one:   "1 dia"
+        other: "%{count} dias"
+      about_x_months:
+        one:   "aproximadamente 1 mês"
+        other: "aproximadamente %{count} meses"
+      x_months:
+        one:   "1 mês"
+        other: "%{count} meses"
+      about_x_years:
+        one:   "aproximadamente 1 ano"
+        other: "aproximadamente %{count} anos"
+      over_x_years:
+        one:   "mais de 1 ano"
+        other: "mais de %{count} anos"
+      almost_x_years:
+        one:   "quase 1 ano"
+        other: "quase %{count} years"
+    prompts:
+      year:   "Ano"
+      month:  "Mês"
+      day:    "Dia"
+      hour:   "Hora"
+      minute: "Minuto"
+      second: "Segundo"
+
+  helpers:
+    select:
+      prompt: "Por favor seleccione"
+
+    submit:
+      create: 'Criar %{model}'
+      update: 'Actualizar %{model}'
+      submit: 'Salvar %{model}'
+
+  errors:
+    format: "%{attribute} %{message}"
+
+    messages: &errors_messages
+      inclusion: "não está incluído na lista"
+      exclusion: "é reservado"
+      invalid: "é inválido"
+      confirmation: "não coincide com a confirmação"
+      accepted: "tem de ser aceite"
+      empty: "não pode estar vazio"
+      blank: "não pode estar em branco"
+      too_long: "é demasiado grande (o máximo é de %{count} caracteres)"
+      too_short: "é demasiado pequeno (o mínimo é de %{count} caracteres)"
+      wrong_length: "comprimento errado (deve ter %{count} caracteres)"
+      not_a_number: "não é um número"
+      not_an_integer: "tem de ser um inteiro"
+      greater_than: "tem de ser maior que %{count}"
+      greater_than_or_equal_to: "tem de ser maior ou igual a %{count}"
+      equal_to: "tem de ser igual a %{count}"
+      less_than: "tem de ser menor que %{count}"
+      less_than_or_equal_to: "tem de ser menor ou igual a %{count}"
+      odd: "tem de ser ímpar"
+      even: "tem de ser par"
 
   activerecord:
     errors:
       template:
         header:
-          one: "Não foi possível guardar {{model}}: 1 erro"
-          other: "Não foi possível guardar {{model}}: {{count}} erros"
+          one:    "Não foi possível guardar %{model}: 1 erro"
+          other:  "Não foi possível guardar %{model}: %{count} erros"
         body: "Por favor, verifique os seguintes campos:"
+
       messages:
-        inclusion: "não está incluído na lista"
-        exclusion: "não está disponível"
-        invalid: "não é válido"
-        confirmation: "não está de acordo com a confirmação"
-        accepted:  "precisa de ser aceite"
-        empty: "não pode estar em branco"
-        blank: "não pode estar em branco"
-        too_long: "tem demasiados caracteres (máximo: {{count}} caracteres)"
-        too_short: "tem poucos caracteres (mínimo: {{count}} caracteres)"
-        wrong_length: "não é do tamanho correcto (necessita de ter {{count}} caracteres)"
         taken: "não está disponível"
-        not_a_number: "não é um número"
-        greater_than: "tem de ser maior do que {{count}}"
-        greater_than_or_equal_to: "tem de ser maior ou igual a {{count}}"
-        equal_to: "tem de ser igual a {{count}}"
-        less_than: "tem de ser menor do que {{count}}"
-        less_than_or_equal_to: "tem de ser menor ou igual a {{count}}"
-        odd: "tem de ser ímpar"
-        even: "tem de ser par"
\ No newline at end of file
+        record_invalid: "A validação falhou: %{errors}"
+        <<: *errors_messages
+
+      full_messages:
+        format: "%{attribute} %{message}"
diff --git a/sonar-server/src/main/webapp/WEB-INF/config/locales/defaults/rm.yml b/sonar-server/src/main/webapp/WEB-INF/config/locales/defaults/rm.yml
new file mode 100644 (file)
index 0000000..7b81ecf
--- /dev/null
@@ -0,0 +1,137 @@
+# Romansh translations for Ruby on Rails 
+# by Flurina Andriuet and Sebastian de Castelberg (rails-i18n@kpricorn.org)
+
+rm:
+  date:
+    formats:
+      default: "%d.%m.%Y"
+      short: "%e. %b"
+      long: "%e. %B %Y"
+
+    day_names: [dumengia, glindesdi, mardi, mesemna, gievgia, venderdi, sonda]
+    abbr_day_names: [du, gli, ma, me, gie, ve, so]
+    month_names: [~, schaner, favrer, mars, avrigl, matg, zercladur, fanadur, avust, settember, october, november, december]
+    abbr_month_names: [~, schan, favr, mars, avr, matg, zercl, fan, avust, sett, oct, nov, dec]
+    order:
+      - :day
+      - :month
+      - :year
+  
+  time:
+    formats:
+      default: "%A, %d. %B %Y, %H:%M Uhr"
+      short: "%d. %B, %H:%M Uhr"
+      long: "%A, %d. %B %Y, %H:%M Uhr"
+    am: "avantmezdi"
+    pm: "suentermezdi"
+      
+  datetime:
+    distance_in_words:
+      half_a_minute: "ina mesa minuta"
+      less_than_x_seconds:
+        one: "main ch’ina secunda"
+        other: "main che %{count} secundas"
+      x_seconds:
+        one: "ina secunda"
+        other: "%{count} secundas"
+      less_than_x_minutes:
+        one: "main ch’ina minuta"
+        other: "main che %{count} minutas"
+      x_minutes:
+        one: "1 minuta"
+        other: "%{count} minutas"
+      about_x_hours:
+        one: "circa in'ura"
+        other: "circa %{count} uras"
+      x_days:
+        one: "in di"
+        other: "%{count} dis"
+      about_x_months:
+        one: "circa in mais"
+        other: "circa %{count} mais"
+      x_months:
+        one: "in mais"
+        other: "%{count} mais"
+      about_x_years:
+        one: "circa in onn"
+        other: "circa %{count} onns"
+      over_x_years:
+        one: "dapli ch'in onn"
+        other: "dapli che %{count} onns"
+    prompts:
+      second: "secundas"
+      minute: "minutas"
+      hour: "uras"
+      day: "dis"
+      month: "mais"
+      year: "onns"
+
+  number:
+    format:
+      precision: 2
+      separator: "."
+      delimiter: "'"
+    currency:
+      format:
+        precision: 2
+        separator: "."
+        delimiter: "'"
+        unit: "CHF"
+        format: "%n %u"
+    percentage:
+      format:
+        delimiter: ""
+    precision:
+      format:
+        delimiter: ""
+    human:
+      format:
+        delimiter: ""
+        precision: 1
+      storage_units:
+        # Storage units output formatting.
+        # %u is the storage unit, %n is the number (default: 2 MB)
+        format: "%n %u"
+        units:
+          byte:
+            one:   "byte"
+            other: "bytes"
+          kb: "KB"
+          mb: "MB"
+          gb: "GB"
+          tb: "TB"
+
+  support:
+    array:
+      words_connector: ", "
+      two_words_connector: " e "
+      last_word_connector: " e "
+
+  activerecord:
+    errors:
+      template:
+        header:
+          one:    "Betg pussaivel da memorisar quest %{model}: 1 errur."
+          other:  "Betg pussaivel da memorisar quest %{model}: %{count} errurs."
+        body: "Faschai uschè bain e controllai ils suandants champs:"
+
+      messages:
+        inclusion: "n'è betg sin la glista"
+        exclusion: "na stat betg a disposiziun"
+        invalid: "n'è betg valid"
+        confirmation: "na correspunda betg al champ da conferma"
+        accepted: "sto vegnir acceptà"
+        empty: "sto vegnir emplenì ora"
+        blank: "sto vegnir emplenì ora"
+        too_long: "è memia lung (betg dapli che %{count} caracters)"
+        too_short: "è memia curt (betg pli pauc che %{count} caracters)"
+        wrong_length: "ha la fallida lunghezza (sto avair %{count} caracters)"
+        taken: "è gia occupà"
+        not_a_number: "è betg in dumber"
+        greater_than: "sto esser pli grond che %{count}"
+        greater_than_or_equal_to: "sto esser pli grond u medem sco %{count}"
+        equal_to: "sto esser exact %{count}"
+        less_than: "sto esser pli pitschen che %{count}"
+        less_than_or_equal_to: "sto esser pli pitschen u medem sco %{count}"
+        odd: "sto esser spèr"
+        even: "sto esser pèr"
old mode 100755 (executable)
new mode 100644 (file)
index 5053cb3..ce9e334
@@ -14,7 +14,10 @@ ro:
     abbr_day_names: [Dum, Lun, Mar, Mie, Joi, Vin, Sâm]
     month_names: [~, Ianuarie, Februarie, Martie, Aprilie, Mai, Iunie, Iulie, August, Septembrie, Octombrie, Noiembrie, Decembrie]
     abbr_month_names: [~, Ian, Feb, Mar, Apr, Mai, Iun, Iul, Aug, Sep, Oct, Noi, Dec]
-    order: [ :day, :month, :year ]
+    order:
+      - :day
+      - :month
+      - :year
   
   time:
     formats:
@@ -36,34 +39,37 @@ ro:
       half_a_minute: "jumătate de minut"
       less_than_x_seconds:
         one:  "mai puțin de o secundă"
-        other: "mai puțin de {{count}} secunde"
+        other: "mai puțin de %{count} secunde"
       x_seconds:
         one:  "1 secundă"
-        other: "{{count}} secunde"
+        other: "%{count} secunde"
       less_than_x_minutes:
         one:  "mai puțin de un minut"
-        other: "mai puțin de {{count}} minute"
+        other: "mai puțin de %{count} minute"
       x_minutes:
         one:  "1 minut"
-        other: "{{count}} minute"
+        other: "%{count} minute"
       about_x_hours:
         one:  "aproximativ o oră"
-        other: "aproximativ {{count}} ore"
+        other: "aproximativ %{count} ore"
       x_days:
         one:  "1 zi"
-        other: "{{count}} zile"
+        other: "%{count} zile"
       about_x_months:
         one:  "aproximativ o lună"
-        other: "aproximativ {{count}} luni"
+        other: "aproximativ %{count} luni"
       x_months:
         one:  "1 lună"
-        other: "{{count}} luni"
+        other: "%{count} luni"
       about_x_years:
         one:  "aproximativ un an"
-        other: "aproximativ {{count}} ani"
+        other: "aproximativ %{count} ani"
       over_x_years:
         one:  "mai mult de un an"
-        other: "mai mult de {{count}} ani"
+        other: "mai mult de %{count} ani"
+      almost_x_years:
+        one:   "aproape 1 an"
+        other: "aproape %{count} ani"
     prompts:
       year:   "Anul"
       month:  "Luna"
@@ -99,14 +105,23 @@ ro:
 #        separator: "."
         delimiter: ","
         precision: 1
-      storage_units: [Bytes, KB, MB, GB, TB]
-        
+      storage_units:
+        format: "%n %u"
+        units:
+          byte:
+            one:   "Byte"
+            other: "Bytes"
+          kb: "KB"
+          mb: "MB"
+          gb: "GB"
+          tb: "TB"
+       
   activerecord:
     errors:
       template:
         header: 
-          one: "Nu am putut salva acest model {{model}}: 1 eroare"
-          other: "Nu am putut salva acest {{model}}: {{count}} erori."
+          one: "Nu am putut salva acest %{model}: o eroare"
+          other: "Nu am putut salva acest %{model}: %{count} erori."
         body: "Încearcă să corectezi urmatoarele câmpuri:"
       messages:
         inclusion: "nu este inclus în listă"
@@ -116,21 +131,25 @@ ro:
         accepted: "trebuie dat acceptul"
         empty: "nu poate fi gol"
         blank: "nu poate fi gol"
-        too_long: "este prea lung (se pot folosi maximum {{count}} caractere)"
-        too_short: "este pre scurt (minumim de caractere este {{count}})"
-        wrong_length: "nu are lungimea corectă (trebuie să aiba {{count}} caractere)"
+        too_long: "este prea lung (se pot folosi maximum %{count} caractere)"
+        too_short: "este pre scurt (minumim de caractere este %{count})"
+        wrong_length: "nu are lungimea corectă (trebuie să aiba %{count} caractere)"
         taken: "este deja folosit"
         not_a_number: "nu este un număr"
-        greater_than: "trebuie să fie mai mare decât {{count}}"
-        greater_than_or_equal_to: "trebuie să fie mai mare sau egal cu {{count}}"
-        equal_to: "trebuie să fie egal cu {{count}}"
-        less_than: "trebuie să fie mai mic decât {{count}}"
-        less_than_or_equal_to: "trebuie să fie mai mic sau egal cu {{count}}"
+        greater_than: "trebuie să fie mai mare decât %{count}"
+        greater_than_or_equal_to: "trebuie să fie mai mare sau egal cu %{count}"
+        equal_to: "trebuie să fie egal cu %{count}"
+        less_than: "trebuie să fie mai mic decât %{count}"
+        less_than_or_equal_to: "trebuie să fie mai mic sau egal cu %{count}"
         odd: "trebuie să fie par"
         even: "trebuie să fie impar"
+        record_invalid: "Validare nereuşită %{errors}"
   support:
-      array:
+    array:
 #        sentence_connector: "și"
-        words_connector: ", "
-        two_words_connector: " şi "
-        last_word_connector: " şi "
+      words_connector: ", "
+      two_words_connector: " şi "
+      last_word_connector: " şi "
+    select:
+      # default value for :prompt => true in FormOptionsHelper
+      prompt: "Alegeţi"
old mode 100755 (executable)
new mode 100644 (file)
index 0b7d1f1..b4311d9
@@ -27,7 +27,10 @@ ru:
     abbr_month_names: [~, янв., февр., марта, апр., мая, июня, июля, авг., сент., окт., нояб., дек.]
     standalone_abbr_month_names: [~, янв., февр., март, апр., май, июнь, июль, авг., сент., окт., нояб., дек.]
 
-    order: [ :day, :month, :year ]
+    order:
+      - :day
+      - :month
+      - :year
 
   time:
     formats:
@@ -43,6 +46,8 @@ ru:
       separator: "."
       delimiter: " "
       precision: 3
+      significant: false
+      strip_insignificant_zeros: false
       
     currency:
       format:
@@ -51,6 +56,8 @@ ru:
         separator: "."
         delimiter: " "
         precision: 2
+        significant: false
+        strip_insignificant_zeros: false
         
     percentage:
       format:
@@ -64,6 +71,9 @@ ru:
       format:
         delimiter: ""
         precision: 1
+        significant: false
+        strip_insignificant_zeros: false
+        
       # Rails 2.2
       # storage_units: [байт, КБ, МБ, ГБ, ТБ]
 
@@ -82,60 +92,95 @@ ru:
           mb: "МБ"
           gb: "ГБ"
           tb: "ТБ"
+      
+      # Rails 3
+      decimal_units:
+        format: "%n %u"
+        units:
+          unit: ""
+          thousand:
+            one: "Тысяча"
+            few: "Тысяч"
+            many: "Тысяч"
+            other: "Тысяч"              
+          million: 
+            one: "Миллион"
+            few: "Миллионов"
+            many: "Миллионов"
+            other: "Миллионов"
+          billion:
+            one: "Миллиард"
+            few: "Миллиардов"
+            many: "Миллиардов"
+            other: "Миллиардов"
+          trillion:
+            one: "Триллион"
+            few: "Триллионов"
+            many: "Триллионов"
+            other: "Триллионов"
+          quadrillion:
+            one: "Квадриллион"
+            few: "Квадриллионов"
+            many: "Квадриллионов"
+            other: "Квадриллионов"
 
   datetime:
     distance_in_words:
       half_a_minute: "меньше минуты"
       less_than_x_seconds:
-        one:   "меньше {{count}} секунды"
-        few:   "меньше {{count}} секунд"
-        many:  "меньше {{count}} секунд"
-        other: "меньше {{count}} секунды"
+        one:   "меньше %{count} секунды"
+        few:   "меньше %{count} секунд"
+        many:  "меньше %{count} секунд"
+        other: "меньше %{count} секунды"
       x_seconds:
-        one:   "{{count}} секунда"
-        few:   "{{count}} секунды"
-        many:  "{{count}} секунд"
-        other: "{{count}} секунды"
+        one:   "%{count} секунда"
+        few:   "%{count} секунды"
+        many:  "%{count} секунд"
+        other: "%{count} секунды"
       less_than_x_minutes:
-        one:   "меньше {{count}} минуты"
-        few:   "меньше {{count}} минут"
-        many:  "меньше {{count}} минут"
-        other: "меньше {{count}} минуты"
+        one:   "меньше %{count} минуты"
+        few:   "меньше %{count} минут"
+        many:  "меньше %{count} минут"
+        other: "меньше %{count} минуты"
       x_minutes:
-        one:   "{{count}} минуту"
-        few:   "{{count}} минуты"
-        many:  "{{count}} минут"
-        other: "{{count}} минуты"
+        one:   "%{count} минуту"
+        few:   "%{count} минуты"
+        many:  "%{count} минут"
+        other: "%{count} минуты"
       about_x_hours:
-        one:   "около {{count}} часа"
-        few:   "около {{count}} часов"
-        many:  "около {{count}} часов"
-        other: "около {{count}} часа"
+        one:   "около %{count} часа"
+        few:   "около %{count} часов"
+        many:  "около %{count} часов"
+        other: "около %{count} часа"
       x_days:
-        one:   "{{count}} день"
-        few:   "{{count}} дня"
-        many:  "{{count}} дней"
-        other: "{{count}} дня"
+        one:   "%{count} день"
+        few:   "%{count} дня"
+        many:  "%{count} дней"
+        other: "%{count} дня"
       about_x_months:
-        one:   "около {{count}} месяца"
-        few:   "около {{count}} месяцев"
-        many:  "около {{count}} месяцев"
-        other: "около {{count}} месяца"
+        one:   "около %{count} месяца"
+        few:   "около %{count} месяцев"
+        many:  "около %{count} месяцев"
+        other: "около %{count} месяца"
       x_months:
-        one:   "{{count}} месяц"
-        few:   "{{count}} месяца"
-        many:  "{{count}} месяцев"
-        other: "{{count}} месяца"
+        one:   "%{count} месяц"
+        few:   "%{count} месяца"
+        many:  "%{count} месяцев"
+        other: "%{count} месяца"
       about_x_years:
-        one:   "около {{count}} года"
-        few:   "около {{count}} лет"
-        many:  "около {{count}} лет"
-        other: "около {{count}} лет"
+        one:   "около %{count} года"
+        few:   "около %{count} лет"
+        many:  "около %{count} лет"
+        other: "около %{count} лет"
       over_x_years:
-        one:   "больше {{count}} года"
-        few:   "больше {{count}} лет"
-        many:  "больше {{count}} лет"
-        other: "больше {{count}} лет"
+        one:   "больше %{count} года"
+        few:   "больше %{count} лет"
+        many:  "больше %{count} лет"
+        other: "больше %{count} лет"
+      almost_x_years:
+        one:   "почти 1 год"
+        other: "почти %{count} лет"
+
     prompts:
       year: "Год"
       month: "Месяц"
@@ -144,14 +189,64 @@ ru:
       minute: "Минут"
       second: "Секунд"
 
+  helpers:
+    select:
+      # Default value for :prompt => true in FormOptionsHelper
+      prompt: "Выберите: "
+
+    # Default translation keys for submit FormHelper
+    submit:
+      create: 'Создать %{model}'
+      update: 'Сохранить %{model}'
+      submit: 'Сохранить %{model}'
+
+  # In rails 3 errors is top-level namespace
+  errors:
+    format: "%{attribute} %{message}"
+
+    messages:
+      inclusion: "имеет непредусмотренное значение"
+      exclusion: "имеет зарезервированное значение"
+      invalid: "имеет неверное значение"
+      confirmation: "не совпадает с подтверждением"
+      accepted: "нужно подтвердить"
+      empty: "не может быть пустым"
+      blank: "не может быть пустым"
+      too_long:
+        one:   "слишком большой длины (не может быть больше чем %{count} символ)"
+        few:   "слишком большой длины (не может быть больше чем %{count} символа)"
+        many:  "слишком большой длины (не может быть больше чем %{count} символов)"
+        other: "слишком большой длины (не может быть больше чем %{count} символа)"
+      too_short:
+        one:   "недостаточной длины (не может быть меньше %{count} символа)"
+        few:   "недостаточной длины (не может быть меньше %{count} символов)"
+        many:  "недостаточной длины (не может быть меньше %{count} символов)"
+        other: "недостаточной длины (не может быть меньше %{count} символа)"
+      wrong_length:
+        one:   "неверной длины (может быть длиной ровно %{count} символ)"
+        few:   "неверной длины (может быть длиной ровно %{count} символа)"
+        many:  "неверной длины (может быть длиной ровно %{count} символов)"
+        other: "неверной длины (может быть длиной ровно %{count} символа)"
+      taken: "уже существует"
+      not_a_number: "не является числом"
+      not_an_integer: "не является целым числом"
+      greater_than: "может иметь значение большее %{count}"
+      greater_than_or_equal_to: "может иметь значение большее или равное %{count}"
+      equal_to: "может иметь лишь значение, равное %{count}"
+      less_than: "может иметь значение меньшее чем %{count}"
+      less_than_or_equal_to: "может иметь значение меньшее или равное %{count}"
+      odd: "может иметь лишь четное значение"
+      even: "может иметь лишь нечетное значение"
+      record_invalid: "Возникли ошибки: %{errors}"
+
   activerecord:
     errors:
       template:
         header:
-          one:   "{{model}}: сохранение не удалось из-за {{count}} ошибки"
-          few:   "{{model}}: сохранение не удалось из-за {{count}} ошибок"
-          many:  "{{model}}: сохранение не удалось из-за {{count}} ошибок"
-          other: "{{model}}: сохранение не удалось из-за {{count}} ошибки"
+          one:   "%{model}: сохранение не удалось из-за %{count} ошибки"
+          few:   "%{model}: сохранение не удалось из-за %{count} ошибок"
+          many:  "%{model}: сохранение не удалось из-за %{count} ошибок"
+          other: "%{model}: сохранение не удалось из-за %{count} ошибки"
 
         body: "Проблемы возникли со следующими полями:"
 
@@ -164,31 +259,39 @@ ru:
         empty: "не может быть пустым"
         blank: "не может быть пустым"
         too_long:
-          one:   "слишком большой длины (не может быть больше чем {{count}} символ)"
-          few:   "слишком большой длины (не может быть больше чем {{count}} символа)"
-          many:  "слишком большой длины (не может быть больше чем {{count}} символов)"
-          other: "слишком большой длины (не может быть больше чем {{count}} символа)"
+          one:   "слишком большой длины (не может быть больше чем %{count} символ)"
+          few:   "слишком большой длины (не может быть больше чем %{count} символа)"
+          many:  "слишком большой длины (не может быть больше чем %{count} символов)"
+          other: "слишком большой длины (не может быть больше чем %{count} символа)"
         too_short:
-          one:   "недостаточной длины (не может быть меньше {{count}} символа)"
-          few:   "недостаточной длины (не может быть меньше {{count}} символов)"
-          many:  "недостаточной длины (не может быть меньше {{count}} символов)"
-          other: "недостаточной длины (не может быть меньше {{count}} символа)"
+          one:   "недостаточной длины (не может быть меньше %{count} символа)"
+          few:   "недостаточной длины (не может быть меньше %{count} символов)"
+          many:  "недостаточной длины (не может быть меньше %{count} символов)"
+          other: "недостаточной длины (не может быть меньше %{count} символа)"
         wrong_length:
-          one:   "неверной длины (может быть длиной ровно {{count}} символ)"
-          few:   "неверной длины (может быть длиной ровно {{count}} символа)"
-          many:  "неверной длины (может быть длиной ровно {{count}} символов)"
-          other: "неверной длины (может быть длиной ровно {{count}} символа)"
+          one:   "неверной длины (может быть длиной ровно %{count} символ)"
+          few:   "неверной длины (может быть длиной ровно %{count} символа)"
+          many:  "неверной длины (может быть длиной ровно %{count} символов)"
+          other: "неверной длины (может быть длиной ровно %{count} символа)"
         taken: "уже существует"
         not_a_number: "не является числом"
-        greater_than: "может иметь значение большее {{count}}"
-        greater_than_or_equal_to: "может иметь значение большее или равное {{count}}"
-        equal_to: "может иметь лишь значение, равное {{count}}"
-        less_than: "может иметь значение меньшее чем {{count}}"
-        less_than_or_equal_to: "может иметь значение меньшее или равное {{count}}"
+        greater_than: "может иметь значение большее %{count}"
+        greater_than_or_equal_to: "может иметь значение большее или равное %{count}"
+        equal_to: "может иметь лишь значение, равное %{count}"
+        less_than: "может иметь значение меньшее чем %{count}"
+        less_than_or_equal_to: "может иметь значение меньшее или равное %{count}"
         odd: "может иметь лишь четное значение"
         even: "может иметь лишь нечетное значение"
+        record_invalid: "Возникли ошибки: %{errors}"
+        
+      full_messages:
+        format: "%{attribute} %{message}"
+        
 
   support:
+    select:
+      prompt: "Выберите: "
+
     array:
       # Rails 2.2
       sentence_connector: "и"
old mode 100755 (executable)
new mode 100644 (file)
index af659f5..98f40bb
@@ -1,55 +1,76 @@
-# Sample localization file for English. Add more files in this directory for other locales.
-# See http://github.com/svenfuchs/rails-i18n/tree/master/rails%2Flocale for starting points.
-
 # Slovak translations for Ruby on Rails (inspired by the Czech localization - thanx to Karel Minařík)
 # by Jozef Fulop (jofi-rails@silake.com)
  
-sk:
-    # ActiveSupport
-    support:
-        array:
-            words_connector: ', '
-            two_words_connector: ' a '
-            last_word_connector: ' a '
-                
+"sk":
     # Date
     date:
         formats:
-            default: "%d. %m. %Y"
+            default: "%d.%m.%Y"
             short: "%d %b"
             long: "%d. %B %Y"
+
         day_names: [Nedeľa, Pondelok, Utorok, Streda, Štvrtok, Piatok, Sobota]
         abbr_day_names: [Ne, Po, Ut, St, Št, Pi, So]
+
         month_names: [~, Január, Február, Marec, Apríl, Máj, Jún, Júl, August, September, Október, November, December]
         abbr_month_names: [~, Jan, Feb, Mar, Apr, Máj, Jún, Júl, Aug, Sep, Okt, Nov, Dec]
-        order: [:day, :month, :year]
+        order:
+          - :day
+          - :month
+          - :year
 
     # Time
     time:
         formats:
             default: "%a %d. %B %Y %H:%M %z"
-            short: "%d. %m. %H:%M"
+            short: "%d.%m. %H:%M"
             long: "%A %d. %B %Y %H:%M"
-        am: 'dopoludnia'
-        pm: 'popoludní'
+        am: "dopoludnia"
+        pm: "popoludní"
 
+    # ActiveSupport
+    support:
+        array:
+            words_connector: ", "
+            two_words_connector: " a "
+            last_word_connector: " a "
+        select:
+            prompt: "Prosím vyberte si." 
+                
     # Numbers
     number:
         format:
             precision: 3
-            separator: '.'
-            delimiter: ','
+            separator: "."
+            delimiter: ","
+            significant: false
+            strip_insignificant_zeros: false
+
         currency:
             format:
-                unit: '€'
+                unit: "€"
                 precision: 2
-                format: '%n %u'
+                format: "%n %u"
                 separator: ","
                 delimiter: " "
+                significant: false
+                strip_insignificant_zeros: false
+
+        percentage:
+            format:
+                delimiter: ""
+
+        precision:
+            format:
+                delimiter: ""
+
         human:
             format:
                 precision: 1
-                delimiter: ''
+                delimiter: ""
+                significant: false
+                strip_insignificant_zeros: false
+
             storage_units:
                 format: "%n %u"
                 units:
@@ -60,13 +81,16 @@ sk:
                     mb: "MB"
                     gb: "GB"
                     tb: "TB"
-        percentage:
-            format:
-                delimiter: ''
-        precision:
-            format:
-                delimiter: ''
-    
+            decimal_units:
+                format: "%n %u"
+                units:
+                   unit: ""
+                   thousand: Tisíc
+                   million: Milión
+                   billion: Miliarda
+                   trillion: Trilión
+                   quadrillion: Quadrilión
+
     # Distance of time ... helper
     datetime:
         prompts:
@@ -80,60 +104,92 @@ sk:
             half_a_minute: 'pol minutou'
             less_than_x_seconds:
                 one: 'asi pred sekundou'
-                other: 'asi pred {{count}} sekundami'
+                other: 'asi pred %{count} sekundami'
             x_seconds:
                 one: 'sekundou'
-                other: '{{count}} sekundami'
+                other: '%{count} sekundami'
             less_than_x_minutes:
                 one: 'pred necelou minútou'
-                other: 'pred ani nie {{count}} minútami'
+                other: 'pred ani nie %{count} minútami'
             x_minutes:
                 one: 'minútou'
-                other: '{{count}} minútami'
+                other: '%{count} minútami'
             about_x_hours:
                 one: 'asi hodinou'
-                other: 'asi {{count}} hodinami'
+                other: 'asi %{count} hodinami'
             x_days:
                 one: '24 hodinami'
-                other: '{{count}} dňami'
+                other: '%{count} dňami'
             about_x_months:
                 one: 'asi mesiacom'
-                other: 'asi {{count}} mesiacmi'
+                other: 'asi %{count} mesiacmi'
             x_months:
                 one: 'mesiacom'
-                other: '{{count}} mesiacmi'
+                other: '%{count} mesiacmi'
             about_x_years:
                 one: 'asi rokom'
-                other: 'asi {{count}} rokmi'
+                other: 'asi %{count} rokmi'
             over_x_years:
                 one: 'pred viac ako rokom'
-                other: 'viac ako {{count}} rokmi'
+                other: 'viac ako %{count} rokmi'
+            almost_x_years:
+                one:   "takmer rokom"
+                other: "takmer %{count} rokmi"
+
+    helpers:
+       select:
+          prompt: "Prosím vyberte si"
+
+       submit:
+          create: 'Vytvoriť %{model}'
+          update: 'Aktualizovať %{model}'
+          submit: 'Uložiť %{model}'
+
+    errors:
+       format: "%{attribute} %{message}"
+       messages: &errors_messages
+            inclusion: "nie je v zozname povolených hodnôt"
+            exclusion: "je vyhradené pre iný účel"
+            invalid: "nie je platná hodnota"
+            confirmation: "nebolo potvrdené"
+            accepted: "musí byť potvrdené"
+            empty: "nesmie byť prázdný/é"
+            blank: "je povinná položka"
+            too_long: "je príliš dlhá/ý (max. %{count} znakov)"
+            too_short: "je príliš krátký/á (min. %{count} znakov)"
+            wrong_length: "nemá správnu dĺžku (očakáva sa %{count} znakov)"
+            taken: "sa už nachádza v databáze"
+            not_a_number: "nie je číslo"
+            not_an_integer: "nie je celé číslo"
+            greater_than: "musí byť väčšíe ako %{count}"
+            greater_than_or_equal_to: "musí byť väčšie alebo rovnaké ako %{count}"
+            equal_to: "sa musí rovnať %{count}"
+            less_than: "musí byť menšie ako %{count}"
+            less_than_or_equal_to: "musí byť menšie ako %{count}"
+            odd: "musí byť nepárne číslo"
+            even: "musí byť párne číslo"
 
     # ActiveRecord validation messages
     activerecord:                  
         errors:
+            template:
+               header:
+                  one:    "Zmeny na %{model} neboli uložené. Vyskytla sa 1 chyba"
+                  other:  "Zmeny na %{model} neboli uložené. Vyskytlo sa %{count} chýb"
+               body: "There were problems with the following fields:"
+
             messages:
-                inclusion: "nie je v zozname povolených hodnôt"
-                exclusion: "je vyhradené pre iný účel"
-                invalid: "nie je platná hodnota"
-                confirmation: "nebolo potvrdené"
-                accepted: "musí byť potvrdené"
-                empty: "nesmie byť prázdný/é"
-                blank: "je povinná položka"
-                too_long: "je príliš dlhá/ý (max. {{count}} znakov)"
-                too_short: "je príliš krátký/á (min. {{count}} znakov)"
-                wrong_length: "nemá správnu dĺžku (očakáva sa {{count}} znakov)"
-                taken: "sa už nachádza v databáze"
-                not_a_number: "nie je číslo"
-                greater_than: "musí byť väčšíe ako {{count}}"
-                greater_than_or_equal_to: "musí byť väčšie alebo rovnaké ako {{count}}"
-                equal_to: "sa musí rovnať {{count}}"
-                less_than: "musí byť menšie ako {{count}}"
-                less_than_or_equal_to: "musí byť menšie ako {{count}}"
-                odd: "musí byť nepárne číslo"
-                even: "musí byť párne číslo"
+               taken: "ste už použili"
+               record_invalid: "Validácia neuspešná: %{errors}"
+               <<: *errors_messages
+
+            full_messages:
+               format: "%{attribute}%{message}"
+
+    activemodel:
+        errors:
             template:
                 header:
-                    one: "Pri ukladaní objektu {{model}} došlo k chybám a nebolo možné objekt uložiť"
-                    other: "Pri ukladaní objektu {{model}} došlo ku {{count}} chybe/ám a nebolo možné objekt uložiť"
+                    one: "Pri ukladaní objektu %{model} došlo k chybám a nebolo možné objekt uložiť"
+                    other: "Pri ukladaní objektu %{model} došlo ku %{count} chybe/ám a nebolo možné objekt uložiť"
                 body: "Nasledujúce polia obsahujú chybne vyplnené údaje:"
diff --git a/sonar-server/src/main/webapp/WEB-INF/config/locales/defaults/sl.yml b/sonar-server/src/main/webapp/WEB-INF/config/locales/defaults/sl.yml
new file mode 100644 (file)
index 0000000..d1bdb28
--- /dev/null
@@ -0,0 +1,193 @@
+# Slovenian language localization (sl-sl)
+# by Miha Rebernik <miha@rebernik.info>
+sl:  
+  date:
+    formats:
+      default: "%d.%m.%Y"
+      short: "%d. %b"
+      long: "%d. %b %Y"
+      simple: "%d. %b %Y"
+
+    day_names: [nedelja, ponedeljek, torek, sreda, četrtek, petek, sobota]
+    abbr_day_names: [ned, pon, tor, sre, čet, pet, sob]
+
+    month_names: [~, januar, februar, marec, april, maj, junij, julij, avgust, september, oktober, november, december]
+    abbr_month_names: [~, jan, feb, mar, apr, maj, jun, jul, avg, sep, okt, nov, dec]
+    order:
+      - :day
+      - :month
+      - :year
+
+  time:
+    formats:
+      default: "%A, %d %b %Y ob %H:%M:%S"
+      short: "%d. %b ob %H:%M"
+      long: "%d. %B, %Y ob %H:%M"
+      simple: "%d. %B %Y ob %H:%M"
+      
+    am: "dopoldan"
+    pm: "popoldan"
+
+  # Used in array.to_sentence.
+  support:
+    array:
+      words_connector: ", "
+      two_words_connector: " in "
+      last_word_connector: " in "
+
+  activerecord:
+    errors:
+      template:
+        header:
+          one:    "Ena napaka preprečuje, da bi shranili %{model}"
+          two:    "Dve napaki preprečujeta, da bi shranili %{model}"
+          few:    "%{count} napake preprečujejo, da bi shranili %{model}"
+          other:  "%{count} napak preprečuje, da bi shranili %{model}"
+        body: "Napačno izpolnjena polja:"
+      messages:
+        inclusion: "ni vključeno v seznam"
+        exclusion: "je rezervirano"
+        invalid: "je nepravilno"
+        confirmation: "se ne ujema s potrditvijo"
+        accepted: "mora biti sprejeto"
+        empty: "ne sme biti prazno"
+        blank: "ne sme biti prazno"
+        too_long: "je predolgo (dovoljeno je do %{count} znakov)"
+        too_short: "je prekratko (zahtevano je najmanj %{count} znakov)"
+        wrong_length: "je napačne dolžine (mora biti natančno %{count} znakov)"
+        taken: "je že zasedeno"
+        not_a_number: "ni številka"
+        greater_than: "mora biti večje kot %{count}"
+        greater_than_or_equal_to: "mora biti večje ali enako %{count}"
+        equal_to: "mora biti enako %{count}"
+        less_than: "mora biti manj kot %{count}"
+        less_than_or_equal_to: "mora biti manj ali enako %{count}"
+        odd: "mora biti liho"
+        even: "mora biti sodo"
+        record_invalid: ""
+
+
+  number:
+     # Used in number_with_delimiter()
+     # These are also the defaults for 'currency', 'percentage', 'precision', and 'human'
+     format:
+       # Sets the separator between the units, for more precision (e.g. 1.0 / 2.0 == 0.5)
+       separator: ","
+       # Delimets thousands (e.g. 1,000,000 is a million) (always in groups of three)
+       delimiter: "."
+       # Number of decimals, behind the separator (the number 1 with a precision of 2 gives: 1.00)
+       precision: 2
+     # Used in number_to_currency()
+     currency:
+       format:
+         # Where is the currency sign? %u is the currency unit, %n the number (default: $5.00)
+         format: "%u%n"
+         unit: "€"
+         # These three are to override number.format and are optional
+         separator: ","
+         delimiter: "."
+         precision: 2
+   
+     # Used in number_to_percentage()
+     percentage:
+       format:
+         # These three are to override number.format and are optional
+         # separator: 
+         delimiter: ""
+         # precision: 
+   
+     # Used in number_to_precision()
+     precision:
+       format:
+         # These three are to override number.format and are optional
+         # separator:
+         delimiter: ""
+         # precision:
+   
+     # Used in number_to_human_size()
+     human:
+       format:
+         # These three are to override number.format and are optional
+         # separator: 
+         delimiter: ""
+         precision: 1
+       storage_units:
+         # Storage units output formatting.
+         # %u is the storage unit, %n is the number (default: 2 MB)
+         format: "%n %u"
+         units:
+           byte:
+             one:   "Byte"
+             other: "Bytes"
+           kb: "KB"
+           mb: "MB"
+           gb: "GB"
+           tb: "TB"
+
+  # Used in distance_of_time_in_words(), distance_of_time_in_words_to_now(), time_ago_in_words()
+  datetime:
+   distance_in_words:
+     half_a_minute: "pol minute"
+     less_than_x_seconds:
+       one:   "manj kot 1 sekunda"
+       two:   "manj kot 2 sekundi"
+       few:   "manj kot %{count} sekunde"
+       other: "manj kot %{count} sekund"
+     x_seconds:
+       one:   "1 sekunda"
+       two:   "2 sekundi"
+       few:   "%{count} sekunde"
+       other: "%{count} sekund"
+     less_than_x_minutes:
+       one:   "manj kot ena minuta"
+       two:   "manj kot dve minuti"
+       few:   "manj kot %{count} minute"
+       other: "manj kot %{count} minut"
+     x_minutes:
+       one:   "1 minuta"
+       two:   "2 minuti"
+       few:   "%{count} minute"
+       other: "%{count} minut"
+     about_x_hours:
+       one:   "okoli 1 ura"
+       two:   "okoli 2 uri"
+       few:   "okoli %{count} ure"
+       other: "okoli %{count} ur"
+     x_days:
+       one:   "1 dan"
+       two:   "2 dneva"
+       few:   "%{count} dnevi"
+       other: "%{count} dni"
+     about_x_months:
+       one:   "okoli 1 mesec"
+       two:   "okoli 2 meseca"
+       few:   "okoli %{count} mesece"
+       other: "okoli %{count} mesecev"
+     x_months:
+       one:   "1 mesec"
+       two:   "2 meseca"
+       few:   "%{count} mesece"
+       other: "%{count} mesecev"
+     almost_x_years:      
+       one:   "skoraj 1 leto"
+       two:   "skoraj 2 leti"
+       few:   "skoraj %{count} leta"
+       other: "skoraj %{count} let"
+     about_x_years:
+       one:   "okoli 1 leto"
+       two:   "okoli 2 leti"
+       few:   "okoli %{count} leta"
+       other: "okoli %{count} let"
+     over_x_years:
+       one:   "več kot 1 leto"
+       two:   "več kot 2 leti"
+       few:   "več kot %{count} leta"
+       other: "več kot %{count} let"
+   prompts:
+     year:   "Leto"
+     month:  "Mesec"
+     day:    "Dan"
+     hour:   "Ura"
+     minute: "Minute"
+     second: "Sekunde"
\ No newline at end of file
old mode 100755 (executable)
new mode 100644 (file)
index c28445b..1d81e8d
     abbr_day_names: [Ned, Pon, Uto, Sre, Čet, Pet, Sub]
     month_names: [~, Januar, Februar, Mart, April, Maj, Jun, Jul, Avgust, Septembar, Oktobar, Novembar, Decembar]
     abbr_month_names: [~, Jan, Feb, Mar, Apr, Maj, Jun, Jul, Avg, Sep, Okt, Nov, Dec]
-    order: [ :day, :month, :year ]
+    order:
+      - :day
+      - :month
+      - :year
 
   time:
     formats:
       less_than_x_seconds:
         zero: 'manje od 1 sekunde'
         one: 'manje od 1 sekund'
-        few: 'manje od {{count}} sekunde'
-        other: 'manje od {{count}} sekundi'
+        few: 'manje od %{count} sekunde'
+        other: 'manje od %{count} sekundi'
       x_seconds:
         one: '1 sekunda'
-        few: '{{count}} sekunde'
-        other: '{{count}} sekundi'
+        few: '%{count} sekunde'
+        other: '%{count} sekundi'
       less_than_x_minutes:
         zero: 'manje od minuta'
         one: 'manje od 1 minut'
-        other: 'manje od {{count}} minuta'
+        other: 'manje od %{count} minuta'
       x_minutes:
         one: '1 minut'
-        other: '{{count}} minuta'
+        other: '%{count} minuta'
       about_x_hours:
         one: 'oko 1 sat'
-        few: 'oko {{count}} sata'
-        other: 'oko {{count}} sati'
+        few: 'oko %{count} sata'
+        other: 'oko %{count} sati'
       x_days:
         one: '1 dan'
-        other: '{{count}} dana'
+        other: '%{count} dana'
       about_x_months:
         one: 'oko 1 mesec'
-        few: 'oko {{count}} meseca'
-        other: 'oko {{count}} meseci'
+        few: 'oko %{count} meseca'
+        other: 'oko %{count} meseci'
       x_months:
         one: '1 mesec'
-        few: '{{count}} meseca'
-        other: '{{count}} meseci'
+        few: '%{count} meseca'
+        other: '%{count} meseci'
       about_x_years:
         one: 'oko 1 godine'
-        other: 'oko {{count}} godine'
+        other: 'oko %{count} godine'
       over_x_years:
         one: 'preko 1 godine'
-        other: 'preko {{count}} godine'
+        other: 'preko %{count} godine'
 
   number:
     format:
@@ -90,9 +93,9 @@
     errors:
       template:
         header:
-          one: 'Nisam uspeo sačuvati {{model}}: 1 greška'
-          few: 'Nisam uspeo sačuvati {{model}}: {{count}} greške.'
-          other: 'Nisam uspeo sačuvati {{model}}: {{count}} greški.'
+          one: 'Nisam uspeo sačuvati %{model}: 1 greška'
+          few: 'Nisam uspeo sačuvati %{model}: %{count} greške.'
+          other: 'Nisam uspeo sačuvati %{model}: %{count} greški.'
         body: "Molim Vas proverite sledeća polja:"
       messages:
         inclusion: "nije u listi"
         accepted: "mora biti prihvaćen"
         empty: "mora biti dat"
         blank: "mora biti dat"
-        too_long: "je predugačak (ne više od {{count}} karaktera)"
-        too_short: "je prekratak (ne manje od {{count}} karaktera)"
-        wrong_length: "nije odgovarajuće dužine (mora imati {{count}} karaktera)"
+        too_long: "je predugačak (ne više od %{count} karaktera)"
+        too_short: "je prekratak (ne manje od %{count} karaktera)"
+        wrong_length: "nije odgovarajuće dužine (mora imati %{count} karaktera)"
         taken: "je zauzeto"
         not_a_number: "nije broj"
-        greater_than: "mora biti veće od {{count}}"
-        greater_than_or_equal_to: "mora biti veće ili jednako {{count}}"
-        equal_to: "mora biti jednako {{count}}"
-        less_than: "mora biti manje od {{count}}"
-        less_than_or_equal_to: "mora biti manje ili jednako {{count}}"
+        greater_than: "mora biti veće od %{count}"
+        greater_than_or_equal_to: "mora biti veće ili jednako %{count}"
+        equal_to: "mora biti jednako %{count}"
+        less_than: "mora biti manje od %{count}"
+        less_than_or_equal_to: "mora biti manje ili jednako %{count}"
         odd: "mora biti neparno"
         even: "mora biti parno"
old mode 100755 (executable)
new mode 100644 (file)
index 7483d91..debe0c3
     abbr_day_names: [Нед, Пон, Уто, Сре, Чет, Пет, Суб]
     month_names: [~, Јануар, Фабруар, Март, Април, Мај, Јун, Јул, Август, Септембар, Октобар, Новембар, Децембар]
     abbr_month_names: [~, Јан, Феб, Мар, Апр, Мај, Јун, Јул, Авг, Сеп, Окт, Нов, Дец]
-    order: [ :day, :month, :year ]
+    order:
+      - :day
+      - :month
+      - :year
 
   time:
     formats:
       less_than_x_seconds:
         zero: 'мање од 1 секунде'
         one: 'мање од 1 секунд'
-        few: 'мање од {{count}} секунде'
-        other: 'мање од {{count}} секунди'
+        few: 'мање од %{count} секунде'
+        other: 'мање од %{count} секунди'
       x_seconds:
         one: '1 секунда'
-        few: '{{count}} секунде'
-        other: '{{count}} секунди'
+        few: '%{count} секунде'
+        other: '%{count} секунди'
       less_than_x_minutes:
         zero: 'мање од минута'
         one: 'мање од 1 минут'
-        other: 'мање од {{count}} минута'
+        other: 'мање од %{count} минута'
       x_minutes:
         one: '1 минут'
-        other: '{{count}} минута'
+        other: '%{count} минута'
       about_x_hours:
         one: 'око 1 сат'
-        few: 'око {{count}} сата'
-        other: 'око {{count}} сати'
+        few: 'око %{count} сата'
+        other: 'око %{count} сати'
       x_days:
         one: '1 дан'
-        other: '{{count}} дана'
+        other: '%{count} дана'
       about_x_months:
         one: 'око 1 месец'
-        few: 'око {{count}} месеца'
-        other: 'око {{count}} месеци'
+        few: 'око %{count} месеца'
+        other: 'око %{count} месеци'
       x_months:
         one: '1 месец'
-        few: '{{count}} месеца'
-        other: '{{count}} месеци'
+        few: '%{count} месеца'
+        other: '%{count} месеци'
       about_x_years:
         one: 'око 1 године'
-        other: 'око {{count}} године'
+        other: 'око %{count} године'
       over_x_years:
         one: 'преко 1 године'
-        other: 'преко {{count}} године'
+        other: 'преко %{count} године'
 
   number:
     format:
@@ -90,9 +93,9 @@
     errors:
       template:
         header:
-          one: 'Нисам успео сачувати {{model}}: 1 грешка.'
-          few: 'Нисам успео сачувати {{model}}: {{count}} грешке.'
-          other: 'Нисам успео сачувати {{model}}: {{count}} грешки.'
+          one: 'Нисам успео сачувати %{model}: 1 грешка.'
+          few: 'Нисам успео сачувати %{model}: %{count} грешке.'
+          other: 'Нисам успео сачувати %{model}: %{count} грешки.'
         body: "Молим Вас да проверите следећа поља:"
       messages:
         inclusion: "није у листи"
         accepted: "мора бити прихваћено"
         empty: "мора бити дат"
         blank: "мора бити дат"
-        too_long: "је предугачак (не више од {{count}} карактера)"
-        too_short: "је прекратак (не мање од {{count}} карактера)"
-        wrong_length: "није одговарајуће дужине (мора имати {{count}} карактера)"
+        too_long: "је предугачак (не више од %{count} карактера)"
+        too_short: "је прекратак (не мање од %{count} карактера)"
+        wrong_length: "није одговарајуће дужине (мора имати %{count} карактера)"
         taken: "је заузето"
         not_a_number: "није број"
-        greater_than: "мора бити веће од {{count}}"
-        greater_than_or_equal_to: "мора бити веће или једнако {{count}}"
-        equal_to: "кора бити једнако {{count}}"
-        less_than: "мора бити мање од {{count}}"
-        less_than_or_equal_to: "мора бити мање или једнако {{count}}"
+        greater_than: "мора бити веће од %{count}"
+        greater_than_or_equal_to: "мора бити веће или једнако %{count}"
+        equal_to: "кора бити једнако %{count}"
+        less_than: "мора бити мање од %{count}"
+        less_than_or_equal_to: "мора бити мање или једнако %{count}"
         odd: "мора бити непарно"
         even: "мора бити парно"
old mode 100755 (executable)
new mode 100644 (file)
index cbca6d9..ddc835f
@@ -1,5 +1,9 @@
-# Swedish translation, by Johan Lundström (johanlunds@gmail.com), with parts taken
-# from http://github.com/daniel/swe_rails
+# Swedish translation.
+# By Johan Lundström (johanlunds@gmail.com) with parts taken from http://github.com/daniel/swe_rails.
+# With contributions by:
+#   * Sven Dahlstrand (sven.dahlstrand@gmail.com)
+#   * Henrik Nyh (henrik@nyh.se)
+#   * Magnus Bergmark (magnus.bergmark@gmail.com)
 
 "sv-SE":
   number:
     format:
       # Sets the separator between the units, for more precision (e.g. 1.0 / 2.0 == 0.5)
       separator: ","
-      # Delimets thousands (e.g. 1,000,000 is a million) (always in groups of three)
-      delimiter: "."
-      # Number of decimals, behind the separator (the number 1 with a precision of 2 gives: 1.00)
+      # Delimits thousands (e.g. 1,000,000 is a million) (always in groups of three)
+      delimiter: " " # non-breaking space
+      # Number of decimals after the separator (the number 1 with a precision of 2 gives: 1.00)
       precision: 2
-      
+      significant: false
+      strip_insignificant_zeros: false
+
     # Used in number_to_currency()
     currency:
       format:
         # Where is the currency sign? %u is the currency unit, %n the number (default: $5.00)
         format: "%n %u"
+        negative_format: "-%n %u"
         unit: "kr"
-        # These three are to override number.format and are optional
-        # separator: "."
-        # delimiter: ","
-        # precision: 2
-        
-    # Used in number_to_percentage()
+
     percentage:
       format:
-        # These three are to override number.format and are optional
-        # separator: 
-        delimiter: ""
-        # precision: 
-        
-    # Used in number_to_precision()
+         delimiter: ""
+
     precision:
       format:
-        # These three are to override number.format and are optional
-        # separator:
         delimiter: ""
-        # precision:
-        
+
     # Used in number_to_human_size()
     human:
       format:
-        # These three are to override number.format and are optional
-        # separator: 
         delimiter: ""
-        # precision: 1
+        precision: 1
+
       storage_units:
         # Storage units output formatting.
         # %u is the storage unit, %n is the number (default: 2 MB)
         format: "%n %u"
         units:
           byte:
-            one:   "Byte"
+            one: "Byte"
             other: "Bytes"
           kb: "KB"
           mb: "MB"
           gb: "GB"
           tb: "TB"
-              
+      decimal_units:
+        format: "%n %u"
+        units:
+          unit: ""
+          thousand: "Tusen"
+          million: "Miljon"
+          billion: "Miljard"
+          trillion: "Biljon"
+          quadrillion: "Triljon"
+
   # Used in distance_of_time_in_words(), distance_of_time_in_words_to_now(), time_ago_in_words()
   datetime:
     distance_in_words:
       half_a_minute: "en halv minut"
       less_than_x_seconds:
         one:   "mindre än en sekund"
-        other: "mindre än {{count}} sekunder"
+        other: "mindre än %{count} sekunder"
       x_seconds:
         one:   "en sekund"
-        other: "{{count}} sekunder"
+        other: "%{count} sekunder"
       less_than_x_minutes:
         one:   "mindre än en minut"
-        other: "mindre än {{count}} minuter"
+        other: "mindre än %{count} minuter"
       x_minutes:
         one:   "en minut"
-        other: "{{count}} minuter"
+        other: "%{count} minuter"
       about_x_hours:
         one:   "ungefär en timme"
-        other: "ungefär {{count}} timmar"
+        other: "ungefär %{count} timmar"
       x_days:
         one:   "en dag"
-        other: "{{count}} dagar"
+        other: "%{count} dagar"
       about_x_months:
         one:   "ungefär en månad"
-        other: "ungefär {{count}} månader"
+        other: "ungefär %{count} månader"
       x_months:
         one:   "en månad"
-        other: "{{count}} månader"
+        other: "%{count} månader"
       about_x_years:
         one:   "ungefär ett år"
-        other: "ungefär {{count}} år"
+        other: "ungefär %{count} år"
       over_x_years:
         one:   "mer än ett år"
-        other: "mer än {{count}} år"
+        other: "mer än %{count} år"
+      almost_x_years:
+        one:   "nästan ett år"
+        other: "nästan %{count} år"
+
     prompts:
       year:   "År"
       month:  "Månad"
       hour:   "Timme"
       minute: "Minut"
       second: "Sekund"
-        
+
+  helpers:
+    select:
+      prompt: "Välj"
+
+    submit:
+      create: "Skapa %{model}"
+      update: "Ändra %{model}"
+      submit: "Spara %{model}"
+
+  errors:
+    format: "%{attribute} %{message}"
+
+    messages: &errors_messages
+      inclusion: "finns inte i listan"
+      exclusion: "är reserverat"
+      invalid: "är ogiltigt"
+      confirmation: "stämmer inte överens"
+      accepted: "måste vara accepterad"
+      empty: "får ej vara tom"
+      blank: "måste anges"
+      too_long: "är för lång (maximum är %{count} tecken)"
+      too_short: "är för kort (minimum är %{count} tecken)"
+      wrong_length: "har fel längd (ska vara %{count} tecken)"
+      taken: "har redan tagits"
+      not_a_number: "är inte ett nummer"
+      not_an_integer: "måste vara ett heltal"
+      greater_than: "måste vara större än %{count}"
+      greater_than_or_equal_to: "måste vara större än eller lika med %{count}"
+      equal_to: "måste vara samma som"
+      less_than: "måste vara mindre än %{count}"
+      less_than_or_equal_to: "måste vara mindre än eller lika med %{count}"
+      odd: "måste vara udda"
+      even: "måste vara jämnt"
+      record_invalid: "Ett fel uppstod: %{errors}"
+
   activerecord:
     errors:
+      # model.errors.full_messages format.
       template:
         header:
-          one:    "Ett fel förhindrade denna {{model}} från att sparas"
-          other:  "{{count}} fel förhindrade denna {{model}} från att sparas"
-        # The variable :count is also available
+          one:    "Ett fel förhindrade denna %{model} från att sparas"
+          other:  "%{count} fel förhindrade denna %{model} från att sparas"
         body: "Det var problem med följande fält:"
+
+      messages:
+        taken: "är upptaget"
+        record_invalid: "Validering misslyckades: %{errors}"
+        <<: *errors_messages
+
+      full_messages:
+        format: "%{attribute} %{message}"
+
       # The values :model, :attribute and :value are always available for interpolation
       # The value :count is available when applicable. Can be used for pluralization.
-      messages:
-        inclusion: "finns inte i listan"
-        exclusion: "är reserverat"
-        invalid: "är ogiltigt"
-        confirmation: "stämmer inte överens"
-        accepted : "måste vara accepterad"
-        empty: "får ej vara tom"
-        blank: "måste anges"
-        too_long: "är för lång (maximum är {{count}} tecken)"
-        too_short: "är för kort (minimum är {{count}} tecken)"
-        wrong_length: "har fel längd (ska vara {{count}} tecken)"
-        taken: "har redan tagits"
-        not_a_number: "är inte ett nummer"
-        greater_than: "måste vara större än {{count}}"
-        greater_than_or_equal_to: "måste vara större än eller lika med {{count}}"
-        equal_to: "måste vara samma som"
-        less_than: "måste vara mindre än {{count}}"
-        less_than_or_equal_to: "måste vara mindre än eller lika med {{count}}"
-        odd: "måste vara udda"
-        even: "måste vara jämnt"
         # Append your own errors here or at the model/attributes scope.
 
       # You can define own errors for models or model attributes.
       # For example,
       #   models:
       #     user:
-      #       blank: "This is a custom blank message for {{model}}: {{attribute}}"
+      #       blank: "This is a custom blank message for %{model}: %{attribute}"
       #       attributes:
       #         login:
       #           blank: "This is a custom blank message for User login"
-      # Will define custom blank validation message for User model and 
+      # Will define custom blank validation message for User model and
       # custom blank validation message for login attribute of User model.
       # models:
-        
+
     # Translate model names. Used in Model.human_name().
     #models:
       # For example,
       #   user: "Dude"
       # will translate User model name to "Dude"
-    
+
     # Translate model attribute names. Used in Model.human_attribute_name(attribute).
     #attributes:
       # For example,
       # You can provide other formats here if you like!
       default: "%Y-%m-%d"
       short: "%e %b"
-      long: "%e %B, %Y"
-      
+      long: "%e %B %Y"
+
     day_names: [söndag, måndag, tisdag, onsdag, torsdag, fredag, lördag]
     abbr_day_names: [sön, mån, tis, ons, tor, fre, lör]
-      
+
     # Don't forget the nil at the beginning; there's no such thing as a 0th month
     month_names: [~, januari, februari, mars, april, maj, juni, juli, augusti, september, oktober, november, december]
     abbr_month_names: [~, jan, feb, mar, apr, maj, jun, jul, aug, sep, okt, nov, dec]
     # Used in date_select and datime_select.
-    order: [ :day, :month, :year ]
+    order:
+      - :day
+      - :month
+      - :year
 
   time:
     formats:
-      default: "%a, %d %b %Y %H:%M:%S %z"
-      short: "%d %b %H:%M"
-      long: "%d %B, %Y %H:%M"
+      default: "%a, %e %b %Y %H:%M:%S %z"
+      short: "%e %b %H:%M"
+      long: "%e %B %Y %H:%M"
     am: ""
     pm: ""
-            
-# Used in array.to_sentence.
+
+  # Used in array.to_sentence.
   support:
     array:
       words_connector: ", "
       two_words_connector: " och "
       last_word_connector: " och "
+    select:
+      # default value for :prompt => true in FormOptionsHelper
+      prompt: "Välj"
old mode 100755 (executable)
new mode 100644 (file)
index 37f952a..e9b3341
-# Swahili translations for Rails
-# by Joachim Mangilima (joachimm3@gmail.com) and Matthew Todd (http://matthewtodd.org)
+# Swahili translations for Ruby on Rails
+# - Initially sketched by Joachim Mangilima (joachimm3@gmail.com) and Matthew Todd (http://matthewtodd.org)
+# - Vastly improved by Joram (namtih58@gmail.com)
 
 sw:
   date:
     formats:
-      default: "%Y-%m-%d"
-      # the short and long date formats are temporary until I can talk with someone...
-      short: "%e ya %b"
-      long: "%e ya %B, %Y"
+      default: '%d-%m-%Y'
+      short: '%e %b'
+      long: '%e %B, %Y'
 
     day_names: [Jumpili, Jumatatu, Jumanne, Jumatano, Alhamisi, Ijumaa, Jumamosi]
     abbr_day_names: [J2, J3, J4, J5, Al, Ij, J1]
-    month_names: [~, Januari, Februari, Machi, Aprili, Mei, Juni, Julai, Agosti, Septemba, Oktoba, Novemba, Desemba]
-    # these abbreviated month names are temporary until I can talk with someone...
-    abbr_month_names: [~, Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec]
-    order: [ :year, :month, :day ]
-
-  # time:
-  #   formats:
-  #     default: "%A, %e. %B %Y, %H:%M Uhr"
-  #     short: "%e. %B, %H:%M Uhr"
-  #     long: "%A, %e. %B %Y, %H:%M Uhr"
-  #
-  #   am: "vormittags"
-  #   pm: "nachmittags"
+
+    month_names: [~, Mwezi wa kwanza, Mwezi wa pili, Mwezi wa tatu, Mwezi wa nne, Mwezi wa tano, Mwezi wa sita, Mwezi wa saba, Mwezi wa nane, Mwezi wa tisa, Mwezi wa kumi, Mwezi wa kumi na moja, Mwezi wa kumi na mbili]
+    abbr_month_names: [~, Jan, Feb, Mac, Apr, Mei, Jun, Jul, Ago, Sep, Okt, Nov, Des]
+    order:
+      - :day
+      - :month
+      - :year
+
+  time:
+    formats:
+      default: '%a, %d %b %Y %H:%M:%S'
+      short: '%e %b %Y %H:%M'
+      long: '%A, %e. %B %Y, %H:%M:%S'
+    am: 'am'
+    pm: 'pm'
+
+  support:
+    array:
+      words_connector: ', '
+      two_words_connector: ' na '
+      last_word_connector: ', na '
+
+    select:
+      prompt: 'Tafadhali teua'
+
+  number:
+    format:
+      separator: ','
+      delimiter: '.'
+      precision: 2
+      significant: false
+      strip_insignificant_zeros: false
+
+    currency:
+      format:
+        format: '%n%u'
+        unit: '/='
+        separator: ','
+        delimiter: '.'
+        precision: 2
+        significant: false
+        strip_insignificant_zeros: false
+
+    percentage:
+      format:
+        delimiter: ''
+
+    precision:
+      format:
+        delimiter: ''
+
+    human:
+      format:
+        delimiter: ''
+        precision: 3
+        significant: true
+        strip_insignificant_zeros: true
+      storage_units:
+        format: '%n %u'
+        units:
+          byte:
+            one: 'Byte'
+            other: 'Bytes'
+          kb: 'KB'
+          mb: 'MB'
+          gb: 'GB'
+          tb: 'TB'
+      decimal_units:
+        format: '%n %u'
+        units:
+          unit: ''
+          thousand: Elfu
+          million: Milioni
+          billion: Bilioni
+          trillion: Trilioni
+          quadrillion: Quadrillion
 
   datetime:
     distance_in_words:
       half_a_minute: 'nusu dakika'
       less_than_x_seconds:
-        zero: 'chini ya sekunde 1'
         one: 'chini ya sekunde 1'
-        other: 'chini ya sekunde {{count}}'
+        other: 'chini ya sekunde %{count}'
       x_seconds:
         one: 'sekunde 1'
-        other: 'sekunde {{count}}'
+        other: 'sekunde %{count}'
       less_than_x_minutes:
-        zero: 'chini ya dakika 1'
         one: 'chini ya dakika 1'
-        other: 'chini ya dakika {{count}}'
+        other: 'chini ya dakika %{count}'
       x_minutes:
         one: 'dakika 1'
-        other: 'dakika {{count}}'
+        other: 'dakika %{count}'
       about_x_hours:
-        one: 'kama saa 1'
-        other: 'kama masaa {{count}}'
+        one: 'kama saa limoja'
+        other: 'kama masaa %{count}'
       x_days:
         one: 'siku 1'
-        other: 'siku {{count}}'
+        other: 'siku %{count}'
       about_x_months:
         one: 'kama mwezi 1'
-        other: 'kama miezi {{count}}'
+        other: 'kama miezi %{count}'
       x_months:
         one: 'mwezi 1'
-        other: 'miezi {{count}}'
+        other: 'miezi %{count}'
       about_x_years:
         one: 'kama mwaka 1'
-        other: 'kama miaka {{count}}'
+        other: 'kama miaka %{count}'
       over_x_years:
         one: 'zaidi ya mwaka 1'
-        other: 'zaidi ya miaka {{count}}'
-  #
-  # number:
-  #   format:
-  #     precision: 2
-  #     separator: ','
-  #     delimiter: '.'
-  #   currency:
-  #     format:
-  #       unit: '€'
-  #       format: '%n%u'
-  #       separator:
-  #       delimiter:
-  #       precision:
-  #   percentage:
-  #     format:
-  #       delimiter: ""
-  #   precision:
-  #     format:
-  #       delimiter: ""
-  #   human:
-  #     format:
-  #       delimiter: ""
-  #       precision: 1
-  #
-  support:
-    array:
-      words_connector: ", "
-      two_words_connector: " na "
-      last_word_connector: ", na "
+        other: 'zaidi ya miaka %{count}'
+      almost_x_years:
+        one: 'karibia mwaka'
+        other: 'karibia miaka %{count}'
+    prompts:
+      year: 'Mwaka'
+      month: 'Mwezi'
+      day: 'Siku'
+      hour: 'Saa'
+      minute: 'Dakika'
+      second: 'Sekunde'
+
+  helpers:
+    select:
+        prompt: 'Tafadhali teua'
+
+    submit:
+        create: 'Unda %{model}'
+        update: 'Sasaisha %{model}'
+        submit: 'Akibisha %{model}'
+
+  errors:
+    format: '%{attribute} %{message}'
+
+    messages: &errors_messages
+      inclusion: 'haipo kwenye orodha'
+      exclusion: 'haiwezi kutumika'
+      invalid: 'haifai'
+      confirmation: 'haifanani na hapo chini'
+      accepted: 'lazima ikubaliwe'
+      empty: 'haitakiwi kuwa tupu'
+      blank: 'haitakiwi kuwa wazi'
+      too_long: 'ndefu sana (isizidi herufi %{count})'
+      too_short: 'fupi mno (isipungue herufi %{count})'
+      wrong_length: 'idadi ya herufi hazilingani (inatakiwa %{count})'
+      not_a_number: 'inaruhusiwa namba tu'
+      not_an_integer: 'inaruhusiwa namba tu'
+      greater_than: 'z/iwe zaidi ya {{count}}'
+      greater_than_or_equal_to: 'z/iwe sawa ama zaidi ya {{count}}'
+      equal_to: 'z/iwe sawa na {{count}}'
+      less_than: 'z/isizidi {{count}}'
+      less_than_or_equal_to: 'z/iwe sawa na, ama chini ya {{count}}'
+      odd: 'z/iwe witiri'
+      even: 'z/iwe shufwa'
 
   activerecord:
     errors:
-      # template:
-      #   header:
-      #     one:    "Konnte dieses {{model}} Objekt nicht speichern: 1 Fehler."
-      #     other:  "Konnte dieses {{model}} Objekt nicht speichern: {{count}} Fehler."
-      #   body: "Bitte überprüfen Sie die folgenden Felder:"
-
-      # The values :model, :attribute and :value are always available for interpolation
-      # The value :count is available when applicable. Can be used for pluralization.
+      template:
+        header:
+          one: '%{model} haikuhifadhiwa kwa sababu moja.'
+          other: '%{model} haikuhifadhiwa kwa sababu %{count}.'
+        body: 'Tafadhali kagua sehemu zifuatazo:'
+
       messages:
-        # inclusion: "is not included in the list"
-        exclusion: "haiwezi kutumika"
-        invalid: "haifai"
-        confirmation: "haifanani na hapo chini"
-        # accepted: "must be accepted"
-        empty: "haitakiwi kuwa wazi"
-        blank: "haitakiwi kuwa wazi"
-        too_long: "ndefu sana (isizidi herufi {{count}})"
-        too_short: "fupi mno (isipungue herufi {{count}})"
-        # wrong_length: "is the wrong length (should be {{count}} characters)"
-        taken: "imeshachukuliwa"
-        not_a_number: "inaruhusiwa namba tu"
-        # greater_than: "must be greater than {{count}}"
-        # greater_than_or_equal_to: "must be greater than or equal to {{count}}"
-        # equal_to: "must be equal to {{count}}"
-        # less_than: "must be less than {{count}}"
-        # less_than_or_equal_to: "must be less than or equal to {{count}}"
-        # odd: "must be odd"
-        # even: "must be even"
+        taken: 'imesajiliwa'
+        record_invalid: "Uhalalishaji umeshindikana: %{errors}"
+        <<: *errors_messages
+
+      full_messages:
+        format: '%{attribute}%{message}'
old mode 100755 (executable)
new mode 100644 (file)
index a54d0a4..5e82451
 # Thai translation for Ruby on Rails
 # original by Prem Sichanugrist (s@sikachu.com/sikandsak@gmail.com)
 # activerecord keys fixed by Jittat Fakcharoenphol (jittat@gmail.com)
+#
+# Note: You must install i18n gem in order to use this language pack.
+# If you're calling I18n.localize(Time.now), the year will be in Bhuddhist calendar
 
-{ 
-  :'th' => {
-    :date => {
-      :formats => {
-        :default      => lambda { |date| "%d-%m-#{date.year+543}" },
-        :short        => "%e %b",
-        :long         => lambda { |date| "%e %B #{date.year+543}" },
-        :long_ordinal => lambda { |date| "%e %B #{date.year+543}" },
-        :only_day     => "%e"
-      },
-      :day_names => %w(อาทิตย์ จันทร์ อังคาร พุธ พฤหัสบดี ศุกร์ เสาร์),
-      :abbr_day_names => %w(อา จ อ พ พฤ ศ ส),
-      :month_names => [nil] + %w(มกราคม กุมภาพันธ์ มีนาคม เมษายน พฤษภาคม มิถุนายน กรกฎาคม สิงหาคม กันยายน ตุลาคม พฤศจิกายน ธันวาคม),
-      :abbr_month_names => [nil] + %w(ม.ค. ก.พ. มี.ค. เม.ย. พ.ค. มิ.ย. ก.ค. ส.ค. ก.ย. ต.ค. พ.ย. ธ.ค.),
-      :order => [:day, :month, :year]
-    },
-    :time => {
-      :formats => {
-        :default      => lambda { |time| "%a %d %b #{time.year+543} %H:%M:%S %Z" },
-        :time         => "%H:%M น.",
-        :short        => "%d %b %H:%M น.",
-        :long         => lambda { |time| "%d %B #{time.year+543} %H:%M น." },
-        :long_ordinal => lambda { |time| "%d %B #{time.year+543} %H:%M น." },
-        :only_second  => "%S"
-      },
-      :time_with_zone => {
-        :formats => {
-          :default => lambda { |time| "%Y-%m-%d %H:%M:%S #{time.formatted_offset(false, 'UTC')}" }
-        }
-      },
-      :am => '',
-      :pm => ''
+# This is used to DRY up ActiveRecord validation messages
+unless defined?(ThaiLocaleI18n::ERROR_MESSAGES)
+  module ThaiLocaleI18n
+    ERROR_MESSAGES = {
+      :inclusion => "ไม่ได้อยู่ในรายการ",
+      :exclusion => "ไม่ได้รับอนุญาตให้ใช้",
+      :invalid => "ไม่ถูกต้อง",
+      :confirmation => "ไม่ตรงกับการยืนยัน",
+      :accepted => "ต้องถูกยอมรับ",
+      :empty => "ต้องไม่เว้นว่างเอาไว้",
+      :blank => "ต้องไม่เว้นว่างเอาไว้",
+      :too_long => "ยาวเกินไป (ต้องไม่เกิน %{count} ตัวอักษร)",
+      :too_short => "สั้นเกินไป (ต้องยาวกว่า %{count} ตัวอักษร)",
+      :wrong_length => "มีความยาวไม่ถูกต้อง (ต้องมีความยาว %{count} ตัวอักษร)",
+      :not_a_number => "ไม่ใช่ตัวเลข",
+      :not_an_integer => "ไม่ใช่จำนวนเต็ม",
+      :greater_than => "ต้องมากกว่า %{count}",
+      :greater_than_or_equal_to => "ต้องมากกว่าหรือเท่ากับ %{count}",
+      :equal_to => "ต้องมีค่าเท่ากับ %{count}",
+      :less_than => "ต้องมีค่าน้อยกว่า %{count}",
+      :less_than_or_equal_to => "ต้องมีค่าน้อยกว่าหรือเท่ากับ %{count}",
+      :odd => "ต้องเป็นจำนวนคี่",
+      :even => "ต้องเป็นจำนวนคู่",
+    }
+  end
+end
+
+{ :'th' => {
+
+:date => {
+  :formats => {
+    :default => lambda { |date, opts| "%d-%m-#{date.year + 543}" },
+    :short => "%d %b",
+    :long => lambda { |date, opts| "%d %B #{date.year + 543}" },
+  },
+
+  :day_names => ["อาทิตย์", "จันทร์", "อังคาร", "พุธ", "พฤหัสบดี", "ศุกร์", "เสาร์"],
+  :abbr_day_names => ["อา", "จ", "อ", "พ", "พฤ", "ศ", "ส"],
+
+  :month_names => [nil, "มกราคม", "กุมภาพันธ์", "มีนาคม", "เมษายน", "พฤษภาคม", "มิถุนายน", "กรกฎาคม", "สิงหาคม", "กันยายน", "ตุลาคม", "พฤศจิกายน", "ธันวาคม"],
+  :abbr_month_names => [nil, "ม.ค.", "ก.พ.", "มี.ค.", "เม.ย.", "พ.ค.", "มิ.ย.", "ก.ค.", "ส.ค.", "ก.ย.", "ต.ค.", "พ.ย.", "ธ.ค."],
+  :order => [:day, :month, :year]
+},
+
+:time => {
+  :formats => {
+    :default => lambda { |date, opts| "%a %d %b #{date.year + 543} %H:%M:%S %z" },
+    :short => "%d %b %H:%M น.",
+    :long => lambda { |date, opts| "%d %B #{date.year + 543} %H:%M น." },
+  },
+  :am => "ก่อนเที่ยง",
+  :pm => "หลังเที่ยง"
+},
+
+:support => {
+  :array => {
+    :words_connector => ", ",
+    :two_words_connector => " และ ",
+    :last_word_connector => ", และ ",
+  },
+
+  :select => {
+    :prompt => "โปรดเลือก"
+  }
+},
+
+:number => {
+  :format => {
+    :separator => ".",
+    :delimiter => ",",
+    :precision => 3,
+    :significant => false,
+    :strip_insignificant_zeros => false
+  },
+
+  :currency => {
+    :format => {
+      :format => "%n %u",
+      :unit => "บาท",
+      :separator => ".",
+      :delimiter => ",",
+      :precision => 2,
+      :significant => false,
+      :strip_insignificant_zeros => false
+    }
+  },
+
+  :percentage => {
+    :format => {
+      :delimiter => "",
+    }
+  },
+
+  :precision => {
+    :format => {
+      :delimiter => "",
+    }
+  },
+
+  :human => {
+    :format => {
+      :delimiter => "",
+      :precision => 3,
+      :significant => true,
+      :strip_insignificant_zeros => true
     },
-    :datetime => {
-      :formats => {
-        :default => "%Y-%m-%dT%H:%M:%S%Z"
-      },
-      :distance_in_words => {
-        :half_a_minute       => 'ครึ่งนาทีที่ผ่านมา',
-        :less_than_x_seconds => 'น้อยกว่า {{count}} วินาที',
-        :x_seconds           => '{{count}} วินาที',
-        :less_than_x_minutes => 'น้อยกว่า {{count}} วินาที',
-        :x_minutes           => '{{count}} นาที',
-        :about_x_hours       => 'ประมาณ {{count}} ชั่วโมง',
-        :x_hours             => '{{count}} ชั่วโมง',
-        :about_x_days        => 'ประมาณ {{count}} วัน',
-        :x_days              => '{{count}} วัน',
-        :about_x_months      => 'ประมาณ {{count}} เดือน',
-        :x_months            => '{{count}} เดือน',
-        :about_x_years       => 'ประมาณ {{count}} ปี',
-        :over_x_years        => 'เกิน {{count}} ปี'
+    :storage_units => {
+      :format => "%n %u",
+      :units => {
+        :byte => "ไบต์",
+        :kb => "กิโลไบต์",
+        :mb => "เมกะไบต์",
+        :gb => "จิกะไบต์",
+        :tb => "เทระไบต์"
       }
     },
 
-    # numbers
-    :number => {
-      :format => {
-        :precision => 3,
-        :separator => '.',
-        :delimiter => ','
-      },
-      :currency => {
-        :format => {
-          :unit => 'Baht',
-          :precision => 2,
-          :format => '%n %u'
-        }
-      },
-      :human => {
-        :format => {
-          :precision => 1,
-          :delimiter => ''
-        },
-       :storage_units => {
-         :format => "%n %u",
-         :units => {
-           :byte => "B",
-           :kb   => "KB",
-           :mb   => "MB",
-           :gb   => "GB",
-           :tb   => "TB",
-         }
-       }
-      },
-    },
-
-    # Active Record
-    :activerecord => {
-      :errors => {
-        :template => {
-          :header => {
-            :one => "ไม่สามารถบันทึก {{model}} ได้เนื่องจากเกิดข้อผิดพลาด",
-            :other => "ไม่สามารถบันทึก {{model}} ได้เนื่องจากเกิด {{count}} ข้อผิดพลาด"
-          },
-          :body => "โปรดตรวจสอบข้อมูลที่คุณกรอกในช่องต่อไปนี้:"
-        },
-        :messages => {
-          :inclusion => "ไม่ได้อยู่ในลิสต์",
-          :exclusion => "ถูกจองเอาไว้แล้ว",
-          :invalid => "ไม่ถูกต้อง",
-          :confirmation => "ไม่ตรงกับการยืนยัน",
-          :accepted  => "ต้องอยู่ในรูปแบบที่ยอมรับ",
-          :empty => "ต้องไม้เว้นว่างเอาไว้",
-          :blank => "ต้องไม่เว้นว่างเอาไว้",
-          :too_long => "ยาวเกินไป (ต้องไม่เกิน {{count}} ตัวอักษร)",
-          :too_short => "สั้นเกินไป (ต้องยาวกว่า {{count}} ตัวอักษร)",
-          :wrong_length => "มีความยาวไม่ถูกต้อง (ต้องมีความยาว {{count}} ตัวอักษร)",
-          :taken => "ถูกใช้ไปแล้ว",
-          :not_a_number => "ไม่ใช่ตัวเลข",
-          :greater_than => "ต้องมากกว่า {{count}}",
-          :greater_than_or_equal_to => "ต้องมากกว่าหรือเท่ากับ {{count}}",
-          :equal_to => "ต้องเท่ากับ {{count}}",
-          :less_than => "ต้องน้อยกว่า {{count}}",
-          :less_than_or_equal_to => "ต้องน้อยกว่าหรือเท่ากับ {{count}}",
-          :odd => "ต้องเป็นเลขคี่",
-          :even => "ต้องเป็นเลขคู่"
-        }
+    :decimal_units => {
+      :format => "%n %u",
+      :units => {
+        :unit => "",
+        :thousand => "พัน",
+        :million => "ล้าน",
+        :billion => "พันล้าน",
+        :trillion => "ล้านล้าน",
+        :quadrillion => "พันล้านล้าน"
       }
     }
   }
-} 
+},
+
+:datetime => {
+  :distance_in_words => {
+    :half_a_minute => "ครึ่งนาที",
+    :less_than_x_seconds => "น้อยกว่า %{count} วินาที",
+    :x_seconds => "%{count} วินาที",
+    :less_than_x_minutes => "น้อยกว่า %{count} นาที",
+    :x_minutes => "%{count} นาที",
+    :about_x_hours => "ประมาณ %{count} ชั่วโมง",
+    :x_days => "%{count} วัน",
+    :about_x_months => "ประมาณ %{count} เดือน",
+    :x_months => "%{count} เดือน",
+    :about_x_years => "ประมาณ %{count} ปี",
+    :over_x_years => "มากกว่า %{count} ปี",
+    :almost_x_years => "เกือบ %{count} ปี",
+  },
+  :prompts => {
+    :year =>   "ปี",
+    :month =>  "เดือน",
+    :day =>    "วัน",
+    :hour =>   "ชั่วโมง",
+    :minute => "นาที",
+    :second => "วินาที",
+  }
+},
+
+:helpers => {
+  :select => {
+    :prompt => "โปรดเลือก"
+  },
+
+  :submit => {
+    :create => "สร้าง%{model}",
+    :update => "ปรับปรุง%{model}",
+    :submit => "บันทึก%{model}"
+  }
+},
+
+:errors => {
+  :format => "%{attribute}%{message}",
+  :messages => ThaiLocaleI18n::ERROR_MESSAGES
+},
+
+:activerecord => {
+  :errors => {
+    :template => {
+      :header => "พบข้อผิดพลาด %{count} ประการ ทำให้ไม่สามารถบันทึก%{model}ได้",
+      :body => "โปรดตรวจสอบข้อมูลในช่องต่อไปนี้:"
+    },
+
+    :messages => {
+      :taken => "ถูกใช้ไปแล้ว",
+      :record_invalid => "ไม่ผ่านการตรวจสอบ: %{errors}"
+    }.merge(ThaiLocaleI18n::ERROR_MESSAGES),
+
+    :full_messages => {
+      :format => "%{attribute}%{message}"
+    },
+  }
+}
 
+}}
old mode 100755 (executable)
new mode 100644 (file)
index ccb21e4..18e3341
@@ -17,7 +17,10 @@ tr:
     abbr_day_names: [Pzr, Pzt, Sal, Çrş, Prş, Cum, Cts]
     month_names: [~, Ocak, Şubat, Mart, Nisan, Mayıs, Haziran, Temmuz, Ağustos, Eylül, Ekim, Kasım, Aralık]
     abbr_month_names: [~, Oca, Şub, Mar, Nis, May, Haz, Tem, Ağu, Eyl, Eki, Kas, Ara]
-    order: [ :day, :month, :year ]
+    order:
+      - :day
+      - :month
+      - :year
   
   time:
     formats:
@@ -36,35 +39,38 @@ tr:
       less_than_x_seconds:
         zero: '1 saniyeden az'
         one: '1 saniyeden az'
-        other: '{{count}} saniyeden az'
+        other: '%{count} saniyeden az'
       x_seconds:
         one: '1 saniye'
-        other: '{{count}} saniye'
+        other: '%{count} saniye'
       less_than_x_minutes:
         zero: '1 dakikadan az'
         one: '1 dakikadan az'
-        other: '{{count}} dakikadan az'
+        other: '%{count} dakikadan az'
       x_minutes:
         one: '1 dakika'
-        other: '{{count}} dakika'
+        other: '%{count} dakika'
       about_x_hours:
         one: '1 saat civarında'
-        other: '{{count}} saat civarında'
+        other: '%{count} saat civarında'
       x_days:
         one: '1 gün'
-        other: '{{count}} gün'
+        other: '%{count} gün'
       about_x_months:
         one: '1 ay civarında'
-        other: '{{count}} ay civarında'
+        other: '%{count} ay civarında'
       x_months:
         one: '1 ay'
-        other: '{{count}} ay'
+        other: '%{count} ay'
       about_x_years:
         one: '1 yıl civarında'
-        other: '{{count}} yıl civarında'
+        other: '%{count} yıl civarında'
       over_x_years:
         one: '1 yıldan fazla'
-        other: '{{count}} yıldan fazla'
+        other: '%{count} yıldan fazla'
+      almost_x_years:
+        one:   "neredeyse 1 yıl"
+        other: "neredeyse %{count} yıl"
       
   number:
     format:
@@ -94,36 +100,43 @@ tr:
         precision: 2
 
   support:
+    select:
+      # default value for :prompt => true in FormOptionsHelper
+      prompt: "Lütfen seçiniz"
     array:
       sentence_connector: "ve"
       skip_last_comma: true
+      words_connector: ", "
+      two_words_connector: " ve "
+      last_word_connector: " ve "
         
   activerecord:
     errors:
       template:
         header:
-          one:    "{{model}} girişi kaydedilemedi: 1 hata."
-          other:  "{{model}} girişi kadedilemedi: {{count}} hata."
+          one:    "%{model} girişi kaydedilemedi: 1 hata."
+          other:  "%{model} girişi kadedilemedi: %{count} hata."
         body: "Lütfen aşağıdaki hataları düzeltiniz:"
 
       messages:
         inclusion: "kabul edilen bir kelime değil"
         exclusion: "kullanılamaz"
         invalid: "geçersiz"
-        confirmation: "teyidi uyuşmamakta"
+        confirmation: "teyidiyle uyuşmamakta"
         accepted: "kabul edilmeli"
         empty: "doldurulmalı"
         blank: "doldurulmalı"
-        too_long: "çok uzun (en fazla {{count}} karakter)"
-        too_short: "çok kısa (en az {{count}} karakter)"
-        wrong_length: "yanlış uzunlukta (tam olarak {{count}} karakter olmalı)"
+        too_long: "çok uzun (en fazla %{count} karakter)"
+        too_short: "çok kısa (en az %{count} karakter)"
+        wrong_length: "yanlış uzunlukta (tam olarak %{count} karakter olmalı)"
         taken: "hali hazırda kullanılmakta"
         not_a_number: "geçerli bir sayı değil"
-        greater_than: "{{count}} sayısından büyük olmalı"
-        greater_than_or_equal_to: "{{count}} sayısına eşit veya büyük olmalı"
-        equal_to: "tam olarak {{count}} olmalı"
-        less_than: "{{count}} sayısından küçük olmalı"
-        less_than_or_equal_to: "{{count}} sayısına eşit veya küçük olmalı"
+        greater_than: "%{count} sayısından büyük olmalı"
+        greater_than_or_equal_to: "%{count} sayısına eşit veya büyük olmalı"
+        equal_to: "tam olarak %{count} olmalı"
+        less_than: "%{count} sayısından küçük olmalı"
+        less_than_or_equal_to: "%{count} sayısına eşit veya küçük olmalı"
         odd: "tek olmalı"
         even: "çift olmalı"
+        record_invalid: "Doğrulama başarısız oldu: %{errors}"
       models:
old mode 100755 (executable)
new mode 100644 (file)
index 71ed0bb..c16e7c9
@@ -14,6 +14,8 @@ uk:
       delimiter: " "
       # Number of decimals, behind the separator (the number 1 with a precision of 2 gives: 1.00)
       precision: 3
+      significant: false
+      strip_insignificant_zeros: false
       
     # Used in number_to_currency()
     currency:
@@ -25,6 +27,8 @@ uk:
         separator: ","
         delimiter: " "
         precision: 2
+        significant: false
+        strip_insignificant_zeros: false
         
     # Used in number_to_percentage()
     percentage:
@@ -49,6 +53,9 @@ uk:
         # separator: 
         delimiter: ""
         precision: 1
+        significant: false
+        strip_insignificant_zeros: false
+        
       storage_units:
         # Storage units output formatting.
         # %u is the storage unit, %n is the number (default: 2 MB)
@@ -63,61 +70,97 @@ uk:
           mb: "МБ"
           gb: "ГБ"
           tb: "ТБ"
+          # Rails 3
+      decimal_units:
+        format: "%n %u"
+        units:
+          unit: ""
+          thousand:
+            one: "Тисяча"
+            few: "Тисяч"
+            many: "Тисяч"
+            other: "Тисяч"              
+          million: 
+            one: "Мільйон"
+            few: "Мільйонів"
+            many: "Мільйонів"
+            other: "Мільйонів"
+          billion:
+            one: "Мільярд"
+            few: "Мільярдів"
+            many: "Мільярдів"
+            other: "Мільярдів"
+          trillion:
+            one: "Трильйон"
+            few: "Трильйонів"
+            many: "Трильйонів"
+            other: "Трильйонів"
+          quadrillion:
+            one: "Кквадрильйон"
+            few: "Квадрильйонів"
+            many: "Квадрильйонів"
+            other: "Квадрильйонів"
 
   # Used in distance_of_time_in_words(), distance_of_time_in_words_to_now(), time_ago_in_words()
   datetime:
     distance_in_words:
       half_a_minute: "півхвилини"
       less_than_x_seconds:
-        one:   "менше {{count}} секунди"
-        few:   "менше {{count}} секунд"
-        many:  "менше {{count}} секунд"
-        other: "менше {{count}} секунди"
+        one:   "менше %{count} секунди"
+        few:   "менше %{count} секунд"
+        many:  "менше %{count} секунд"
+        other: "менше %{count} секунди"
       x_seconds:
-        one:   "{{count}} секунда"
-        few:   "{{count}} секунди" 
-        many:  "{{count}} секунд"
-        other: "{{count}} секунди"
+        one:   "%{count} секунда"
+        few:   "%{count} секунди" 
+        many:  "%{count} секунд"
+        other: "%{count} секунди"
       less_than_x_minutes:
-        one:   "менше {{count}} хвилини"
-        few:   "менше {{count}} хвилин"
-        many:  "менше {{count}} хвилин"
-        other: "менше {{count}} хвилини"
+        one:   "менше %{count} хвилини"
+        few:   "менше %{count} хвилин"
+        many:  "менше %{count} хвилин"
+        other: "менше %{count} хвилини"
       x_minutes:
-        one:   "{{count}} хвилина"
-        few:   "{{count}} хвилини"
-        many:  "{{count}} хвилин"
-        other: "{{count}} хвилини"
+        one:   "%{count} хвилина"
+        few:   "%{count} хвилини"
+        many:  "%{count} хвилин"
+        other: "%{count} хвилини"
       about_x_hours:
-        one:   "близько {{count}} година"
-        few:   "близько {{count}} години"
-        many:  "близько {{count}} годин"
-        other: "близько {{count}} години"
+        one:   "близько %{count} година"
+        few:   "близько %{count} години"
+        many:  "близько %{count} годин"
+        other: "близько %{count} години"
       x_days:
-        one:   "{{count}} день"
-        few:   "{{count}} дні"
-        many:  "{{count}} днів"
-        other: "{{count}} дня"
+        one:   "%{count} день"
+        few:   "%{count} дні"
+        many:  "%{count} днів"
+        other: "%{count} дня"
       about_x_months:
-        one:   "близько {{count}} місяця"
-        few:   "близько {{count}} місяців"
-        many:  "близько {{count}} місяців"
-        other: "близько {{count}} місяця"
+        one:   "близько %{count} місяця"
+        few:   "близько %{count} місяців"
+        many:  "близько %{count} місяців"
+        other: "близько %{count} місяця"
       x_months:
-        one:   "{{count}} місяць"
-        few:   "{{count}} місяці"
-        many:  "{{count}} місяців"
-        other: "{{count}} місяця"
+        one:   "%{count} місяць"
+        few:   "%{count} місяці"
+        many:  "%{count} місяців"
+        other: "%{count} місяця"
       about_x_years:
-        one:   "близько {{count}} року"
-        few:   "близько {{count}} років"
-        many:  "близько {{count}} років"
-        other: "близько {{count}} року"
+        one:   "близько %{count} року"
+        few:   "близько %{count} років"
+        many:  "близько %{count} років"
+        other: "близько %{count} року"
       over_x_years:
-        one:   "більше {{count}} року"
-        few:   "більше {{count}} років"
-        many:  "більше {{count}} років"
-        other: "більше {{count}} року"
+        one:   "більше %{count} року"
+        few:   "більше %{count} років"
+        many:  "більше %{count} років"
+        other: "більше %{count} року"
+      almost_x_years:
+        one:   "майже %{count} роки"
+        few:   "майже %{count} років"
+        many:  "майже %{count} років"
+        other: "майже %{count} років"
+        
     prompts:
       year:   "Рік"
       month:  "Місяць"
@@ -125,18 +168,71 @@ uk:
       hour:   "Година"
       minute: "Хвилина"
       second: "Секунда"
+  
+  helpers:
+    select:
+      # Default value for :prompt => true in FormOptionsHelper
+      prompt: "Оберіть: "
+
+    # Default translation keys for submit FormHelper
+    submit:
+      create: 'Створити %{model}'
+      update: 'Зберегти %{model}'
+      submit: 'Зберегти %{model}'
+
+      
+  errors:
+    format: "%{attribute} %{message}"
+    # The values :model, :attribute and :value are always available for interpolation
+    # The value :count is available when applicable. Can be used for pluralization.
+    messages:
+      inclusion: "не включено до переліку"
+      exclusion: "зарезервовано"
+      invalid: "недійсний"
+      confirmation: "не збігається з підтвердженням"
+      accepted: "має бути прийнятий"
+      empty: "не може бути порожнім"
+      blank: "не може бути пустим"
+      too_long: 
+        one:    "занадто довгий (максимум %{count} знак)"
+        few:    "занадто довгий (максимум %{count} знаки)"
+        many:   "занадто довгий (максимум %{count} знаків)"
+        other:  "занадто довгий (максимум %{count} знаку)"
+      too_short:
+        one:    "занадто короткий (мінімум %{count} знак)"
+        few:    "занадто короткий (мінімум %{count} знаки)"
+        many:   "занадто короткий (мінімум %{count} знаків)"
+        other:  "занадто короткий (мінімум %{count} знаку)"
+      wrong_length:
+        one:    "неправильна довжина (має бути %{count} знак)"
+        few:    "неправильна довжина (має бути %{count} знаки)"
+        many:   "неправильна довжина (має бути %{count} знаків)"
+        other:  "неправильна довжина (має бути %{count} знаку)"
+      taken: "вже зайнятий"
+      not_a_number: "не число"
+      not_an_integer: "не э цілим числом"
+      greater_than: "має бути більше ніж %{count}"
+      greater_than_or_equal_to: "має бути більше ніж або дорівнювати %{count}"
+      equal_to: "має дорівнювати %{count}"
+      less_than: "має бути менше ніж %{count}"
+      less_than_or_equal_to: "має бути менше ніж або дорівнювати %{count}"
+      odd: "має бути непарним"
+      even: "має бути парним"
+      record_invalid: "Виникли помилки: %{errors}"
 
   activerecord:
     errors:
       template:
         header:
-          one:    "{{model}} не збережено через {{count}} помилку"
-          few:    "{{model}} не збережено через {{count}} помилки"
-          many:   "{{model}} не збережено через {{count}} помилок"
-          other:  "{{model}} не збережено через {{count}} помилки"
+          one:    "%{model} не збережено через %{count} помилку"
+          few:    "%{model} не збережено через %{count} помилки"
+          many:   "%{model} не збережено через %{count} помилок"
+          other:  "%{model} не збережено через %{count} помилки"
         # The variable :count is also available
         body: "Помилки виявлено в таких полях:"
 
+      full_messages:
+        format: "%{attribute} %{message}"
       # The values :model, :attribute and :value are always available for interpolation
       # The value :count is available when applicable. Can be used for pluralization.
       messages:
@@ -148,57 +244,30 @@ uk:
         empty: "не може бути порожнім"
         blank: "не може бути пустим"
         too_long: 
-          one:    "занадто довгий (максимум {{count}} знак)"
-          few:    "занадто довгий (максимум {{count}} знаки)"
-          many:   "занадто довгий (максимум {{count}} знаків)"
-          other:  "занадто довгий (максимум {{count}} знаку)"
+          one:    "занадто довгий (максимум %{count} знак)"
+          few:    "занадто довгий (максимум %{count} знаки)"
+          many:   "занадто довгий (максимум %{count} знаків)"
+          other:  "занадто довгий (максимум %{count} знаку)"
         too_short:
-          one:    "занадто короткий (мінімум {{count}} знак)"
-          few:    "занадто короткий (мінімум {{count}} знаки)"
-          many:   "занадто короткий (мінімум {{count}} знаків)"
-          other:  "занадто короткий (мінімум {{count}} знаку)"
+          one:    "занадто короткий (мінімум %{count} знак)"
+          few:    "занадто короткий (мінімум %{count} знаки)"
+          many:   "занадто короткий (мінімум %{count} знаків)"
+          other:  "занадто короткий (мінімум %{count} знаку)"
         wrong_length:
-          one:    "неправильна довжина (має бути {{count}} знак)"
-          few:    "неправильна довжина (має бути {{count}} знаки)"
-          many:   "неправильна довжина (має бути {{count}} знаків)"
-          other:  "неправильна довжина (має бути {{count}} знаку)"
+          one:    "неправильна довжина (має бути %{count} знак)"
+          few:    "неправильна довжина (має бути %{count} знаки)"
+          many:   "неправильна довжина (має бути %{count} знаків)"
+          other:  "неправильна довжина (має бути %{count} знаку)"
         taken: "вже зайнятий"
         not_a_number: "не число"
-        greater_than: "має бути більше ніж {{count}}"
-        greater_than_or_equal_to: "має бути більше ніж або дорівнювати {{count}}"
-        equal_to: "має дорівнювати {{count}}"
-        less_than: "має бути менше ніж {{count}}"
-        less_than_or_equal_to: "має бути менше ніж або дорівнювати {{count}}"
+        greater_than: "має бути більше ніж %{count}"
+        greater_than_or_equal_to: "має бути більше ніж або дорівнювати %{count}"
+        equal_to: "має дорівнювати %{count}"
+        less_than: "має бути менше ніж %{count}"
+        less_than_or_equal_to: "має бути менше ніж або дорівнювати %{count}"
         odd: "має бути непарним"
         even: "має бути парним"
-        # Append your own errors here or at the model/attributes scope.
-
-      # You can define own errors for models or model attributes.
-      # The values :model, :attribute and :value are always available for interpolation.
-      #
-      # For example,
-      #   models:
-      #     user:
-      #       blank: "This is a custom blank message for {{model}}: {{attribute}}"
-      #       attributes:
-      #         login:
-      #           blank: "This is a custom blank message for User login"
-      # Will define custom blank validation message for User model and 
-      # custom blank validation message for login attribute of User model.
-      #models:
-        
-    # Translate model names. Used in Model.human_name().
-    #models:
-      # For example,
-      #   user: "Dude"
-      # will translate User model name to "Dude"
-    
-    # Translate model attribute names. Used in Model.human_attribute_name(attribute).
-    #attributes:
-      # For example,
-      #   user:
-      #     login: "Handle"
-      # will translate User attribute "login" as "Handle"
+        record_invalid: "Виникли помилки: %{errors}"
       
   date:
     formats:
@@ -216,7 +285,10 @@ uk:
     month_names: [~, Січень, Лютий, Березень, Квітень, Травень, Червень, Липень, Серпень, Вересень, Жовтень, Листопад, Грудень]
     abbr_month_names: [~, січ., лют., бер., квіт., трав., черв., лип., серп., вер., жовт., лист., груд.]
     # Used in date_select and datime_select.
-    order: [ :day, :month, :year ]
+    order:
+      - :day
+      - :month
+      - :year
 
   time:
     formats:
@@ -228,6 +300,8 @@ uk:
       
   # Used in array.to_sentence.
   support:
+    select:
+      prompt: "Оберіть:"
     array:
       sentence_connector: "і"
       skip_last_comma: true
old mode 100755 (executable)
new mode 100644 (file)
index 89ad76f..aea7e3e
@@ -68,34 +68,34 @@ vi:
       half_a_minute: "30 giây"
       less_than_x_seconds:
         one:   "chưa tới 1 giây"
-        other: "chưa tới {{count}} giây"
+        other: "chưa tới %{count} giây"
       x_seconds:
         one:   "1 giây"
-        other: "{{count}} giây"
+        other: "%{count} giây"
       less_than_x_minutes:
         one:   "chưa tới 1 phút"
-        other: "chưa tới {{count}} phút"
+        other: "chưa tới %{count} phút"
       x_minutes:
         one:   "1 phút"
-        other: "{{count}} phút"
+        other: "%{count} phút"
       about_x_hours:
         one:   "khoảng 1 giờ"
-        other: "khoảng {{count}} giờ"
+        other: "khoảng %{count} giờ"
       x_days:
         one:   "1 ngày"
-        other: "{{count}} ngày"
+        other: "%{count} ngày"
       about_x_months:
         one:   "khoảng 1 tháng"
-        other: "khoảng {{count}} tháng"
+        other: "khoảng %{count} tháng"
       x_months:
         one:   "1 tháng"
-        other: "{{count}} tháng"
+        other: "%{count} tháng"
       about_x_years:
         one:   "khoảng 1 năm"
-        other: "khoảng {{count}} năm"
+        other: "khoảng %{count} năm"
       over_x_years:
         one:   "hơn 1 năm"
-        other: "hơn {{count}} năm"
+        other: "hơn %{count} năm"
     prompts:
       year:   "Năm"
       month:  "Tháng"
@@ -108,8 +108,8 @@ vi:
     errors:
       template:
         header:
-          one:   "1 lỗi ngăn không cho lưu {{model}} này"
-          other: "{{count}} lỗi ngăn không cho lưu {{model}} này"
+          one:   "1 lỗi ngăn không cho lưu %{model} này"
+          other: "%{count} lỗi ngăn không cho lưu %{model} này"
         # The variable :count is also available
         body: "Có lỗi với các mục sau:"
 
@@ -123,16 +123,16 @@ vi:
         accepted: "phải được đồng ý"
         empty: "không thể rỗng"
         blank: "không thể để trắng"
-        too_long: "quá dài (tối đa {{count}} ký tự)"
-        too_short: "quá ngắn (tối thiểu {{count}} ký tự)"
-        wrong_length: "độ dài không đúng (phải là {{count}} ký tự)"
+        too_long: "quá dài (tối đa %{count} ký tự)"
+        too_short: "quá ngắn (tối thiểu %{count} ký tự)"
+        wrong_length: "độ dài không đúng (phải là %{count} ký tự)"
         taken: "đã có"
         not_a_number: "không phải là số"
-        greater_than: "phải lớn hơn {{count}}"
-        greater_than_or_equal_to: "phải lớn hơn hoặc bằng {{count}}"
-        equal_to: "phải bằng {{count}}"
-        less_than: "phải nhỏ hơn {{count}}"
-        less_than_or_equal_to: "phải nhỏ hơn hoặc bằng {{count}}"
+        greater_than: "phải lớn hơn %{count}"
+        greater_than_or_equal_to: "phải lớn hơn hoặc bằng %{count}"
+        equal_to: "phải bằng %{count}"
+        less_than: "phải nhỏ hơn %{count}"
+        less_than_or_equal_to: "phải nhỏ hơn hoặc bằng %{count}"
         odd: "phải là số chẵn"
         even: "phải là số lẻ"
         # Append your own errors here or at the model/attributes scope.
@@ -143,7 +143,7 @@ vi:
       # For example,
       #   models:
       #     user:
-      #       blank: "This is a custom blank message for {{model}}: {{attribute}}"
+      #       blank: "This is a custom blank message for %{model}: %{attribute}"
       #       attributes:
       #         login:
       #           blank: "This is a custom blank message for User login"
@@ -180,7 +180,10 @@ vi:
     month_names: [~, "Tháng một", "Tháng hai", "Tháng ba", "Tháng tư", "Tháng năm", "Tháng sáu", "Tháng bảy", "Tháng tám", "Tháng chín", "Tháng mười", "Tháng mười một", "Tháng mười hai"]
     abbr_month_names: [~, "Tháng một", "Tháng hai", "Tháng ba", "Tháng tư", "Tháng năm", "Tháng sáu", "Tháng bảy", "Tháng tám", "Tháng chín", "Tháng mười", "Tháng mười một", "Tháng mười hai"]
     # Used in date_select and datime_select.
-    order: [ :day, :month, :year ]
+    order:
+      - :day
+      - :month
+      - :year
 
   time:
     formats:
old mode 100755 (executable)
new mode 100644 (file)
index 5944940..f84065e
@@ -1,7 +1,7 @@
-# Chinese (China) translations for Ruby on Rails 
+# Chinese (China) translations for Ruby on Rails
 # by tsechingho (http://github.com/tsechingho)
 
-"zh-CN":
+zh-CN:
   date:
     formats:
       default: "%Y-%m-%d"
     abbr_day_names: [日, 一, 二, 三, 四, 五, 六]
     month_names: [~, 一月, 二月, 三月, 四月, 五月, 六月, 七月, 八月, 九月, 十月, 十一月, 十二月]
     abbr_month_names: [~, 1月, 2月, 3月, 4月, 5月, 6月, 7月, 8月, 9月, 10月, 11月, 12月]
-    order: [ :year, :month, :day ]
-  
+    order:
+      - :year
+      - :month
+      - :day
+
   time:
     formats:
       default: "%Y年%b%d日 %A %H:%M:%S %Z"
       long: "%Y年%b%d日 %H:%M"
     am: "上午"
     pm: "下午"
-  
+
   datetime:
     distance_in_words:
       half_a_minute: "半分钟"
       less_than_x_seconds:
         one: "不到一秒"
-        other: "不到 {{count}} 秒"
+        other: "不到 %{count} 秒"
       x_seconds:
         one: "一秒"
-        other: "{{count}} 秒"
+        other: "%{count} 秒"
       less_than_x_minutes:
         one: "不到一分钟"
-        other: "不到 {{count}} 分钟"
+        other: "不到 %{count} 分钟"
       x_minutes:
         one: "一分钟"
-        other: "{{count}} 分钟"
+        other: "%{count} 分钟"
       about_x_hours:
         one: "大约一小时"
-        other: "大约 {{count}} 小时"
+        other: "大约 %{count} 小时"
       x_days:
         one: "一天"
-        other: "{{count}} 天"
+        other: "%{count} 天"
       about_x_months:
         one: "大约一个月"
-        other: "大约 {{count}} 个月"
+        other: "大约 %{count} 个月"
       x_months:
         one: "一个月"
-        other: "{{count}} 个月"
+        other: "%{count} 个月"
       about_x_years:
         one: "大约一年"
-        other: "大约 {{count}} 年"
+        other: "大约 %{count} 年"
       over_x_years:
         one: "一年多"
-        other: "{{count}} 年多"
+        other: "%{count} 年多"
+      almost_x_years:
+        one:   "接近一年"
+        other: "接近 %{count} 年"
     prompts:
       year:   "年"
       month:  "月"
       hour:   "时"
       minute: "分"
       second: "秒"
-  
+
   number:
     format:
       separator: "."
       delimiter: ","
       precision: 3
+      significant: false
+      strip_insignificant_zeros: false
     currency:
       format:
         format: "%u %n"
@@ -74,6 +82,8 @@
         separator: "."
         delimiter: ","
         precision: 2
+        significant: false
+        strip_insignificant_zeros: false
     percentage:
       format:
         delimiter: ""
@@ -84,6 +94,8 @@
       format:
         delimiter: ""
         precision: 1
+        significant: false
+        strip_insignificant_zeros: false
       storage_units:
         format: "%n %u"
         units:
           mb: "MB"
           gb: "GB"
           tb: "TB"
-  
+      decimal_units:
+        format: "%n %u"
+        units:
+          # 10^-21 zepto, 10^-24 yocto
+          atto: "渺"  # 10^-18
+          femto: "飞" # 10^-15 毫微微
+          pico: "漠"  # 10^-12 微微
+          nano: "奈"  # 10^-9 毫微
+          micro: "微" # 10^-6
+          mili: "毫"  # 10^-3 milli
+          centi: "厘" # 10^-2
+          deci: "分"  # 10^-1
+          unit: ""
+          ten:
+            one: "十"
+            other: "十"  # 10^1
+          hundred: "百"  # 10^2
+          thousand: "千" # 10^3 kilo
+          million: "百万" # 10^6 mega
+          billion: "十亿" # 10^9 giga
+          trillion: "兆" # 10^12 tera
+          quadrillion: "千兆" # 10^15 peta
+          # 10^18 exa, 10^21 zetta, 10^24 yotta
+
   support:
     array:
       words_connector: ", "
       two_words_connector: " 和 "
       last_word_connector: ", 和 "
-  
+    select:
+      prompt: "请选择"
+
   activerecord:
     errors:
-      template:
-        header: 
-          one: "有 1 个错误发生导致「{{model}}」无法被保存。"
-          other: "有 {{count}} 个错误发生导致「{{model}}」无法被保存。"
+      template: # ~ 2.3.5 backward compatible
+        header:
+          one: "有 1 个错误发生导致「%{model}」无法被保存。"
+          other: "有 %{count} 个错误发生导致「%{model}」无法被保存。"
         body: "如下字段出现错误:"
+      full_messages:
+        format: "%{attribute} %{message}"
       messages:
         inclusion: "不包含于列表中"
         exclusion: "是保留关键字"
         accepted: "必须是可被接受的"
         empty: "不能留空"
         blank: "不能为空字符"
-        too_long: "过长(最长为 {{count}} 个字符)"
-        too_short: "過短(最短为 {{count}} 个字符)"
-        wrong_length: "长度非法(必须为 {{count}} 个字符)"
-        taken: "已经被使用"
+        too_long: "过长(最长为 %{count} 个字符)"
+        too_short: "过短(最短为 %{count} 个字符)"
+        wrong_length: "长度非法(必须为 %{count} 个字符)"
         not_a_number: "不是数字"
-        greater_than: "必须大于 {{count}}"
-        greater_than_or_equal_to: "必须大于或等于 {{count}}"
-        equal_to: "必须等于 {{count}}"
-        less_than: "必须小于 {{count}}"
-        less_than_or_equal_to: "必须小于或等于 {{count}}"
+        not_an_integer: "必须是整数"
+        greater_than: "必须大于 %{count}"
+        greater_than_or_equal_to: "必须大于或等于 %{count}"
+        equal_to: "必须等于 %{count}"
+        less_than: "必须小于 %{count}"
+        less_than_or_equal_to: "必须小于或等于 %{count}"
         odd: "必须为单数"
         even: "必须为双数"
-  
+        taken: "已经被使用"
+        record_invalid: "校验失败: %{errors}"
+
+  activemodel:
+    errors:
+      template:
+        header:
+          one: "有 1 个错误发生导致「%{model}」无法被保存。"
+          other: "有 %{count} 个错误发生导致「%{model}」无法被保存。"
+        body: "如下字段出现错误:"
+
+  errors:
+    format: "%{attribute} %{message}"
+    messages:
+      inclusion: "不包含于列表中"
+      exclusion: "是保留关键字"
+      invalid: "是无效的"
+      confirmation: "与确认值不匹配"
+      accepted: "必须是可被接受的"
+      empty: "不能留空"
+      blank: "不能为空字符"
+      too_long: "过长(最长为 %{count} 个字符)"
+      too_short: "过短(最短为 %{count} 个字符)"
+      wrong_length: "长度非法(必须为 %{count} 个字符)"
+      not_a_number: "不是数字"
+      not_an_integer: "必须是整数"
+      greater_than: "必须大于 %{count}"
+      greater_than_or_equal_to: "必须大于或等于 %{count}"
+      equal_to: "必须等于 %{count}"
+      less_than: "必须小于 %{count}"
+      less_than_or_equal_to: "必须小于或等于 %{count}"
+      odd: "必须为单数"
+      even: "必须为双数"
 
-  
\ No newline at end of file
+  helpers:
+    select:
+      prompt: "请选择"
+    submit:
+      create: "新增%{model}"
+      update: "更新%{model}"
+      submit: "储存%{model}"
old mode 100755 (executable)
new mode 100644 (file)
index 41e5b05..8d107ac
@@ -1,7 +1,7 @@
-# Chinese (Taiwan) translations for Ruby on Rails 
+# Chinese (Taiwan) translations for Ruby on Rails
 # by tsechingho (http://github.com/tsechingho)
 
-"zh-TW":
+zh-TW:
   date:
     formats:
       default: "%Y-%m-%d"
     abbr_day_names: [日, 一, 二, 三, 四, 五, 六]
     month_names: [~, 一月, 二月, 三月, 四月, 五月, 六月, 七月, 八月, 九月, 十月, 十一月, 十二月]
     abbr_month_names: [~, 1月, 2月, 3月, 4月, 5月, 6月, 7月, 8月, 9月, 10月, 11月, 12月]
-    order: [ :year, :month, :day ]
-  
+    order:
+      - :year
+      - :month
+      - :day
+
   time:
     formats:
       default: "%Y年%b%d日 %A %H:%M:%S %Z"
       long: "%Y年%b%d日 %H:%M"
     am: "上午"
     pm: "下午"
-  
+
   datetime:
     distance_in_words:
       half_a_minute: "半分鐘"
       less_than_x_seconds:
         one: "不到一秒"
-        other: "不到 {{count}} 秒"
+        other: "不到 %{count} 秒"
       x_seconds:
         one: "一秒"
-        other: "{{count}} 秒"
+        other: "%{count} 秒"
       less_than_x_minutes:
         one: "不到一分鐘"
-        other: "不到 {{count}} 分鐘"
+        other: "不到 %{count} 分鐘"
       x_minutes:
         one: "一分鐘"
-        other: "{{count}} 分鐘"
+        other: "%{count} 分鐘"
       about_x_hours:
         one: "大約一小時"
-        other: "大約 {{count}} 小時"
+        other: "大約 %{count} 小時"
       x_days:
         one: "一天"
-        other: "{{count}} 天"
+        other: "%{count} 天"
       about_x_months:
         one: "大約一個月"
-        other: "大約 {{count}} 個月"
+        other: "大約 %{count} 個月"
       x_months:
         one: "一個月"
-        other: "{{count}} 個月"
+        other: "%{count} 個月"
       about_x_years:
         one: "大約一年"
-        other: "大約 {{count}} 年"
+        other: "大約 %{count} 年"
       over_x_years:
         one: "一年多"
-        other: "{{count}} 年多"
+        other: "%{count} 年多"
+      almost_x_years:
+        one:   "接近一年"
+        other: "接近 %{count} 年"
     prompts:
       year:   "年"
       month:  "月"
       hour:   "時"
       minute: "分"
       second: "秒"
-  
+
   number:
     format:
       separator: "."
       delimiter: ","
       precision: 3
+      significant: false
+      strip_insignificant_zeros: false
     currency:
       format:
         format: "%u %n"
@@ -74,6 +82,8 @@
         separator: "."
         delimiter: ","
         precision: 2
+        significant: false
+        strip_insignificant_zeros: false
     percentage:
       format:
         delimiter: ""
@@ -84,6 +94,8 @@
       format:
         delimiter: ""
         precision: 1
+        significant: false
+        strip_insignificant_zeros: false
       storage_units:
         format: "%n %u"
         units:
           mb: "MB"
           gb: "GB"
           tb: "TB"
-  
+      decimal_units:
+        format: "%n %u"
+        units:
+          # 10^-21 zepto, 10^-24 yocto
+          atto: "渺"  # 10^-18
+          femto: "飛" # 10^-15 毫微微
+          pico: "漠"  # 10^-12 微微
+          nano: "奈"  # 10^-9 毫微
+          micro: "微" # 10^-6
+          mili: "毫"  # 10^-3 milli
+          centi: "厘" # 10^-2
+          deci: "分"  # 10^-1
+          unit: ""
+          ten:
+            one: "十"
+            other: "十"  # 10^1
+          hundred: "百"  # 10^2
+          thousand: "千" # 10^3 kilo
+          million: "百萬" # 10^6 mega
+          billion: "十億" # 10^9 giga
+          trillion: "兆" # 10^12 tera
+          quadrillion: "千兆" # 10^15 peta
+          # 10^18 exa, 10^21 zetta, 10^24 yotta
+
   support:
     array:
       words_connector: ", "
       two_words_connector: " 和 "
       last_word_connector: ", 和 "
-  
+    select:
+      prompt: "請選擇"
+
   activerecord:
     errors:
-      template:
-        header: 
-          one: "有 1 個錯誤發生使得「{{model}}」無法被儲存。"
-          other: "有 {{count}} 個錯誤發生使得「{{model}}」無法被儲存。"
-        body: "下面欄位有問題:"
+      template: # ~ 2.3.5 backward compatible
+        header:
+          one: "有 1 個錯誤發生使得「%{model}」無法被儲存。"
+          other: "有 %{count} 個錯誤發生使得「%{model}」無法被儲存。"
+        body: "以下欄位發生問題:"
+      full_messages:
+        format: "%{attribute} %{message}"
       messages:
         inclusion: "沒有包含在列表中"
-        exclusion: "是被保留的"
+        exclusion: "是被保留的關鍵字"
         invalid: "是無效的"
         confirmation: "不符合確認值"
         accepted: "必須是可被接受的"
         empty: "不能留空"
         blank: "不能是空白字元"
-        too_long: "過長(最長是 {{count}} 個字)"
-        too_short: "過短(最短是 {{count}} 個字)"
-        wrong_length: "字數錯誤(必須是 {{count}} 個字)"
-        taken: "已經被使用"
+        too_long: "過長(最長是 %{count} 個字)"
+        too_short: "過短(最短是 %{count} 個字)"
+        wrong_length: "字數錯誤(必須是 %{count} 個字)"
         not_a_number: "不是數字"
-        greater_than: "必須大於 {{count}}"
-        greater_than_or_equal_to: "必須大於或等於 {{count}}"
-        equal_to: "必須等於 {{count}}"
-        less_than: "必須小於 {{count}}"
-        less_than_or_equal_to: "必須小於或等於 {{count}}"
+        not_an_integer: "必須是整數"
+        greater_than: "必須大於 %{count}"
+        greater_than_or_equal_to: "必須大於或等於 %{count}"
+        equal_to: "必須等於 %{count}"
+        less_than: "必須小於 %{count}"
+        less_than_or_equal_to: "必須小於或等於 %{count}"
         odd: "必須是奇數"
         even: "必須是偶數"
-  
+        taken: "已經被使用"
+        record_invalid: "校驗失敗: %{errors}"
+
+  activemodel:
+    errors:
+      template:
+        header:
+          one: "有 1 個錯誤發生使得「%{model}」無法被儲存。"
+          other: "有 %{count} 個錯誤發生使得「%{model}」無法被儲存。"
+        body: "以下欄位發生問題:"
+
+  errors:
+    format: "%{attribute} %{message}"
+    messages:
+      inclusion: "沒有包含在列表中"
+      exclusion: "是被保留的關鍵字"
+      invalid: "是無效的"
+      confirmation: "不符合確認值"
+      accepted: "必須是可被接受的"
+      empty: "不能留空"
+      blank: "不能是空白字元"
+      too_long: "過長(最長是 %{count} 個字)"
+      too_short: "過短(最短是 %{count} 個字)"
+      wrong_length: "字數錯誤(必須是 %{count} 個字)"
+      not_a_number: "不是數字"
+      not_an_integer: "必須是整數"
+      greater_than: "必須大於 %{count}"
+      greater_than_or_equal_to: "必須大於或等於 %{count}"
+      equal_to: "必須等於 %{count}"
+      less_than: "必須小於 %{count}"
+      less_than_or_equal_to: "必須小於或等於 %{count}"
+      odd: "必須是奇數"
+      even: "必須是偶數"
 
+  helpers:
+    select:
+      prompt: "請選擇"
+    submit:
+      create: "新增%{model}"
+      update: "更新%{model}"
+      submit: "儲存%{model}"