From dd718bef5fdef21a32331ba1f0f76ded04310de3 Mon Sep 17 00:00:00 2001 From: tobozo Date: Thu, 10 Nov 2022 11:13:36 +0100 Subject: [PATCH 1/8] Added support for Teensy 4.1 --- License | 2 +- ReadMe.md | 2 +- examples/test/src/test.cpp | 6 ++-- library.properties | 4 +-- src/ArduinoYaml.cpp | 4 +-- src/ArduinoYaml.hpp | 69 ++++++-------------------------------- src/logger.hpp | 2 +- 7 files changed, 20 insertions(+), 69 deletions(-) diff --git a/License b/License index 4e6e64b..51a2c45 100644 --- a/License +++ b/License @@ -1,6 +1,6 @@ ESP32-yaml ------------------------------------------------------------------------------- -Project Page: https://github.com/tobozo/esp32-yaml +Project Page: https://github.com/tobozo/YAMLDuino Copyright 2022 tobozo http://github.com/tobozo Permission is hereby granted, free of charge, to any person diff --git a/ReadMe.md b/ReadMe.md index 62933b2..3f7e04e 100644 --- a/ReadMe.md +++ b/ReadMe.md @@ -150,7 +150,7 @@ DeserializationError deserializeYml( JsonDocument &dest_doc, const char *src_yam ---------------------------- -## cJSON bindinds +## cJSON bindings cJSON support is implicitely enabled on most platforms, and will use the bundled cJSON version unless ESP32 platform is detected. ESP32 will use the built-in cJSON version from esp-idf instead of the YAMLDuino bundled version. diff --git a/examples/test/src/test.cpp b/examples/test/src/test.cpp index d19f41a..c44792e 100644 --- a/examples/test/src/test.cpp +++ b/examples/test/src/test.cpp @@ -122,10 +122,10 @@ void test_Json2Yaml() { YAML_LOG_n( "[TEST #%d] Json2Yaml serializeYml(stream_in, stream_out, YAMLParser::OUTPUT_YAML using pure libyaml:", test_number++ ); - String yaml_str = String( yaml_sample_str ); - StringStream yaml_stream( yaml_str ); + String json_str = String( json_sample_str ); + StringStream json_stream( json_str ); - serializeYml( yaml_stream, Serial, YAMLParser::OUTPUT_YAML ); + serializeYml( json_stream, Serial, YAMLParser::OUTPUT_YAML ); YAML_LOG_n("Tests complete"); } diff --git a/library.properties b/library.properties index 0e84c61..8dabfb0 100644 --- a/library.properties +++ b/library.properties @@ -1,12 +1,12 @@ name=YAMLDuino -version=1.2.9 +version=1.3.0 author=tobozo maintainer=tobozo sentence=A simple and efficient YAML library for embedded C++ paragraph=ArduinoYaml is syntax friendly with ArduinoJson and cJSON, supports ✔ serialization, ✔ deserialization, ✔ conversion category=Data Processing url=https://github.com/tobozo/YAMLDuino -architectures=esp32,esp8266,samd,rp2040,mbed_rp2040,mbed_nano +architectures=esp32,esp8266,samd,rp2040,mbed_rp2040,mbed_nano,avr includes=ArduinoYaml.h,YAMLDuino.h depends=ArduinoJson license=MIT diff --git a/src/ArduinoYaml.cpp b/src/ArduinoYaml.cpp index 859e620..836ff23 100644 --- a/src/ArduinoYaml.cpp +++ b/src/ArduinoYaml.cpp @@ -1,7 +1,7 @@ /* * * ESP32-yaml - * Project Page: https://github.com/tobozo/esp32-yaml + * Project Page: https://github.com/tobozo/YAMLDuino * * Copyright 2022 tobozo http://github.com/tobozo * @@ -461,7 +461,7 @@ size_t deserialize_YamlDocument( yaml_traverser_t *it ) -// pure libyaml JSON->YAML stream-to-stream seralization +// pure libyaml JSON<->YAML stream-to-stream seralization/deserialization size_t serializeYml( Stream &stream_in, Stream &stream_out, OutputFormat_t output_format ) { YAMLParser* parser = new YAMLParser(); diff --git a/src/ArduinoYaml.hpp b/src/ArduinoYaml.hpp index 6c1fa6b..10f1ba9 100644 --- a/src/ArduinoYaml.hpp +++ b/src/ArduinoYaml.hpp @@ -2,7 +2,7 @@ /* * * ESP32-yaml - * Project Page: https://github.com/tobozo/esp32-yaml + * Project Page: https://github.com/tobozo/YAMLDuino * * Copyright 2022 tobozo http://github.com/tobozo * @@ -38,7 +38,7 @@ extern "C" { //#define YAML_DISABLE_ARDUINOJSON -#if defined ARDUINO_ARCH_SAMD || defined ARDUINO_ARCH_RP2040 || defined ESP8266 || defined ARDUINO_ARCH_AVR +#if defined ARDUINO_ARCH_SAMD || defined ARDUINO_ARCH_RP2040 || defined ESP8266 || defined ARDUINO_ARCH_AVR || defined CORE_TEENSY #include #include #endif @@ -50,7 +50,7 @@ extern "C" { #if !defined YAML_DISABLE_ARDUINOJSON - #if defined ARDUINO_ARCH_SAMD || defined ARDUINO_ARCH_RP2040 || defined ESP8266 || defined ARDUINO_ARCH_AVR + #if defined ARDUINO_ARCH_SAMD || defined ARDUINO_ARCH_RP2040 || defined ESP8266 || defined ARDUINO_ARCH_AVR || defined CORE_TEENSY // those platforms don't have built-in cJSON and __has_include() macro is limited to // the sketch folder, so assume ArduinoJson is in use #include @@ -104,6 +104,9 @@ class YAMLParser // generic node type shared between json and yaml iterators enum JNestingType_t { NONE, SEQ_KEY, MAP_KEY }; + // available output formats + enum OutputFormat_t { OUTPUT_YAML, OUTPUT_JSON, OUTPUT_JSON_PRETTY }; + // wrapper struct passed when recursively parsing yaml_document struct yaml_traverser_t { @@ -113,10 +116,8 @@ class YAMLParser JNestingType_t type; int depth; }; - // output emitter signature, points to serialize or deserialize (defaults to YAML output) + // serializer function pointer typedef size_t (*yaml_doc_processor_cb)( yaml_traverser_t *it ); - // available output formats - enum OutputFormat_t { OUTPUT_YAML, OUTPUT_JSON, OUTPUT_JSON_PRETTY }; // output controls void setOutputFormat( OutputFormat_t format ); @@ -132,11 +133,6 @@ class YAMLParser bool parse( const char* yaml_or_json_str, OutputFormat_t format=OUTPUT_YAML ); bool parse( Stream &yaml_or_json_stream, OutputFormat_t format=OUTPUT_YAML ); - // // explicit JSON exporters - // template - // void toJson( T &yaml, bool pretty = true ) { load( yaml ); toJson( pretty ); } - // void toJson( bool pretty = true ) { parse( pretty ? OUTPUT_JSON_PRETTY : OUTPUT_JSON ); } - // various getters yaml_document_t* getDocument() { return &document; } String getYamlString() { return _yaml_string; } @@ -166,7 +162,7 @@ typedef YAMLParser::yaml_traverser_t yaml_traverser_t; typedef YAMLParser::OutputFormat_t OutputFormat_t; -// Pure libyaml JSON->YAML stream-to-stream seralization +// Pure libyaml JSON <-> YAML stream-to-stream seralization size_t serializeYml( Stream &json_src_stream, Stream &yml_dest_stream, OutputFormat_t format=YAMLParser::OUTPUT_YAML ); @@ -190,20 +186,6 @@ size_t serializeYml( Stream &json_src_stream, Stream &yml_dest_stream, OutputFor ~YAMLToArduinoJson() { if( _doc) delete _doc; } void setJsonDocument( const size_t capacity ) { _doc = new DynamicJsonDocument(capacity); _root = _doc->to(); } JsonObject& getJsonObject() { return _root; } - void toJson() { - yaml_node_t * node; - if( !_doc || _root.isNull() ) { - YAML_LOG_e("No destination JsonObject defined."); - return; - } - // YAML_LOG_i("JsonDocument capacity: %d (%d/%d yaml r/w)", _doc->capacity(), bytesRead(), bytesWritten() ); - // dafuq is that if( a=b, !a ) notation ?? - if (node = yaml_document_get_root_node(getDocument()), !node) { - YAML_LOG_e("No document defined."); - return; - } - deserializeYml_JsonObject(getDocument(), node, _root); - } template DeserializationError toJsonObject( T &src, JsonObject& output ) @@ -234,42 +216,11 @@ size_t serializeYml( Stream &json_src_stream, Stream &yml_dest_stream, OutputFor DeserializationError deserializeYml( JsonDocument &dest_doc, const char *src); - // [templated] Deserialize YAML string to ArduinoJSON Document + // Deserialize YAML string to ArduinoJSON Document DeserializationError deserializeYml( JsonObject &dest_doc, const char* src_yaml_str ); - // [templated] Deserialize YAML stream to ArduinoJSON Document + // Deserialize YAML stream to ArduinoJSON Document DeserializationError deserializeYml( JsonObject &dest_doc, Stream &src_stream ); - - // [templated] Deserialize YAML string to ArduinoJSON object - // DeserializationError deserializeYml( JsonObject &dest_obj, const char* src_yaml_str ); - // [templated] Deserialize YAML stream to ArduinoJSON object - // DeserializationError deserializeYml( JsonObject &dest_obj, Stream &src_stream ); -// template -// DeserializationError deserializeYml( JsonObject &dest_obj, T &src) -// { -// YAMLToArduinoJson *parser = new YAMLToArduinoJson(); -// //JsonObject dest_obj = dest_doc.to(); -// DeserializationError ret = parser->toJsonObject( src, dest_obj ); -// delete parser; -// return ret; -// /* -// -// //static_assert(std::is_same::value || std::is_same::value || std::is_same::value, "src must be const char* or Stream*"); -// YAMLToArduinoJson *parser = new YAMLToArduinoJson(); -// JsonObject _dest_obj = parser->toJson( src ); // decode yaml stream/string -// dest_obj = _dest_obj[ROOT_NODE]; -// size_t capacity = parser->bytesWritten()*2; -// delete parser; -// if( capacity == 0 ) { -// return DeserializationError::InvalidInput; -// } -// if( dest_obj.isNull() ) { -// return DeserializationError::NoMemory; -// } -// return DeserializationError::Ok;*/ -// } - - #endif // HAS_ARDUINOJSON diff --git a/src/logger.hpp b/src/logger.hpp index 25c3a7e..67d248d 100644 --- a/src/logger.hpp +++ b/src/logger.hpp @@ -2,7 +2,7 @@ /* * * ESP32-yaml - * Project Page: https://github.com/tobozo/esp32-yaml + * Project Page: https://github.com/tobozo/YAMLDuino * * Copyright 2022 tobozo http://github.com/tobozo * From 11abfc02f2e67fd804c666e3ae01b47c6a03d0b0 Mon Sep 17 00:00:00 2001 From: tobozo Date: Wed, 14 Dec 2022 22:01:34 +0100 Subject: [PATCH 2/8] Added i18n implementation + example --- examples/i18n/data/lang/af.yml | 213 ++++++++++++++++++++++ examples/i18n/data/lang/ar.yml | 278 +++++++++++++++++++++++++++++ examples/i18n/data/lang/az.yml | 203 +++++++++++++++++++++ examples/i18n/data/lang/be.yml | 269 ++++++++++++++++++++++++++++ examples/i18n/data/lang/bg.yml | 196 ++++++++++++++++++++ examples/i18n/data/lang/bn.yml | 176 ++++++++++++++++++ examples/i18n/data/lang/bs.yml | 248 +++++++++++++++++++++++++ examples/i18n/data/lang/ca.yml | 223 +++++++++++++++++++++++ examples/i18n/data/lang/cs.yml | 218 ++++++++++++++++++++++ examples/i18n/data/lang/da.yml | 221 +++++++++++++++++++++++ examples/i18n/data/lang/de-AT.yml | 222 +++++++++++++++++++++++ examples/i18n/data/lang/de-CH.yml | 222 +++++++++++++++++++++++ examples/i18n/data/lang/de-DE.yml | 222 +++++++++++++++++++++++ examples/i18n/data/lang/de.yml | 225 +++++++++++++++++++++++ examples/i18n/data/lang/dz.yml | 213 ++++++++++++++++++++++ examples/i18n/data/lang/el-CY.yml | 215 ++++++++++++++++++++++ examples/i18n/data/lang/el.yml | 215 ++++++++++++++++++++++ examples/i18n/data/lang/en-AU.yml | 215 ++++++++++++++++++++++ examples/i18n/data/lang/en-CA.yml | 215 ++++++++++++++++++++++ examples/i18n/data/lang/en-CY.yml | 215 ++++++++++++++++++++++ examples/i18n/data/lang/en-GB.yml | 215 ++++++++++++++++++++++ examples/i18n/data/lang/en-IE.yml | 215 ++++++++++++++++++++++ examples/i18n/data/lang/en-IN.yml | 215 ++++++++++++++++++++++ examples/i18n/data/lang/en-NZ.yml | 215 ++++++++++++++++++++++ examples/i18n/data/lang/en-TT.yml | 213 ++++++++++++++++++++++ examples/i18n/data/lang/en-US.yml | 215 ++++++++++++++++++++++ examples/i18n/data/lang/en-ZA.yml | 215 ++++++++++++++++++++++ examples/i18n/data/lang/en.yml | 217 ++++++++++++++++++++++ examples/i18n/data/lang/eo.yml | 198 ++++++++++++++++++++ examples/i18n/data/lang/es-419.yml | 221 +++++++++++++++++++++++ examples/i18n/data/lang/es-AR.yml | 220 +++++++++++++++++++++++ examples/i18n/data/lang/es-CL.yml | 220 +++++++++++++++++++++++ examples/i18n/data/lang/es-CO.yml | 220 +++++++++++++++++++++++ examples/i18n/data/lang/es-CR.yml | 220 +++++++++++++++++++++++ examples/i18n/data/lang/es-EC.yml | 221 +++++++++++++++++++++++ examples/i18n/data/lang/es-ES.yml | 220 +++++++++++++++++++++++ examples/i18n/data/lang/es-MX.yml | 220 +++++++++++++++++++++++ examples/i18n/data/lang/es-NI.yml | 220 +++++++++++++++++++++++ examples/i18n/data/lang/es-PA.yml | 222 +++++++++++++++++++++++ examples/i18n/data/lang/es-PE.yml | 220 +++++++++++++++++++++++ examples/i18n/data/lang/es-US.yml | 220 +++++++++++++++++++++++ examples/i18n/data/lang/es-VE.yml | 220 +++++++++++++++++++++++ examples/i18n/data/lang/es.yml | 220 +++++++++++++++++++++++ examples/i18n/data/lang/et.yml | 207 +++++++++++++++++++++ examples/i18n/data/lang/eu.yml | 210 ++++++++++++++++++++++ examples/i18n/data/lang/fa.yml | 207 +++++++++++++++++++++ examples/i18n/data/lang/fi.yml | 211 ++++++++++++++++++++++ examples/i18n/data/lang/fr-CA.yml | 221 +++++++++++++++++++++++ examples/i18n/data/lang/fr-CH.yml | 221 +++++++++++++++++++++++ examples/i18n/data/lang/fr-FR.yml | 221 +++++++++++++++++++++++ examples/i18n/data/lang/fr.yml | 221 +++++++++++++++++++++++ examples/i18n/data/lang/fy.yml | 215 ++++++++++++++++++++++ examples/i18n/data/lang/gl.yml | 172 ++++++++++++++++++ examples/i18n/data/lang/he.yml | 198 ++++++++++++++++++++ examples/i18n/data/lang/hi-IN.yml | 196 ++++++++++++++++++++ examples/i18n/data/lang/hi.yml | 196 ++++++++++++++++++++ examples/i18n/data/lang/hr.yml | 249 ++++++++++++++++++++++++++ examples/i18n/data/lang/hu.yml | 196 ++++++++++++++++++++ examples/i18n/data/lang/id.yml | 213 ++++++++++++++++++++++ examples/i18n/data/lang/is.yml | 216 ++++++++++++++++++++++ examples/i18n/data/lang/it-CH.yml | 215 ++++++++++++++++++++++ examples/i18n/data/lang/it.yml | 215 ++++++++++++++++++++++ examples/i18n/data/lang/ja.yml | 183 +++++++++++++++++++ examples/i18n/data/lang/ka.yml | 210 ++++++++++++++++++++++ examples/i18n/data/lang/kk.yml | 225 +++++++++++++++++++++++ examples/i18n/data/lang/km.yml | 167 +++++++++++++++++ examples/i18n/data/lang/kn.yml | 196 ++++++++++++++++++++ examples/i18n/data/lang/ko.yml | 179 +++++++++++++++++++ examples/i18n/data/lang/lb.yml | 212 ++++++++++++++++++++++ examples/i18n/data/lang/lo.yml | 166 +++++++++++++++++ examples/i18n/data/lang/lt.yml | 221 +++++++++++++++++++++++ examples/i18n/data/lang/lv.yml | 244 +++++++++++++++++++++++++ examples/i18n/data/lang/mg.yml | 219 +++++++++++++++++++++++ examples/i18n/data/lang/mk.yml | 202 +++++++++++++++++++++ examples/i18n/data/lang/ml.yml | 210 ++++++++++++++++++++++ examples/i18n/data/lang/mn.yml | 202 +++++++++++++++++++++ examples/i18n/data/lang/mr-IN.yml | 207 +++++++++++++++++++++ examples/i18n/data/lang/ms.yml | 202 +++++++++++++++++++++ examples/i18n/data/lang/nb.yml | 221 +++++++++++++++++++++++ examples/i18n/data/lang/ne.yml | 205 +++++++++++++++++++++ examples/i18n/data/lang/nl.yml | 213 ++++++++++++++++++++++ examples/i18n/data/lang/nn.yml | 208 +++++++++++++++++++++ examples/i18n/data/lang/oc.yml | 212 ++++++++++++++++++++++ examples/i18n/data/lang/or.yml | 196 ++++++++++++++++++++ examples/i18n/data/lang/pa.yml | 208 +++++++++++++++++++++ examples/i18n/data/lang/pap-AW.yml | 215 ++++++++++++++++++++++ examples/i18n/data/lang/pap-CW.yml | 215 ++++++++++++++++++++++ examples/i18n/data/lang/pl.yml | 241 +++++++++++++++++++++++++ examples/i18n/data/lang/pt-BR.yml | 223 +++++++++++++++++++++++ examples/i18n/data/lang/pt.yml | 217 ++++++++++++++++++++++ examples/i18n/data/lang/rm.yml | 224 +++++++++++++++++++++++ examples/i18n/data/lang/ro.yml | 209 ++++++++++++++++++++++ examples/i18n/data/lang/ru.yml | 269 ++++++++++++++++++++++++++++ examples/i18n/data/lang/sc.yml | 223 +++++++++++++++++++++++ examples/i18n/data/lang/sk.yml | 212 ++++++++++++++++++++++ examples/i18n/data/lang/sl.yml | 209 ++++++++++++++++++++++ examples/i18n/data/lang/sq.yml | 216 ++++++++++++++++++++++ examples/i18n/data/lang/sr.yml | 242 +++++++++++++++++++++++++ examples/i18n/data/lang/st.yml | 215 ++++++++++++++++++++++ examples/i18n/data/lang/sv-FI.yml | 207 +++++++++++++++++++++ examples/i18n/data/lang/sv-SE.yml | 210 ++++++++++++++++++++++ examples/i18n/data/lang/sv.yml | 210 ++++++++++++++++++++++ examples/i18n/data/lang/sw.yml | 194 ++++++++++++++++++++ examples/i18n/data/lang/ta.yml | 208 +++++++++++++++++++++ examples/i18n/data/lang/te.yml | 213 ++++++++++++++++++++++ examples/i18n/data/lang/th.yml | 170 ++++++++++++++++++ examples/i18n/data/lang/tl.yml | 202 +++++++++++++++++++++ examples/i18n/data/lang/tr.yml | 213 ++++++++++++++++++++++ examples/i18n/data/lang/tt.yml | 218 ++++++++++++++++++++++ examples/i18n/data/lang/ug.yml | 207 +++++++++++++++++++++ examples/i18n/data/lang/uk.yml | 266 +++++++++++++++++++++++++++ examples/i18n/data/lang/ur.yml | 210 ++++++++++++++++++++++ examples/i18n/data/lang/uz.yml | 254 ++++++++++++++++++++++++++ examples/i18n/data/lang/vi.yml | 179 +++++++++++++++++++ examples/i18n/data/lang/wo.yml | 208 +++++++++++++++++++++ examples/i18n/data/lang/zh-CN.yml | 181 +++++++++++++++++++ examples/i18n/data/lang/zh-HK.yml | 181 +++++++++++++++++++ examples/i18n/data/lang/zh-TW.yml | 181 +++++++++++++++++++ examples/i18n/data/lang/zh-YUE.yml | 181 +++++++++++++++++++ examples/i18n/i18n.ino | 35 ++++ src/i18n/i18n.cpp | 249 ++++++++++++++++++++++++++ src/i18n/i18n.hpp | 87 +++++++++ 122 files changed, 25728 insertions(+) create mode 100644 examples/i18n/data/lang/af.yml create mode 100644 examples/i18n/data/lang/ar.yml create mode 100644 examples/i18n/data/lang/az.yml create mode 100644 examples/i18n/data/lang/be.yml create mode 100644 examples/i18n/data/lang/bg.yml create mode 100644 examples/i18n/data/lang/bn.yml create mode 100644 examples/i18n/data/lang/bs.yml create mode 100644 examples/i18n/data/lang/ca.yml create mode 100644 examples/i18n/data/lang/cs.yml create mode 100644 examples/i18n/data/lang/da.yml create mode 100644 examples/i18n/data/lang/de-AT.yml create mode 100644 examples/i18n/data/lang/de-CH.yml create mode 100644 examples/i18n/data/lang/de-DE.yml create mode 100644 examples/i18n/data/lang/de.yml create mode 100644 examples/i18n/data/lang/dz.yml create mode 100644 examples/i18n/data/lang/el-CY.yml create mode 100644 examples/i18n/data/lang/el.yml create mode 100644 examples/i18n/data/lang/en-AU.yml create mode 100644 examples/i18n/data/lang/en-CA.yml create mode 100644 examples/i18n/data/lang/en-CY.yml create mode 100644 examples/i18n/data/lang/en-GB.yml create mode 100644 examples/i18n/data/lang/en-IE.yml create mode 100644 examples/i18n/data/lang/en-IN.yml create mode 100644 examples/i18n/data/lang/en-NZ.yml create mode 100644 examples/i18n/data/lang/en-TT.yml create mode 100644 examples/i18n/data/lang/en-US.yml create mode 100644 examples/i18n/data/lang/en-ZA.yml create mode 100644 examples/i18n/data/lang/en.yml create mode 100644 examples/i18n/data/lang/eo.yml create mode 100644 examples/i18n/data/lang/es-419.yml create mode 100644 examples/i18n/data/lang/es-AR.yml create mode 100644 examples/i18n/data/lang/es-CL.yml create mode 100644 examples/i18n/data/lang/es-CO.yml create mode 100644 examples/i18n/data/lang/es-CR.yml create mode 100644 examples/i18n/data/lang/es-EC.yml create mode 100644 examples/i18n/data/lang/es-ES.yml create mode 100644 examples/i18n/data/lang/es-MX.yml create mode 100644 examples/i18n/data/lang/es-NI.yml create mode 100644 examples/i18n/data/lang/es-PA.yml create mode 100644 examples/i18n/data/lang/es-PE.yml create mode 100644 examples/i18n/data/lang/es-US.yml create mode 100644 examples/i18n/data/lang/es-VE.yml create mode 100644 examples/i18n/data/lang/es.yml create mode 100644 examples/i18n/data/lang/et.yml create mode 100644 examples/i18n/data/lang/eu.yml create mode 100644 examples/i18n/data/lang/fa.yml create mode 100644 examples/i18n/data/lang/fi.yml create mode 100644 examples/i18n/data/lang/fr-CA.yml create mode 100644 examples/i18n/data/lang/fr-CH.yml create mode 100644 examples/i18n/data/lang/fr-FR.yml create mode 100644 examples/i18n/data/lang/fr.yml create mode 100644 examples/i18n/data/lang/fy.yml create mode 100644 examples/i18n/data/lang/gl.yml create mode 100644 examples/i18n/data/lang/he.yml create mode 100644 examples/i18n/data/lang/hi-IN.yml create mode 100644 examples/i18n/data/lang/hi.yml create mode 100644 examples/i18n/data/lang/hr.yml create mode 100644 examples/i18n/data/lang/hu.yml create mode 100644 examples/i18n/data/lang/id.yml create mode 100644 examples/i18n/data/lang/is.yml create mode 100644 examples/i18n/data/lang/it-CH.yml create mode 100644 examples/i18n/data/lang/it.yml create mode 100644 examples/i18n/data/lang/ja.yml create mode 100644 examples/i18n/data/lang/ka.yml create mode 100644 examples/i18n/data/lang/kk.yml create mode 100644 examples/i18n/data/lang/km.yml create mode 100644 examples/i18n/data/lang/kn.yml create mode 100644 examples/i18n/data/lang/ko.yml create mode 100644 examples/i18n/data/lang/lb.yml create mode 100644 examples/i18n/data/lang/lo.yml create mode 100644 examples/i18n/data/lang/lt.yml create mode 100644 examples/i18n/data/lang/lv.yml create mode 100644 examples/i18n/data/lang/mg.yml create mode 100644 examples/i18n/data/lang/mk.yml create mode 100644 examples/i18n/data/lang/ml.yml create mode 100644 examples/i18n/data/lang/mn.yml create mode 100644 examples/i18n/data/lang/mr-IN.yml create mode 100644 examples/i18n/data/lang/ms.yml create mode 100644 examples/i18n/data/lang/nb.yml create mode 100644 examples/i18n/data/lang/ne.yml create mode 100644 examples/i18n/data/lang/nl.yml create mode 100644 examples/i18n/data/lang/nn.yml create mode 100644 examples/i18n/data/lang/oc.yml create mode 100644 examples/i18n/data/lang/or.yml create mode 100644 examples/i18n/data/lang/pa.yml create mode 100644 examples/i18n/data/lang/pap-AW.yml create mode 100644 examples/i18n/data/lang/pap-CW.yml create mode 100644 examples/i18n/data/lang/pl.yml create mode 100644 examples/i18n/data/lang/pt-BR.yml create mode 100644 examples/i18n/data/lang/pt.yml create mode 100644 examples/i18n/data/lang/rm.yml create mode 100644 examples/i18n/data/lang/ro.yml create mode 100644 examples/i18n/data/lang/ru.yml create mode 100644 examples/i18n/data/lang/sc.yml create mode 100644 examples/i18n/data/lang/sk.yml create mode 100644 examples/i18n/data/lang/sl.yml create mode 100644 examples/i18n/data/lang/sq.yml create mode 100644 examples/i18n/data/lang/sr.yml create mode 100644 examples/i18n/data/lang/st.yml create mode 100644 examples/i18n/data/lang/sv-FI.yml create mode 100644 examples/i18n/data/lang/sv-SE.yml create mode 100644 examples/i18n/data/lang/sv.yml create mode 100644 examples/i18n/data/lang/sw.yml create mode 100644 examples/i18n/data/lang/ta.yml create mode 100644 examples/i18n/data/lang/te.yml create mode 100644 examples/i18n/data/lang/th.yml create mode 100644 examples/i18n/data/lang/tl.yml create mode 100644 examples/i18n/data/lang/tr.yml create mode 100644 examples/i18n/data/lang/tt.yml create mode 100644 examples/i18n/data/lang/ug.yml create mode 100644 examples/i18n/data/lang/uk.yml create mode 100644 examples/i18n/data/lang/ur.yml create mode 100644 examples/i18n/data/lang/uz.yml create mode 100644 examples/i18n/data/lang/vi.yml create mode 100644 examples/i18n/data/lang/wo.yml create mode 100644 examples/i18n/data/lang/zh-CN.yml create mode 100644 examples/i18n/data/lang/zh-HK.yml create mode 100644 examples/i18n/data/lang/zh-TW.yml create mode 100644 examples/i18n/data/lang/zh-YUE.yml create mode 100644 examples/i18n/i18n.ino create mode 100644 src/i18n/i18n.cpp create mode 100644 src/i18n/i18n.hpp diff --git a/examples/i18n/data/lang/af.yml b/examples/i18n/data/lang/af.yml new file mode 100644 index 0000000..afa5140 --- /dev/null +++ b/examples/i18n/data/lang/af.yml @@ -0,0 +1,213 @@ +--- +af: + activerecord: + errors: + messages: + record_invalid: 'Validering het misluk: %{errors}' + restrict_dependent_destroy: + has_one: Kan rekord nie skrap nie omdat 'n afhanklike %{record} bestaan + has_many: Kan rekord nie skrap nie omdat afhanklike %{record} bestaan + date: + abbr_day_names: + - Son + - Maan + - Dins + - Woe + - Don + - Vry + - Sat + abbr_month_names: + - + - Jan + - Feb + - Mar + - Apr + - Mei + - Jun + - Jul + - Aug + - Sep + - Okt + - Nov + - Des + day_names: + - Sondag + - Maandag + - Dinsdag + - Woensdag + - Donderdag + - Vrydag + - Saterdag + formats: + default: "%Y-%m-%d" + long: "%d %B %Y" + short: "%d %b" + month_names: + - + - Januarie + - Februarie + - Maart + - April + - Mai + - Junie + - Julie + - Augustus + - September + - Oktober + - November + - Desember + order: + - :year + - :month + - :day + datetime: + distance_in_words: + about_x_hours: + one: ongeveer %{count} uur + other: ongeveer %{count} ure + about_x_months: + one: ongeveer %{count} maand + other: ongeveer %{count} maande + about_x_years: + one: ongeveer %{count} jaar + other: ongeveer %{count} jaar + almost_x_years: + one: sowat %{count} jaar + other: sowat %{count} jaar + half_a_minute: halfminuut + less_than_x_seconds: + one: minder as %{count} sekonde + other: minder as %{count} sekondes + less_than_x_minutes: + one: minder as %{count} minuut + other: minder as %{count} minute + over_x_years: + one: meer as %{count} jaar + other: meer as %{count} jaar + x_seconds: + one: "%{count} sekonde" + other: "%{count} sekondes" + x_minutes: + one: "%{count} minuut" + other: "%{count} minute" + x_days: + one: "%{count} dag" + other: "%{count} days" + x_months: + one: "%{count} maand" + other: "%{count} maande" + x_years: + one: "%{count} jaar" + other: "%{count} jare" + prompts: + second: Sekondes + minute: Minuut + hour: Uur + day: Dag + month: Maand + year: Jaar + errors: + format: "%{attribute} %{message}" + messages: + accepted: moet aanvaar word + blank: mag nie leeg wees nie + confirmation: pas nie by bevestiging nie + empty: mag nie leeg wees nie + equal_to: moet gelyk wees aan %{count} + even: moet ewe wees + exclusion: is bespreek + greater_than: moet meer wees as %{count} + greater_than_or_equal_to: moet meer of gelykstaande wees aan %{count} + inclusion: is nie by die lys ingesluit nie + invalid: is ongeldig + less_than: moet minder wees as %{count} + less_than_or_equal_to: moet minder of gelykstaande wees aan %{count} + model_invalid: 'Validering het misluk: %{errors}' + not_a_number: is nie 'n getal nie + not_an_integer: moet 'n heelgetal wees + odd: moet onewe wees + other_than: moet anders wees as %{count} + present: moet leeg wees + required: moet bestaan + taken: is reeds geneem + too_long: + one: is te lank (maksimum is %{count} karakter) + other: is te lank (maksimum is %{count} karakters) + too_short: + one: is te kort (minimum is %{count} karakter) + other: is te kort (minimum is %{count} karakters) + wrong_length: + one: is die verkeerde lengte (moet %{count} karakter wees) + other: is die verkeerde lengte (moet %{count} karakters wees) + template: + body: 'There were problems with the following fields:' + header: + one: "%{count} fout het verhoed dat hierdie %{model} gestoor kon word" + other: "%{count} foute het verhoed dat hierdie %{model} gestoor kon word" + helpers: + select: + prompt: Kies asseblief + submit: + create: Skep %{model} + submit: Stoor %{model} + update: Dateer %{model} op + number: + currency: + format: + delimiter: "," + format: "%u%n" + precision: 2 + separator: "." + significant: false + strip_insignificant_zeros: false + unit: R + format: + delimiter: "," + precision: 3 + separator: "." + significant: false + strip_insignificant_zeros: false + human: + decimal_units: + format: "%n %u" + units: + billion: miljard + million: miljoen + quadrillion: biljard + thousand: duisend + trillion: biljoen + unit: '' + format: + delimiter: '' + precision: 3 + significant: true + strip_insignificant_zeros: true + storage_units: + format: "%n %u" + units: + byte: + one: Greep + other: Grepe + gb: GG + kb: kG + mb: MG + tb: TG + percentage: + format: + delimiter: '' + format: "%n%" + precision: + format: + delimiter: '' + support: + array: + last_word_connector: ", en " + two_words_connector: " en " + words_connector: ", " + time: + am: vm + formats: + default: "%a, %d %b %Y %H:%M:%S %z" + long: "%d %B %Y %H:%M" + short: "%d %b %H:%M" + pm: nm diff --git a/examples/i18n/data/lang/ar.yml b/examples/i18n/data/lang/ar.yml new file mode 100644 index 0000000..e70cc6d --- /dev/null +++ b/examples/i18n/data/lang/ar.yml @@ -0,0 +1,278 @@ +--- +ar: + activerecord: + errors: + messages: + record_invalid: 'فشل التحقّق من: %{errors}' + restrict_dependent_destroy: + has_one: لا يمكن حذف السجل لوجود سجل يعتمد عليه %{record} + has_many: لا يمكن حذف السجل لوجود سجلات تعتمد عليه %{record} + date: + abbr_day_names: + - الأحد + - الإثنين + - الثّلاثاء + - الأربعاء + - الخميس + - الجمعة + - السّبت + abbr_month_names: + - + - يناير + - فبراير + - مارس + - أبريل + - مايو + - يونيو + - يوليو + - أغسطس + - سبتمبر + - أكتوبر + - نوفمبر + - ديسمبر + day_names: + - الأحد + - الإثنين + - الثّلاثاء + - الأربعاء + - الخميس + - الجمعة + - السّبت + formats: + default: "%d-%m-%Y" + long: "%e %B، %Y" + short: "%e %b" + month_names: + - + - يناير + - فبراير + - مارس + - أبريل + - مايو + - يونيو + - يوليو + - أغسطس + - سبتمبر + - أكتوبر + - نوفمبر + - ديسمبر + order: + - :day + - :month + - :year + datetime: + distance_in_words: + about_x_hours: + zero: حوالي صفر ساعات + one: حوالي ساعة واحدة + two: حوالي ساعتان + few: حوالي %{count} ساعات + many: حوالي %{count} ساعة + other: حوالي %{count} ساعة + about_x_months: + zero: حوالي صفر أشهر + one: حوالي شهر واحد + two: حوالي شهران + few: حوالي %{count} أشهر + many: حوالي %{count} شهر + other: حوالي %{count} شهر + about_x_years: + zero: حوالي صفر سنوات + one: حوالي سنة + two: حوالي سنتان + few: حوالي %{count} سنوات + many: حوالي %{count} سنة + other: حوالي %{count} سنة + almost_x_years: + zero: ما يقرب من صفر سنوات + one: تقريبا سنة واحدة + two: ما يقرب من سنتين + few: ما يقرب من %{count} سنوات + many: ما يقرب من %{count} سنة + other: ما يقرب من %{count} سنة + half_a_minute: نصف دقيقة + less_than_x_seconds: + zero: أقل من صفر ثواني + one: أقل من ثانية + two: أقل من ثانيتان + few: أقل من %{count} ثوان + many: أقل من %{count} ثانية + other: أقل من %{count} ثانية + less_than_x_minutes: + zero: أقل من صفر دقائق + one: أقل من دقيقة + two: أقل من دقيقتان + few: أقل من %{count} دقائق + many: أقل من %{count} دقيقة + other: أقل من %{count} دقيقة + over_x_years: + zero: أكثر من صفر سنوات + one: أكثر من سنة + two: أكثر من سنتين + few: أكثر من %{count} سنوات + many: أكثر من %{count} سنة + other: أكثر من %{count} سنة + x_seconds: + zero: صفر ثواني + one: ثانية واحدة + two: ثانيتان + few: "%{count} ثوان" + many: "%{count} ثانية" + other: "%{count} ثانية" + x_minutes: + zero: صفر دقائق + one: دقيقة واحدة + two: دقيقتان + few: "%{count} دقائق" + many: "%{count} دقيقة" + other: "%{count} دقيقة" + x_days: + zero: صفر أيام + one: يوم واحد + two: يومان + few: "%{count} أيام" + many: "%{count} يوم" + other: "%{count} يوم" + x_months: + zero: صفر أشهر + one: شهر واحد + two: شهران + few: "%{count} أشهر" + many: "%{count} شهر" + other: "%{count} شهر" + prompts: + second: ثانية + minute: دقيقة + hour: ساعة + day: اليوم + month: الشهر + year: السنة + errors: + format: "%{message}" + messages: + accepted: يجب أن تقبل %{attribute} + blank: لا يمكن أن يكون محتوى %{attribute} فارغاً + confirmation: محتوى %{attribute} لا يتوافق مع %{attribute} + empty: لا يمكن أن يكون محتوى %{attribute} فارغاً + equal_to: يجب أن يساوي طول %{attribute} %{count} + even: يجب أن يكون عدد %{attribute} زوجياً + exclusion: حقل %{attribute} محجوز + greater_than: يجب أن يكون عدد %{attribute} أكبر من %{count} + greater_than_or_equal_to: يجب أن يكون عدد %{attribute} أكبر أو يساوي %{count} + inclusion: "%{attribute} غير وارد في القائمة" + invalid: محتوى %{attribute} غير صالح + less_than: يجب أن يكون عدد %{attribute} أصغر من %{count} + less_than_or_equal_to: يجب أن يكون عدد %{attribute} أصغر أو يساوي %{count} + not_a_number: يجب أن يكون محتوى %{attribute} رقماً + not_an_integer: يجب أن يكون عدد %{attribute} عدد صحيحاً + odd: يجب أن يكون عدد %{attribute} عدداً فردياً + other_than: + zero: طول %{attribute} يجب ألاّ يكون صفر حرف + one: طول %{attribute} يجب ألاّ يكون حرفاً واحداً + two: طول %{attribute} يجب ألاّ يكون حرفان + few: طول %{attribute} يجب ألاّ يكون %{count} أحرف + many: طول %{attribute} يجب ألاّ يكون %{count} حرفاً + other: طول %{attribute} يجب ألاّ يكون %{count} حرفاً + present: يجب ترك حقل %{attribute} فارغاً + taken: حقل %{attribute} محجوز مسبقاً + too_long: + zero: محتوى %{attribute} أطول من اللّازم (الحد الأقصى هو ولا حرف) + one: محتوى %{attribute} أطول من اللّازم (الحد الأقصى هو حرف واحد) + two: محتوى %{attribute} أطول من اللّازم (الحد الأقصى هو حرفان) + few: محتوى %{attribute} أطول من اللّازم (الحد الأقصى هو %{count} حروف) + many: محتوى %{attribute} أطول من اللّازم (الحد الأقصى هو %{count} حرف) + other: محتوى %{attribute} أطول من اللّازم (الحد الأقصى هو %{count} حرف) + too_short: + zero: محتوى %{attribute} أقصر من اللّازم (الحد الأدنى هو ولا حرف) + one: محتوى %{attribute} أقصر من اللّازم (الحد الأدنى هو حرف واحد) + two: محتوى %{attribute} أقصر من اللّازم (الحد الأدنى هو حرفان) + few: محتوى %{attribute} أقصر من اللّازم (الحد الأدنى هو %{count} حروف) + many: محتوى %{attribute} أقصر من اللّازم (الحد الأدنى هو %{count} حرف) + other: محتوى %{attribute} أقصر من اللّازم (الحد الأدنى هو %{count} حرف) + wrong_length: + zero: طول %{attribute} غير مطابق للحد المطلوب (يجب أن يكون ولا حرف) + one: طول %{attribute} غير مطابق للحد المطلوب (يجب أن يكون حرف واحد) + two: طول %{attribute} غير مطابق للحد المطلوب (يجب أن يكون حرفان) + few: طول %{attribute} غير مطابق للحد المطلوب (يجب أن يكون %{count} أحرف) + many: طول %{attribute} غير مطابق للحد المطلوب (يجب أن يكون %{count} حرف) + other: طول %{attribute} غير مطابق للحد المطلوب (يجب أن يكون %{count} حرف) + template: + body: يُرجى التحقّق من الحقول التّالية:%{attribute} + header: + zero: ليس بالامكان حفظ %{model} لسبب ولا خطأ. + one: ليس بالامكان حفظ %{model} لسبب وجود خطأ واحد. + two: ليس بالامكان حفظ %{model} لسبب وجود خطئان. + few: ليس بالامكان حفظ %{model} لسبب وجود %{count} أخطاء. + many: ليس بالامكان حفظ %{model} لسبب وجود %{count} خطأ. + other: ليس بالامكان حفظ %{model} لسبب وجود %{count} خطأ. + helpers: + select: + prompt: يُرجى الاختيار + submit: + create: "%{model} إنشاء" + submit: "%{model} حِفظ" + update: "%{model} تحديث" + number: + currency: + format: + delimiter: "," + format: "%u %n" + precision: 3 + separator: "." + significant: false + strip_insignificant_zeros: false + unit: "KWD" + format: + delimiter: "," + precision: 3 + separator: "." + significant: false + strip_insignificant_zeros: false + human: + decimal_units: + format: "%n %u" + units: + billion: مليار + million: مليون + quadrillion: كدريليون + thousand: ألفّ + trillion: تريليون + unit: '' + format: + delimiter: '' + precision: 3 + significant: true + strip_insignificant_zeros: true + storage_units: + format: "%n %u" + units: + byte: + zero: Bytes + one: Byte + two: Bytes + few: Bytes + many: Bytes + other: Bytes + gb: GB + kb: KB + mb: MB + tb: TB + percentage: + format: + delimiter: '' + format: "%n%" + precision: + format: + delimiter: '' + support: + array: + last_word_connector: " و " + two_words_connector: " و " + words_connector: " ، " + time: + am: صباحًا + formats: + default: "%a %d %b %Y %H:%M:%S %Z" + long: "%d %B %Y %H:%M" + short: "%d %b %H:%M" + pm: مساءً diff --git a/examples/i18n/data/lang/az.yml b/examples/i18n/data/lang/az.yml new file mode 100644 index 0000000..b9cccff --- /dev/null +++ b/examples/i18n/data/lang/az.yml @@ -0,0 +1,203 @@ +--- +az: + activerecord: + errors: + messages: + record_invalid: 'Yoxlama uğursuz oldu: %{errors}' + restrict_dependent_destroy: + has_one: Əlaqəli %{record} yazı olduğundan bu yazını silmək mümkün deyil + has_many: Əlaqəli %{record} yazılar olduğundan bu yazını silmək mümkün deyil + date: + abbr_day_names: + - B. + - B.E. + - Ç.A. + - Ç. + - C.A. + - C. + - Ş. + abbr_month_names: + - + - Yan + - Fev + - Mar + - Apr + - May + - İyn + - İyl + - Avq + - Sen + - Okt + - Noy + - Dek + day_names: + - Bazar + - Bazar ertəsi + - Çərşənbə axşamı + - Çərşənbə + - Cümə axşamı + - Cümə + - Şənbə + formats: + default: "%d.%m.%Y" + long: "%d %B %Y" + short: "%d %b" + month_names: + - + - Yanvar + - Fevral + - Mart + - Aprel + - May + - İyun + - İyul + - Avqust + - Sentyabr + - Oktyabr + - Noyabr + - Dekabr + order: + - :day + - :month + - :year + datetime: + distance_in_words: + about_x_hours: + one: təxminən %{count} saat + other: təxminən %{count} saat + about_x_months: + one: təxminən %{count} ay + other: təxminən %{count} ay + about_x_years: + one: təxminən %{count} il + other: təxminən %{count} il + almost_x_years: + one: təqribən %{count} il + other: təqribən %{count} il + half_a_minute: yarım dəqiqə + less_than_x_seconds: + one: "%{count} saniyədən az" + other: "%{count} saniyədən az" + less_than_x_minutes: + one: "%{count} dəqiqədən az" + other: "%{count} dəqiqədən az" + over_x_years: + one: "%{count} ildən çox" + other: "%{count} ildən çox" + x_seconds: + one: "%{count} saniyə" + other: "%{count} saniyə" + x_minutes: + one: "%{count} dəqiqə" + other: "%{count} dəqiqə" + x_days: + one: "%{count} gün" + other: "%{count} gün" + x_months: + one: "%{count} ay" + other: "%{count} ay" + prompts: + second: Saniyə + minute: Dəqiqə + hour: Saat + day: Gün + month: Ay + year: İl + errors: + format: "%{attribute} %{message}" + messages: + accepted: qəbul olunmalıdır + blank: boş ola bilməz + confirmation: təsdiqə uygun deyil + empty: boş ola bilməz + equal_to: "%{count}-ə bərabər olmalıdır" + even: cüt olmalıdır + exclusion: qorunur + greater_than: "%{count}-dən böyük olmalıdır" + greater_than_or_equal_to: böyük və ya %{count}-ə bərabər olmalıdır + inclusion: siyahiyə daxil deyil + invalid: yanlışdır + less_than: "%{count}-dən kiçik olmalıdır" + less_than_or_equal_to: kiçik və ya %{count}-ə bərabər olmalıdır + model_invalid: 'Yoxlama uğursuz oldu: %{errors}' + not_a_number: rəqəm deyil + not_an_integer: tam rəqəm olmalıdır + odd: tək olmalıdır + other_than: "%{count}-dən fərqli olmalıdır" + present: boş olmalıdır + required: mövcud olmalıdır + taken: artıq mövcuddur + too_long: çox uzundur (%{count} simvoldan çox olmalı deyil) + too_short: çox qısadır (%{count} simvoldan az olmalı deyil) + wrong_length: uzunluqu səhvdir (%{count} simvol olmalıdır) + template: + body: 'Aşağıdaki səhvlər üzə çıxdı:' + header: + one: "%{model} saxlanmadı: %{count} səhv" + other: "%{model} saxlanmadı: %{count} səhv" + helpers: + select: + prompt: Seçin + submit: + create: "%{model} yarat" + submit: "%{model} saxla" + update: "%{model} yenilə" + number: + currency: + format: + delimiter: " " + format: "%n %u" + precision: 2 + separator: "." + significant: false + strip_insignificant_zeros: false + unit: AZN + format: + delimiter: " " + precision: 3 + separator: "." + significant: false + strip_insignificant_zeros: false + human: + decimal_units: + format: "%n %u" + units: + billion: Milyard + million: Milyon + quadrillion: Kvadrilyon + thousand: Min + trillion: Trilyon + unit: '' + format: + delimiter: '' + precision: 1 + significant: false + strip_insignificant_zeros: false + storage_units: + format: "%n %u" + units: + byte: + one: Bayt + other: Bayt + gb: GB + kb: KB + mb: MB + tb: TB + percentage: + format: + delimiter: '' + precision: + format: + delimiter: '' + support: + array: + last_word_connector: " və " + two_words_connector: " və " + words_connector: ", " + time: + am: günortaya qədər + formats: + default: "%a, %d %b %Y, %H:%M:%S %z" + long: "%d %B %Y, %H:%M" + short: "%d %b, %H:%M" + pm: günortadan sonra diff --git a/examples/i18n/data/lang/be.yml b/examples/i18n/data/lang/be.yml new file mode 100644 index 0000000..fa49097 --- /dev/null +++ b/examples/i18n/data/lang/be.yml @@ -0,0 +1,269 @@ +--- +be: + activerecord: + errors: + messages: + record_invalid: 'Памылкі валідацыі: %{errors}' + restrict_dependent_destroy: + has_one: Нельга выдаліць запіс, таму што існуе залежнасць %{record} + has_many: Нельга выдаліць запіс, таму што існуюць залежнасці %{record} + date: + abbr_day_names: + - Пан + - Аўт + - Сер + - Чцв + - Пят + - Суб + - Ндз + abbr_month_names: + - + - Сту + - Лют + - Сак + - Кра + - Тра + - Чэр + - Ліп + - Жні + - Вер + - Кас + - Ліс + - Сне + day_names: + - Нядзеля + - Панядзелак + - Аўторак + - Серада + - Чацвер + - Пятніца + - Субота + formats: + default: "%d.%m.%Y" + long: "%-d %B %Y" + short: "%-d %b" + month_names: + - + - Студзень + - Люты + - Сакавік + - Красавік + - Травень + - Чэрвень + - Ліпень + - Жнівень + - Верасень + - Кастрычнік + - Лістапад + - Снежань + order: + - :day + - :month + - :year + datetime: + distance_in_words: + about_x_hours: + one: каля %{count} гадзіны + few: каля %{count} гадзін + many: каля %{count} гадзін + other: каля %{count} гадзін + about_x_months: + one: каля %{count} месяца + few: каля %{count} месяцаў + many: каля %{count} месяцаў + other: каля %{count} месяцаў + about_x_years: + one: каля %{count} года + few: каля %{count} гадоў + many: каля %{count} гадоў + other: каля %{count} гадоў + almost_x_years: + one: амаль %{count} год + few: амаль %{count} гады + many: амаль %{count} гадоў + other: амаль %{count} гадоў + half_a_minute: палова хвіліны + less_than_x_seconds: + one: меней за %{count} секунду + few: меней за %{count} секунды + many: меней за %{count} секунд + other: меней за %{count} секунды + less_than_x_minutes: + one: меней за %{count} хвіліну + few: меней за %{count} хвіліны + many: меней за %{count} хвілін + other: меней за %{count} хвіліны + over_x_years: + one: болей за %{count} год + few: болей за %{count} гады + many: болей за %{count} гадоў + other: болей за %{count} года + x_seconds: + one: "%{count} секунда" + few: "%{count} секунды" + many: "%{count} секунд" + other: "%{count} секунды" + x_minutes: + one: "%{count} хвіліна" + few: "%{count} хвіліны" + many: "%{count} хвілін" + other: "%{count} хвіліны" + x_days: + one: "%{count} дзень" + few: "%{count} дні" + many: "%{count} дзён" + other: "%{count} дня" + x_months: + one: "%{count} месяц" + few: "%{count} месяцы" + many: "%{count} месяцаў" + other: "%{count} месяца" + x_years: + one: "%{count} год" + few: "%{count} гады" + many: "%{count} гадоў" + other: "%{count} года" + prompts: + second: Секунда + minute: Хвіліна + hour: Гадзіна + day: Дзень + month: Месяц + year: Год + errors: + format: "%{attribute} %{message}" + messages: + accepted: трэба прыняць + blank: не можа быць пустым + confirmation: не супадае з %{attribute} + empty: не можа быць пустым + equal_to: павінна быць роўным %{count} + even: павінна быць цотным + exclusion: мае зарэзерваванае значэнне + greater_than: павінна быць болей за %{count} + greater_than_or_equal_to: павінна быць болей ці роўным %{count} + inclusion: значэнне не уключана ў спіс + invalid: няправільнае значэнне + less_than: павінна быць меней за %{count} + less_than_or_equal_to: павінна быць меней ці роўным %{count} + model_invalid: 'Узніклі настпупныя памылкі: %{errors}' + not_a_number: гэта не лічба + not_an_integer: павінна быць цэлай лічбай + odd: павінна быць няцотным + other_than: павінна адрознівацца ад %{count} + present: павінна быць пустым + required: не можа адсутнічаць + taken: ўжо занята + 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} сімвалаў) + template: + body: 'Узніклі праблемы з наступнымі палямі:' + header: + one: не атрымалася захаваць %{model} з-за %{count} памылкі + few: не атрымалася захаваць %{model} з-за %{count} памылак + many: не атрымалася захаваць %{model} з-за %{count} памылак + other: не атрымалася захаваць %{model} з-за %{count} памылак + helpers: + select: + prompt: Калі ласка, абярыце + submit: + create: Стварыць %{model} + submit: Захаваць %{model} + update: Абнавіць %{model} + number: + currency: + format: + delimiter: " " + format: "%n %u" + precision: 2 + separator: "," + significant: false + strip_insignificant_zeros: false + unit: руб. + format: + delimiter: "," + precision: 3 + separator: "." + significant: false + strip_insignificant_zeros: false + human: + decimal_units: + format: "%n %u" + units: + billion: + one: мільярд + few: мільярда + many: мільярдаў + other: мільярда + million: + one: мільён + few: мільёна + many: мільёнаў + other: мільёна + quadrillion: + one: квадрыльён + few: квадрыльёна + many: квадрыльёнаў + other: квадрыльёна + thousand: + one: тысяча + few: тысячы + many: тысяч + other: тысячы + trillion: + one: трыльён + few: трыльёна + many: трыльёнаў + other: трыльёна + unit: '' + format: + delimiter: '' + precision: 1 + significant: false + strip_insignificant_zeros: false + storage_units: + format: "%n %u" + units: + byte: + one: байт + few: байта + many: байтаў + other: байта + eb: ЭБ + gb: ГБ + kb: КБ + mb: МБ + pb: ПБ + tb: ТБ + percentage: + format: + delimiter: '' + format: "%n%" + precision: + format: + delimiter: '' + support: + array: + last_word_connector: " і " + two_words_connector: " і " + words_connector: ", " + time: + am: раніцы + formats: + default: "%a, %d %b %Y %H:%M:%S %z" + long: "%d %B %Y, %H:%M" + short: "%d %b %H:%M" + pm: вечара diff --git a/examples/i18n/data/lang/bg.yml b/examples/i18n/data/lang/bg.yml new file mode 100644 index 0000000..efbb243 --- /dev/null +++ b/examples/i18n/data/lang/bg.yml @@ -0,0 +1,196 @@ +--- +bg: + activerecord: + errors: + messages: + record_invalid: 'имаше грешки: %{errors}' + date: + abbr_day_names: + - нед + - пон + - вт + - ср + - чет + - пет + - съб + abbr_month_names: + - + - ян. + - фев. + - март + - апр. + - май + - юни + - юли + - авг. + - сеп. + - окт. + - ноем. + - дек. + day_names: + - неделя + - понеделник + - вторник + - сряда + - четвъртък + - петък + - събота + formats: + default: "%d.%m.%Y" + long: "%d %B %Y" + short: "%d %b" + month_names: + - + - януари + - февруари + - март + - април + - май + - юни + - юли + - август + - септември + - октомври + - ноември + - декември + order: + - :day + - :month + - :year + datetime: + distance_in_words: + about_x_hours: + one: около %{count} час + other: около %{count} часа + about_x_months: + one: около %{count} месец + other: около %{count} месеца + about_x_years: + one: около %{count} година + other: около %{count} години + almost_x_years: + one: почти %{count} година + other: почти %{count} години + half_a_minute: половин минута + less_than_x_seconds: + one: по-малко от %{count} секунда + other: по-малко от %{count} секунди + less_than_x_minutes: + one: по-малко от %{count} минута + other: по-малко от %{count} минути + over_x_years: + one: над %{count} година + other: над %{count} години + x_seconds: + one: "%{count} секунда" + other: "%{count} секунди" + x_minutes: + one: "%{count} минута" + other: "%{count} минути" + x_days: + one: "%{count} ден" + other: "%{count} дни" + x_months: + one: "%{count} месец" + other: "%{count} месеца" + prompts: + second: Секунда + minute: Минута + hour: Час + day: Ден + month: Месец + year: Година + errors: + format: "%{attribute} %{message}" + messages: + accepted: трябва да се потвърди + blank: не може да е без стойност + confirmation: не съответства на потвърждението + empty: не може да е празно + equal_to: трябва да има стойност, равна на %{count} + even: трябва да е нечетно + exclusion: съдържа предварително зададена стойност + greater_than: трябва да има стойност, по-голяма от %{count} + greater_than_or_equal_to: трябва да има стойност, по-голяма или равна на %{count} + inclusion: съдържа непредвидена стойност + invalid: съдържа невярна стойност + less_than: трябва да има стойност, по-малка от %{count} + less_than_or_equal_to: трябва да има стойност, по-малка или равна на %{count} + not_a_number: не е число + not_an_integer: не е цяло число + odd: трябва да е четно + taken: вече съществува + too_long: е прекаленo дълго (не може да е повече от %{count} символа) + too_short: е прекалено късо (не може да бъде по-малко от %{count} символа) + wrong_length: е с грешна дължина (трябва да е с дължина, равна на %{count} символа) + template: + body: 'Възникнаха проблеми със следните полета:' + header: + one: "%{model}: записът е неуспешен заради %{count} грешка" + other: "%{model}: записът е неуспешен заради %{count} грешки" + helpers: + select: + prompt: Моля отбележете + submit: + create: Създай %{model} + submit: Запази %{model} + update: Обнови %{model} + number: + currency: + format: + delimiter: " " + format: "%n %u" + precision: 2 + separator: "," + significant: false + strip_insignificant_zeros: false + unit: лв. + format: + delimiter: " " + precision: 3 + separator: "," + significant: false + strip_insignificant_zeros: false + human: + decimal_units: + format: "%n %u" + units: + billion: милиарда + million: милиона + quadrillion: квадрилиона + thousand: хиляди + trillion: трилиона + unit: '' + format: + delimiter: '' + precision: 1 + significant: true + strip_insignificant_zeros: true + storage_units: + format: "%n %u" + units: + byte: + one: Байт + other: Байта + gb: ГБ + kb: КБ + mb: МБ + tb: ТБ + percentage: + format: + delimiter: '' + precision: + format: + delimiter: '' + support: + array: + last_word_connector: " и " + two_words_connector: " и " + words_connector: ", " + time: + am: преди обяд + formats: + default: "%a, %d %b %Y, %H:%M:%S %z" + long: "%d %B %Y, %H:%M" + short: "%d %b, %H:%M" + pm: следобед diff --git a/examples/i18n/data/lang/bn.yml b/examples/i18n/data/lang/bn.yml new file mode 100644 index 0000000..3db2906 --- /dev/null +++ b/examples/i18n/data/lang/bn.yml @@ -0,0 +1,176 @@ +--- +bn: + date: + abbr_day_names: + - রবিবার + - সোমবার + - মঙ্গলবার + - বুধবার + - বৃহস্পতিবার + - শুক্রবার + - শনিবার + abbr_month_names: + - + - জানুয়ারি + - ফেব্রুয়ারি + - মার্চ + - এপ্রিল + - মে + - জুন + - জুলাই + - আগস্ট + - সেপ্টেম্বর + - অক্টোবর + - নভেম্বর + - ডিসেম্বর + day_names: + - রবিবার + - সোমবার + - মঙ্গলবার + - বুধবার + - বৃহস্পতিবার + - শুক্রবার + - শনিবার + formats: + default: "%e/%m/%Y" + long: "%e %B %Y" + short: "%e %b" + month_names: + - + - জানুয়ারি + - ফেব্রুয়ারি + - মার্চ + - এপ্রিল + - মে + - জুন + - জুলাই + - আগস্ট + - সেপ্টেম্বর + - অক্টোবর + - নভেম্বর + - ডিসেম্বর + order: + - :year + - :month + - :day + datetime: + distance_in_words: + about_x_hours: + one: প্রায় ১ ঘণ্টা + other: প্রায় %{count} ঘণ্টা + about_x_months: + one: প্রায় ১ মাস + other: প্রায় %{count} মাস + about_x_years: + one: প্রায় ১ বছর + other: প্রায় %{count} বছর + half_a_minute: অর্ধ মিনিট + less_than_x_seconds: + one: '১ সেকেন্ডর কম' + other: "%{count} সেকেন্ডের কম" + less_than_x_minutes: + one: ১ মিনিটের কম + other: "%{count} মিনিটের কম" + over_x_years: + one: ১ বছরের বেশি + other: "%{count} বছরের বেশি" + x_seconds: + one: ১ সেকেন্ড + other: "%{count} সেকেন্ড" + x_minutes: + one: ১ মিনিট + other: "%{count} মিনিট" + x_days: + one: ১ দিন + other: "%{count} দিন" + x_months: + one: ১ মাস + other: "%{count} মাস" + prompts: + second: সেকেন্ড + minute: মিনিট + hour: ঘণ্টা + day: দিন + month: মাস + year: বছর + errors: + format: "%{attribute} %{message}" + messages: + accepted: গ্রাহ্য করতে হবে + blank: ফাঁকা রাখা যাবে না + confirmation: অনুমোদনের সঙ্গে মিলছে না + empty: খালি রাখা যাবে না + equal_to: "%{count} এর সঙ্গে সমান হতে হবে" + even: জোড় হতে হবে + exclusion: রিসার্ভ করা আছে + greater_than: "%{count} থেকে বড় হতে হবে" + greater_than_or_equal_to: "%{count} থেকে বড় অথবা তার সমান হতে হবে" + inclusion: তালিকায় অন্তর্ভুক্ত নয় + invalid: সঠিক নয় + less_than: "%{count} থেকে ছোটো হতে হবে" + less_than_or_equal_to: "%{count} থেকে ছোটো অথবা তার সমান হতে হবে" + not_a_number: নম্বর নয় + odd: বেজোড় হতে হবে + taken: আগেই নিয়ে নেওয়া হয়েছে + too_long: খুব বড়ো (সর্বোচ্চ %{count} অক্ষর) + too_short: খুব ছোটো (সর্বনিম্ন %{count} অক্ষর) + wrong_length: দৈর্ঘ্যটি সঠিক নয় (%{count} অক্ষর হতে হবে) + template: + body: 'এই ফিল্ডগুলোতে কিছু সমস্যা দেখা দিয়েছে:' + header: + one: ১টি ত্রুটির কারণে %{model} সংরক্ষণ করা সম্ভব হয়নি + other: "%{count}টি ত্রুটির কারণে %{model} সংরক্ষণ করা সম্ভব হয়নি" + number: + currency: + format: + delimiter: "," + format: "%u %n" + precision: 2 + separator: "." + significant: false + strip_insignificant_zeros: false + unit: "৳" + format: + delimiter: "," + precision: 2 + separator: "." + significant: false + strip_insignificant_zeros: false + human: + decimal_units: + format: "%n %u" + units: + unit: '' + format: + delimiter: '' + precision: 1 + significant: true + strip_insignificant_zeros: true + storage_units: + format: "%n %u" + units: + byte: + one: বাইট + other: বাইট + gb: GB + kb: KB + mb: MB + tb: TB + percentage: + format: + delimiter: '' + precision: + format: + delimiter: '' + support: + array: + last_word_connector: ", এবং " + two_words_connector: " এবং " + words_connector: ", " + time: + am: am + formats: + default: "%A, %e %B %Y %H:%M:%S %z" + long: "%e %B %Y %H:%M" + short: "%e %b %H:%M" + pm: pm diff --git a/examples/i18n/data/lang/bs.yml b/examples/i18n/data/lang/bs.yml new file mode 100644 index 0000000..1922b07 --- /dev/null +++ b/examples/i18n/data/lang/bs.yml @@ -0,0 +1,248 @@ +--- +bs: + activerecord: + errors: + messages: + record_invalid: 'Validacija nije uspjela: %{errors}' + restrict_dependent_destroy: + has_one: Nije moguće izbrisati zapis jer postoji ovisan %{record} + has_many: Nije moguće izbrisati zapis jer postoje ovisni %{record} + date: + abbr_day_names: + - ned + - pon + - uto + - sri + - čet + - pet + - sub + abbr_month_names: + - + - jan + - feb + - mar + - apr + - maj + - jun + - jul + - aug + - sep + - okt + - nov + - dec + day_names: + - nedjelja + - ponedjeljak + - utorak + - srijeda + - četvrtak + - petak + - subota + formats: + default: "%d.%m.%Y." + long: "%e. %B %Y." + short: "%e. %b. %Y." + month_names: + - + - januar + - februar + - mart + - april + - maj + - juni + - juli + - august + - septembar + - oktobar + - novembar + - decembar + order: + - :day + - :month + - :year + datetime: + distance_in_words: + about_x_hours: + one: oko sat + few: oko %{count} sata + many: oko %{count} sati + other: oko %{count} sati + about_x_months: + one: oko mjesec + few: oko %{count} mjeseca + many: oko %{count} mjeseci + other: oko %{count} mjeseci + about_x_years: + one: oko godine + few: oko %{count} godine + many: oko %{count} godina + other: oko %{count} godina + almost_x_years: + one: skoro %{count} godina + few: skoro %{count} godine + many: skoro %{count} godina + other: skoro %{count} godina + half_a_minute: pola minute + less_than_x_seconds: + one: manje od sekunde + few: manje od %{count} sekunde + many: manje od %{count} sekundi + other: manje od %{count} sekundi + less_than_x_minutes: + one: manje od minute + few: manje od %{count} minute + many: manje od %{count} minuta + other: manje od %{count} minuta + over_x_years: + one: preko godine + few: preko %{count} godine + many: preko %{count} godina + other: preko %{count} godina + x_seconds: + one: "%{count} sekund" + few: "%{count} sekunde" + many: "%{count} sekundi" + other: "%{count} sekundi" + x_minutes: + one: "%{count} minut" + few: "%{count} minute" + many: "%{count} minuta" + other: "%{count} minuta" + x_days: + one: "%{count} dan" + few: "%{count} dana" + many: "%{count} dana" + other: "%{count} dana" + x_months: + one: "%{count} mjesec" + few: "%{count} mjeseca" + many: "%{count} mjeseci" + other: "%{count} mjeseci" + prompts: + second: sekundi + minute: minut + hour: sat + day: dan + month: mjesec + year: godina + errors: + format: "%{attribute} %{message}" + messages: + accepted: mora biti prihvaćeno + blank: ne smije biti prazno + confirmation: se ne poklapa sa potvrdom + empty: ne smije biti prazno + equal_to: mora biti %{count} + even: mora biti parno + exclusion: je rezervisano + greater_than: mora biti veće od %{count} + greater_than_or_equal_to: mora biti veće ili jednako %{count} + inclusion: nije uključeno u listu + invalid: nije validno + less_than: mora biti manje od %{count} + less_than_or_equal_to: mora biti manje ili jednako %{count} + not_a_number: nije broj + not_an_integer: mora biti cijeli broj + odd: mora biti neparno + other_than: mora biti različito od %{count} + present: mora biti prazno + taken: je već zauzet + too_long: je predugo (maksimalno je dozvoljeno %{count} znakova) + too_short: je prekratko (predviđeno je minimalno %{count} znakova) + wrong_length: je pogrešne dužine (trebalo bi biti tačno %{count} znakova) + template: + body: 'Desili su se problemi sa sljedećim poljima:' + header: + one: "%{count} greška je spriječila da se ovaj %{model} spremi" + few: "%{count} greške su spriječile da se ovaj %{model} spremi" + many: "%{count} grešaka je spriječilo da se ovaj %{model} spremi" + other: "%{count} grešaka je spriječilo da se ovaj %{model} spremi" + helpers: + select: + prompt: Molimo odaberite + submit: + create: Kreiraj %{model} + submit: Sačuvaj %{model} + update: Osvježi %{model} + number: + currency: + format: + delimiter: "." + format: "%n%u" + precision: 2 + separator: "," + significant: false + strip_insignificant_zeros: true + unit: KM + format: + delimiter: "." + precision: 3 + separator: "," + significant: false + strip_insignificant_zeros: true + human: + decimal_units: + format: "%n %u" + units: + billion: + one: milijarda + few: milijarde + many: milijardi + other: milijardi + million: + one: milion + few: miliona + many: miliona + other: miliona + quadrillion: + one: bilijarda + few: bilijarde + many: bilijardi + other: bilijardi + thousand: + one: hiljada + few: hiljade + many: hiljada + other: hiljada + trillion: + one: bilion + few: biliona + many: biliona + other: biliona + unit: '' + format: + delimiter: "," + precision: 0 + significant: true + strip_insignificant_zeros: true + storage_units: + format: "%n %u" + units: + byte: + one: bajt + few: bajta + many: bajtova + other: bajtova + gb: GB + kb: KB + mb: MB + tb: TB + percentage: + format: + delimiter: "," + format: "%n%" + precision: + format: + delimiter: '' + support: + array: + last_word_connector: " i " + two_words_connector: " i " + words_connector: ", " + time: + am: '' + formats: + default: "%d.%m.%Y. %H:%M:%S" + long: "%d. %B %Y. - %H:%M:%S" + short: "%d. %b %Y. %H:%M" + pm: '' diff --git a/examples/i18n/data/lang/ca.yml b/examples/i18n/data/lang/ca.yml new file mode 100644 index 0000000..c72c13e --- /dev/null +++ b/examples/i18n/data/lang/ca.yml @@ -0,0 +1,223 @@ +--- +ca: + activerecord: + errors: + messages: + record_invalid: 'La validació ha fallat: %{errors}' + restrict_dependent_destroy: + has_one: No es pot eliminar el registre perquè existeix un %{record} dependent + has_many: No es pot eliminar el registre perquè existeixen %{record} dependents + date: + abbr_day_names: + - Dg + - Dl + - Dm + - Dc + - Dj + - Dv + - Ds + abbr_month_names: + - + - Gen + - Feb + - Mar + - Abr + - Mai + - Jun + - Jul + - Ago + - Set + - Oct + - Nov + - Des + day_names: + - Diumenge + - Dilluns + - Dimarts + - Dimecres + - Dijous + - Divendres + - Dissabte + formats: + default: "%d-%m-%Y" + long: "%d de %B de %Y" + short: "%d de %b" + month_names: + - + - Gener + - Febrer + - Març + - Abril + - Maig + - Juny + - Juliol + - Agost + - Setembre + - Octubre + - Novembre + - Desembre + order: + - :day + - :month + - :year + datetime: + distance_in_words: + about_x_hours: + one: aproximadament %{count} hora + other: aproximadament %{count} hores + about_x_months: + one: aproximadament %{count} mes + other: aproximadament %{count} mesos + about_x_years: + one: aproximadament %{count} any + other: aproximadament %{count} anys + almost_x_years: + one: quasi %{count} any + other: quasi %{count} anys + half_a_minute: mig minut + less_than_x_seconds: + one: menys d'%{count} segon + other: menys de %{count} segons + less_than_x_minutes: + one: menys d'%{count} minut + other: menys de %{count} minuts + over_x_years: + one: més d'%{count} any + other: més de %{count} anys + x_seconds: + one: "%{count} segon" + other: "%{count} segons" + x_minutes: + one: "%{count} minut" + other: "%{count} minuts" + x_days: + one: "%{count} dia" + other: "%{count} dies" + x_months: + one: "%{count} mes" + other: "%{count} mesos" + x_years: + one: "%{count} year" + other: "%{count} years" + prompts: + second: segon + minute: minut + hour: hora + day: dia + month: mes + year: any + errors: + format: "%{attribute} %{message}" + messages: + accepted: ha de ser acceptat + blank: no pot estar en blanc + confirmation: no coincideix + empty: no pot estar buit + equal_to: ha de ser igual a %{count} + even: ha de ser parell + exclusion: està reservat + 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} + inclusion: no està inclós a la llista + invalid: no és vàlid + less_than: ha de ser menor que %{count} + less_than_or_equal_to: ha de ser menor o igual a %{count} + model_invalid: 'La validació ha fallat: %{errors}' + not_a_number: no és un número + not_an_integer: ha de ser un enter + odd: ha de ser senar + other_than: ha de ser diferent de %{count} + present: ha d'estar en blanc + required: ha d'existir + taken: no està disponible + too_long: + one: és massa llarg (%{count} caràcter màxim) + other: és massa llarg (%{count} caràcters màxim) + too_short: + one: és massa curt (%{count} caràcter mínim) + other: és massa curt (%{count} caràcters mínim) + wrong_length: + one: no té la longitud correcta (%{count} caràcter exactament) + other: no té la longitud correcta (%{count} caràcters exactament) + template: + body: 'Hi ha hagut problemes amb els següents camps:' + header: + one: No s'ha pogut desar aquest/a %{model} perquè hi ha %{count} error + other: No s'ha pogut desar aquest/a %{model} perquè hi ha hagut %{count} errors + helpers: + select: + prompt: Si us plau tria + submit: + create: Crear %{model} + submit: Guardar %{model} + update: Actualitzar %{model} + number: + currency: + format: + delimiter: "." + format: "%n %u" + precision: 2 + separator: "," + significant: false + strip_insignificant_zeros: false + unit: "€" + format: + delimiter: "." + precision: 3 + separator: "," + significant: false + strip_insignificant_zeros: false + human: + decimal_units: + format: "%n %u" + units: + billion: mil milions + million: + one: milió + other: milions + quadrillion: + one: quadrilió + other: quadrilions + thousand: + one: miler + other: milers + trillion: + one: bilió + other: bilions + unit: '' + format: + delimiter: '' + precision: 1 + significant: true + strip_insignificant_zeros: true + storage_units: + format: "%n %u" + units: + byte: + one: Byte + other: Bytes + eb: EB + gb: GB + kb: KB + mb: MB + pb: PB + tb: TB + percentage: + format: + delimiter: '' + format: "%n %" + precision: + format: + delimiter: '' + support: + array: + last_word_connector: ", i " + two_words_connector: " i " + words_connector: ", " + time: + am: am + formats: + default: "%A, %d de %B de %Y %H:%M:%S %z" + long: "%d de %B de %Y %H:%M" + short: "%d de %b %H:%M" + pm: pm diff --git a/examples/i18n/data/lang/cs.yml b/examples/i18n/data/lang/cs.yml new file mode 100644 index 0000000..849b3a2 --- /dev/null +++ b/examples/i18n/data/lang/cs.yml @@ -0,0 +1,218 @@ +--- +cs: + activerecord: + errors: + messages: + record_invalid: 'Validace je neúspešná: %{errors}' + restrict_dependent_destroy: + has_one: Nemůžu smazat položku protože existuje závislá/ý/é %{record} + has_many: Nemůžu smazat položku protože existuje závislé/ý %{record} + date: + abbr_day_names: + - Ne + - Po + - Út + - St + - Čt + - Pá + - So + abbr_month_names: + - + - led + - úno + - bře + - dub + - kvě + - čvn + - čvc + - srp + - zář + - říj + - lis + - pro + day_names: + - neděle + - pondělí + - úterý + - středa + - čtvrtek + - pátek + - sobota + formats: + default: "%d. %m. %Y" + long: "%d. %B %Y" + short: "%d %b" + month_names: + - + - leden + - únor + - březen + - duben + - květen + - červen + - červenec + - srpen + - září + - říjen + - listopad + - prosinec + order: + - :day + - :month + - :year + datetime: + distance_in_words: + about_x_hours: + one: asi hodinou + few: asi %{count} hodinami + other: asi %{count} hodinami + about_x_months: + one: asi měsícem + few: asi %{count} měsíci + other: asi %{count} měsíci + about_x_years: + one: asi rokem + few: asi %{count} roky + other: asi %{count} roky + almost_x_years: + one: téměř rokem + few: téměř %{count} roky + other: téměř %{count} roky + half_a_minute: půl minutou + less_than_x_seconds: + one: necelou sekundou + few: ani ne %{count} sekundami + other: ani ne %{count} sekundami + less_than_x_minutes: + one: necelou minutou + few: ani ne %{count} minutami + other: ani ne %{count} minutami + over_x_years: + one: více než rokem + few: více než %{count} roky + other: více než %{count} roky + x_seconds: + one: sekundou + few: "%{count} sekundami" + other: "%{count} sekundami" + x_minutes: + one: minutou + few: "%{count} minutami" + other: "%{count} minutami" + x_days: + one: 24 hodinami + few: "%{count} dny" + other: "%{count} dny" + x_months: + one: měsícem + few: "%{count} měsíci" + other: "%{count} měsíci" + prompts: + second: Sekunda + minute: Minuta + hour: Hodina + day: Den + month: Měsíc + year: Rok + errors: + format: "%{attribute} %{message}" + messages: + accepted: musí být potvrzeno + blank: je povinná položka + confirmation: nebylo potvrzeno + empty: nesmí být prázdný/á/é + equal_to: musí být rovno %{count} + even: musí být sudé číslo + exclusion: je vyhrazeno pro jiný účel + greater_than: musí být větší než %{count} + greater_than_or_equal_to: musí být větší nebo rovno %{count} + inclusion: není v seznamu povolených hodnot + invalid: není platná hodnota + less_than: musí být méně než %{count} + less_than_or_equal_to: musí být méně nebo rovno %{count} + not_a_number: není číslo + not_an_integer: musí být celé číslo + odd: musí být liché číslo + other_than: musí být rozdílný/á/é od %{count} + present: musí být prázdný/á/é + required: musí existovat + taken: již databáze obsahuje + 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ů) + template: + body: 'Následující pole obsahují chybně vyplněné údaje: ' + header: + one: Při ukládání objektu %{model} došlo k chybám a nebylo jej možné uložit + few: Při ukládání objektu %{model} došlo ke %{count} chybám a nebylo možné + jej uložit + other: Při ukládání objektu %{model} došlo ke %{count} chybám a nebylo možné + jej uložit + helpers: + select: + prompt: Prosím vyberte si + submit: + create: Vytvořit %{model} + submit: Uložit %{model} + update: Aktualizovat %{model} + number: + currency: + format: + delimiter: " " + format: "%n %u" + precision: 2 + separator: "," + significant: false + strip_insignificant_zeros: false + unit: Kč + format: + delimiter: "." + precision: 3 + separator: "," + significant: false + strip_insignificant_zeros: false + human: + decimal_units: + format: "%n %u" + units: + billion: Miliarda + million: Milion + quadrillion: Biliarda + thousand: Tisíc + trillion: Bilion + unit: '' + format: + delimiter: '' + precision: 1 + significant: false + strip_insignificant_zeros: false + storage_units: + format: "%n %u" + units: + byte: + one: B + few: B + other: B + gb: GB + kb: KB + mb: MB + tb: TB + percentage: + format: + delimiter: '' + format: "%n%" + precision: + format: + delimiter: '' + support: + array: + last_word_connector: " a " + two_words_connector: " a " + words_connector: ", " + time: + am: dopoledne + formats: + default: "%a %e. %B %Y %H:%M %z" + long: "%A %e. %B %Y %H:%M" + short: "%e. %-m. %H:%M" + pm: odpoledne diff --git a/examples/i18n/data/lang/da.yml b/examples/i18n/data/lang/da.yml new file mode 100644 index 0000000..5a2e812 --- /dev/null +++ b/examples/i18n/data/lang/da.yml @@ -0,0 +1,221 @@ +--- +da: + activerecord: + errors: + messages: + record_invalid: 'Godkendelse gik galt: %{errors}' + restrict_dependent_destroy: + has_one: Kunne ikke slette posten fordi en afhængig %{record} findes + has_many: Kunne ikke slette posten fordi afhængige %{record} findes + date: + abbr_day_names: + - søn + - man + - tir + - ons + - tor + - fre + - lør + abbr_month_names: + - + - jan + - feb + - mar + - apr + - maj + - jun + - jul + - aug + - sep + - okt + - nov + - dec + day_names: + - søndag + - mandag + - tirsdag + - onsdag + - torsdag + - fredag + - lørdag + formats: + default: "%d.%m.%Y" + long: "%e. %B %Y" + short: "%e. %b %Y" + month_names: + - + - januar + - februar + - marts + - april + - maj + - juni + - juli + - august + - september + - oktober + - november + - december + order: + - :day + - :month + - :year + datetime: + distance_in_words: + about_x_hours: + one: cirka en time + other: cirka %{count} timer + about_x_months: + one: cirka en måned + other: cirka %{count} måneder + about_x_years: + one: cirka et år + other: cirka %{count} år + almost_x_years: + one: næsten et år + other: næsten %{count} år + half_a_minute: et halvt minut + less_than_x_seconds: + one: mindre end et sekund + other: mindre end %{count} sekunder + less_than_x_minutes: + one: mindre end et minut + other: mindre end %{count} minutter + over_x_years: + one: mere end et år + other: mere end %{count} år + x_seconds: + one: et sekund + other: "%{count} sekunder" + x_minutes: + one: et minut + other: "%{count} minutter" + x_days: + one: en dag + other: "%{count} dage" + x_months: + one: en måned + other: "%{count} måneder" + x_years: + one: et år + other: "%{count} år" + prompts: + second: Sekund + minute: Minut + hour: Time + day: Dag + month: Måned + year: År + errors: + format: "%{attribute} %{message}" + messages: + accepted: skal accepteres + blank: skal udfyldes + confirmation: stemmer ikke overens med %{attribute} + empty: må ikke udelades + equal_to: skal være %{count} + even: skal være et lige tal + exclusion: er reserveret + greater_than: skal være større end %{count} + greater_than_or_equal_to: skal være større end eller lig med %{count} + inclusion: er ikke på listen + invalid: er ikke gyldig + less_than: skal være mindre end %{count} + less_than_or_equal_to: skal være mindre end eller lig med %{count} + model_invalid: 'Godkendelse gik galt: %{errors}' + not_a_number: er ikke et tal + not_an_integer: er ikke et heltal + odd: skal være et ulige tal + other_than: skal være forskellig fra %{count} + present: skal være tom + required: skal udfyldes + taken: er allerede brugt + too_long: + one: er for lang (højst %{count} tegn) + other: er for lang (højst %{count} tegn) + too_short: + one: er for kort (mindst %{count} tegn) + other: er for kort (mindst %{count} tegn) + wrong_length: + one: har forkert længde (skulle være %{count} tegn) + other: har forkert længde (skulle være %{count} tegn) + template: + body: 'Der var problemer med følgende felter:' + header: + one: En fejl forhindrede %{model} i at blive gemt + other: "%{count} fejl forhindrede %{model} i at blive gemt" + helpers: + select: + prompt: Vælg... + submit: + create: Opret %{model} + submit: Gem %{model} + update: Opdater %{model} + number: + currency: + format: + delimiter: "." + format: "%u %n" + precision: 2 + separator: "," + significant: false + strip_insignificant_zeros: false + unit: DKK + format: + delimiter: "." + precision: 3 + separator: "," + significant: false + strip_insignificant_zeros: false + human: + decimal_units: + format: "%n %u" + units: + billion: + one: Milliard + other: Milliarder + million: + one: Million + other: Millioner + quadrillion: + one: Billiard + other: Billiarder + thousand: Tusind + trillion: + one: Billion + other: Billioner + unit: '' + format: + delimiter: '' + precision: 3 + significant: true + strip_insignificant_zeros: true + storage_units: + format: "%n %u" + units: + byte: + one: Byte + other: Bytes + gb: GB + kb: KB + mb: MB + tb: TB + percentage: + format: + delimiter: '' + format: "%n %" + precision: + format: + delimiter: '' + support: + array: + last_word_connector: " og " + two_words_connector: " og " + words_connector: ", " + time: + am: '' + formats: + default: "%e. %B %Y, %H.%M" + long: "%A d. %e. %B %Y, %H.%M" + short: "%e. %b %Y, %H.%M" + pm: '' diff --git a/examples/i18n/data/lang/de-AT.yml b/examples/i18n/data/lang/de-AT.yml new file mode 100644 index 0000000..8db8385 --- /dev/null +++ b/examples/i18n/data/lang/de-AT.yml @@ -0,0 +1,222 @@ +--- +de-AT: + activerecord: + errors: + messages: + record_invalid: 'Gültigkeitsprüfung ist fehlgeschlagen: %{errors}' + restrict_dependent_destroy: + has_one: Datensatz kann nicht gelöscht werden, da ein abhängiger %{record}-Datensatz + existiert. + has_many: Datensatz kann nicht gelöscht werden, da abhängige %{record} existieren. + date: + abbr_day_names: + - So + - Mo + - Di + - Mi + - Do + - Fr + - Sa + abbr_month_names: + - + - Jän + - Feb + - Mär + - Apr + - Mai + - Jun + - Jul + - Aug + - Sep + - Okt + - Nov + - Dez + day_names: + - Sonntag + - Montag + - Dienstag + - Mittwoch + - Donnerstag + - Freitag + - Samstag + formats: + default: "%d.%m.%Y" + long: "%e. %B %Y" + short: "%e. %b" + month_names: + - + - Jänner + - Februar + - März + - April + - Mai + - Juni + - Juli + - August + - September + - Oktober + - November + - Dezember + order: + - :day + - :month + - :year + datetime: + distance_in_words: + about_x_hours: + one: etwa eine Stunde + other: etwa %{count} Stunden + about_x_months: + one: etwa ein Monat + other: etwa %{count} Monate + about_x_years: + one: etwa ein Jahr + other: etwa %{count} Jahre + almost_x_years: + one: fast ein Jahr + other: fast %{count} Jahre + half_a_minute: eine halbe Minute + less_than_x_seconds: + one: weniger als eine Sekunde + other: weniger als %{count} Sekunden + less_than_x_minutes: + one: weniger als eine Minute + other: weniger als %{count} Minuten + over_x_years: + one: mehr als ein Jahr + other: mehr als %{count} Jahre + x_seconds: + one: eine Sekunde + other: "%{count} Sekunden" + x_minutes: + one: eine Minute + other: "%{count} Minuten" + x_days: + one: ein Tag + other: "%{count} Tage" + x_months: + one: ein Monat + other: "%{count} Monate" + prompts: + second: Sekunden + minute: Minuten + hour: Stunde + day: Tag + month: Monat + year: Jahr + errors: + format: "%{attribute} %{message}" + messages: + accepted: muss akzeptiert werden + blank: muss ausgefüllt werden + confirmation: stimmt nicht mit %{attribute} überein + empty: muss ausgefüllt werden + equal_to: muss genau %{count} sein + even: muss gerade sein + exclusion: ist nicht verfügbar + greater_than: muss größer als %{count} sein + greater_than_or_equal_to: muss größer oder gleich %{count} sein + inclusion: ist kein gültiger Wert + invalid: ist nicht gültig + less_than: muss kleiner als %{count} sein + less_than_or_equal_to: muss kleiner oder gleich %{count} sein + model_invalid: 'Gültigkeitsprüfung ist fehlgeschlagen: %{errors}' + not_a_number: ist keine Zahl + not_an_integer: muss ganzzahlig sein + odd: muss ungerade sein + other_than: darf nicht gleich %{count} sein + present: darf nicht ausgefüllt werden + required: muss ausgefüllt werden + taken: ist bereits vergeben + too_long: + one: ist zu lang (mehr als %{count} Zeichen) + other: ist zu lang (mehr als %{count} Zeichen) + too_short: + one: ist zu kurz (weniger als %{count} Zeichen) + other: ist zu kurz (weniger als %{count} Zeichen) + wrong_length: + one: hat die falsche Länge (muss genau %{count} Zeichen haben) + other: hat die falsche Länge (muss genau %{count} Zeichen haben) + template: + body: 'Bitte überprüfen Sie die folgenden Felder:' + header: + one: 'Konnte %{model} nicht speichern: ein Fehler.' + other: 'Konnte %{model} nicht speichern: %{count} Fehler.' + helpers: + select: + prompt: Bitte wählen + submit: + create: "%{model} erstellen" + submit: "%{model} speichern" + update: "%{model} aktualisieren" + number: + currency: + format: + delimiter: "." + format: "%u %n" + precision: 2 + separator: "," + significant: false + strip_insignificant_zeros: false + unit: "€" + format: + delimiter: "." + precision: 2 + round_mode: default + separator: "," + significant: false + strip_insignificant_zeros: false + human: + decimal_units: + format: "%n %u" + units: + billion: + one: Milliarde + other: Milliarden + million: + one: Million + other: Millionen + quadrillion: + one: Billiarde + other: Billiarden + thousand: Tausend + trillion: + one: Billion + other: Billionen + unit: '' + format: + delimiter: '' + precision: 1 + significant: true + strip_insignificant_zeros: true + storage_units: + format: "%n %u" + units: + byte: + one: Byte + other: Bytes + eb: EB + gb: GB + kb: KB + mb: MB + pb: PB + tb: TB + percentage: + format: + delimiter: '' + format: "%n%" + precision: + format: + delimiter: '' + support: + array: + last_word_connector: " und " + two_words_connector: " und " + words_connector: ", " + time: + am: vormittags + formats: + default: "%A, %d. %B %Y, %H:%M Uhr" + long: "%A, %d. %B %Y, %H:%M Uhr" + short: "%d. %B, %H:%M Uhr" + pm: nachmittags diff --git a/examples/i18n/data/lang/de-CH.yml b/examples/i18n/data/lang/de-CH.yml new file mode 100644 index 0000000..e8d2d8f --- /dev/null +++ b/examples/i18n/data/lang/de-CH.yml @@ -0,0 +1,222 @@ +--- +de-CH: + activerecord: + errors: + messages: + record_invalid: 'Gültigkeitsprüfung ist fehlgeschlagen: %{errors}' + restrict_dependent_destroy: + has_one: Datensatz kann nicht gelöscht werden, da ein abhängiger %{record}-Datensatz + existiert. + has_many: Datensatz kann nicht gelöscht werden, da abhängige %{record} existieren. + date: + abbr_day_names: + - So + - Mo + - Di + - Mi + - Do + - Fr + - Sa + abbr_month_names: + - + - Jan + - Feb + - Mär + - Apr + - Mai + - Jun + - Jul + - Aug + - Sep + - Okt + - Nov + - Dez + day_names: + - Sonntag + - Montag + - Dienstag + - Mittwoch + - Donnerstag + - Freitag + - Samstag + formats: + default: "%d.%m.%Y" + long: "%e. %B %Y" + short: "%e. %b" + month_names: + - + - Januar + - Februar + - März + - April + - Mai + - Juni + - Juli + - August + - September + - Oktober + - November + - Dezember + order: + - :day + - :month + - :year + datetime: + distance_in_words: + about_x_hours: + one: etwa eine Stunde + other: etwa %{count} Stunden + about_x_months: + one: etwa ein Monat + other: etwa %{count} Monate + about_x_years: + one: etwa ein Jahr + other: etwa %{count} Jahre + almost_x_years: + one: fast ein Jahr + other: fast %{count} Jahre + half_a_minute: eine halbe Minute + less_than_x_seconds: + one: weniger als eine Sekunde + other: weniger als %{count} Sekunden + less_than_x_minutes: + one: weniger als eine Minute + other: weniger als %{count} Minuten + over_x_years: + one: mehr als ein Jahr + other: mehr als %{count} Jahre + x_seconds: + one: eine Sekunde + other: "%{count} Sekunden" + x_minutes: + one: eine Minute + other: "%{count} Minuten" + x_days: + one: ein Tag + other: "%{count} Tage" + x_months: + one: ein Monat + other: "%{count} Monate" + prompts: + second: Sekunde + minute: Minute + hour: Stunde + day: Tag + month: Monat + year: Jahr + errors: + format: "%{attribute} %{message}" + messages: + accepted: muss akzeptiert werden + blank: muss ausgefüllt werden + confirmation: stimmt nicht mit %{attribute} überein + empty: muss ausgefüllt werden + equal_to: muss genau %{count} sein + even: muss gerade sein + exclusion: ist nicht verfügbar + greater_than: muss grösser als %{count} sein + greater_than_or_equal_to: muss grösser oder gleich %{count} sein + inclusion: ist kein gültiger Wert + invalid: ist nicht gültig + less_than: muss kleiner als %{count} sein + less_than_or_equal_to: muss kleiner oder gleich %{count} sein + model_invalid: 'Gültigkeitsprüfung ist fehlgeschlagen: %{errors}' + not_a_number: ist keine Zahl + not_an_integer: muss ganzzahlig sein + odd: muss ungerade sein + other_than: darf nicht gleich %{count} sein + present: darf nicht ausgefüllt werden + required: muss ausgefüllt werden + taken: ist bereits vergeben + too_long: + one: ist zu lang (mehr als %{count} Zeichen) + other: ist zu lang (mehr als %{count} Zeichen) + too_short: + one: ist zu kurz (weniger als %{count} Zeichen) + other: ist zu kurz (weniger als %{count} Zeichen) + wrong_length: + one: hat die falsche Länge (muss genau %{count} Zeichen haben) + other: hat die falsche Länge (muss genau %{count} Zeichen haben) + template: + body: 'Bitte überprüfen Sie die folgenden Felder:' + header: + one: 'Konnte %{model} nicht speichern: ein Fehler.' + other: 'Konnte %{model} nicht speichern: %{count} Fehler.' + helpers: + select: + prompt: Bitte wählen + submit: + create: "%{model} erstellen" + submit: "%{model} speichern" + update: "%{model} aktualisieren" + number: + currency: + format: + delimiter: "'" + format: "%u %n" + precision: 2 + separator: "." + significant: false + strip_insignificant_zeros: false + unit: CHF + format: + delimiter: "'" + precision: 2 + round_mode: default + separator: "." + significant: false + strip_insignificant_zeros: false + human: + decimal_units: + format: "%n %u" + units: + billion: + one: Milliarde + other: Milliarden + million: + one: Million + other: Millionen + quadrillion: + one: Billiarde + other: Billiarden + thousand: Tausend + trillion: + one: Billion + other: Billionen + unit: '' + format: + delimiter: '' + precision: 1 + significant: true + strip_insignificant_zeros: true + storage_units: + format: "%n %u" + units: + byte: + one: Byte + other: Bytes + eb: EB + gb: GB + kb: KB + mb: MB + pb: PB + tb: TB + percentage: + format: + delimiter: '' + format: "%n%" + precision: + format: + delimiter: '' + support: + array: + last_word_connector: " und " + two_words_connector: " und " + words_connector: ", " + time: + am: vormittags + formats: + default: "%A, %d. %B %Y, %H:%M Uhr" + long: "%A, %d. %B %Y, %H:%M Uhr" + short: "%d. %B, %H:%M Uhr" + pm: nachmittags diff --git a/examples/i18n/data/lang/de-DE.yml b/examples/i18n/data/lang/de-DE.yml new file mode 100644 index 0000000..c083a80 --- /dev/null +++ b/examples/i18n/data/lang/de-DE.yml @@ -0,0 +1,222 @@ +--- +de-DE: + activerecord: + errors: + messages: + record_invalid: 'Gültigkeitsprüfung ist fehlgeschlagen: %{errors}' + restrict_dependent_destroy: + has_one: Datensatz kann nicht gelöscht werden, da ein abhängiger %{record}-Datensatz + existiert. + has_many: Datensatz kann nicht gelöscht werden, da abhängige %{record} existieren. + date: + abbr_day_names: + - So + - Mo + - Di + - Mi + - Do + - Fr + - Sa + abbr_month_names: + - + - Jan + - Feb + - Mär + - Apr + - Mai + - Jun + - Jul + - Aug + - Sep + - Okt + - Nov + - Dez + day_names: + - Sonntag + - Montag + - Dienstag + - Mittwoch + - Donnerstag + - Freitag + - Samstag + formats: + default: "%d.%m.%Y" + long: "%e. %B %Y" + short: "%e. %b" + month_names: + - + - Januar + - Februar + - März + - April + - Mai + - Juni + - Juli + - August + - September + - Oktober + - November + - Dezember + order: + - :day + - :month + - :year + datetime: + distance_in_words: + about_x_hours: + one: etwa eine Stunde + other: etwa %{count} Stunden + about_x_months: + one: etwa ein Monat + other: etwa %{count} Monate + about_x_years: + one: etwa ein Jahr + other: etwa %{count} Jahre + almost_x_years: + one: fast ein Jahr + other: fast %{count} Jahre + half_a_minute: eine halbe Minute + less_than_x_seconds: + one: weniger als eine Sekunde + other: weniger als %{count} Sekunden + less_than_x_minutes: + one: weniger als eine Minute + other: weniger als %{count} Minuten + over_x_years: + one: mehr als ein Jahr + other: mehr als %{count} Jahre + x_seconds: + one: eine Sekunde + other: "%{count} Sekunden" + x_minutes: + one: eine Minute + other: "%{count} Minuten" + x_days: + one: ein Tag + other: "%{count} Tage" + x_months: + one: ein Monat + other: "%{count} Monate" + prompts: + second: Sekunde + minute: Minute + hour: Stunde + day: Tag + month: Monat + year: Jahr + errors: + format: "%{attribute} %{message}" + messages: + accepted: muss akzeptiert werden + blank: muss ausgefüllt werden + confirmation: stimmt nicht mit %{attribute} überein + empty: muss ausgefüllt werden + equal_to: muss genau %{count} sein + even: muss gerade sein + exclusion: ist nicht verfügbar + greater_than: muss größer als %{count} sein + greater_than_or_equal_to: muss größer oder gleich %{count} sein + inclusion: ist kein gültiger Wert + invalid: ist nicht gültig + less_than: muss kleiner als %{count} sein + less_than_or_equal_to: muss kleiner oder gleich %{count} sein + model_invalid: 'Gültigkeitsprüfung ist fehlgeschlagen: %{errors}' + not_a_number: ist keine Zahl + not_an_integer: muss ganzzahlig sein + odd: muss ungerade sein + other_than: darf nicht gleich %{count} sein + present: darf nicht ausgefüllt werden + required: muss ausgefüllt werden + taken: ist bereits vergeben + too_long: + one: ist zu lang (mehr als %{count} Zeichen) + other: ist zu lang (mehr als %{count} Zeichen) + too_short: + one: ist zu kurz (weniger als %{count} Zeichen) + other: ist zu kurz (weniger als %{count} Zeichen) + wrong_length: + one: hat die falsche Länge (muss genau %{count} Zeichen haben) + other: hat die falsche Länge (muss genau %{count} Zeichen haben) + template: + body: 'Bitte überprüfen Sie die folgenden Felder:' + header: + one: 'Konnte %{model} nicht speichern: ein Fehler.' + other: 'Konnte %{model} nicht speichern: %{count} Fehler.' + helpers: + select: + prompt: Bitte wählen + submit: + create: "%{model} erstellen" + submit: "%{model} speichern" + update: "%{model} aktualisieren" + number: + currency: + format: + delimiter: "." + format: "%n %u" + precision: 2 + separator: "," + significant: false + strip_insignificant_zeros: false + unit: "€" + format: + delimiter: "." + precision: 2 + round_mode: default + separator: "," + significant: false + strip_insignificant_zeros: false + human: + decimal_units: + format: "%n %u" + units: + billion: + one: Milliarde + other: Milliarden + million: + one: Million + other: Millionen + quadrillion: + one: Billiarde + other: Billiarden + thousand: Tausend + trillion: + one: Billion + other: Billionen + unit: '' + format: + delimiter: '' + precision: 3 + significant: true + strip_insignificant_zeros: true + storage_units: + format: "%n %u" + units: + byte: + one: Byte + other: Bytes + eb: EB + gb: GB + kb: KB + mb: MB + pb: PB + tb: TB + percentage: + format: + delimiter: '' + format: "%n %" + precision: + format: + delimiter: '' + support: + array: + last_word_connector: " und " + two_words_connector: " und " + words_connector: ", " + time: + am: vormittags + formats: + default: "%A, %d. %B %Y, %H:%M Uhr" + long: "%A, %d. %B %Y, %H:%M Uhr" + short: "%d. %B, %H:%M Uhr" + pm: nachmittags diff --git a/examples/i18n/data/lang/de.yml b/examples/i18n/data/lang/de.yml new file mode 100644 index 0000000..0222569 --- /dev/null +++ b/examples/i18n/data/lang/de.yml @@ -0,0 +1,225 @@ +--- +de: + activerecord: + errors: + messages: + record_invalid: 'Gültigkeitsprüfung ist fehlgeschlagen: %{errors}' + restrict_dependent_destroy: + has_one: Datensatz kann nicht gelöscht werden, da ein abhängiger %{record}-Datensatz + existiert. + has_many: Datensatz kann nicht gelöscht werden, da abhängige %{record} existieren. + date: + abbr_day_names: + - So + - Mo + - Di + - Mi + - Do + - Fr + - Sa + abbr_month_names: + - + - Jan + - Feb + - Mär + - Apr + - Mai + - Jun + - Jul + - Aug + - Sep + - Okt + - Nov + - Dez + day_names: + - Sonntag + - Montag + - Dienstag + - Mittwoch + - Donnerstag + - Freitag + - Samstag + formats: + default: "%d.%m.%Y" + long: "%e. %B %Y" + short: "%e. %b" + month_names: + - + - Januar + - Februar + - März + - April + - Mai + - Juni + - Juli + - August + - September + - Oktober + - November + - Dezember + order: + - :day + - :month + - :year + datetime: + distance_in_words: + about_x_hours: + one: etwa eine Stunde + other: etwa %{count} Stunden + about_x_months: + one: etwa ein Monat + other: etwa %{count} Monate + about_x_years: + one: etwa ein Jahr + other: etwa %{count} Jahre + almost_x_years: + one: fast ein Jahr + other: fast %{count} Jahre + half_a_minute: eine halbe Minute + less_than_x_seconds: + one: weniger als eine Sekunde + other: weniger als %{count} Sekunden + less_than_x_minutes: + one: weniger als eine Minute + other: weniger als %{count} Minuten + over_x_years: + one: mehr als ein Jahr + other: mehr als %{count} Jahre + x_seconds: + one: eine Sekunde + other: "%{count} Sekunden" + x_minutes: + one: eine Minute + other: "%{count} Minuten" + x_days: + one: ein Tag + other: "%{count} Tage" + x_months: + one: ein Monat + other: "%{count} Monate" + x_years: + one: ein Jahr + other: "%{count} Jahre" + prompts: + second: Sekunde + minute: Minute + hour: Stunde + day: Tag + month: Monat + year: Jahr + errors: + format: "%{attribute} %{message}" + messages: + accepted: muss akzeptiert werden + blank: muss ausgefüllt werden + confirmation: stimmt nicht mit %{attribute} überein + empty: muss ausgefüllt werden + equal_to: muss genau %{count} sein + even: muss gerade sein + exclusion: ist nicht verfügbar + greater_than: muss größer als %{count} sein + greater_than_or_equal_to: muss größer oder gleich %{count} sein + inclusion: ist kein gültiger Wert + invalid: ist nicht gültig + less_than: muss kleiner als %{count} sein + less_than_or_equal_to: muss kleiner oder gleich %{count} sein + model_invalid: 'Gültigkeitsprüfung ist fehlgeschlagen: %{errors}' + not_a_number: ist keine Zahl + not_an_integer: muss ganzzahlig sein + odd: muss ungerade sein + other_than: darf nicht gleich %{count} sein + present: darf nicht ausgefüllt werden + required: muss ausgefüllt werden + taken: ist bereits vergeben + too_long: + one: ist zu lang (mehr als %{count} Zeichen) + other: ist zu lang (mehr als %{count} Zeichen) + too_short: + one: ist zu kurz (weniger als %{count} Zeichen) + other: ist zu kurz (weniger als %{count} Zeichen) + wrong_length: + one: hat die falsche Länge (muss genau %{count} Zeichen haben) + other: hat die falsche Länge (muss genau %{count} Zeichen haben) + template: + body: 'Bitte überprüfen Sie die folgenden Felder:' + header: + one: 'Konnte %{model} nicht speichern: ein Fehler.' + other: 'Konnte %{model} nicht speichern: %{count} Fehler.' + helpers: + select: + prompt: Bitte wählen + submit: + create: "%{model} erstellen" + submit: "%{model} speichern" + update: "%{model} aktualisieren" + number: + currency: + format: + delimiter: "." + format: "%n %u" + precision: 2 + separator: "," + significant: false + strip_insignificant_zeros: false + unit: "€" + format: + delimiter: "." + precision: 2 + round_mode: default + separator: "," + significant: false + strip_insignificant_zeros: false + human: + decimal_units: + format: "%n %u" + units: + billion: + one: Milliarde + other: Milliarden + million: + one: Million + other: Millionen + quadrillion: + one: Billiarde + other: Billiarden + thousand: Tausend + trillion: + one: Billion + other: Billionen + unit: '' + format: + delimiter: '' + precision: 3 + significant: true + strip_insignificant_zeros: true + storage_units: + format: "%n %u" + units: + byte: + one: Byte + other: Bytes + eb: EB + gb: GB + kb: KB + mb: MB + pb: PB + tb: TB + percentage: + format: + delimiter: '' + format: "%n %" + precision: + format: + delimiter: '' + support: + array: + last_word_connector: " und " + two_words_connector: " und " + words_connector: ", " + time: + am: vormittags + formats: + default: "%A, %d. %B %Y, %H:%M Uhr" + long: "%A, %d. %B %Y, %H:%M Uhr" + short: "%d. %B, %H:%M Uhr" + pm: nachmittags diff --git a/examples/i18n/data/lang/dz.yml b/examples/i18n/data/lang/dz.yml new file mode 100644 index 0000000..546db4e --- /dev/null +++ b/examples/i18n/data/lang/dz.yml @@ -0,0 +1,213 @@ +--- +dz: + activerecord: + errors: + messages: + record_invalid: 'ཆ་འཇོག་འཐུས་ཤོར་ཡི་: %{errors}' + restrict_dependent_destroy: + has_one: ཡིག་ཐོ་ %{record} བརྟེན་ཏེ་ཡོད་པ་ལས་བཏོན་གཏང་མི་བཏུབ་ + has_many: ཡིག་ཐོ་ %{record} བརྟེན་ཏེ་ཡོད་པ་ལས་བཏོན་གཏང་མི་བཏུབ་ + date: + abbr_day_names: + - གཟའ་ཟླཝ + - གཟའ་མིག་དམར + - གཟའ་ལྷགཔ + - གཟའ་ཕུརཔ + - གཟའ་པ་སངས + - གཟའ་སྤེན་པ + - གཟའ་ཉིམ + abbr_month_names: + - + - ཟླཝ་དང་པ + - ཟླཝ་གཉིས་པ + - ཟླཝ་གསུམ་པ + - ཟླཝ་བཞི་པ + - ཟླཝ་ལྔ་པ + - ཟླཝ་དྲུག་པ + - ཟླཝ་བདུན་པ + - ཟླཝ་བརྒྱད་པ + - ཟླཝ་དགུ་པ + - ཟླཝ་བཅུ་པ + - ཟླཝ་བཅུ་གཅིག་པ + - ཟླཝ་བཅུ་གཉིས་པ + day_names: + - གཟའ་ཟླཝ + - གཟའ་མིག་དམར + - གཟའ་ལྷག་པ + - གཟའ་ཕུརཔ + - གཟའ་པ་སངས + - གཟའ་སྤེན་པ + - གཟའ་ཉི་མ + formats: + default: "%Y-%m-%d" + long: "%d %B %Y" + short: "%d %b" + month_names: + - + - ཟླཝ་དང་པ + - ཟླཝ་གཉིས་པ + - ཟླཝ་གསུམ་པ + - ཟླཝ་བཞི་པ + - ཟླཝ་ལྔ་པ + - ཟླཝ་དྲུག་པ + - ཟླཝ་བདུན་པ + - ཟླཝ་བརྒྱད་པ + - ཟླཝ་དགུ་པ + - ཟླཝ་བཅུ་པ + - ཟླཝ་བཅུ་གཅིག་པ + - ཟླཝ་བཅུ་གཉིས་པ + order: + - :ལོ + - :ཟླཝ + - :ཉིནམ + datetime: + distance_in_words: + about_x_hours: + one: ཆུ་ཚོད་ ༡ ་དེ་ཅིག + other: ཆུ་ཚོད་ %{count} དེ་ཅིག + about_x_months: + one: ཟླཝ་ ༡ ་དེ་ཅིག + other: ཟླཝ་ %{count} དེ་ཅིག + about_x_years: + one: ལོ་ ༡ ་དེ་ཅིག + other: ལོ་ %{count} དེ་ཅིག + almost_x_years: ལོ %{count} མ་ལྷགཔ་ཅིག + half_a_minute: སྐར་མ་ཕྱེད་ཀ + less_than_x_seconds: + one: སྐར་ཆ་ ༡ ་ལས་ཉུངམ + other: སྐར་ཆ %{count} ལས་ཉུངམ + less_than_x_minutes: + one: སྐར་མ་ ༡ ་ལས་ཉུངམ + other: སྐར་མ %{count} ལས་ཉུངམ + over_x_years: + one: ལོ་ ༡ ་ལྷག + other: ལོ་%{count}ལས་ལྷག + x_seconds: + one: སྐར་ཆ་གཅིག + other: སྐར་ཆ %{count} + x_minutes: + one: སྐར་མ་གཅིག + other: སྐར་མ %{count} + x_days: + one: ཉིནམ་གཅིག + other: ཉིནམ %{count} + x_months: + one: ཟླཝ་གཅིག + other: ཟླཝ %{count} + x_years: + one: ལོ་གཅིག + other: ལོ %{count} + prompts: + second: སྐར་ཆ + minute: སྐར་མ + hour: ཆུ་ཚོད + day: ཉིནམ + month: ཟླཝ + year: ལོ + errors: + format: "%{attribute} %{message}" + messages: + accepted: ངོས་ལན་འབད་དགོ + blank: སྟོང་པ་མི་བཏུབ + confirmation: "%{attribute} དང་ཅོག་འཐོད་མིན་འདུག" + empty: སྟོངམ་མི་བཏུབ + equal_to: "%{count} དང་འདྲ་མཉམ་དགོ" + even: འདྲན་འདྲ་དགོ + exclusion: ཟུར་གསོག + greater_than: "%{count} ལས་སྦོམ་དགོ" + greater_than_or_equal_to: "%{count} ལས་མང་སུ་ཡང་ན་འདྲན་འདྲ་དགོ" + inclusion: ཐོ་ཡིག་གི་གྲངས་སུ་མིན་འདུག + invalid: ཆ་མེད་ཨིན + less_than: "%{count} ལས་ཉུང་སུ་ཅིག་དགོ" + less_than_or_equal_to: "%{count} ལས་ཉུང་སུ་ཡང་ན་འདྲན་འདྲ་དགོ" + model_invalid: 'ཆ་འཇོག་འཐུས་ཤོར་ཡི: %{errors}' + not_a_number: ཨང་གྲངས་མེན + not_an_integer: ཧྲིལ་གྲངས་དགོ + odd: ཡ་ཨང་དགོ + other_than: "%{count} ལས་སོ་སོ་ཅིག་དགོ" + present: ས་སྟོང་བཞག་དགོ + required: དགོ་རང་དགོ + taken: ཧེ་མ་ལས་འབག་ཚར་ཡི + too_long: + one: ཡིག་འབྲུ་གནམ་མེད་ས་མེད་རིངམ་ཨིན་མེ་(ཡིག་འབྲུ་མཐོ་ཚད་གཅིག་་ཨིན) + other: ཡིག་འབྲུ་གནམ་མེད་ས་མེད་རིངམ་ཨིན་མེ་(ཡིག་འབྲུ་མཐོ་ཚད་ %{count} ཨིན) + too_short: + one: ཡིག་འབྲུ་གནམ་མེད་ས་མེད་ཐུང་སུ་ནུག་(ཡིག་འབྲུ་ཉུང་མཐའ་གཅིག་ཨིན) + other: ཡིག་འབྲུ་གནམ་མེད་ས་མེད་ཐུང་སུ་ནུག་(ཡིག་འབྲུ་ཉུང་མཐའ་ %{count} ཨིན) + wrong_length: + one: ཡིག་འབྲུ་འཛུལ་ནུག་(ཡིག་འབྲུ་གཅིག་ངེས་པར་དུ་དགོ) + other: ཡིག་འབྲུ་འཛུལ་ནུག་(ཡིག་འབྲུ་ %{count} ངེས་པར་དུ་དགོ) + template: + body: འོག་གི་ས་ཁོངས་ཚུ་ན་བཀའ་ངལ་འདུག + header: + one: འཛོལ་བ་ཅིག་གིས་ %{model} བསྡུ་བཞག་འབད་ནི་ལུ་བཀག་རྐྱབ་ཅིག + other: འཛོལ་བ་ %{count} ་གིས་ %{model} འདི་བསྡུ་བཞག་འབད་ནི་ལུ་བཀག་རྐྱབ་ཅིག + helpers: + select: + prompt: གདམ་ཁ་རྐྱབ + submit: + create: "%{model} གསར་སྤྲིན་འབད" + submit: "%{model} བསྡུ་བཞག་འབད" + update: "%{model} དུས་མཐུན་ཁ་གསོ་འབད" + number: + currency: + format: + delimiter: "," + format: "%u%n" + precision: ༢ + separator: "." + significant: false + strip_insignificant_zeros: false + unit: "$" + format: + delimiter: "," + precision: ༣ + separator: "." + significant: false + strip_insignificant_zeros: false + human: + decimal_units: + format: "%n %u" + units: + billion: ཐེར་འབུམ + million: ས་ཡ + quadrillion: Quadrillion + thousand: སྟོང་ཕྲག + trillion: ཁྲག་ཁྲིག་ཆེན་པོ + unit: '' + format: + delimiter: '' + precision: ༣ + significant: true + strip_insignificant_zeros: true + storage_units: + format: "%n %u" + units: + byte: + one: Byte + other: Bytes + eb: EB + gb: GB + kb: KB + mb: MB + pb: PB + tb: TB + percentage: + format: + delimiter: '' + format: "%n%" + precision: + format: + delimiter: '' + support: + array: + last_word_connector: ", དང " + two_words_connector: " དང " + words_connector: ", " + time: + am: དྲོ་པ་གི་ཆུ་ཚོད་་ + formats: + default: "%a, %d %b %Y %H:%M:%S %z" + long: "%d %B %Y %H:%M" + short: "%d %b %H:%M" + pm: ཕྱི་རུ་གི་ཆུ་ཚོད་ diff --git a/examples/i18n/data/lang/el-CY.yml b/examples/i18n/data/lang/el-CY.yml new file mode 100644 index 0000000..aa3faf8 --- /dev/null +++ b/examples/i18n/data/lang/el-CY.yml @@ -0,0 +1,215 @@ +--- +el-CY: + activerecord: + errors: + messages: + record_invalid: 'Η επικύρωση απέτυχε: %{errors}' + restrict_dependent_destroy: + has_one: Η εγγραφή δεν μπορεί να διαγραφεί γιατί υπάρχει εξαρτημένο %{record} + has_many: Η εγγραφή δεν μπορεί να διαγραφεί γιατί υπάρχουν εξαρτημένα %{record} + date: + abbr_day_names: + - Κυρ + - Δευ + - Τρί + - Τετ + - Πέμ + - Παρ + - Σάβ + abbr_month_names: + - + - Ιαν + - Φεβ + - Μαρ + - Απρ + - Μαϊ + - Ιουν + - Ιουλ + - Αυγ + - Σεπ + - Οκτ + - Νοε + - Δεκ + day_names: + - Κυριακή + - Δευτέρα + - Τρίτη + - Τετάρτη + - Πέμπτη + - Παρασκευή + - Σάββατο + formats: + default: "%d/%m/%Y" + long: "%e %B %Y" + short: "%d %b" + month_names: + - + - Ιανουάριος + - Φεβρουάριος + - Μάρτιος + - Απρίλιος + - Μάιος + - Ιούνιος + - Ιούλιος + - Αύγουστος + - Σεπτέμβριος + - Οκτώβριος + - Νοέμβριος + - Δεκέμβριος + order: + - :day + - :month + - :year + datetime: + distance_in_words: + about_x_hours: + one: περίπου μία ώρα + other: περίπου %{count} ώρες + about_x_months: + one: περίπου ένα μήνα + other: περίπου %{count} μήνες + about_x_years: + one: περίπου ένα χρόνο + other: περίπου %{count} χρόνια + almost_x_years: + one: σχεδόν ένα χρόνο + other: σχεδόν %{count} χρόνια + half_a_minute: μισό λεπτό + less_than_x_seconds: + one: λιγότερο από ένα δευτερόλεπτο + other: λιγότερο από %{count} δευτερόλεπτα + less_than_x_minutes: + one: λιγότερο από ένα λεπτό + other: λιγότερο από %{count} λεπτά + over_x_years: + one: πάνω από ένα χρόνο + other: πάνω από %{count} χρόνια + x_seconds: + one: "%{count} δευτερόλεπτο" + other: "%{count} δευτερόλεπτα" + x_minutes: + one: "%{count} λεπτό" + other: "%{count} λεπτά" + x_days: + one: "%{count} μέρα" + other: "%{count} ημέρες" + x_months: + one: "%{count} μήνα" + other: "%{count} μήνες" + x_years: + one: "%{count} χρόνος" + other: "%{count} χρόνια" + prompts: + second: Δευτερόλεπτο + minute: Λεπτό + hour: Ώρα + day: Ημέρα + month: Μήνας + year: Έτος + errors: + format: "%{attribute} %{message}" + messages: + accepted: πρέπει να είναι αποδεκτό + blank: δεν πρέπει να είναι κενό + confirmation: δεν ταιριάζει με την επικύρωση + empty: δεν πρέπει να είναι άδειο + equal_to: πρέπει να είναι ίσο με %{count} + even: πρέπει να είναι άρτιος + exclusion: είναι δεσμευμένο + greater_than: πρέπει να είναι μεγαλύτερο από %{count} + greater_than_or_equal_to: πρέπει να είναι μεγαλύτερο ή ίσο με %{count} + inclusion: δεν συμπεριλαμβάνεται στη λίστα + invalid: είναι άκυρο + less_than: πρέπει να είναι λιγότερο από %{count} + less_than_or_equal_to: πρέπει να είναι λιγότερο ή ίσο με %{count} + model_invalid: 'Η επικύρωση απέτυχε: %{errors}' + not_a_number: δεν είναι αριθμός + not_an_integer: πρέπει να είναι ακέραιος αριθμός + odd: πρέπει να είναι περιττός + other_than: πρέπει να είναι διάφορο του %{count} + present: πρέπει να είναι κενό + required: πρέπει να υπάρχει + taken: το έχουν ήδη χρησιμοποιήσει + too_long: + one: είναι πολύ μεγάλο (το μέγιστο μήκος είναι %{count} χαρακτήρας) + other: είναι πολύ μεγάλο (το μέγιστο μήκος είναι %{count} χαρακτήρες) + too_short: + one: είναι πολύ μικρό (το ελάχιστο μήκος είναι %{count} χαρακτήρας) + other: είναι πολύ μικρό (το ελάχιστο μήκος είναι %{count} χαρακτήρες) + wrong_length: + one: έχει λανθασμένο μήκος (πρέπει να είναι %{count} χαρακτήρας) + other: έχει λανθασμένο μήκος (πρέπει να είναι %{count} χαρακτήρες) + template: + body: 'Υπήρξαν προβλήματα με τα ακόλουθα πεδία:' + header: + one: "%{count} λάθος εμπόδισε αυτό το %{model} να αποθηκευτεί." + other: "%{count} λάθη εμπόδισαν αυτό το %{model} να αποθηκευτεί." + helpers: + select: + prompt: Παρακαλώ επιλέξτε + submit: + create: Δημιουργήστε %{model} + submit: Αποθηκεύστε %{model} + update: Ενημερώστε %{model} + number: + currency: + format: + delimiter: "." + format: "%n %u" + precision: 2 + separator: "," + significant: false + strip_insignificant_zeros: false + unit: "€" + format: + delimiter: "." + precision: 3 + separator: "," + significant: false + strip_insignificant_zeros: false + human: + decimal_units: + format: "%n %u" + units: + billion: δισεκατομμύριο + million: εκατομμύριο + quadrillion: τετράκις εκατομμύριο + thousand: χίλια + trillion: τρισεκατομμύριο + unit: '' + format: + delimiter: '' + precision: 1 + significant: true + strip_insignificant_zeros: true + storage_units: + format: "%n %u" + units: + byte: + one: Byte + other: Bytes + eb: EB + gb: GB + kb: KB + mb: MB + pb: PB + tb: TB + percentage: + format: + delimiter: '' + format: "%n%" + precision: + format: + delimiter: '' + support: + array: + last_word_connector: " και " + two_words_connector: " και " + words_connector: ", " + time: + am: π.μ. + formats: + default: "%d %B %Y %H:%M" + long: "%A %d %B %Y %H:%M:%S %Z" + short: "%d %b %H:%M" + pm: μ.μ. diff --git a/examples/i18n/data/lang/el.yml b/examples/i18n/data/lang/el.yml new file mode 100644 index 0000000..448000f --- /dev/null +++ b/examples/i18n/data/lang/el.yml @@ -0,0 +1,215 @@ +--- +el: + activerecord: + errors: + messages: + record_invalid: 'Η επικύρωση απέτυχε: %{errors}' + restrict_dependent_destroy: + has_one: Η εγγραφή δεν μπορεί να διαγραφεί γιατί υπάρχει εξαρτημένο %{record} + has_many: Η εγγραφή δεν μπορεί να διαγραφεί γιατί υπάρχουν εξαρτημένα %{record} + date: + abbr_day_names: + - Κυρ + - Δευ + - Τρί + - Τετ + - Πέμ + - Παρ + - Σάβ + abbr_month_names: + - + - Ιαν + - Φεβ + - Μαρ + - Απρ + - Μαϊ + - Ιουν + - Ιουλ + - Αυγ + - Σεπ + - Οκτ + - Νοε + - Δεκ + day_names: + - Κυριακή + - Δευτέρα + - Τρίτη + - Τετάρτη + - Πέμπτη + - Παρασκευή + - Σάββατο + formats: + default: "%d/%m/%Y" + long: "%e %B %Y" + short: "%d %b" + month_names: + - + - Ιανουάριος + - Φεβρουάριος + - Μάρτιος + - Απρίλιος + - Μάιος + - Ιούνιος + - Ιούλιος + - Αύγουστος + - Σεπτέμβριος + - Οκτώβριος + - Νοέμβριος + - Δεκέμβριος + order: + - :day + - :month + - :year + datetime: + distance_in_words: + about_x_hours: + one: περίπου μία ώρα + other: περίπου %{count} ώρες + about_x_months: + one: περίπου ένα μήνα + other: περίπου %{count} μήνες + about_x_years: + one: περίπου ένα χρόνο + other: περίπου %{count} χρόνια + almost_x_years: + one: σχεδόν ένα χρόνο + other: σχεδόν %{count} χρόνια + half_a_minute: μισό λεπτό + less_than_x_seconds: + one: λιγότερο από ένα δευτερόλεπτο + other: λιγότερο από %{count} δευτερόλεπτα + less_than_x_minutes: + one: λιγότερο από ένα λεπτό + other: λιγότερο από %{count} λεπτά + over_x_years: + one: πάνω από ένα χρόνο + other: πάνω από %{count} χρόνια + x_seconds: + one: "%{count} δευτερόλεπτο" + other: "%{count} δευτερόλεπτα" + x_minutes: + one: "%{count} λεπτό" + other: "%{count} λεπτά" + x_days: + one: "%{count} μέρα" + other: "%{count} ημέρες" + x_months: + one: "%{count} μήνα" + other: "%{count} μήνες" + x_years: + one: "%{count} χρόνος" + other: "%{count} χρόνια" + prompts: + second: Δευτερόλεπτο + minute: Λεπτό + hour: Ώρα + day: Ημέρα + month: Μήνας + year: Έτος + errors: + format: "%{attribute} %{message}" + messages: + accepted: πρέπει να είναι αποδεκτό + blank: δεν πρέπει να είναι κενό + confirmation: δεν ταιριάζει με την επικύρωση + empty: δεν πρέπει να είναι άδειο + equal_to: πρέπει να είναι ίσο με %{count} + even: πρέπει να είναι άρτιος + exclusion: είναι δεσμευμένο + greater_than: πρέπει να είναι μεγαλύτερο από %{count} + greater_than_or_equal_to: πρέπει να είναι μεγαλύτερο ή ίσο με %{count} + inclusion: δεν συμπεριλαμβάνεται στη λίστα + invalid: είναι άκυρο + less_than: πρέπει να είναι λιγότερο από %{count} + less_than_or_equal_to: πρέπει να είναι λιγότερο ή ίσο με %{count} + model_invalid: 'Η επικύρωση απέτυχε: %{errors}' + not_a_number: δεν είναι αριθμός + not_an_integer: πρέπει να είναι ακέραιος αριθμός + odd: πρέπει να είναι περιττός + other_than: πρέπει να είναι διάφορο του %{count} + present: πρέπει να είναι κενό + required: πρέπει να υπάρχει + taken: το έχουν ήδη χρησιμοποιήσει + too_long: + one: είναι πολύ μεγάλο (το μέγιστο μήκος είναι %{count} χαρακτήρας) + other: είναι πολύ μεγάλο (το μέγιστο μήκος είναι %{count} χαρακτήρες) + too_short: + one: είναι πολύ μικρό (το ελάχιστο μήκος είναι %{count} χαρακτήρας) + other: είναι πολύ μικρό (το ελάχιστο μήκος είναι %{count} χαρακτήρες) + wrong_length: + one: έχει λανθασμένο μήκος (πρέπει να είναι %{count} χαρακτήρας) + other: έχει λανθασμένο μήκος (πρέπει να είναι %{count} χαρακτήρες) + template: + body: 'Υπήρξαν προβλήματα με τα ακόλουθα πεδία:' + header: + one: "%{count} λάθος εμπόδισε αυτό το %{model} να αποθηκευτεί." + other: "%{count} λάθη εμπόδισαν αυτό το %{model} να αποθηκευτεί." + helpers: + select: + prompt: Παρακαλώ επιλέξτε + submit: + create: Δημιουργήστε %{model} + submit: Αποθηκεύστε %{model} + update: Ενημερώστε %{model} + number: + currency: + format: + delimiter: "." + format: "%n %u" + precision: 2 + separator: "," + significant: false + strip_insignificant_zeros: false + unit: "€" + format: + delimiter: "." + precision: 3 + separator: "," + significant: false + strip_insignificant_zeros: false + human: + decimal_units: + format: "%n %u" + units: + billion: δισεκατομμύριο + million: εκατομμύριο + quadrillion: τετράκις εκατομμύριο + thousand: χίλια + trillion: τρισεκατομμύριο + unit: '' + format: + delimiter: '' + precision: 1 + significant: true + strip_insignificant_zeros: true + storage_units: + format: "%n %u" + units: + byte: + one: Byte + other: Bytes + eb: EB + gb: GB + kb: KB + mb: MB + pb: PB + tb: TB + percentage: + format: + delimiter: '' + format: "%n%" + precision: + format: + delimiter: '' + support: + array: + last_word_connector: " και " + two_words_connector: " και " + words_connector: ", " + time: + am: π.μ. + formats: + default: "%d %B %Y %H:%M" + long: "%A %d %B %Y %H:%M:%S %Z" + short: "%d %b %H:%M" + pm: μ.μ. diff --git a/examples/i18n/data/lang/en-AU.yml b/examples/i18n/data/lang/en-AU.yml new file mode 100644 index 0000000..0680a29 --- /dev/null +++ b/examples/i18n/data/lang/en-AU.yml @@ -0,0 +1,215 @@ +--- +en-AU: + activerecord: + errors: + messages: + record_invalid: 'Validation failed: %{errors}' + restrict_dependent_destroy: + has_one: Cannot delete record because a dependent %{record} exists + has_many: Cannot delete record because dependent %{record} exist + date: + abbr_day_names: + - Sun + - Mon + - Tue + - Wed + - Thu + - Fri + - Sat + abbr_month_names: + - + - Jan + - Feb + - Mar + - Apr + - May + - Jun + - Jul + - Aug + - Sep + - Oct + - Nov + - Dec + day_names: + - Sunday + - Monday + - Tuesday + - Wednesday + - Thursday + - Friday + - Saturday + formats: + default: "%d-%m-%Y" + long: "%d %B, %Y" + short: "%d %b" + month_names: + - + - January + - February + - March + - April + - May + - June + - July + - August + - September + - October + - November + - December + order: + - :year + - :month + - :day + datetime: + distance_in_words: + about_x_hours: + one: about %{count} hour + other: about %{count} hours + about_x_months: + one: about %{count} month + other: about %{count} months + about_x_years: + one: about %{count} year + other: about %{count} years + almost_x_years: + one: almost %{count} year + other: almost %{count} years + half_a_minute: half a minute + less_than_x_seconds: + one: less than %{count} second + other: less than %{count} seconds + less_than_x_minutes: + one: less than a minute + other: less than %{count} minutes + over_x_years: + one: over %{count} year + other: over %{count} years + x_seconds: + one: "%{count} second" + other: "%{count} seconds" + x_minutes: + one: "%{count} minute" + other: "%{count} minutes" + x_days: + one: "%{count} day" + other: "%{count} days" + x_months: + one: "%{count} month" + other: "%{count} months" + x_years: + one: "%{count} year" + other: "%{count} years" + prompts: + second: Second + minute: Minute + hour: Hour + day: Day + month: Month + year: Year + errors: + format: "%{attribute} %{message}" + messages: + accepted: must be accepted + blank: can't be blank + confirmation: doesn't match %{attribute} + empty: can't be empty + equal_to: must be equal to %{count} + even: must be even + exclusion: is reserved + greater_than: must be greater than %{count} + greater_than_or_equal_to: must be greater than or equal to %{count} + inclusion: is not included in the list + invalid: is invalid + less_than: must be less than %{count} + less_than_or_equal_to: must be less than or equal to %{count} + model_invalid: 'Validation failed: %{errors}' + not_a_number: is not a number + not_an_integer: must be an integer + odd: must be odd + other_than: must be other than %{count} + present: must be blank + required: must exist + taken: has already been taken + too_long: + one: is too long (maximum is %{count} character) + other: is too long (maximum is %{count} characters) + too_short: + one: is too short (minimum is %{count} character) + other: is too short (minimum is %{count} characters) + wrong_length: + one: is the wrong length (should be %{count} character) + other: is the wrong length (should be %{count} characters) + template: + body: 'There were problems with the following fields:' + header: + one: "%{count} error prohibited this %{model} from being saved" + other: "%{count} errors prohibited this %{model} from being saved" + helpers: + select: + prompt: Please select + submit: + create: Create %{model} + submit: Save %{model} + update: Update %{model} + number: + currency: + format: + delimiter: "," + format: "%u%n" + precision: 2 + separator: "." + significant: false + strip_insignificant_zeros: false + unit: "$" + format: + delimiter: "," + precision: 3 + separator: "." + significant: false + strip_insignificant_zeros: false + human: + decimal_units: + format: "%n %u" + units: + billion: Billion + million: Million + quadrillion: Quadrillion + thousand: Thousand + trillion: Trillion + unit: '' + format: + delimiter: '' + precision: 3 + significant: true + strip_insignificant_zeros: true + storage_units: + format: "%n %u" + units: + byte: + one: Byte + other: Bytes + eb: EB + gb: GB + kb: KB + mb: MB + pb: PB + tb: TB + percentage: + format: + delimiter: '' + format: "%n%" + precision: + format: + delimiter: '' + support: + array: + last_word_connector: ", and " + two_words_connector: " and " + words_connector: ", " + time: + am: am + formats: + default: "%a, %d %b %Y %H:%M:%S %z" + long: "%d %B, %Y %H:%M" + short: "%d %b %H:%M" + pm: pm diff --git a/examples/i18n/data/lang/en-CA.yml b/examples/i18n/data/lang/en-CA.yml new file mode 100644 index 0000000..d931cfe --- /dev/null +++ b/examples/i18n/data/lang/en-CA.yml @@ -0,0 +1,215 @@ +--- +en-CA: + activerecord: + errors: + messages: + record_invalid: 'Validation failed: %{errors}' + restrict_dependent_destroy: + has_one: Cannot delete record because a dependent %{record} exists + has_many: Cannot delete record because dependent %{record} exist + date: + abbr_day_names: + - Sun + - Mon + - Tue + - Wed + - Thu + - Fri + - Sat + abbr_month_names: + - + - Jan + - Feb + - Mar + - Apr + - May + - Jun + - Jul + - Aug + - Sep + - Oct + - Nov + - Dec + day_names: + - Sunday + - Monday + - Tuesday + - Wednesday + - Thursday + - Friday + - Saturday + formats: + default: "%Y-%m-%d" + long: "%B %d, %Y" + short: "%d %b" + month_names: + - + - January + - February + - March + - April + - May + - June + - July + - August + - September + - October + - November + - December + order: + - :year + - :month + - :day + datetime: + distance_in_words: + about_x_hours: + one: about %{count} hour + other: about %{count} hours + about_x_months: + one: about %{count} month + other: about %{count} months + about_x_years: + one: about %{count} year + other: about %{count} years + almost_x_years: + one: almost %{count} year + other: almost %{count} years + half_a_minute: half a minute + less_than_x_seconds: + one: less than %{count} second + other: less than %{count} seconds + less_than_x_minutes: + one: less than a minute + other: less than %{count} minutes + over_x_years: + one: over %{count} year + other: over %{count} years + x_seconds: + one: "%{count} second" + other: "%{count} seconds" + x_minutes: + one: "%{count} minute" + other: "%{count} minutes" + x_days: + one: "%{count} day" + other: "%{count} days" + x_months: + one: "%{count} month" + other: "%{count} months" + x_years: + one: "%{count} year" + other: "%{count} years" + prompts: + second: Second + minute: Minute + hour: Hour + day: Day + month: Month + year: Year + errors: + format: "%{attribute} %{message}" + messages: + accepted: must be accepted + blank: can't be blank + confirmation: doesn't match %{attribute} + empty: can't be empty + equal_to: must be equal to %{count} + even: must be even + exclusion: is reserved + greater_than: must be greater than %{count} + greater_than_or_equal_to: must be greater than or equal to %{count} + inclusion: is not included in the list + invalid: is invalid + less_than: must be less than %{count} + less_than_or_equal_to: must be less than or equal to %{count} + model_invalid: 'Validation failed: %{errors}' + not_a_number: is not a number + not_an_integer: must be an integer + odd: must be odd + other_than: must be other than %{count} + present: must be blank + required: must exist + taken: has already been taken + too_long: + one: is too long (maximum is %{count} character) + other: is too long (maximum is %{count} characters) + too_short: + one: is too short (minimum is %{count} character) + other: is too short (minimum is %{count} characters) + wrong_length: + one: is the wrong length (should be %{count} character) + other: is the wrong length (should be %{count} characters) + template: + body: 'There were problems with the following fields:' + header: + one: "%{count} error prohibited this %{model} from being saved" + other: "%{count} errors prohibited this %{model} from being saved" + helpers: + select: + prompt: Please select + submit: + create: Create %{model} + submit: Save %{model} + update: Update %{model} + number: + currency: + format: + delimiter: "," + format: "%u%n" + precision: 2 + separator: "." + significant: false + strip_insignificant_zeros: false + unit: "$" + format: + delimiter: "," + precision: 3 + separator: "." + significant: false + strip_insignificant_zeros: false + human: + decimal_units: + format: "%n %u" + units: + billion: Billion + million: Million + quadrillion: Quadrillion + thousand: Thousand + trillion: Trillion + unit: '' + format: + delimiter: '' + precision: 3 + significant: true + strip_insignificant_zeros: true + storage_units: + format: "%n %u" + units: + byte: + one: Byte + other: Bytes + eb: EB + gb: GB + kb: KB + mb: MB + pb: PB + tb: TB + percentage: + format: + delimiter: '' + format: "%n%" + precision: + format: + delimiter: '' + support: + array: + last_word_connector: ", and " + two_words_connector: " and " + words_connector: ", " + time: + am: am + formats: + default: "%a, %d %b %Y %I:%M:%S %p %Z" + long: "%B %d, %Y %I:%M %p" + short: "%d %b %I:%M %p" + pm: pm diff --git a/examples/i18n/data/lang/en-CY.yml b/examples/i18n/data/lang/en-CY.yml new file mode 100644 index 0000000..1ce4443 --- /dev/null +++ b/examples/i18n/data/lang/en-CY.yml @@ -0,0 +1,215 @@ +--- +en-CY: + activerecord: + errors: + messages: + record_invalid: 'Validation failed: %{errors}' + restrict_dependent_destroy: + has_one: Cannot delete record because a dependent %{record} exists + has_many: Cannot delete record because dependent %{record} exist + date: + abbr_day_names: + - Sun + - Mon + - Tue + - Wed + - Thu + - Fri + - Sat + abbr_month_names: + - + - Jan + - Feb + - Mar + - Apr + - May + - Jun + - Jul + - Aug + - Sep + - Oct + - Nov + - Dec + day_names: + - Sunday + - Monday + - Tuesday + - Wednesday + - Thursday + - Friday + - Saturday + formats: + default: "%d-%m-%Y" + long: "%d %B, %Y" + short: "%d %b" + month_names: + - + - January + - February + - March + - April + - May + - June + - July + - August + - September + - October + - November + - December + order: + - :day + - :month + - :year + datetime: + distance_in_words: + about_x_hours: + one: about %{count} hour + other: about %{count} hours + about_x_months: + one: about %{count} month + other: about %{count} months + about_x_years: + one: about %{count} year + other: about %{count} years + almost_x_years: + one: almost %{count} year + other: almost %{count} years + half_a_minute: half a minute + less_than_x_seconds: + one: less than %{count} second + other: less than %{count} seconds + less_than_x_minutes: + one: less than a minute + other: less than %{count} minutes + over_x_years: + one: over %{count} year + other: over %{count} years + x_seconds: + one: "%{count} second" + other: "%{count} seconds" + x_minutes: + one: "%{count} minute" + other: "%{count} minutes" + x_days: + one: "%{count} day" + other: "%{count} days" + x_months: + one: "%{count} month" + other: "%{count} months" + x_years: + one: "%{count} year" + other: "%{count} years" + prompts: + second: Second + minute: Minute + hour: Hour + day: Day + month: Month + year: Year + errors: + format: "%{attribute} %{message}" + messages: + accepted: must be accepted + blank: can't be blank + confirmation: doesn't match %{attribute} + empty: can't be empty + equal_to: must be equal to %{count} + even: must be even + exclusion: is reserved + greater_than: must be greater than %{count} + greater_than_or_equal_to: must be greater than or equal to %{count} + inclusion: is not included in the list + invalid: is invalid + less_than: must be less than %{count} + less_than_or_equal_to: must be less than or equal to %{count} + model_invalid: 'Validation failed: %{errors}' + not_a_number: is not a number + not_an_integer: must be an integer + odd: must be odd + other_than: must be other than %{count} + present: must be blank + required: must exist + taken: has already been taken + too_long: + one: is too long (maximum is %{count} character) + other: is too long (maximum is %{count} characters) + too_short: + one: is too short (minimum is %{count} character) + other: is too short (minimum is %{count} characters) + wrong_length: + one: is the wrong length (should be %{count} character) + other: is the wrong length (should be %{count} characters) + template: + body: 'There were problems with the following fields:' + header: + one: "%{count} error prohibited this %{model} from being saved" + other: "%{count} errors prohibited this %{model} from being saved" + helpers: + select: + prompt: Please select + submit: + create: Create %{model} + submit: Save %{model} + update: Update %{model} + number: + currency: + format: + delimiter: "," + format: "%u%n" + precision: 2 + separator: "." + significant: false + strip_insignificant_zeros: false + unit: "€" + format: + delimiter: "," + precision: 3 + separator: "." + significant: false + strip_insignificant_zeros: false + human: + decimal_units: + format: "%n %u" + units: + billion: Billion + million: Million + quadrillion: Quadrillion + thousand: Thousand + trillion: Trillion + unit: '' + format: + delimiter: '' + precision: 3 + significant: true + strip_insignificant_zeros: true + storage_units: + format: "%n %u" + units: + byte: + one: Byte + other: Bytes + eb: EB + gb: GB + kb: KB + mb: MB + pb: PB + tb: TB + percentage: + format: + delimiter: '' + format: "%n%" + precision: + format: + delimiter: '' + support: + array: + last_word_connector: ", and " + two_words_connector: " and " + words_connector: ", " + time: + am: am + formats: + default: "%a, %d %b %Y %H:%M:%S %z" + long: "%d %B, %Y %H:%M" + short: "%d %b %H:%M" + pm: pm diff --git a/examples/i18n/data/lang/en-GB.yml b/examples/i18n/data/lang/en-GB.yml new file mode 100644 index 0000000..f0e8598 --- /dev/null +++ b/examples/i18n/data/lang/en-GB.yml @@ -0,0 +1,215 @@ +--- +en-GB: + activerecord: + errors: + messages: + record_invalid: 'Validation failed: %{errors}' + restrict_dependent_destroy: + has_one: Cannot delete record because a dependent %{record} exists + has_many: Cannot delete record because dependent %{record} exist + date: + abbr_day_names: + - Sun + - Mon + - Tue + - Wed + - Thu + - Fri + - Sat + abbr_month_names: + - + - Jan + - Feb + - Mar + - Apr + - May + - Jun + - Jul + - Aug + - Sep + - Oct + - Nov + - Dec + day_names: + - Sunday + - Monday + - Tuesday + - Wednesday + - Thursday + - Friday + - Saturday + formats: + default: "%d-%m-%Y" + long: "%d %B, %Y" + short: "%d %b" + month_names: + - + - January + - February + - March + - April + - May + - June + - July + - August + - September + - October + - November + - December + order: + - :day + - :month + - :year + datetime: + distance_in_words: + about_x_hours: + one: about %{count} hour + other: about %{count} hours + about_x_months: + one: about %{count} month + other: about %{count} months + about_x_years: + one: about %{count} year + other: about %{count} years + almost_x_years: + one: almost %{count} year + other: almost %{count} years + half_a_minute: half a minute + less_than_x_seconds: + one: less than %{count} second + other: less than %{count} seconds + less_than_x_minutes: + one: less than a minute + other: less than %{count} minutes + over_x_years: + one: over %{count} year + other: over %{count} years + x_seconds: + one: "%{count} second" + other: "%{count} seconds" + x_minutes: + one: "%{count} minute" + other: "%{count} minutes" + x_days: + one: "%{count} day" + other: "%{count} days" + x_months: + one: "%{count} month" + other: "%{count} months" + x_years: + one: "%{count} year" + other: "%{count} years" + prompts: + second: Second + minute: Minute + hour: Hour + day: Day + month: Month + year: Year + errors: + format: "%{attribute} %{message}" + messages: + accepted: must be accepted + blank: can't be blank + confirmation: doesn't match %{attribute} + empty: can't be empty + equal_to: must be equal to %{count} + even: must be even + exclusion: is reserved + greater_than: must be greater than %{count} + greater_than_or_equal_to: must be greater than or equal to %{count} + inclusion: is not included in the list + invalid: is invalid + less_than: must be less than %{count} + less_than_or_equal_to: must be less than or equal to %{count} + model_invalid: 'Validation failed: %{errors}' + not_a_number: is not a number + not_an_integer: must be an integer + odd: must be odd + other_than: must be other than %{count} + present: must be blank + required: must exist + taken: has already been taken + too_long: + one: is too long (maximum is %{count} character) + other: is too long (maximum is %{count} characters) + too_short: + one: is too short (minimum is %{count} character) + other: is too short (minimum is %{count} characters) + wrong_length: + one: is the wrong length (should be %{count} character) + other: is the wrong length (should be %{count} characters) + template: + body: 'There were problems with the following fields:' + header: + one: "%{count} error prohibited this %{model} from being saved" + other: "%{count} errors prohibited this %{model} from being saved" + helpers: + select: + prompt: Please select + submit: + create: Create %{model} + submit: Save %{model} + update: Update %{model} + number: + currency: + format: + delimiter: "," + format: "%u%n" + precision: 2 + separator: "." + significant: false + strip_insignificant_zeros: false + unit: "£" + format: + delimiter: "," + precision: 3 + separator: "." + significant: false + strip_insignificant_zeros: false + human: + decimal_units: + format: "%n %u" + units: + billion: Billion + million: Million + quadrillion: Quadrillion + thousand: Thousand + trillion: Trillion + unit: '' + format: + delimiter: '' + precision: 3 + significant: true + strip_insignificant_zeros: true + storage_units: + format: "%n %u" + units: + byte: + one: Byte + other: Bytes + eb: EB + gb: GB + kb: KB + mb: MB + pb: PB + tb: TB + percentage: + format: + delimiter: '' + format: "%n%" + precision: + format: + delimiter: '' + support: + array: + last_word_connector: ", and " + two_words_connector: " and " + words_connector: ", " + time: + am: am + formats: + default: "%a, %d %b %Y %H:%M:%S %z" + long: "%d %B, %Y %H:%M" + short: "%d %b %H:%M" + pm: pm diff --git a/examples/i18n/data/lang/en-IE.yml b/examples/i18n/data/lang/en-IE.yml new file mode 100644 index 0000000..0dfee05 --- /dev/null +++ b/examples/i18n/data/lang/en-IE.yml @@ -0,0 +1,215 @@ +--- +en-IE: + activerecord: + errors: + messages: + record_invalid: 'Validation failed: %{errors}' + restrict_dependent_destroy: + has_one: Cannot delete record because a dependent %{record} exists + has_many: Cannot delete record because dependent %{record} exist + date: + abbr_day_names: + - Sun + - Mon + - Tue + - Wed + - Thu + - Fri + - Sat + abbr_month_names: + - + - Jan + - Feb + - Mar + - Apr + - May + - Jun + - Jul + - Aug + - Sep + - Oct + - Nov + - Dec + day_names: + - Sunday + - Monday + - Tuesday + - Wednesday + - Thursday + - Friday + - Saturday + formats: + default: "%d-%m-%Y" + long: "%d %B, %Y" + short: "%d %b" + month_names: + - + - January + - February + - March + - April + - May + - June + - July + - August + - September + - October + - November + - December + order: + - :day + - :month + - :year + datetime: + distance_in_words: + about_x_hours: + one: about %{count} hour + other: about %{count} hours + about_x_months: + one: about %{count} month + other: about %{count} months + about_x_years: + one: about %{count} year + other: about %{count} years + almost_x_years: + one: almost %{count} year + other: almost %{count} years + half_a_minute: half a minute + less_than_x_seconds: + one: less than %{count} second + other: less than %{count} seconds + less_than_x_minutes: + one: less than a minute + other: less than %{count} minutes + over_x_years: + one: over %{count} year + other: over %{count} years + x_seconds: + one: "%{count} second" + other: "%{count} seconds" + x_minutes: + one: "%{count} minute" + other: "%{count} minutes" + x_days: + one: "%{count} day" + other: "%{count} days" + x_months: + one: "%{count} month" + other: "%{count} months" + x_years: + one: "%{count} year" + other: "%{count} years" + prompts: + second: Second + minute: Minute + hour: Hour + day: Day + month: Month + year: Year + errors: + format: "%{attribute} %{message}" + messages: + accepted: must be accepted + blank: can't be blank + confirmation: doesn't match %{attribute} + empty: can't be empty + equal_to: must be equal to %{count} + even: must be even + exclusion: is reserved + greater_than: must be greater than %{count} + greater_than_or_equal_to: must be greater than or equal to %{count} + inclusion: is not included in the list + invalid: is invalid + less_than: must be less than %{count} + less_than_or_equal_to: must be less than or equal to %{count} + model_invalid: 'Validation failed: %{errors}' + not_a_number: is not a number + not_an_integer: must be an integer + odd: must be odd + other_than: must be other than %{count} + present: must be blank + required: must exist + taken: has already been taken + too_long: + one: is too long (maximum is %{count} character) + other: is too long (maximum is %{count} characters) + too_short: + one: is too short (minimum is %{count} character) + other: is too short (minimum is %{count} characters) + wrong_length: + one: is the wrong length (should be %{count} character) + other: is the wrong length (should be %{count} characters) + template: + body: 'There were problems with the following fields:' + header: + one: "%{count} error prohibited this %{model} from being saved" + other: "%{count} errors prohibited this %{model} from being saved" + helpers: + select: + prompt: Please select + submit: + create: Create %{model} + submit: Save %{model} + update: Update %{model} + number: + currency: + format: + delimiter: "," + format: "%u%n" + precision: 2 + separator: "." + significant: false + strip_insignificant_zeros: false + unit: "€" + format: + delimiter: "," + precision: 3 + separator: "." + significant: false + strip_insignificant_zeros: false + human: + decimal_units: + format: "%n %u" + units: + billion: Billion + million: Million + quadrillion: Quadrillion + thousand: Thousand + trillion: Trillion + unit: '' + format: + delimiter: '' + precision: 3 + significant: true + strip_insignificant_zeros: true + storage_units: + format: "%n %u" + units: + byte: + one: Byte + other: Bytes + eb: EB + gb: GB + kb: KB + mb: MB + pb: PB + tb: TB + percentage: + format: + delimiter: '' + format: "%n%" + precision: + format: + delimiter: '' + support: + array: + last_word_connector: ", and " + two_words_connector: " and " + words_connector: ", " + time: + am: am + formats: + default: "%a, %d %b %Y %H:%M:%S %z" + long: "%d %B, %Y %H:%M" + short: "%d %b %H:%M" + pm: pm diff --git a/examples/i18n/data/lang/en-IN.yml b/examples/i18n/data/lang/en-IN.yml new file mode 100644 index 0000000..b83b047 --- /dev/null +++ b/examples/i18n/data/lang/en-IN.yml @@ -0,0 +1,215 @@ +--- +en-IN: + activerecord: + errors: + messages: + record_invalid: 'Validation failed: %{errors}' + restrict_dependent_destroy: + has_one: Cannot delete record because a dependent %{record} exists + has_many: Cannot delete record because dependent %{record} exist + date: + abbr_day_names: + - Sun + - Mon + - Tue + - Wed + - Thu + - Fri + - Sat + abbr_month_names: + - + - Jan + - Feb + - Mar + - Apr + - May + - Jun + - Jul + - Aug + - Sep + - Oct + - Nov + - Dec + day_names: + - Sunday + - Monday + - Tuesday + - Wednesday + - Thursday + - Friday + - Saturday + formats: + default: "%d-%m-%Y" + long: "%d %B %Y" + short: "%d %b" + month_names: + - + - January + - February + - March + - April + - May + - June + - July + - August + - September + - October + - November + - December + order: + - :year + - :month + - :day + datetime: + distance_in_words: + about_x_hours: + one: about %{count} hour + other: about %{count} hours + about_x_months: + one: about %{count} month + other: about %{count} months + about_x_years: + one: about %{count} year + other: about %{count} years + almost_x_years: + one: almost %{count} year + other: almost %{count} years + half_a_minute: half a minute + less_than_x_seconds: + one: less than %{count} second + other: less than %{count} seconds + less_than_x_minutes: + one: less than a minute + other: less than %{count} minutes + over_x_years: + one: over %{count} year + other: over %{count} years + x_seconds: + one: "%{count} second" + other: "%{count} seconds" + x_minutes: + one: "%{count} minute" + other: "%{count} minutes" + x_days: + one: "%{count} day" + other: "%{count} days" + x_months: + one: "%{count} month" + other: "%{count} months" + x_years: + one: "%{count} year" + other: "%{count} years" + prompts: + second: Second + minute: Minute + hour: Hour + day: Day + month: Month + year: Year + errors: + format: "%{attribute} %{message}" + messages: + accepted: must be accepted + blank: can't be blank + confirmation: doesn't match %{attribute} + empty: can't be empty + equal_to: must be equal to %{count} + even: must be even + exclusion: is reserved + greater_than: must be greater than %{count} + greater_than_or_equal_to: must be greater than or equal to %{count} + inclusion: is not included in the list + invalid: is invalid + less_than: must be less than %{count} + less_than_or_equal_to: must be less than or equal to %{count} + model_invalid: 'Validation failed: %{errors}' + not_a_number: is not a number + not_an_integer: must be an integer + odd: must be odd + other_than: must be other than %{count} + present: must be blank + required: must exist + taken: has already been taken + too_long: + one: is too long (maximum is %{count} character) + other: is too long (maximum is %{count} characters) + too_short: + one: is too short (minimum is %{count} character) + other: is too short (minimum is %{count} characters) + wrong_length: + one: is the wrong length (should be %{count} character) + other: is the wrong length (should be %{count} characters) + template: + body: 'There were problems with the following fields:' + header: + one: "%{count} error prohibited this %{model} from being saved" + other: "%{count} errors prohibited this %{model} from being saved" + helpers: + select: + prompt: Please select + submit: + create: Create %{model} + submit: Save %{model} + update: Update %{model} + number: + currency: + format: + delimiter: "," + format: "%u%n" + precision: 2 + separator: "." + significant: false + strip_insignificant_zeros: false + unit: "₹" + format: + delimiter: "," + precision: 3 + separator: "." + significant: false + strip_insignificant_zeros: false + human: + decimal_units: + format: "%n %u" + units: + billion: Billion + million: Million + quadrillion: Quadrillion + thousand: Thousand + trillion: Trillion + unit: '' + format: + delimiter: '' + precision: 3 + significant: true + strip_insignificant_zeros: true + storage_units: + format: "%n %u" + units: + byte: + one: Byte + other: Bytes + eb: EB + gb: GB + kb: KB + mb: MB + pb: PB + tb: TB + percentage: + format: + delimiter: '' + format: "%n%" + precision: + format: + delimiter: '' + support: + array: + last_word_connector: ", and " + two_words_connector: " and " + words_connector: ", " + time: + am: am + formats: + default: "%a, %d %b %Y %H:%M:%S %z" + long: "%d %B %Y %H:%M" + short: "%d %b %H:%M" + pm: pm diff --git a/examples/i18n/data/lang/en-NZ.yml b/examples/i18n/data/lang/en-NZ.yml new file mode 100644 index 0000000..eb344c0 --- /dev/null +++ b/examples/i18n/data/lang/en-NZ.yml @@ -0,0 +1,215 @@ +--- +en-NZ: + activerecord: + errors: + messages: + record_invalid: 'Validation failed: %{errors}' + restrict_dependent_destroy: + has_one: Cannot delete record because a dependent %{record} exists + has_many: Cannot delete record because dependent %{record} exist + date: + abbr_day_names: + - Sun + - Mon + - Tue + - Wed + - Thu + - Fri + - Sat + abbr_month_names: + - + - Jan + - Feb + - Mar + - Apr + - May + - Jun + - Jul + - Aug + - Sep + - Oct + - Nov + - Dec + day_names: + - Sunday + - Monday + - Tuesday + - Wednesday + - Thursday + - Friday + - Saturday + formats: + default: "%d-%m-%Y" + long: "%d %B, %Y" + short: "%d %b" + month_names: + - + - January + - February + - March + - April + - May + - June + - July + - August + - September + - October + - November + - December + order: + - :year + - :month + - :day + datetime: + distance_in_words: + about_x_hours: + one: about %{count} hour + other: about %{count} hours + about_x_months: + one: about %{count} month + other: about %{count} months + about_x_years: + one: about %{count} year + other: about %{count} years + almost_x_years: + one: almost %{count} year + other: almost %{count} years + half_a_minute: half a minute + less_than_x_seconds: + one: less than %{count} second + other: less than %{count} seconds + less_than_x_minutes: + one: less than a minute + other: less than %{count} minutes + over_x_years: + one: over %{count} year + other: over %{count} years + x_seconds: + one: "%{count} second" + other: "%{count} seconds" + x_minutes: + one: "%{count} minute" + other: "%{count} minutes" + x_days: + one: "%{count} day" + other: "%{count} days" + x_months: + one: "%{count} month" + other: "%{count} months" + x_years: + one: "%{count} year" + other: "%{count} years" + prompts: + second: Second + minute: Minute + hour: Hour + day: Day + month: Month + year: Year + errors: + format: "%{attribute} %{message}" + messages: + accepted: must be accepted + blank: can't be blank + confirmation: doesn't match %{attribute} + empty: can't be empty + equal_to: must be equal to %{count} + even: must be even + exclusion: is reserved + greater_than: must be greater than %{count} + greater_than_or_equal_to: must be greater than or equal to %{count} + inclusion: is not included in the list + invalid: is invalid + less_than: must be less than %{count} + less_than_or_equal_to: must be less than or equal to %{count} + model_invalid: 'Validation failed: %{errors}' + not_a_number: is not a number + not_an_integer: must be an integer + odd: must be odd + other_than: must be other than %{count} + present: must be blank + required: must exist + taken: has already been taken + too_long: + one: is too long (maximum is %{count} character) + other: is too long (maximum is %{count} characters) + too_short: + one: is too short (minimum is %{count} character) + other: is too short (minimum is %{count} characters) + wrong_length: + one: is the wrong length (should be %{count} character) + other: is the wrong length (should be %{count} characters) + template: + body: 'There were problems with the following fields:' + header: + one: "%{count} error prohibited this %{model} from being saved" + other: "%{count} errors prohibited this %{model} from being saved" + helpers: + select: + prompt: Please select + submit: + create: Create %{model} + submit: Save %{model} + update: Update %{model} + number: + currency: + format: + delimiter: "," + format: "%u%n" + precision: 2 + separator: "." + significant: false + strip_insignificant_zeros: false + unit: "$" + format: + delimiter: "," + precision: 3 + separator: "." + significant: false + strip_insignificant_zeros: false + human: + decimal_units: + format: "%n %u" + units: + billion: Billion + million: Million + quadrillion: Quadrillion + thousand: Thousand + trillion: Trillion + unit: '' + format: + delimiter: '' + precision: 3 + significant: true + strip_insignificant_zeros: true + storage_units: + format: "%n %u" + units: + byte: + one: Byte + other: Bytes + eb: EB + gb: GB + kb: KB + mb: MB + pb: PB + tb: TB + percentage: + format: + delimiter: '' + format: "%n%" + precision: + format: + delimiter: '' + support: + array: + last_word_connector: ", and " + two_words_connector: " and " + words_connector: ", " + time: + am: am + formats: + default: "%a, %d %b %Y %H:%M:%S %z" + long: "%d %B, %Y %H:%M" + short: "%d %b %H:%M" + pm: pm diff --git a/examples/i18n/data/lang/en-TT.yml b/examples/i18n/data/lang/en-TT.yml new file mode 100644 index 0000000..097ec72 --- /dev/null +++ b/examples/i18n/data/lang/en-TT.yml @@ -0,0 +1,213 @@ +--- +en-TT: + activerecord: + errors: + messages: + record_invalid: "Validation failed: %{errors}" + restrict_dependent_destroy: + has_one: "Cannot delete record because a dependent %{record} exists" + has_many: "Cannot delete record because dependent %{record} exist" + date: + abbr_day_names: + - Sun + - Mon + - Tue + - Wed + - Thu + - Fri + - Sat + abbr_month_names: + - + - Jan + - Feb + - Mar + - Apr + - May + - Jun + - Jul + - Aug + - Sep + - Oct + - Nov + - Dec + day_names: + - Sunday + - Monday + - Tuesday + - Wednesday + - Thursday + - Friday + - Saturday + formats: + default: "%Y-%m-%d" + long: "%d %B %Y" + short: "%d %b" + month_names: + - + - January + - February + - March + - April + - May + - June + - July + - August + - September + - October + - November + - December + order: + - :year + - :month + - :day + datetime: + distance_in_words: + about_x_hours: + one: about %{count} hour + other: about %{count} hours + about_x_months: + one: about %{count} month + other: about %{count} months + about_x_years: + one: about %{count} year + other: about %{count} years + almost_x_years: + one: almost %{count} year + other: almost %{count} years + half_a_minute: half a minute + less_than_x_minutes: + one: less than a minute + other: less than %{count} minutes + less_than_x_seconds: + one: less than %{count} second + other: less than %{count} seconds + over_x_years: + one: over %{count} year + other: over %{count} years + x_days: + one: "%{count} day" + other: "%{count} days" + x_minutes: + one: "%{count} minute" + other: "%{count} minutes" + x_months: + one: "%{count} month" + other: "%{count} months" + x_years: + one: "%{count} year" + other: "%{count} years" + x_seconds: + one: "%{count} second" + other: "%{count} seconds" + prompts: + day: Day + hour: Hour + minute: Minute + month: Month + second: Seconds + year: Year + errors: + format: "%{attribute} %{message}" + messages: + accepted: must be accepted + blank: can't be blank + present: must be blank + confirmation: doesn't match %{attribute} + empty: can't be empty + equal_to: must be equal to %{count} + even: must be even + exclusion: is reserved + greater_than: must be greater than %{count} + greater_than_or_equal_to: must be greater than or equal to %{count} + inclusion: is not included in the list + invalid: is invalid + less_than: must be less than %{count} + less_than_or_equal_to: must be less than or equal to %{count} + model_invalid: "Validation failed: %{errors}" + not_a_number: is not a number + not_an_integer: must be an integer + odd: must be odd + required: must exist + taken: has already been taken + too_long: + one: is too long (maximum is %{count} character) + other: is too long (maximum is %{count} characters) + too_short: + one: is too short (minimum is %{count} character) + other: is too short (minimum is %{count} characters) + wrong_length: + one: is the wrong length (should be %{count} character) + other: is the wrong length (should be %{count} characters) + other_than: must be other than %{count} + template: + body: 'There were problems with the following fields:' + header: + one: "%{count} error prohibited this %{model} from being saved" + other: "%{count} errors prohibited this %{model} from being saved" + helpers: + select: + prompt: Please select + submit: + create: Create %{model} + submit: Save %{model} + update: Update %{model} + number: + currency: + format: + delimiter: "," + format: "%u%n" + precision: 2 + separator: "." + significant: false + strip_insignificant_zeros: false + unit: "TT$" + format: + delimiter: "," + precision: 3 + separator: "." + significant: false + strip_insignificant_zeros: false + human: + decimal_units: + format: "%n %u" + units: + billion: Billion + million: Million + quadrillion: Quadrillion + thousand: Thousand + trillion: Trillion + unit: '' + format: + delimiter: '' + precision: 3 + significant: true + strip_insignificant_zeros: true + storage_units: + format: "%n %u" + units: + byte: + one: Byte + other: Bytes + gb: GB + kb: KB + mb: MB + tb: TB + percentage: + format: + delimiter: '' + format: "%n%" + precision: + format: + delimiter: '' + support: + array: + last_word_connector: ", and " + two_words_connector: " and " + words_connector: ", " + time: + am: am + formats: + default: "%a, %d %b %Y %H:%M:%S %z" + long: "%d %B %Y %H:%M" + short: "%d %b %H:%M" + pm: pm diff --git a/examples/i18n/data/lang/en-US.yml b/examples/i18n/data/lang/en-US.yml new file mode 100644 index 0000000..9401ae2 --- /dev/null +++ b/examples/i18n/data/lang/en-US.yml @@ -0,0 +1,215 @@ +--- +en-US: + activerecord: + errors: + messages: + record_invalid: 'Validation failed: %{errors}' + restrict_dependent_destroy: + has_one: Cannot delete record because a dependent %{record} exists + has_many: Cannot delete record because dependent %{record} exist + date: + abbr_day_names: + - Sun + - Mon + - Tue + - Wed + - Thu + - Fri + - Sat + abbr_month_names: + - + - Jan + - Feb + - Mar + - Apr + - May + - Jun + - Jul + - Aug + - Sep + - Oct + - Nov + - Dec + day_names: + - Sunday + - Monday + - Tuesday + - Wednesday + - Thursday + - Friday + - Saturday + formats: + default: "%m-%d-%Y" + long: "%B %d, %Y" + short: "%b %d" + month_names: + - + - January + - February + - March + - April + - May + - June + - July + - August + - September + - October + - November + - December + order: + - :month + - :day + - :year + datetime: + distance_in_words: + about_x_hours: + one: about %{count} hour + other: about %{count} hours + about_x_months: + one: about %{count} month + other: about %{count} months + about_x_years: + one: about %{count} year + other: about %{count} years + almost_x_years: + one: almost %{count} year + other: almost %{count} years + half_a_minute: half a minute + less_than_x_seconds: + one: less than %{count} second + other: less than %{count} seconds + less_than_x_minutes: + one: less than a minute + other: less than %{count} minutes + over_x_years: + one: over %{count} year + other: over %{count} years + x_seconds: + one: "%{count} second" + other: "%{count} seconds" + x_minutes: + one: "%{count} minute" + other: "%{count} minutes" + x_days: + one: "%{count} day" + other: "%{count} days" + x_months: + one: "%{count} month" + other: "%{count} months" + x_years: + one: "%{count} year" + other: "%{count} years" + prompts: + second: Second + minute: Minute + hour: Hour + day: Day + month: Month + year: Year + errors: + format: "%{attribute} %{message}" + messages: + accepted: must be accepted + blank: can't be blank + confirmation: doesn't match %{attribute} + empty: can't be empty + equal_to: must be equal to %{count} + even: must be even + exclusion: is reserved + greater_than: must be greater than %{count} + greater_than_or_equal_to: must be greater than or equal to %{count} + inclusion: is not included in the list + invalid: is invalid + less_than: must be less than %{count} + less_than_or_equal_to: must be less than or equal to %{count} + model_invalid: 'Validation failed: %{errors}' + not_a_number: is not a number + not_an_integer: must be an integer + odd: must be odd + other_than: must be other than %{count} + present: must be blank + required: must exist + taken: has already been taken + too_long: + one: is too long (maximum is %{count} character) + other: is too long (maximum is %{count} characters) + too_short: + one: is too short (minimum is %{count} character) + other: is too short (minimum is %{count} characters) + wrong_length: + one: is the wrong length (should be %{count} character) + other: is the wrong length (should be %{count} characters) + template: + body: 'There were problems with the following fields:' + header: + one: "%{count} error prohibited this %{model} from being saved" + other: "%{count} errors prohibited this %{model} from being saved" + helpers: + select: + prompt: Please select + submit: + create: Create %{model} + submit: Save %{model} + update: Update %{model} + number: + currency: + format: + delimiter: "," + format: "%u%n" + precision: 2 + separator: "." + significant: false + strip_insignificant_zeros: false + unit: "$" + format: + delimiter: "," + precision: 3 + separator: "." + significant: false + strip_insignificant_zeros: false + human: + decimal_units: + format: "%n %u" + units: + billion: Billion + million: Million + quadrillion: Quadrillion + thousand: Thousand + trillion: Trillion + unit: '' + format: + delimiter: '' + precision: 3 + significant: true + strip_insignificant_zeros: true + storage_units: + format: "%n %u" + units: + byte: + one: Byte + other: Bytes + eb: EB + gb: GB + kb: KB + mb: MB + pb: PB + tb: TB + percentage: + format: + delimiter: '' + format: "%n%" + precision: + format: + delimiter: '' + support: + array: + last_word_connector: ", and " + two_words_connector: " and " + words_connector: ", " + time: + am: am + formats: + default: "%a, %d %b %Y %I:%M:%S %p %Z" + long: "%B %d, %Y %I:%M %p" + short: "%d %b %I:%M %p" + pm: pm diff --git a/examples/i18n/data/lang/en-ZA.yml b/examples/i18n/data/lang/en-ZA.yml new file mode 100644 index 0000000..b160a5e --- /dev/null +++ b/examples/i18n/data/lang/en-ZA.yml @@ -0,0 +1,215 @@ +--- +en-ZA: + activerecord: + errors: + messages: + record_invalid: 'Validation failed: %{errors}' + restrict_dependent_destroy: + has_one: Cannot delete record because a dependent %{record} exists + has_many: Cannot delete record because dependent %{record} exist + date: + abbr_day_names: + - Sun + - Mon + - Tue + - Wed + - Thu + - Fri + - Sat + abbr_month_names: + - + - Jan + - Feb + - Mar + - Apr + - May + - Jun + - Jul + - Aug + - Sep + - Oct + - Nov + - Dec + day_names: + - Sunday + - Monday + - Tuesday + - Wednesday + - Thursday + - Friday + - Saturday + formats: + default: "%Y-%m-%d" + long: "%d %B %Y" + short: "%d %b" + month_names: + - + - January + - February + - March + - April + - May + - June + - July + - August + - September + - October + - November + - December + order: + - :year + - :month + - :day + datetime: + distance_in_words: + about_x_hours: + one: about %{count} hour + other: about %{count} hours + about_x_months: + one: about %{count} month + other: about %{count} months + about_x_years: + one: about %{count} year + other: about %{count} years + almost_x_years: + one: almost %{count} year + other: almost %{count} years + half_a_minute: half a minute + less_than_x_seconds: + one: less than %{count} second + other: less than %{count} seconds + less_than_x_minutes: + one: less than a minute + other: less than %{count} minutes + over_x_years: + one: over %{count} year + other: over %{count} years + x_seconds: + one: "%{count} second" + other: "%{count} seconds" + x_minutes: + one: "%{count} minute" + other: "%{count} minutes" + x_days: + one: "%{count} day" + other: "%{count} days" + x_months: + one: "%{count} month" + other: "%{count} months" + x_years: + one: "%{count} year" + other: "%{count} years" + prompts: + second: Second + minute: Minute + hour: Hour + day: Day + month: Month + year: Year + errors: + format: "%{attribute} %{message}" + messages: + accepted: must be accepted + blank: can't be blank + confirmation: doesn't match %{attribute} + empty: can't be empty + equal_to: must be equal to %{count} + even: must be even + exclusion: is reserved + greater_than: must be greater than %{count} + greater_than_or_equal_to: must be greater than or equal to %{count} + inclusion: is not included in the list + invalid: is invalid + less_than: must be less than %{count} + less_than_or_equal_to: must be less than or equal to %{count} + model_invalid: 'Validation failed: %{errors}' + not_a_number: is not a number + not_an_integer: must be an integer + odd: must be odd + other_than: must be other than %{count} + present: must be blank + required: must exist + taken: has already been taken + too_long: + one: is too long (maximum is %{count} character) + other: is too long (maximum is %{count} characters) + too_short: + one: is too short (minimum is %{count} character) + other: is too short (minimum is %{count} characters) + wrong_length: + one: is the wrong length (should be %{count} character) + other: is the wrong length (should be %{count} characters) + template: + body: 'There were problems with the following fields:' + header: + one: "%{count} error prohibited this %{model} from being saved" + other: "%{count} errors prohibited this %{model} from being saved" + helpers: + select: + prompt: Please select + submit: + create: Create %{model} + submit: Save %{model} + update: Update %{model} + number: + currency: + format: + delimiter: "," + format: "%u%n" + precision: 2 + separator: "." + significant: false + strip_insignificant_zeros: false + unit: R + format: + delimiter: "," + precision: 3 + separator: "." + significant: false + strip_insignificant_zeros: false + human: + decimal_units: + format: "%n %u" + units: + billion: Billion + million: Million + quadrillion: Quadrillion + thousand: Thousand + trillion: Trillion + unit: '' + format: + delimiter: '' + precision: 3 + significant: true + strip_insignificant_zeros: true + storage_units: + format: "%n %u" + units: + byte: + one: Byte + other: Bytes + eb: EB + gb: GB + kb: KB + mb: MB + pb: PB + tb: TB + percentage: + format: + delimiter: '' + format: "%n%" + precision: + format: + delimiter: '' + support: + array: + last_word_connector: ", and " + two_words_connector: " and " + words_connector: ", " + time: + am: am + formats: + default: "%a, %d %b %Y %H:%M:%S %z" + long: "%d %B %Y %H:%M" + short: "%d %b %H:%M" + pm: pm diff --git a/examples/i18n/data/lang/en.yml b/examples/i18n/data/lang/en.yml new file mode 100644 index 0000000..20c73e6 --- /dev/null +++ b/examples/i18n/data/lang/en.yml @@ -0,0 +1,217 @@ +--- +en: + activerecord: + errors: + messages: + record_invalid: 'Validation failed: %{errors}' + restrict_dependent_destroy: + has_one: Cannot delete record because a dependent %{record} exists + has_many: Cannot delete record because dependent %{record} exist + date: + abbr_day_names: + - Sun + - Mon + - Tue + - Wed + - Thu + - Fri + - Sat + abbr_month_names: + - + - Jan + - Feb + - Mar + - Apr + - May + - Jun + - Jul + - Aug + - Sep + - Oct + - Nov + - Dec + day_names: + - Sunday + - Monday + - Tuesday + - Wednesday + - Thursday + - Friday + - Saturday + formats: + default: "%Y-%m-%d" + long: "%B %d, %Y" + short: "%b %d" + month_names: + - + - January + - February + - March + - April + - May + - June + - July + - August + - September + - October + - November + - December + order: + - :year + - :month + - :day + datetime: + distance_in_words: + about_x_hours: + one: about %{count} hour + other: about %{count} hours + about_x_months: + one: about %{count} month + other: about %{count} months + about_x_years: + one: about %{count} year + other: about %{count} years + almost_x_years: + one: almost %{count} year + other: almost %{count} years + half_a_minute: half a minute + less_than_x_seconds: + one: less than %{count} second + other: less than %{count} seconds + less_than_x_minutes: + one: less than a minute + other: less than %{count} minutes + over_x_years: + one: over %{count} year + other: over %{count} years + x_seconds: + one: "%{count} second" + other: "%{count} seconds" + x_minutes: + one: "%{count} minute" + other: "%{count} minutes" + x_days: + one: "%{count} day" + other: "%{count} days" + x_months: + one: "%{count} month" + other: "%{count} months" + x_years: + one: "%{count} year" + other: "%{count} years" + prompts: + second: Second + minute: Minute + hour: Hour + day: Day + month: Month + year: Year + errors: + format: "%{attribute} %{message}" + messages: + accepted: must be accepted + blank: can't be blank + confirmation: doesn't match %{attribute} + empty: can't be empty + equal_to: must be equal to %{count} + even: must be even + exclusion: is reserved + greater_than: must be greater than %{count} + greater_than_or_equal_to: must be greater than or equal to %{count} + in: must be in %{count} + inclusion: is not included in the list + invalid: is invalid + less_than: must be less than %{count} + less_than_or_equal_to: must be less than or equal to %{count} + model_invalid: 'Validation failed: %{errors}' + not_a_number: is not a number + not_an_integer: must be an integer + odd: must be odd + other_than: must be other than %{count} + present: must be blank + required: must exist + taken: has already been taken + too_long: + one: is too long (maximum is %{count} character) + other: is too long (maximum is %{count} characters) + too_short: + one: is too short (minimum is %{count} character) + other: is too short (minimum is %{count} characters) + wrong_length: + one: is the wrong length (should be %{count} character) + other: is the wrong length (should be %{count} characters) + template: + body: 'There were problems with the following fields:' + header: + one: "%{count} error prohibited this %{model} from being saved" + other: "%{count} errors prohibited this %{model} from being saved" + helpers: + select: + prompt: Please select + submit: + create: Create %{model} + submit: Save %{model} + update: Update %{model} + number: + currency: + format: + delimiter: "," + format: "%u%n" + precision: 2 + separator: "." + significant: false + strip_insignificant_zeros: false + unit: "$" + format: + delimiter: "," + precision: 3 + round_mode: default + separator: "." + significant: false + strip_insignificant_zeros: false + human: + decimal_units: + format: "%n %u" + units: + billion: Billion + million: Million + quadrillion: Quadrillion + thousand: Thousand + trillion: Trillion + unit: '' + format: + delimiter: '' + precision: 3 + significant: true + strip_insignificant_zeros: true + storage_units: + format: "%n %u" + units: + byte: + one: Byte + other: Bytes + eb: EB + gb: GB + kb: KB + mb: MB + pb: PB + tb: TB + percentage: + format: + delimiter: '' + format: "%n%" + precision: + format: + delimiter: '' + support: + array: + last_word_connector: ", and " + two_words_connector: " and " + words_connector: ", " + time: + am: am + formats: + default: "%a, %d %b %Y %H:%M:%S %z" + long: "%B %d, %Y %H:%M" + short: "%d %b %H:%M" + pm: pm diff --git a/examples/i18n/data/lang/eo.yml b/examples/i18n/data/lang/eo.yml new file mode 100644 index 0000000..2cc8d53 --- /dev/null +++ b/examples/i18n/data/lang/eo.yml @@ -0,0 +1,198 @@ +--- +eo: + activerecord: + errors: + messages: + record_invalid: 'Validado malsukcesis: %{errors}' + date: + abbr_day_names: + - dim + - lun + - mar + - mer + - ĵaŭ + - ven + - sab + abbr_month_names: + - + - jan. + - feb. + - mar. + - apr. + - majo + - jun. + - jul. + - aŭg. + - sep. + - okt. + - nov. + - dec. + day_names: + - dimanĉo + - lundo + - mardo + - merkredo + - ĵaŭdo + - vendredo + - sabato + formats: + default: "%Y/%m/%d" + long: "%e %B %Y" + short: "%e %b" + month_names: + - + - januaro + - februaro + - marto + - aprilo + - majo + - junio + - julio + - aŭgusto + - septembro + - oktobro + - novembro + - decembro + order: + - :day + - :month + - :year + datetime: + distance_in_words: + about_x_hours: + one: ĉirkaŭ unu horo + other: ĉirkaŭ %{count} horoj + about_x_months: + one: ĉirkaŭ unu monato + other: ĉirkaŭ %{count} monatoj + about_x_years: + one: ĉirkaŭ uno jaro + other: ĉirkaŭ %{count} jaroj + almost_x_years: + one: preskaŭ unu jaro + other: preskaŭ %{count} jaroj + half_a_minute: duona minuto + less_than_x_seconds: + zero: malpli ol unu sekundo + one: malpli ol unu sekundo + other: malpli ol %{count} sekundoj + less_than_x_minutes: + zero: malpli ol unu minuto + one: malpli ol unu minuto + other: malpli ol %{count} minutoj + over_x_years: + one: pli ol unu jaro + other: pli ol %{count} jaroj + x_seconds: + one: "%{count} sekundo" + other: "%{count} sekundoj" + x_minutes: + one: "%{count} minuto" + other: "%{count} minutoj" + x_days: + one: "%{count} tago" + other: "%{count} tagoj" + x_months: + one: "%{count} monato" + other: "%{count} monatoj" + prompts: + second: Sekundo + minute: Minuto + hour: Horo + day: Tago + month: Monato + year: Jaro + errors: + format: "%{attribute} %{message}" + messages: + accepted: devas esti akceptita + blank: devas esti kompletigita + confirmation: ne kongruas kun la konfirmo + empty: devas esti kompletigita + equal_to: devas egali %{count} + even: devas esti para + exclusion: ne estas disponebla + greater_than: devas superi %{count} + greater_than_or_equal_to: devas superi aŭ egali %{count} + inclusion: ne estas inkluzivita de la listo + invalid: estas nevalida + less_than: devas malsuperi %{count} + less_than_or_equal_to: devas malsuperi aŭ egali %{count} + not_a_number: ne estas nombro + not_an_integer: devas esti entjero + odd: devas esti nepara + taken: ne estas disponebla + 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) + template: + body: 'Kontrolu la jenajn kampojn: ' + header: + one: 'Ne eblas registri tiun %{model}: %{count} eraro' + other: 'Ne eblas registri tiun %{model}: %{count} eraroj' + helpers: + select: + prompt: Bonvolu elekti + submit: + create: Krei %{model} + submit: Registri tiun %{model} + update: Modifi tiun %{model} + number: + currency: + format: + delimiter: " " + format: "%n %u" + precision: 2 + separator: "," + significant: false + strip_insignificant_zeros: false + unit: "€" + format: + delimiter: " " + precision: 3 + separator: "," + significant: false + strip_insignificant_zeros: false + human: + decimal_units: + format: "%n %u" + units: + billion: miliardo + million: miliono + quadrillion: miliono da miliardoj + thousand: mil + trillion: mil miliardoj + unit: '' + format: + delimiter: '' + precision: 3 + significant: true + strip_insignificant_zeros: true + storage_units: + format: "%n %u" + units: + byte: + one: bitoko + other: bitokoj + gb: Gb + kb: kb + mb: Mb + tb: Tb + percentage: + format: + delimiter: '' + precision: + format: + delimiter: '' + support: + array: + last_word_connector: " kaj " + two_words_connector: " kaj " + words_connector: ", " + time: + am: am + formats: + default: "%d %B %Y %H:%M:%S" + long: "%A %d %B %Y %H:%M" + short: "%d %b %H:%M" + pm: pm diff --git a/examples/i18n/data/lang/es-419.yml b/examples/i18n/data/lang/es-419.yml new file mode 100644 index 0000000..f539ae2 --- /dev/null +++ b/examples/i18n/data/lang/es-419.yml @@ -0,0 +1,221 @@ +--- +es-419: + activerecord: + errors: + messages: + record_invalid: 'La validación falló: %{errors}' + restrict_dependent_destroy: + has_one: No se puede eliminar el registro porque existe un(a) %{record} + dependiente + has_many: No se puede eliminar el registro porque existen %{record} dependientes + date: + abbr_day_names: + - dom + - lun + - mar + - mié + - jue + - vie + - sáb + 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 + formats: + default: "%d/%m/%Y" + long: "%A, %d de %B de %Y" + short: "%d de %b" + month_names: + - + - enero + - febrero + - marzo + - abril + - mayo + - junio + - julio + - agosto + - septiembre + - octubre + - noviembre + - diciembre + order: + - :day + - :month + - :year + datetime: + distance_in_words: + about_x_hours: + one: cerca de %{count} hora + other: cerca de %{count} horas + about_x_months: + one: cerca de %{count} mes + other: cerca de %{count} meses + about_x_years: + one: cerca de %{count} año + other: cerca de %{count} años + almost_x_years: + one: casi %{count} año + other: casi %{count} años + half_a_minute: medio minuto + less_than_x_seconds: + one: menos de %{count} segundo + other: menos de %{count} segundos + less_than_x_minutes: + one: menos de %{count} minuto + other: menos de %{count} minutos + over_x_years: + one: más de %{count} año + other: más de %{count} años + x_seconds: + one: "%{count} segundo" + other: "%{count} segundos" + x_minutes: + one: "%{count} minuto" + other: "%{count} minutos" + x_days: + one: "%{count} día" + other: "%{count} días" + x_months: + one: "%{count} mes" + other: "%{count} meses" + x_years: + one: "%{count} año" + other: "%{count} años" + prompts: + second: Segundo + minute: Minuto + hour: Hora + day: Día + month: Mes + year: Año + errors: + format: "%{attribute} %{message}" + messages: + accepted: debe ser aceptado + blank: no puede estar en blanco + confirmation: no coincide + empty: no puede estar vacío + equal_to: debe ser igual a %{count} + even: debe ser un número par + exclusion: está reservado + greater_than: debe ser mayor que %{count} + greater_than_or_equal_to: debe ser mayor o igual que %{count} + inclusion: no está incluido en la lista + invalid: es inválido + less_than: debe ser menor que %{count} + less_than_or_equal_to: debe ser menor o igual que %{count} + model_invalid: 'La validación falló: %{errors}' + not_a_number: no es un número + not_an_integer: debe ser un entero + odd: debe ser un número non + other_than: debe ser diferente de %{count} + present: debe estar en blanco + required: debe existir + taken: ya ha sido tomado + too_long: + one: es demasiado largo (máximo %{count} caracter) + other: es demasiado largo (máximo %{count} caracteres) + too_short: + one: es demasiado corto (mínimo %{count} caracter) + other: es demasiado corto (mínimo %{count} caracteres) + wrong_length: + one: longitud errónea (debe ser de %{count} caracter) + other: longitud errónea (debe ser de %{count} caracteres) + template: + body: 'Revise que los siguientes campos sean válidos:' + header: + one: "%{model} no pudo guardarse debido a %{count} error" + other: "%{model} no pudo guardarse debido a %{count} errores" + helpers: + select: + prompt: Por favor selecciona + submit: + create: Crear %{model} + submit: Guardar %{model} + update: Actualizar %{model} + number: + currency: + format: + delimiter: "," + format: "%u%n" + precision: 2 + separator: "." + significant: false + strip_insignificant_zeros: false + unit: "¤" + format: + delimiter: "," + precision: 2 + round_mode: default + separator: "." + significant: false + strip_insignificant_zeros: false + human: + decimal_units: + format: "%n %u" + units: + billion: mil millones + million: + one: millón + other: millones + quadrillion: mil billones + thousand: mil + trillion: + one: billón + other: billones + unit: '' + format: + delimiter: "," + precision: 3 + significant: true + strip_insignificant_zeros: true + storage_units: + format: "%n %u" + units: + byte: + one: Byte + other: Bytes + eb: EB + gb: GB + kb: KB + mb: MB + pb: PB + tb: TB + percentage: + format: + delimiter: "," + format: "%n%" + precision: + format: + delimiter: "," + support: + array: + last_word_connector: " y " + two_words_connector: " y " + words_connector: ", " + time: + am: am + formats: + 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" + short: "%d de %b a las %H:%M hrs" + pm: pm diff --git a/examples/i18n/data/lang/es-AR.yml b/examples/i18n/data/lang/es-AR.yml new file mode 100644 index 0000000..606342e --- /dev/null +++ b/examples/i18n/data/lang/es-AR.yml @@ -0,0 +1,220 @@ +--- +es-AR: + activerecord: + errors: + messages: + record_invalid: 'La validación falló: %{errors}' + restrict_dependent_destroy: + has_one: No se puede eliminar el registro porque existe un %{record} dependiente + has_many: No se puede eliminar el registro porque existen %{record} dependientes + date: + abbr_day_names: + - dom + - lun + - mar + - mié + - jue + - vie + - sáb + 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 + formats: + default: "%d/%m/%Y" + long: "%A, %d de %B de %Y" + short: "%d de %b" + month_names: + - + - enero + - febrero + - marzo + - abril + - mayo + - junio + - julio + - agosto + - septiembre + - octubre + - noviembre + - diciembre + order: + - :day + - :month + - :year + datetime: + distance_in_words: + about_x_hours: + one: cerca de %{count} hora + other: cerca de %{count} horas + about_x_months: + one: cerca de %{count} mes + other: cerca de %{count} meses + about_x_years: + one: cerca de %{count} año + other: cerca de %{count} años + almost_x_years: + one: casi %{count} año + other: casi %{count} años + half_a_minute: medio minuto + less_than_x_seconds: + one: menos de %{count} segundo + other: menos de %{count} segundos + less_than_x_minutes: + one: menos de %{count} minuto + other: menos de %{count} minutos + over_x_years: + one: más de %{count} año + other: más de %{count} años + x_seconds: + one: "%{count} segundo" + other: "%{count} segundos" + x_minutes: + one: "%{count} minuto" + other: "%{count} minutos" + x_days: + one: "%{count} día" + other: "%{count} días" + x_months: + one: "%{count} mes" + other: "%{count} meses" + x_years: + one: "%{count} año" + other: "%{count} años" + prompts: + second: Segundo + minute: Minuto + hour: Hora + day: Día + month: Mes + year: Año + errors: + format: "%{attribute} %{message}" + messages: + accepted: debe ser aceptado + blank: no puede estar en blanco + confirmation: no coincide + empty: no puede estar vacío + equal_to: debe ser igual a %{count} + even: debe ser un número par + exclusion: está reservado + greater_than: debe ser mayor que %{count} + greater_than_or_equal_to: debe ser mayor o igual que %{count} + inclusion: no está incluido en la lista + invalid: es inválido + less_than: debe ser menor que %{count} + less_than_or_equal_to: debe ser menor o igual que %{count} + model_invalid: 'La validación falló: %{errors}' + not_a_number: no es un número + not_an_integer: debe ser un entero + odd: debe ser un número impar + other_than: debe ser distinto de %{count} + present: debe estar en blanco + required: debe existir + taken: ya ha sido tomado + too_long: + one: es demasiado largo (máximo %{count} caracter) + other: es demasiado largo (máximo %{count} caracteres) + too_short: + one: es demasiado corto (mínimo %{count} caracter) + other: es demasiado corto (mínimo %{count} caracteres) + wrong_length: + one: longitud errónea (debe ser de %{count} caracter) + other: longitud errónea (debe ser de %{count} caracteres) + template: + body: 'Revise que los siguientes campos sean válidos:' + header: + one: "%{model} no pudo guardarse debido a %{count} error" + other: "%{model} no pudo guardarse debido a %{count} errores" + helpers: + select: + prompt: Por favor selecciona + submit: + create: Crear %{model} + submit: Guardar %{model} + update: Actualizar %{model} + number: + currency: + format: + delimiter: "." + format: "%u%n" + precision: 2 + separator: "," + significant: false + strip_insignificant_zeros: false + unit: "$" + format: + delimiter: "." + precision: 2 + round_mode: default + separator: "," + significant: false + strip_insignificant_zeros: false + human: + decimal_units: + format: "%n %u" + units: + billion: mil millones + million: + one: millón + other: millones + quadrillion: mil billones + thousand: mil + trillion: + one: billón + other: billones + unit: '' + format: + delimiter: "," + precision: 3 + significant: true + strip_insignificant_zeros: true + storage_units: + format: "%n %u" + units: + byte: + one: Byte + other: Bytes + eb: EB + gb: GB + kb: KB + mb: MB + pb: PB + tb: TB + percentage: + format: + delimiter: "," + format: "%n%" + precision: + format: + delimiter: "," + support: + array: + last_word_connector: " y " + two_words_connector: " y " + words_connector: ", " + time: + am: am + formats: + 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" + short: "%d de %b a las %H:%M hrs" + pm: pm diff --git a/examples/i18n/data/lang/es-CL.yml b/examples/i18n/data/lang/es-CL.yml new file mode 100644 index 0000000..392bf51 --- /dev/null +++ b/examples/i18n/data/lang/es-CL.yml @@ -0,0 +1,220 @@ +--- +es-CL: + activerecord: + errors: + messages: + record_invalid: 'La validación falló: %{errors}' + restrict_dependent_destroy: + has_one: No se puede eliminar el registro porque existe un %{record} dependiente + has_many: No se puede eliminar el registro porque existen %{record} dependientes + date: + abbr_day_names: + - dom + - lun + - mar + - mié + - jue + - vie + - sáb + 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 + formats: + default: "%d/%m/%Y" + long: "%A %d de %B de %Y" + short: "%d de %b" + month_names: + - + - enero + - febrero + - marzo + - abril + - mayo + - junio + - julio + - agosto + - septiembre + - octubre + - noviembre + - diciembre + order: + - :day + - :month + - :year + datetime: + distance_in_words: + about_x_hours: + one: alrededor de %{count} hora + other: alrededor de %{count} horas + about_x_months: + one: alrededor de %{count} mes + other: alrededor de %{count} meses + about_x_years: + one: alrededor de %{count} año + other: alrededor de %{count} años + almost_x_years: + one: casi %{count} año + other: casi %{count} años + half_a_minute: medio minuto + less_than_x_seconds: + one: menos de %{count} segundo + other: menos de %{count} segundos + less_than_x_minutes: + one: menos de %{count} minuto + other: menos de %{count} minutos + over_x_years: + one: más de %{count} año + other: más de %{count} años + x_seconds: + one: "%{count} segundo" + other: "%{count} segundos" + x_minutes: + one: "%{count} minuto" + other: "%{count} minutos" + x_days: + one: "%{count} día" + other: "%{count} días" + x_months: + one: "%{count} mes" + other: "%{count} meses" + x_years: + one: "%{count} año" + other: "%{count} años" + prompts: + second: Segundo + minute: Minuto + hour: Hora + day: Día + month: Mes + year: Año + errors: + format: "%{attribute} %{message}" + messages: + accepted: debe ser aceptado + blank: no puede estar en blanco + confirmation: no coincide + empty: no puede estar vacío + equal_to: debe ser igual a %{count} + even: debe ser par + exclusion: está reservado + greater_than: debe ser mayor que %{count} + greater_than_or_equal_to: debe ser mayor que o igual a %{count} + inclusion: no está incluido en la lista + invalid: no es válido + less_than: debe ser menor que %{count} + less_than_or_equal_to: debe ser menor que o igual a %{count} + model_invalid: 'La validación falló: %{errors}' + not_a_number: no es un número + not_an_integer: debe ser un entero + odd: debe ser impar + other_than: debe ser distinto de %{count} + present: debe estar en blanco + required: debe existir + taken: ya está en uso + too_long: + one: es demasiado largo (%{count} caracter máximo) + other: es demasiado largo (%{count} caracteres máximo) + too_short: + one: es demasiado corto (%{count} caracter mínimo) + other: es demasiado corto (%{count} caracteres mínimo) + wrong_length: + one: no tiene la longitud correcta (%{count} caracter exacto) + other: no tiene la longitud correcta (%{count} caracteres exactos) + template: + body: 'Se encontraron problemas con los siguientes campos:' + header: + one: No se pudo guardar este/a %{model} porque se encontró %{count} error + other: No se pudo guardar este/a %{model} porque se encontraron %{count} errores + helpers: + select: + prompt: Por favor seleccione + submit: + create: Crear %{model} + submit: Guardar %{model} + update: Actualizar %{model} + number: + currency: + format: + delimiter: "." + format: "%u %n" + precision: 0 + separator: "," + significant: false + strip_insignificant_zeros: false + unit: "$" + format: + delimiter: "." + precision: 3 + round_mode: default + separator: "," + significant: false + strip_insignificant_zeros: false + human: + decimal_units: + format: "%n %u" + units: + billion: mil millones + million: + one: millón + other: millones + quadrillion: mil billones + thousand: mil + trillion: + one: billón + other: billones + unit: '' + format: + delimiter: '' + precision: 3 + significant: true + strip_insignificant_zeros: true + storage_units: + format: "%n %u" + units: + byte: + one: Byte + other: Bytes + eb: EB + gb: GB + kb: KB + mb: MB + pb: PB + tb: TB + percentage: + format: + delimiter: '' + format: "%n%" + precision: + format: + delimiter: '' + support: + array: + last_word_connector: " y " + two_words_connector: " y " + words_connector: ", " + time: + am: am + formats: + default: "%A, %d de %B de %Y %H:%M:%S %z" + long: "%A %d de %B de %Y %H:%M" + short: "%d de %b %H:%M" + pm: pm diff --git a/examples/i18n/data/lang/es-CO.yml b/examples/i18n/data/lang/es-CO.yml new file mode 100644 index 0000000..da20bc4 --- /dev/null +++ b/examples/i18n/data/lang/es-CO.yml @@ -0,0 +1,220 @@ +--- +es-CO: + activerecord: + errors: + messages: + record_invalid: 'La validación falló: %{errors}' + restrict_dependent_destroy: + has_one: No se puede eliminar el registro porque existe un %{record} dependiente + has_many: No se puede eliminar el registro porque existen %{record} dependientes + date: + abbr_day_names: + - dom + - lun + - mar + - mié + - jue + - vie + - sáb + 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 + formats: + default: "%d/%m/%Y" + long: "%A, %d de %B de %Y" + short: "%d de %b" + month_names: + - + - enero + - febrero + - marzo + - abril + - mayo + - junio + - julio + - agosto + - septiembre + - octubre + - noviembre + - diciembre + order: + - :day + - :month + - :year + datetime: + distance_in_words: + about_x_hours: + one: cerca de %{count} hora + other: cerca de %{count} horas + about_x_months: + one: cerca de %{count} mes + other: cerca de %{count} meses + about_x_years: + one: cerca de %{count} año + other: cerca de %{count} años + almost_x_years: + one: casi %{count} año + other: casi %{count} años + half_a_minute: medio minuto + less_than_x_seconds: + one: menos de %{count} segundo + other: menos de %{count} segundos + less_than_x_minutes: + one: menos de %{count} minuto + other: menos de %{count} minutos + over_x_years: + one: más de %{count} año + other: más de %{count} años + x_seconds: + one: "%{count} segundo" + other: "%{count} segundos" + x_minutes: + one: "%{count} minuto" + other: "%{count} minutos" + x_days: + one: "%{count} día" + other: "%{count} días" + x_months: + one: "%{count} mes" + other: "%{count} meses" + x_years: + one: "%{count} año" + other: "%{count} años" + prompts: + second: Segundo + minute: Minuto + hour: Hora + day: Día + month: Mes + year: Año + errors: + format: "%{attribute} %{message}" + messages: + accepted: debe ser aceptado + blank: no puede estar en blanco + confirmation: no coincide + empty: no puede estar vacío + equal_to: debe ser igual a %{count} + even: debe ser un número par + exclusion: está reservado + greater_than: debe ser mayor que %{count} + greater_than_or_equal_to: debe ser mayor o igual que %{count} + inclusion: no está incluido en la lista + invalid: es inválido + less_than: debe ser menor que %{count} + less_than_or_equal_to: debe ser menor o igual que %{count} + model_invalid: 'La validación falló: %{errors}' + not_a_number: no es un número + not_an_integer: debe ser un entero + odd: debe ser un número impar + other_than: debe ser distinto de %{count} + present: debe estar en blanco + required: debe existir + taken: ya ha sido tomado + too_long: + one: es demasiado largo (máximo %{count} caracter) + other: es demasiado largo (máximo %{count} caracteres) + too_short: + one: es demasiado corto (mínimo %{count} caracter) + other: es demasiado corto (mínimo %{count} caracteres) + wrong_length: + one: longitud errónea (debe ser de %{count} caracter) + other: longitud errónea (debe ser de %{count} caracteres) + template: + body: 'Revise que los siguientes campos sean válidos:' + header: + one: "%{model} no pudo guardarse debido a %{count} error" + other: "%{model} no pudo guardarse debido a %{count} errores" + helpers: + select: + prompt: Por favor selecciona + submit: + create: Crear %{model} + submit: Guardar %{model} + update: Actualizar %{model} + number: + currency: + format: + delimiter: "." + format: "%u%n" + precision: 0 + separator: "," + significant: false + strip_insignificant_zeros: false + unit: "$" + format: + delimiter: "." + precision: 2 + round_mode: default + separator: "," + significant: false + strip_insignificant_zeros: false + human: + decimal_units: + format: "%n %u" + units: + billion: mil millones + million: + one: millón + other: millones + quadrillion: mil billones + thousand: mil + trillion: + one: billón + other: billones + unit: '' + format: + delimiter: '' + precision: 3 + significant: true + strip_insignificant_zeros: true + storage_units: + format: "%n %u" + units: + byte: + one: Byte + other: Bytes + eb: EB + gb: GB + kb: KB + mb: MB + pb: PB + tb: TB + percentage: + format: + delimiter: '' + format: "%n%" + precision: + format: + delimiter: '' + support: + array: + last_word_connector: " y " + two_words_connector: " y " + words_connector: ", " + time: + am: am + formats: + 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" + short: "%d de %b a las %H:%M hrs" + pm: pm diff --git a/examples/i18n/data/lang/es-CR.yml b/examples/i18n/data/lang/es-CR.yml new file mode 100644 index 0000000..bd01791 --- /dev/null +++ b/examples/i18n/data/lang/es-CR.yml @@ -0,0 +1,220 @@ +--- +es-CR: + activerecord: + errors: + messages: + record_invalid: 'La validación falló: %{errors}' + restrict_dependent_destroy: + has_one: No se puede eliminar el registro porque existe un %{record} dependiente + has_many: No se puede eliminar el registro porque existen %{record} dependientes + date: + abbr_day_names: + - dom + - lun + - mar + - mié + - jue + - vie + - sáb + 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 + formats: + default: "%d/%m/%Y" + long: "%A, %d de %B de %Y" + short: "%d de %b" + month_names: + - + - enero + - febrero + - marzo + - abril + - mayo + - junio + - julio + - agosto + - septiembre + - octubre + - noviembre + - diciembre + order: + - :day + - :month + - :year + datetime: + distance_in_words: + about_x_hours: + one: cerca de %{count} hora + other: cerca de %{count} horas + about_x_months: + one: cerca de %{count} mes + other: cerca de %{count} meses + about_x_years: + one: cerca de %{count} año + other: cerca de %{count} años + almost_x_years: + one: casi %{count} año + other: casi %{count} años + half_a_minute: medio minuto + less_than_x_seconds: + one: menos de %{count} segundo + other: menos de %{count} segundos + less_than_x_minutes: + one: menos de %{count} minuto + other: menos de %{count} minutos + over_x_years: + one: más de %{count} año + other: más de %{count} años + x_seconds: + one: "%{count} segundo" + other: "%{count} segundos" + x_minutes: + one: "%{count} minuto" + other: "%{count} minutos" + x_days: + one: "%{count} día" + other: "%{count} días" + x_months: + one: "%{count} mes" + other: "%{count} meses" + x_years: + one: "%{count} año" + other: "%{count} años" + prompts: + second: Segundo + minute: Minuto + hour: Hora + day: Día + month: Mes + year: Año + errors: + format: "%{attribute} %{message}" + messages: + accepted: debe ser aceptado + blank: no puede estar en blanco + confirmation: no coincide + empty: no puede estar vacío + equal_to: debe ser igual a %{count} + even: debe ser un número par + exclusion: está reservado + greater_than: debe ser mayor que %{count} + greater_than_or_equal_to: debe ser mayor o igual que %{count} + inclusion: no está incluido en la lista + invalid: es inválido + less_than: debe ser menor que %{count} + less_than_or_equal_to: debe ser menor o igual que %{count} + model_invalid: 'La validación falló: %{errors}' + not_a_number: no es un número + not_an_integer: debe ser un entero + odd: debe ser un número impar + other_than: debe ser distinto de %{count} + present: debe estar en blanco + required: debe existir + taken: ya ha sido utilizado + too_long: + one: es demasiado largo (máximo %{count} caracter) + other: es demasiado largo (máximo %{count} caracteres) + too_short: + one: es demasiado corto (mínimo %{count} caracter) + other: es demasiado corto (mínimo %{count} caracteres) + wrong_length: + one: longitud errónea (debe ser de %{count} caracter) + other: longitud errónea (debe ser de %{count} caracteres) + template: + body: 'Revise que los siguientes campos sean válidos:' + header: + one: "%{model} no pudo guardarse debido a %{count} error" + other: "%{model} no pudo guardarse debido a %{count} errores" + helpers: + select: + prompt: Por favor seleccione + submit: + create: Crear %{model} + submit: Guardar %{model} + update: Actualizar %{model} + number: + currency: + format: + delimiter: "," + format: "%u%n" + precision: 0 + separator: "." + significant: false + strip_insignificant_zeros: false + unit: "¢" + format: + delimiter: "," + precision: 2 + round_mode: default + separator: "." + significant: false + strip_insignificant_zeros: false + human: + decimal_units: + format: "%n %u" + units: + billion: mil millones + million: + one: millón + other: millones + quadrillion: mil billones + thousand: mil + trillion: + one: billón + other: billones + unit: '' + format: + delimiter: "," + precision: 3 + significant: true + strip_insignificant_zeros: true + storage_units: + format: "%n %u" + units: + byte: + one: Byte + other: Bytes + eb: EB + gb: GB + kb: KB + mb: MB + pb: PB + tb: TB + percentage: + format: + delimiter: "," + format: "%n%" + precision: + format: + delimiter: "," + support: + array: + last_word_connector: " y " + two_words_connector: " y " + words_connector: ", " + time: + am: am + formats: + 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" + short: "%d de %b a las %H:%M hrs" + pm: pm diff --git a/examples/i18n/data/lang/es-EC.yml b/examples/i18n/data/lang/es-EC.yml new file mode 100644 index 0000000..75b7dcb --- /dev/null +++ b/examples/i18n/data/lang/es-EC.yml @@ -0,0 +1,221 @@ +--- +es-EC: + activerecord: + errors: + messages: + record_invalid: 'La validación falló: %{errors}' + restrict_dependent_destroy: + has_one: No se puede eliminar el registro porque existe un(a) %{record} + dependiente + has_many: No se puede eliminar el registro porque existen %{record} dependientes + date: + abbr_day_names: + - dom + - lun + - mar + - mié + - jue + - vie + - sáb + 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 + formats: + default: "%-d/%m/%Y" + long: "%A, %-d de %B de %Y" + short: "%-d de %b" + month_names: + - + - enero + - febrero + - marzo + - abril + - mayo + - junio + - julio + - agosto + - septiembre + - octubre + - noviembre + - diciembre + order: + - :day + - :month + - :year + datetime: + distance_in_words: + about_x_hours: + one: cerca de %{count} hora + other: cerca de %{count} horas + about_x_months: + one: cerca de %{count} mes + other: cerca de %{count} meses + about_x_years: + one: cerca de %{count} año + other: cerca de %{count} años + almost_x_years: + one: casi %{count} año + other: casi %{count} años + half_a_minute: medio minuto + less_than_x_seconds: + one: menos de %{count} segundo + other: menos de %{count} segundos + less_than_x_minutes: + one: menos de %{count} minuto + other: menos de %{count} minutos + over_x_years: + one: más de %{count} año + other: más de %{count} años + x_seconds: + one: "%{count} segundo" + other: "%{count} segundos" + x_minutes: + one: "%{count} minuto" + other: "%{count} minutos" + x_days: + one: "%{count} día" + other: "%{count} días" + x_months: + one: "%{count} mes" + other: "%{count} meses" + x_years: + one: "%{count} año" + other: "%{count} años" + prompts: + second: Segundo + minute: Minuto + hour: Hora + day: Día + month: Mes + year: Año + errors: + format: "%{attribute} %{message}" + messages: + accepted: debe ser aceptado + blank: no puede estar en blanco + confirmation: no coincide + empty: no puede estar vacío + equal_to: debe ser igual a %{count} + even: debe ser un número par + exclusion: está reservado + greater_than: debe ser mayor que %{count} + greater_than_or_equal_to: debe ser mayor que o igual a %{count} + inclusion: no está incluido en la lista + invalid: no es válido + less_than: debe ser menor que %{count} + less_than_or_equal_to: debe ser menor que o igual a %{count} + model_invalid: 'La validación falló: %{errors}' + not_a_number: no es un número + not_an_integer: debe ser un entero + odd: debe ser un número impar + other_than: debe ser diferente de %{count} + present: debe estar en blanco + required: debe existir + taken: ya está en uso + too_long: + one: es demasiado largo (máximo %{count} caracter) + other: es demasiado largo (máximo %{count} caracteres) + too_short: + one: es demasiado corto (mínimo %{count} caracter) + other: es demasiado corto (mínimo %{count} caracteres) + wrong_length: + one: no tiene la longitud correcta (debe ser de %{count} caracter) + other: no tiene la longitud correcta (debe ser de %{count} caracteres) + template: + body: 'Revise que los siguientes campos sean válidos:' + header: + one: No se pudo guardar este/a %{model} porque se encontró %{count} error + other: No se pudo guardar este/a %{model} porque se encontraron %{count} errores + helpers: + select: + prompt: Por favor seleccione + submit: + create: Crear %{model} + submit: Guardar %{model} + update: Actualizar %{model} + number: + currency: + format: + delimiter: "," + format: "%u%n" + precision: 2 + separator: "." + significant: false + strip_insignificant_zeros: false + unit: "$" + format: + delimiter: "," + precision: 3 + round_mode: default + separator: "." + significant: false + strip_insignificant_zeros: false + human: + decimal_units: + format: "%n %u" + units: + billion: mil millones + million: + one: millón + other: millones + quadrillion: mil billones + thousand: mil + trillion: + one: billón + other: billones + unit: '' + format: + delimiter: '' + precision: 3 + significant: true + strip_insignificant_zeros: true + storage_units: + format: "%n %u" + units: + byte: + one: Byte + other: Bytes + eb: EB + gb: GB + kb: KB + mb: MB + pb: PB + tb: TB + percentage: + format: + delimiter: '' + format: "%n%" + precision: + format: + delimiter: '' + support: + array: + last_word_connector: " y " + two_words_connector: " y " + words_connector: ", " + time: + am: am + formats: + default: "%A, %-d de %B de %Y a las %-I:%M:%S %p %Z" + long: "%-d de %B de %Y a las %-I:%M %p" + short: "%-d %b %-I:%M %p" + pm: pm diff --git a/examples/i18n/data/lang/es-ES.yml b/examples/i18n/data/lang/es-ES.yml new file mode 100644 index 0000000..9278827 --- /dev/null +++ b/examples/i18n/data/lang/es-ES.yml @@ -0,0 +1,220 @@ +--- +es-ES: + activerecord: + errors: + messages: + record_invalid: 'La validación falló: %{errors}' + restrict_dependent_destroy: + has_one: No se puede eliminar el registro porque existe un %{record} dependiente + has_many: No se puede eliminar el registro porque existen %{record} dependientes + date: + abbr_day_names: + - dom + - lun + - mar + - mié + - jue + - vie + - sáb + 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 + formats: + default: "%d/%m/%Y" + long: "%d de %B de %Y" + short: "%d de %b" + month_names: + - + - enero + - febrero + - marzo + - abril + - mayo + - junio + - julio + - agosto + - septiembre + - octubre + - noviembre + - diciembre + order: + - :day + - :month + - :year + datetime: + distance_in_words: + about_x_hours: + one: alrededor de %{count} hora + other: alrededor de %{count} horas + about_x_months: + one: alrededor de %{count} mes + other: alrededor de %{count} meses + about_x_years: + one: alrededor de %{count} año + other: alrededor de %{count} años + almost_x_years: + one: casi %{count} año + other: casi %{count} años + half_a_minute: medio minuto + less_than_x_seconds: + one: menos de %{count} segundo + other: menos de %{count} segundos + less_than_x_minutes: + one: menos de %{count} minuto + other: menos de %{count} minutos + over_x_years: + one: más de %{count} año + other: más de %{count} años + x_seconds: + one: "%{count} segundo" + other: "%{count} segundos" + x_minutes: + one: "%{count} minuto" + other: "%{count} minutos" + x_days: + one: "%{count} día" + other: "%{count} días" + x_months: + one: "%{count} mes" + other: "%{count} meses" + x_years: + one: "%{count} año" + other: "%{count} años" + prompts: + second: Segundo + minute: Minuto + hour: Hora + day: Día + month: Mes + year: Año + errors: + format: "%{attribute} %{message}" + messages: + accepted: debe ser aceptado + blank: no puede estar en blanco + confirmation: no coincide + empty: no puede estar vacío + equal_to: debe ser igual a %{count} + even: debe ser par + exclusion: está reservado + greater_than: debe ser mayor que %{count} + greater_than_or_equal_to: debe ser mayor que o igual a %{count} + inclusion: no está incluido en la lista + invalid: no es válido + less_than: debe ser menor que %{count} + less_than_or_equal_to: debe ser menor que o igual a %{count} + model_invalid: 'La validación falló: %{errors}' + not_a_number: no es un número + not_an_integer: debe ser un entero + odd: debe ser impar + other_than: debe ser distinto de %{count} + present: debe estar en blanco + required: debe existir + taken: ya está en uso + too_long: + one: es demasiado largo (%{count} carácter máximo) + other: es demasiado largo (%{count} caracteres máximo) + too_short: + one: es demasiado corto (%{count} carácter mínimo) + other: es demasiado corto (%{count} caracteres mínimo) + wrong_length: + one: no tiene la longitud correcta (%{count} carácter exactos) + other: no tiene la longitud correcta (%{count} caracteres exactos) + template: + body: 'Se encontraron problemas con los siguientes campos:' + header: + one: No se pudo guardar este/a %{model} porque se encontró %{count} error + other: No se pudo guardar este/a %{model} porque se encontraron %{count} errores + helpers: + select: + prompt: Por favor seleccione + submit: + create: Crear %{model} + submit: Guardar %{model} + update: Actualizar %{model} + number: + currency: + format: + delimiter: "." + format: "%n %u" + precision: 2 + separator: "," + significant: false + strip_insignificant_zeros: false + unit: "€" + format: + delimiter: "." + precision: 3 + round_mode: default + separator: "," + significant: false + strip_insignificant_zeros: false + human: + decimal_units: + format: "%n %u" + units: + billion: mil millones + million: + one: millón + other: millones + quadrillion: mil billones + thousand: mil + trillion: + one: billón + other: billones + unit: '' + format: + delimiter: '' + precision: 3 + significant: true + strip_insignificant_zeros: true + storage_units: + format: "%n %u" + units: + byte: + one: Byte + other: Bytes + eb: EB + gb: GB + kb: KB + mb: MB + pb: PB + tb: TB + percentage: + format: + delimiter: '' + format: "%n %" + precision: + format: + delimiter: '' + support: + array: + last_word_connector: " y " + two_words_connector: " y " + words_connector: ", " + time: + am: am + formats: + default: "%A, %d de %B de %Y %H:%M:%S %z" + long: "%d de %B de %Y %H:%M" + short: "%d de %b %H:%M" + pm: pm diff --git a/examples/i18n/data/lang/es-MX.yml b/examples/i18n/data/lang/es-MX.yml new file mode 100644 index 0000000..2f753e0 --- /dev/null +++ b/examples/i18n/data/lang/es-MX.yml @@ -0,0 +1,220 @@ +--- +es-MX: + activerecord: + errors: + messages: + record_invalid: 'La validación falló: %{errors}' + restrict_dependent_destroy: + has_one: El registro no puede ser eliminado pues existe un %{record} dependiente + has_many: El registro no puede ser eliminado pues existen %{record} dependientes + date: + abbr_day_names: + - dom + - lun + - mar + - mié + - jue + - vie + - sáb + 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 + formats: + default: "%d/%m/%Y" + long: "%A, %d de %B de %Y" + short: "%d de %b" + month_names: + - + - enero + - febrero + - marzo + - abril + - mayo + - junio + - julio + - agosto + - septiembre + - octubre + - noviembre + - diciembre + order: + - :day + - :month + - :year + datetime: + distance_in_words: + about_x_hours: + one: cerca de %{count} hora + other: cerca de %{count} horas + about_x_months: + one: cerca de %{count} mes + other: cerca de %{count} meses + about_x_years: + one: cerca de %{count} año + other: cerca de %{count} años + almost_x_years: + one: casi %{count} año + other: casi %{count} años + half_a_minute: medio minuto + less_than_x_seconds: + one: menos de %{count} segundo + other: menos de %{count} segundos + less_than_x_minutes: + one: menos de %{count} minuto + other: menos de %{count} minutos + over_x_years: + one: más de %{count} año + other: más de %{count} años + x_seconds: + one: "%{count} segundo" + other: "%{count} segundos" + x_minutes: + one: "%{count} minuto" + other: "%{count} minutos" + x_days: + one: "%{count} día" + other: "%{count} días" + x_months: + one: "%{count} mes" + other: "%{count} meses" + x_years: + one: "%{count} año" + other: "%{count} años" + prompts: + second: Segundo + minute: Minuto + hour: Hora + day: Día + month: Mes + year: Año + errors: + format: "%{attribute} %{message}" + messages: + accepted: debe ser aceptado + blank: no puede estar en blanco + confirmation: no coincide + empty: no puede estar vacío + equal_to: debe ser igual a %{count} + even: debe ser un número par + exclusion: está reservado + greater_than: debe ser mayor que %{count} + greater_than_or_equal_to: debe ser mayor o igual que %{count} + inclusion: no está incluido en la lista + invalid: es inválido + less_than: debe ser menor que %{count} + less_than_or_equal_to: debe ser menor o igual que %{count} + model_invalid: 'La validación falló: %{errors}' + not_a_number: no es un número + not_an_integer: debe ser un entero + odd: debe ser un número non + other_than: debe ser diferente a %{count} + present: debe estar en blanco + required: debe existir + taken: ya ha sido tomado + too_long: + one: es demasiado largo (máximo %{count} caracter) + other: es demasiado largo (máximo %{count} caracteres) + too_short: + one: es demasiado corto (mínimo %{count} caracter) + other: es demasiado corto (mínimo %{count} caracteres) + wrong_length: + one: longitud errónea (debe ser de %{count} caracter) + other: longitud errónea (debe ser de %{count} caracteres) + template: + body: 'Revise que los siguientes campos sean válidos:' + header: + one: "%{model} no pudo guardarse debido a %{count} error" + other: "%{model} no pudo guardarse debido a %{count} errores" + helpers: + select: + prompt: Por favor selecciona + submit: + create: Crear %{model} + submit: Guardar %{model} + update: Actualizar %{model} + number: + currency: + format: + delimiter: "," + format: "%u%n" + precision: 2 + separator: "." + significant: false + strip_insignificant_zeros: false + unit: "$" + format: + delimiter: "," + precision: 2 + round_mode: default + separator: "." + significant: false + strip_insignificant_zeros: false + human: + decimal_units: + format: "%n %u" + units: + billion: mil millones + million: + one: millón + other: millones + quadrillion: mil billones + thousand: mil + trillion: + one: billón + other: billones + unit: '' + format: + delimiter: "," + precision: 3 + significant: true + strip_insignificant_zeros: true + storage_units: + format: "%n %u" + units: + byte: + one: Byte + other: Bytes + eb: EB + gb: GB + kb: KB + mb: MB + pb: PB + tb: TB + percentage: + format: + delimiter: "," + format: "%n%" + precision: + format: + delimiter: "," + support: + array: + last_word_connector: " y " + two_words_connector: " y " + words_connector: ", " + time: + am: am + formats: + 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" + short: "%d de %b a las %H:%M hrs" + pm: pm diff --git a/examples/i18n/data/lang/es-NI.yml b/examples/i18n/data/lang/es-NI.yml new file mode 100644 index 0000000..21936f9 --- /dev/null +++ b/examples/i18n/data/lang/es-NI.yml @@ -0,0 +1,220 @@ +--- +es-NI: + activerecord: + errors: + messages: + record_invalid: 'La validación falló: %{errors}' + restrict_dependent_destroy: + has_one: No se puede eliminar el registro porque existe un %{record} dependiente + has_many: No se puede eliminar el registro porque existen %{record} dependientes + date: + abbr_day_names: + - dom + - lun + - mar + - mié + - jue + - vie + - sáb + 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 + formats: + default: "%d/%m/%Y" + long: "%A, %d de %B de %Y" + short: "%d de %b" + month_names: + - + - enero + - febrero + - marzo + - abril + - mayo + - junio + - julio + - agosto + - septiembre + - octubre + - noviembre + - diciembre + order: + - :day + - :month + - :year + datetime: + distance_in_words: + about_x_hours: + one: cerca de %{count} hora + other: cerca de %{count} horas + about_x_months: + one: cerca de %{count} mes + other: cerca de %{count} meses + about_x_years: + one: cerca de %{count} año + other: cerca de %{count} años + almost_x_years: + one: casi %{count} año + other: casi %{count} años + half_a_minute: medio minuto + less_than_x_seconds: + one: menos de %{count} segundo + other: menos de %{count} segundos + less_than_x_minutes: + one: menos de %{count} minuto + other: menos de %{count} minutos + over_x_years: + one: más de %{count} año + other: más de %{count} años + x_seconds: + one: "%{count} segundo" + other: "%{count} segundos" + x_minutes: + one: "%{count} minuto" + other: "%{count} minutos" + x_days: + one: "%{count} día" + other: "%{count} días" + x_months: + one: "%{count} mes" + other: "%{count} meses" + x_years: + one: "%{count} año" + other: "%{count} años" + prompts: + second: Segundo + minute: Minuto + hour: Hora + day: Día + month: Mes + year: Año + errors: + format: "%{attribute} %{message}" + messages: + accepted: debe ser aceptado + blank: no puede estar en blanco + confirmation: no coincide + empty: no puede estar vacío + equal_to: debe ser igual a %{count} + even: debe ser un número par + exclusion: está reservado + greater_than: debe ser mayor que %{count} + greater_than_or_equal_to: debe ser mayor o igual que %{count} + inclusion: no está incluido en la lista + invalid: es inválido + less_than: debe ser menor que %{count} + less_than_or_equal_to: debe ser menor o igual que %{count} + model_invalid: 'La validación falló: %{errors}' + not_a_number: no es un número + not_an_integer: debe ser un entero + odd: debe ser un número impar + other_than: debe ser distinto de %{count} + present: debe estar en blanco + required: debe existir + taken: ya ha sido utilizado + too_long: + one: es demasiado largo (máximo %{count} caracter) + other: es demasiado largo (máximo %{count} caracteres) + too_short: + one: es demasiado corto (mínimo %{count} caracter) + other: es demasiado corto (mínimo %{count} caracteres) + wrong_length: + one: longitud errónea (debe ser de %{count} caracter) + other: longitud errónea (debe ser de %{count} caracteres) + template: + body: 'Revise que los siguientes campos sean válidos:' + header: + one: "%{model} no pudo guardarse debido a %{count} error" + other: "%{model} no pudo guardarse debido a %{count} errores" + helpers: + select: + prompt: Por favor seleccione + submit: + create: Crear %{model} + submit: Guardar %{model} + update: Actualizar %{model} + number: + currency: + format: + delimiter: "," + format: "%u%n" + precision: 0 + separator: "." + significant: false + strip_insignificant_zeros: false + unit: C$ + format: + delimiter: "," + precision: 2 + round_mode: default + separator: "." + significant: false + strip_insignificant_zeros: false + human: + decimal_units: + format: "%n %u" + units: + billion: mil millones + million: + one: millón + other: millones + quadrillion: mil billones + thousand: mil + trillion: + one: billón + other: billones + unit: '' + format: + delimiter: "," + precision: 3 + significant: true + strip_insignificant_zeros: true + storage_units: + format: "%n %u" + units: + byte: + one: Byte + other: Bytes + eb: EB + gb: GB + kb: KB + mb: MB + pb: PB + tb: TB + percentage: + format: + delimiter: "," + format: "%n%" + precision: + format: + delimiter: "," + support: + array: + last_word_connector: " y " + two_words_connector: " y " + words_connector: ", " + time: + am: am + formats: + 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" + short: "%d de %b a las %H:%M hrs" + pm: pm diff --git a/examples/i18n/data/lang/es-PA.yml b/examples/i18n/data/lang/es-PA.yml new file mode 100644 index 0000000..bcbacce --- /dev/null +++ b/examples/i18n/data/lang/es-PA.yml @@ -0,0 +1,222 @@ +--- +es-PA: + activerecord: + errors: + messages: + record_invalid: 'La validación falló: %{errors}' + restrict_dependent_destroy: + has_one: No se puede eliminar el registro porque existe un(a) %{record} + dependiente + has_many: No se puede eliminar el registro porque existen %{record} dependientes + date: + abbr_day_names: + - dom + - lun + - mar + - mié + - jue + - vie + - sáb + 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 + formats: + default: "%-d/%-m/%Y" + long: "%A, %-d de %B de %Y" + short: "%-d de %b" + month_names: + - + - enero + - febrero + - marzo + - abril + - mayo + - junio + - julio + - agosto + - septiembre + - octubre + - noviembre + - diciembre + order: + - :day + - :month + - :year + datetime: + distance_in_words: + about_x_hours: + one: alrededor de %{count} hora + other: alrededor de %{count} horas + about_x_months: + one: alrededor de %{count} mes + other: alrededor de %{count} meses + about_x_years: + one: alrededor de %{count} año + other: alrededor de %{count} años + almost_x_years: + one: casi %{count} año + other: casi %{count} años + half_a_minute: medio minuto + less_than_x_seconds: + one: menos de %{count} segundo + other: menos de %{count} segundos + less_than_x_minutes: + one: menos de %{count} minuto + other: menos de %{count} minutos + over_x_years: + one: más de %{count} año + other: más de %{count} años + x_seconds: + one: "%{count} segundo" + other: "%{count} segundos" + x_minutes: + one: "%{count} minuto" + other: "%{count} minutos" + x_days: + one: "%{count} día" + other: "%{count} días" + x_months: + one: "%{count} mes" + other: "%{count} meses" + x_years: + one: "%{count} año" + other: "%{count} años" + prompts: + second: Segundo + minute: Minuto + hour: Hora + day: Día + month: Mes + year: Año + errors: + format: "%{attribute} %{message}" + messages: + accepted: debe ser aceptado(a) + blank: no puede estar en blanco + confirmation: no coincide + empty: no puede estar vacío(a) + equal_to: debe ser igual a %{count} + even: debe ser un número par + exclusion: está reservado(a) + greater_than: debe ser mayor que %{count} + greater_than_or_equal_to: debe ser mayor que o igual a %{count} + inclusion: no está incluido(a) en la lista + invalid: no es válido(a) + less_than: debe ser menor que %{count} + less_than_or_equal_to: debe ser menor que o igual a %{count} + model_invalid: 'La validación falló: %{errors}' + not_a_number: no es un número + not_an_integer: debe ser un número entero + odd: debe ser un número impar + other_than: debe ser diferente de %{count} + present: debe estar en blanco + required: debe existir + taken: ya está en uso + too_long: + one: es demasiado largo(a) (máximo %{count} caracter) + other: es demasiado largo(a) (máximo %{count} caracteres) + too_short: + one: es demasiado corto(a) (mínimo %{count} caracter) + other: es demasiado corto(a) (mínimo %{count} caracteres) + wrong_length: + one: no tiene la longitud correcta (debe ser de %{count} caracter) + other: no tiene la longitud correcta (debe ser de %{count} caracteres) + template: + body: 'Revise que los siguientes campos sean válidos:' + header: + one: No se pudo guardar este(a) %{model} porque se encontró %{count} error + other: No se pudo guardar este(a) %{model} porque se encontraron %{count} + errores + helpers: + select: + prompt: Por favor seleccione + submit: + create: Crear %{model} + submit: Guardar %{model} + update: Actualizar %{model} + number: + currency: + format: + delimiter: "," + format: "%u%n" + precision: 2 + separator: "." + significant: false + strip_insignificant_zeros: false + unit: B/. + format: + delimiter: "," + precision: 3 + round_mode: default + separator: "." + significant: false + strip_insignificant_zeros: false + human: + decimal_units: + format: "%n %u" + units: + billion: mil millones + million: + one: millón + other: millones + quadrillion: mil billones + thousand: mil + trillion: + one: billón + other: billones + unit: '' + format: + delimiter: '' + precision: 3 + significant: true + strip_insignificant_zeros: true + storage_units: + format: "%n %u" + units: + byte: + one: Byte + other: Bytes + eb: EB + gb: GB + kb: KB + mb: MB + pb: PB + tb: TB + percentage: + format: + delimiter: '' + format: "%n%" + precision: + format: + delimiter: '' + support: + array: + last_word_connector: " y " + two_words_connector: " y " + words_connector: ", " + time: + am: am + formats: + default: "%A, %-d de %B de %Y a las %-I:%M:%S %p %Z" + long: "%-d de %B de %Y a las %-I:%M %p" + short: "%-d %b %-I:%M %p" + pm: pm diff --git a/examples/i18n/data/lang/es-PE.yml b/examples/i18n/data/lang/es-PE.yml new file mode 100644 index 0000000..8bce37c --- /dev/null +++ b/examples/i18n/data/lang/es-PE.yml @@ -0,0 +1,220 @@ +--- +es-PE: + activerecord: + errors: + messages: + record_invalid: 'Falla de validación: %{errors}' + restrict_dependent_destroy: + has_one: No se puede eliminar el registro porque existe un %{record} dependiente + has_many: No se puede eliminar el registro porque existen %{record} dependientes + date: + abbr_day_names: + - dom + - lun + - mar + - mié + - jue + - vie + - sáb + 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 + formats: + default: "%d/%m/%Y" + long: "%A, %d de %B del %Y" + short: "%d de %b" + month_names: + - + - enero + - febrero + - marzo + - abril + - mayo + - junio + - julio + - agosto + - septiembre + - octubre + - noviembre + - diciembre + order: + - :day + - :month + - :year + datetime: + distance_in_words: + about_x_hours: + one: cerca de %{count} hora + other: cerca de %{count} horas + about_x_months: + one: cerca de %{count} mes + other: cerca de %{count} meses + about_x_years: + one: cerca de %{count} año + other: cerca de %{count} años + almost_x_years: + one: casi %{count} año + other: casi %{count} años + half_a_minute: medio minuto + less_than_x_seconds: + one: menos de %{count} segundo + other: menos de %{count} segundos + less_than_x_minutes: + one: menos de %{count} minuto + other: menos de %{count} minutos + over_x_years: + one: más de %{count} año + other: más de %{count} años + x_seconds: + one: "%{count} segundo" + other: "%{count} segundos" + x_minutes: + one: "%{count} minuto" + other: "%{count} minutos" + x_days: + one: "%{count} día" + other: "%{count} días" + x_months: + one: "%{count} mes" + other: "%{count} meses" + x_years: + one: "%{count} año" + other: "%{count} años" + prompts: + second: Segundo + minute: Minuto + hour: Hora + day: Día + month: Mes + year: Año + errors: + format: "%{attribute} %{message}" + messages: + accepted: debe ser aceptado + blank: no puede estar en blanco + confirmation: no coincide + empty: no puede estar vacío + equal_to: debe ser igual a %{count} + even: debe ser un número par + exclusion: está reservado + greater_than: debe ser mayor que %{count} + greater_than_or_equal_to: debe ser mayor o igual que %{count} + inclusion: no está incluido en la lista + invalid: es inválido + less_than: debe ser menor que %{count} + less_than_or_equal_to: debe ser menor o igual que %{count} + model_invalid: 'Falla de validación: %{errors}' + not_a_number: no es un número + not_an_integer: debe ser un entero + odd: debe ser un número non + other_than: debe ser distinto de %{count} + present: debe estar en blanco + required: debe existir + taken: ya ha sido tomado + too_long: + one: es demasiado largo (máximo %{count} caracter) + other: es demasiado largo (máximo %{count} caracteres) + too_short: + one: es demasiado corto (mínimo %{count} caracter) + other: es demasiado corto (mínimo %{count} caracteres) + wrong_length: + one: longitud errónea (debe ser de %{count} caracter) + other: longitud errónea (debe ser de %{count} caracteres) + template: + body: 'Revise que los siguientes campos sean válidos:' + header: + one: "%{model} no pudo guardarse debido a %{count} error" + other: "%{model} no pudo guardarse debido a %{count} errores" + helpers: + select: + prompt: Por favor seleccione + submit: + create: Crear %{model} + submit: Guardar %{model} + update: Actualizar %{model} + number: + currency: + format: + delimiter: "," + format: "%u%n" + precision: 2 + separator: "." + significant: false + strip_insignificant_zeros: false + unit: S/ + format: + delimiter: "," + precision: 2 + round_mode: default + separator: "." + significant: false + strip_insignificant_zeros: false + human: + decimal_units: + format: "%n %u" + units: + billion: mil millones + million: + one: millón + other: millones + quadrillion: mil billones + thousand: mil + trillion: + one: billón + other: billones + unit: '' + format: + delimiter: "," + precision: 3 + significant: true + strip_insignificant_zeros: true + storage_units: + format: "%n %u" + units: + byte: + one: Byte + other: Bytes + eb: EB + gb: GB + kb: KB + mb: MB + pb: PB + tb: TB + percentage: + format: + delimiter: "," + format: "%n%" + precision: + format: + delimiter: "," + support: + array: + last_word_connector: " y " + two_words_connector: " y " + words_connector: ", " + time: + am: am + formats: + 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" + short: "%d de %b a las %H:%M hrs" + pm: pm diff --git a/examples/i18n/data/lang/es-US.yml b/examples/i18n/data/lang/es-US.yml new file mode 100644 index 0000000..f1f13cb --- /dev/null +++ b/examples/i18n/data/lang/es-US.yml @@ -0,0 +1,220 @@ +--- +es-US: + activerecord: + errors: + messages: + record_invalid: 'La validación falló: %{errors}' + restrict_dependent_destroy: + has_one: No se puede eliminar el registro porque existe un %{record} dependiente + has_many: No se puede eliminar el registro porque existen %{record} dependientes + date: + abbr_day_names: + - dom + - lun + - mar + - mié + - jue + - vie + - sáb + 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 + formats: + default: "%d/%m/%Y" + long: "%A, %d de %B de %Y" + short: "%d de %b" + month_names: + - + - enero + - febrero + - marzo + - abril + - mayo + - junio + - julio + - agosto + - septiembre + - octubre + - noviembre + - diciembre + order: + - :day + - :month + - :year + datetime: + distance_in_words: + about_x_hours: + one: cerca de %{count} hora + other: cerca de %{count} horas + about_x_months: + one: cerca de %{count} mes + other: cerca de %{count} meses + about_x_years: + one: cerca de %{count} año + other: cerca de %{count} años + almost_x_years: + one: casi %{count} año + other: casi %{count} años + half_a_minute: medio minuto + less_than_x_seconds: + one: menos de %{count} segundo + other: menos de %{count} segundos + less_than_x_minutes: + one: menos de %{count} minuto + other: menos de %{count} minutos + over_x_years: + one: más de %{count} año + other: más de %{count} años + x_seconds: + one: "%{count} segundo" + other: "%{count} segundos" + x_minutes: + one: "%{count} minuto" + other: "%{count} minutos" + x_days: + one: "%{count} día" + other: "%{count} días" + x_months: + one: "%{count} mes" + other: "%{count} meses" + x_years: + one: "%{count} año" + other: "%{count} años" + prompts: + second: Segundo + minute: Minuto + hour: Hora + day: Día + month: Mes + year: Año + errors: + format: "%{attribute} %{message}" + messages: + accepted: debe ser aceptado + blank: no puede estar en blanco + confirmation: no coincide + empty: no puede estar vacío + equal_to: debe ser igual a %{count} + even: debe ser un número par + exclusion: está reservado + greater_than: debe ser mayor que %{count} + greater_than_or_equal_to: debe ser mayor o igual que %{count} + inclusion: no está incluido en la lista + invalid: es inválido + less_than: debe ser menor que %{count} + less_than_or_equal_to: debe ser menor o igual que %{count} + model_invalid: 'La validación falló: %{errors}' + not_a_number: no es un número + not_an_integer: debe ser un entero + odd: debe ser un número non + other_than: debe ser distinto de %{count} + present: debe estar en blanco + required: debe existir + taken: ya ha sido tomado + too_long: + one: es demasiado largo (máximo %{count} caracter) + other: es demasiado largo (máximo %{count} caracteres) + too_short: + one: es demasiado corto (mínimo %{count} caracter) + other: es demasiado corto (mínimo %{count} caracteres) + wrong_length: + one: longitud errónea (debe ser de %{count} caracter) + other: longitud errónea (debe ser de %{count} caracteres) + template: + body: 'Revise que los siguientes campos sean válidos:' + header: + one: "%{model} no pudo guardarse debido a %{count} error" + other: "%{model} no pudo guardarse debido a %{count} errores" + helpers: + select: + prompt: Por favor selecciona + submit: + create: Crear %{model} + submit: Guardar %{model} + update: Actualizar %{model} + number: + currency: + format: + delimiter: "," + format: "%u%n" + precision: 2 + separator: "." + significant: false + strip_insignificant_zeros: false + unit: "$" + format: + delimiter: "," + precision: 2 + round_mode: default + separator: "." + significant: false + strip_insignificant_zeros: false + human: + decimal_units: + format: "%n %u" + units: + billion: mil millones + million: + one: millón + other: millones + quadrillion: mil billones + thousand: mil + trillion: + one: billón + other: billones + unit: '' + format: + delimiter: "," + precision: 3 + significant: true + strip_insignificant_zeros: true + storage_units: + format: "%n %u" + units: + byte: + one: Byte + other: Bytes + eb: EB + gb: GB + kb: KB + mb: MB + pb: PB + tb: TB + percentage: + format: + delimiter: "," + format: "%n%" + precision: + format: + delimiter: "," + support: + array: + last_word_connector: " y " + two_words_connector: " y " + words_connector: ", " + time: + am: am + formats: + 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" + short: "%d de %b a las %H:%M hrs" + pm: pm diff --git a/examples/i18n/data/lang/es-VE.yml b/examples/i18n/data/lang/es-VE.yml new file mode 100644 index 0000000..d1650b4 --- /dev/null +++ b/examples/i18n/data/lang/es-VE.yml @@ -0,0 +1,220 @@ +--- +es-VE: + activerecord: + errors: + messages: + record_invalid: 'La validación falló: %{errors}' + restrict_dependent_destroy: + has_one: No se puede eliminar el registro porque existe un %{record} dependiente + has_many: No se puede eliminar el registro porque existen %{record} dependientes + date: + abbr_day_names: + - dom + - lun + - mar + - mié + - jue + - vie + - sáb + 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 + formats: + default: "%d/%m/%Y" + long: "%A, %d de %B de %Y" + short: "%d de %b" + month_names: + - + - enero + - febrero + - marzo + - abril + - mayo + - junio + - julio + - agosto + - septiembre + - octubre + - noviembre + - diciembre + order: + - :day + - :month + - :year + datetime: + distance_in_words: + about_x_hours: + one: cerca de %{count} hora + other: cerca de %{count} horas + about_x_months: + one: cerca de %{count} mes + other: cerca de %{count} meses + about_x_years: + one: cerca de %{count} año + other: cerca de %{count} años + almost_x_years: + one: casi %{count} año + other: casi %{count} años + half_a_minute: medio minuto + less_than_x_seconds: + one: menos de %{count} segundo + other: menos de %{count} segundos + less_than_x_minutes: + one: menos de %{count} minuto + other: menos de %{count} minutos + over_x_years: + one: más de %{count} año + other: más de %{count} años + x_seconds: + one: "%{count} segundo" + other: "%{count} segundos" + x_minutes: + one: "%{count} minuto" + other: "%{count} minutos" + x_days: + one: "%{count} día" + other: "%{count} días" + x_months: + one: "%{count} mes" + other: "%{count} meses" + x_years: + one: "%{count} año" + other: "%{count} años" + prompts: + second: Segundo + minute: Minuto + hour: Hora + day: Día + month: Mes + year: Año + errors: + format: "%{attribute} %{message}" + messages: + accepted: debe ser aceptado + blank: no puede estar en blanco + confirmation: no coincide + empty: no puede estar vacío + equal_to: debe ser igual a %{count} + even: debe ser un número par + exclusion: está reservado + greater_than: debe ser mayor que %{count} + greater_than_or_equal_to: debe ser mayor o igual que %{count} + inclusion: no está incluido en la lista + invalid: no es válido + less_than: debe ser menor que %{count} + less_than_or_equal_to: debe ser menor o igual que %{count} + model_invalid: 'La validación falló: %{errors}' + not_a_number: no es un número + not_an_integer: debe ser un entero + odd: debe ser un número impar + other_than: debe ser distinto de %{count} + present: debe estar en blanco + required: debe existir + taken: ya está en uso + too_long: + one: es demasiado largo (máximo %{count} caracter) + other: es demasiado largo (máximo %{count} caracteres) + too_short: + one: es demasiado corto (mínimo %{count} caracter) + other: es demasiado corto (mínimo %{count} caracteres) + wrong_length: + one: longitud errónea (debe ser de %{count} caracter) + other: longitud errónea (debe ser de %{count} caracteres) + template: + body: 'Revise que los siguientes campos sean válidos:' + header: + one: "%{model} no pudo guardarse debido a %{count} error" + other: "%{model} no pudo guardarse debido a %{count} errores" + helpers: + select: + prompt: Por favor selecciona + submit: + create: Crear %{model} + submit: Guardar %{model} + update: Actualizar %{model} + number: + currency: + format: + delimiter: "." + format: "%u%n" + precision: 2 + separator: "," + significant: false + strip_insignificant_zeros: false + unit: Bs. + format: + delimiter: "." + precision: 2 + round_mode: default + separator: "," + significant: false + strip_insignificant_zeros: false + human: + decimal_units: + format: "%n %u" + units: + billion: mil millones + million: + one: millón + other: millones + quadrillion: mil billones + thousand: mil + trillion: + one: billón + other: billones + unit: '' + format: + delimiter: "." + precision: 3 + significant: true + strip_insignificant_zeros: true + storage_units: + format: "%n %u" + units: + byte: + one: Byte + other: Bytes + eb: EB + gb: GB + kb: KB + mb: MB + pb: PB + tb: TB + percentage: + format: + delimiter: "," + format: "%n%" + precision: + format: + delimiter: "," + support: + array: + last_word_connector: " y " + two_words_connector: " y " + words_connector: ", " + time: + am: am + formats: + default: "%a, %d de %b de %Y a las %H:%M:%S%p %Z" + long: "%A, %d de %B de %Y a las %I:%M%p" + short: "%d de %b a las %H:%M%p" + pm: pm diff --git a/examples/i18n/data/lang/es.yml b/examples/i18n/data/lang/es.yml new file mode 100644 index 0000000..014da0b --- /dev/null +++ b/examples/i18n/data/lang/es.yml @@ -0,0 +1,220 @@ +--- +es: + activerecord: + errors: + messages: + record_invalid: 'La validación falló: %{errors}' + restrict_dependent_destroy: + has_one: No se puede eliminar el registro porque existe un %{record} dependiente + has_many: No se puede eliminar el registro porque existen %{record} dependientes + date: + abbr_day_names: + - dom + - lun + - mar + - mié + - jue + - vie + - sáb + 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 + formats: + default: "%-d/%-m/%Y" + long: "%-d de %B de %Y" + short: "%-d de %b" + month_names: + - + - enero + - febrero + - marzo + - abril + - mayo + - junio + - julio + - agosto + - septiembre + - octubre + - noviembre + - diciembre + order: + - :day + - :month + - :year + datetime: + distance_in_words: + about_x_hours: + one: alrededor de %{count} hora + other: alrededor de %{count} horas + about_x_months: + one: alrededor de %{count} mes + other: alrededor de %{count} meses + about_x_years: + one: alrededor de %{count} año + other: alrededor de %{count} años + almost_x_years: + one: casi %{count} año + other: casi %{count} años + half_a_minute: medio minuto + less_than_x_seconds: + one: menos de %{count} segundo + other: menos de %{count} segundos + less_than_x_minutes: + one: menos de %{count} minuto + other: menos de %{count} minutos + over_x_years: + one: más de %{count} año + other: más de %{count} años + x_seconds: + one: "%{count} segundo" + other: "%{count} segundos" + x_minutes: + one: "%{count} minuto" + other: "%{count} minutos" + x_days: + one: "%{count} día" + other: "%{count} días" + x_months: + one: "%{count} mes" + other: "%{count} meses" + x_years: + one: "%{count} año" + other: "%{count} años" + prompts: + second: Segundo + minute: Minuto + hour: Hora + day: Día + month: Mes + year: Año + errors: + format: "%{attribute} %{message}" + messages: + accepted: debe ser aceptado + blank: no puede estar en blanco + confirmation: no coincide + empty: no puede estar vacío + equal_to: debe ser igual a %{count} + even: debe ser par + exclusion: está reservado + greater_than: debe ser mayor que %{count} + greater_than_or_equal_to: debe ser mayor que o igual a %{count} + inclusion: no está incluido en la lista + invalid: no es válido + less_than: debe ser menor que %{count} + less_than_or_equal_to: debe ser menor que o igual a %{count} + model_invalid: 'La validación falló: %{errors}' + not_a_number: no es un número + not_an_integer: debe ser un entero + odd: debe ser impar + other_than: debe ser distinto de %{count} + present: debe estar en blanco + required: debe existir + taken: ya está en uso + too_long: + one: es demasiado largo (%{count} carácter máximo) + other: es demasiado largo (%{count} caracteres máximo) + too_short: + one: es demasiado corto (%{count} carácter mínimo) + other: es demasiado corto (%{count} caracteres mínimo) + wrong_length: + one: no tiene la longitud correcta (%{count} carácter exactos) + other: no tiene la longitud correcta (%{count} caracteres exactos) + template: + body: 'Se encontraron problemas con los siguientes campos:' + header: + one: No se pudo guardar este/a %{model} porque se encontró %{count} error + other: No se pudo guardar este/a %{model} porque se encontraron %{count} errores + helpers: + select: + prompt: Por favor seleccione + submit: + create: Crear %{model} + submit: Guardar %{model} + update: Actualizar %{model} + number: + currency: + format: + delimiter: "." + format: "%n %u" + precision: 2 + separator: "," + significant: false + strip_insignificant_zeros: false + unit: "€" + format: + delimiter: "." + precision: 3 + round_mode: default + separator: "," + significant: false + strip_insignificant_zeros: false + human: + decimal_units: + format: "%n %u" + units: + billion: mil millones + million: + one: millón + other: millones + quadrillion: mil billones + thousand: mil + trillion: + one: billón + other: billones + unit: '' + format: + delimiter: '' + precision: 3 + significant: true + strip_insignificant_zeros: true + storage_units: + format: "%n %u" + units: + byte: + one: Byte + other: Bytes + eb: EB + gb: GB + kb: KB + mb: MB + pb: PB + tb: TB + percentage: + format: + delimiter: '' + format: "%n %" + precision: + format: + delimiter: '' + support: + array: + last_word_connector: " y " + two_words_connector: " y " + words_connector: ", " + time: + am: am + formats: + default: "%A, %-d de %B de %Y %H:%M:%S %z" + long: "%-d de %B de %Y %H:%M" + short: "%-d de %b %H:%M" + pm: pm diff --git a/examples/i18n/data/lang/et.yml b/examples/i18n/data/lang/et.yml new file mode 100644 index 0000000..ff1c2d8 --- /dev/null +++ b/examples/i18n/data/lang/et.yml @@ -0,0 +1,207 @@ +--- +et: + activerecord: + errors: + messages: + record_invalid: 'Valideerimine ebaõnnestus: %{errors}' + restrict_dependent_destroy: + has_one: Ei saa kirjet kustutada kuna sõltuv %{record} on olemas + has_many: Ei saa kirjet kustutada kuna sõltuvad %{record} on olemas + date: + abbr_day_names: + - P + - E + - T + - K + - N + - R + - L + abbr_month_names: + - + - jaan. + - veebr. + - märts + - apr. + - mai + - juuni + - juuli + - aug. + - sept. + - okt. + - nov. + - dets. + day_names: + - pühapäev + - esmaspäev + - teisipäev + - kolmapäev + - neljapäev + - reede + - laupäev + formats: + default: "%d.%m.%Y" + long: "%d. %B %Y" + short: "%d.%m.%y" + month_names: + - + - jaanuar + - veebruar + - märts + - aprill + - mai + - juuni + - juuli + - august + - september + - oktoober + - november + - detsember + order: + - :day + - :month + - :year + datetime: + distance_in_words: + about_x_hours: + one: umbes %{count} tund + other: umbes %{count} tundi + about_x_months: + one: umbes %{count} kuu + other: umbes %{count} kuud + about_x_years: + one: umbes %{count} aasta + other: umbes %{count} aastat + almost_x_years: + one: peaaegu üks aasta + other: peaaegu %{count} aastat + half_a_minute: pool minutit + less_than_x_seconds: + one: vähem kui %{count} sekund + other: vähem kui %{count} sekundit + less_than_x_minutes: + one: vähem kui %{count} minut + other: vähem kui %{count} minutit + over_x_years: + one: üle %{count} aasta + other: üle %{count} aasta + x_seconds: + one: "%{count} sekund" + other: "%{count} sekundit" + x_minutes: + one: "%{count} minut" + other: "%{count} minutit" + x_days: + one: "%{count} päev" + other: "%{count} päeva" + x_months: + one: "%{count} kuu" + other: "%{count} kuud" + x_years: + one: "%{count} aasta" + other: "%{count} aastat" + prompts: + second: Sekundit + minute: Minutit + hour: Tunde + day: Päev + month: Kuu + year: Aasta + errors: + format: "%{attribute} %{message}" + messages: + accepted: peab olema heaks kiidetud + blank: on täitmata + confirmation: ei vasta kinnitusele + empty: on tühi + equal_to: peab olema võrdne arvuga %{count} + even: peab olema paarisarv + exclusion: on reserveeritud + greater_than: peab olema suurem kui %{count} + greater_than_or_equal_to: peab olema suurem või võrdne arvuga %{count} + inclusion: ei leidu nimekirjas + invalid: ei ole korrektne + less_than: peab olema vähem kui %{count} + less_than_or_equal_to: peab olema vähem või võrdne arvuga %{count} + model_invalid: 'Valideerimine ebaõnnestus: %{errors}' + not_a_number: ei ole number + not_an_integer: peab olema täisarv + odd: peab olema paaritu arv + other_than: peab olema midagi muud kui %{count} + present: peab olema täitmata + required: peab olemas olema + taken: on juba võetud + 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) + template: + body: 'Probleeme ilmnes järgmiste väljadega:' + header: + one: Üks viga takistas objekti %{model} salvestamist + other: "%{count} viga takistasid objekti %{model} salvestamist" + helpers: + select: + prompt: Palun vali + submit: + create: Loo uus %{model} + submit: Salvesta %{model} + update: Uuenda objekti %{model} + number: + currency: + format: + delimiter: " " + format: "%n %u" + precision: 2 + separator: "," + significant: false + strip_insignificant_zeros: false + unit: "€" + format: + delimiter: " " + precision: 2 + separator: "," + significant: false + strip_insignificant_zeros: false + human: + decimal_units: + format: "%n %u" + units: + billion: miljard + million: miljon + quadrillion: kvadriljon + thousand: tuhat + trillion: triljon + unit: '' + format: + delimiter: '' + precision: 1 + significant: true + strip_insignificant_zeros: true + storage_units: + format: "%n %u" + units: + byte: + one: bait + other: baiti + gb: GB + kb: KB + mb: MB + tb: TB + percentage: + format: + delimiter: '' + format: "%n%" + precision: + format: + delimiter: '' + support: + array: + last_word_connector: " ja " + two_words_connector: " ja " + words_connector: ", " + time: + am: enne lõunat + formats: + default: "%d. %B %Y, %H:%M" + long: "%a, %d. %b %Y, %H:%M:%S %z" + short: "%d.%m.%y, %H:%M" + pm: pärast lõunat diff --git a/examples/i18n/data/lang/eu.yml b/examples/i18n/data/lang/eu.yml new file mode 100644 index 0000000..4d483bf --- /dev/null +++ b/examples/i18n/data/lang/eu.yml @@ -0,0 +1,210 @@ +--- +eu: + activerecord: + errors: + messages: + record_invalid: 'Balioztatze arazoa: %{errors}' + restrict_dependent_destroy: + has_one: Ezin da erregistroa ezabatu menpeko %{record} bat dagoelako + has_many: Ezin da erregistroa ezabat menpeko %{record}ak daudelako + date: + abbr_day_names: + - Igan + - Astel + - Astear + - Asteaz + - Oste + - Osti + - Lar + abbr_month_names: + - + - Urt + - Ots + - Mar + - Api + - Mai + - Eka + - Uzt + - Abu + - Ira + - Urr + - Aza + - Aben + day_names: + - Igandea + - Astelehena + - Asteartea + - Asteazkena + - Osteguna + - Ostirala + - Larunbata + formats: + default: "%Y/%m/%e" + long: "%Y(e)ko %Bk %e" + short: "%b %e" + month_names: + - + - Urtarrila + - Otsaila + - Martxoa + - Apirila + - Maiatza + - Ekaina + - Uztaila + - Abuztua + - Iraila + - Urria + - Azaroa + - Abendua + order: + - :year + - :month + - :day + datetime: + distance_in_words: + about_x_hours: + one: ordu bat inguru + other: "%{count} ordu inguru" + about_x_months: + one: hilabete bat inguru + other: "%{count} hilabete inguru" + about_x_years: + one: urte bat inguru + other: "%{count} urte inguru" + almost_x_years: + one: ia urte bat + other: ia %{count} urte + half_a_minute: minutu erdi + less_than_x_seconds: + one: segundu bat baino gutxiago + other: "%{count} segundu baino gutxiago" + less_than_x_minutes: + one: "%{count} minutu bat baino gutxiago" + other: "%{count} minutu baino gutxiago" + over_x_years: + one: urte bat baino gehiago + other: "%{count} urte baino gehiago" + x_seconds: + one: segundu bat + other: "%{count} segundu" + x_minutes: + one: minutu bat + other: "%{count} minutu" + x_days: + one: egun bat + other: "%{count} egun" + x_months: + one: hilabete bat + other: "%{count} hilabete" + prompts: + second: Segundu + minute: Minutu + hour: Ordu + day: Egun + month: Hilabete + year: Urte + errors: + format: "%{attribute} %{message}" + messages: + accepted: onartuta izan behar da + blank: ezin da zuriz utzi + confirmation: ez dator bat konfirmazioarekin + empty: ezin da hutsik egon + equal_to: "%{count} izan behar da" + even: bikoitia izan behar du + exclusion: erreserbatuta dago + greater_than: "%{count} baino handiagoa izan behar da" + greater_than_or_equal_to: "%{count} baino handiago edo berdin izan behar da" + inclusion: ez da zerrendako aukera bat + invalid: ez da zuzena + less_than: "%{count} baino txikiago izan behar da" + less_than_or_equal_to: "%{count} baino txikiago edo berdin izan behar da" + model_invalid: 'Baieztatzeak huts egin du: %{errors}' + not_a_number: ez da zenbaki bat + not_an_integer: zenbaki osoa izan behar da + odd: bakoitia izan behar du + other_than: "%{count}ren ezberdina izan behar du" + present: zuriz egon behar da + required: egon behar du + taken: hartuta dago + too_long: + one: luzeegia da (karaktere %{count} gehienez) + other: luzeegia da (%{count} karaktere gehienez) + too_short: + one: laburregia da (karaktere %{count} gutxienez) + other: laburregia da (%{count} karaktere gutxienez) + wrong_length: + one: ez du luzeera zuzena (karaktere %{count} izan behar ditu) + other: ez du luzeera zuzena (%{count} karaktere izan behar ditu) + template: + body: 'Arazoak egon dira ondoko eremuekin:' + header: + one: Errore batek ezinezkoa egin du %{model} hau gordetzea + other: "%{count} errorek ezinezkoa egiten dute %{model} hau gordetzea" + helpers: + select: + prompt: Mesedez, aukeratu + submit: + create: "%{model}a eratu" + submit: "%{model}a gorde" + update: "%{model}a eguneratu" + number: + currency: + format: + delimiter: "." + format: "%n %u" + precision: 2 + separator: "," + significant: false + strip_insignificant_zeros: false + unit: "€" + format: + delimiter: "." + precision: 3 + separator: "," + significant: false + strip_insignificant_zeros: false + human: + decimal_units: + format: "%n %u" + units: + billion: Mila milioi + million: Milioi + quadrillion: Kuatrilioi + thousand: Mila + trillion: Trilioi + unit: '' + format: + delimiter: '' + precision: 1 + significant: true + strip_insignificant_zeros: true + storage_units: + format: "%n %u" + units: + byte: + one: Byte + other: Byte + gb: GB + kb: KB + mb: MB + tb: TB + percentage: + format: + delimiter: '' + format: "%n %" + precision: + format: + delimiter: '' + support: + array: + last_word_connector: " eta " + two_words_connector: " eta " + words_connector: ", " + time: + am: am + formats: + default: "%A, %Y(e)ko %Bren %e %H:%M:%S %z" + long: "%Y(e)ko %Bren %e, %H:%M" + short: "%b %e, %H:%M" + pm: pm diff --git a/examples/i18n/data/lang/fa.yml b/examples/i18n/data/lang/fa.yml new file mode 100644 index 0000000..a46d653 --- /dev/null +++ b/examples/i18n/data/lang/fa.yml @@ -0,0 +1,207 @@ +--- +fa: + activerecord: + errors: + messages: + record_invalid: رکورد نامعتبر است %{errors} + restrict_dependent_destroy: + has_one: نمی توان رکورد را حذف کرد بخاطر اینکه یک %{record} وابسته وجود + دارد + has_many: نمی توان رکورد را حذف کرد بخاطر اینکه %{record} وابسته وجود دارد + date: + abbr_day_names: + - ی + - د + - س + - چ + - پ + - ج + - ش + abbr_month_names: + - + - ژانویه + - فوریه + - مارس + - آوریل + - مه + - ژوئن + - ژوئیه + - اوت + - سپتامبر + - اکتبر + - نوامبر + - دسامبر + day_names: + - یکشنبه + - دوشنبه + - سه‌شنبه + - چهارشنبه + - پنج‌شنبه + - جمعه + - شنبه + formats: + default: "%Y/%m/%d" + long: "%e %B %Y" + short: "%m/%d" + month_names: + - + - ژانویه + - فوریه + - مارس + - آوریل + - مه + - ژوئن + - ژوئیه + - اوت + - سپتامبر + - اکتبر + - نوامبر + - دسامبر + order: + - :day + - :month + - :year + datetime: + distance_in_words: + about_x_hours: + one: حدود یک ساعت + other: حدود %{count} ساعت + about_x_months: + one: حدود یک ماه + other: حدود %{count} ماه + about_x_years: + one: حدود یک سال + other: حدود %{count} سال + almost_x_years: + one: حدود یک سال + other: حدود %{count} سال + half_a_minute: نیم دقیقه + less_than_x_seconds: + one: یک ثانیه + other: کمتر از %{count} ثانیه + less_than_x_minutes: + one: کمتر از یک دقیقه + other: کمتر از %{count} دقیقه + over_x_years: + one: بیش از یک سال + other: بیش از %{count} سال + x_seconds: + one: یک ثانیه + other: "%{count} ثانیه" + x_minutes: + one: یک دقیقه + other: "%{count} دقیقه" + x_days: + one: یک روز + other: "%{count} روز" + x_months: + one: یک ماه + other: "%{count} ماه" + x_years: + one: "%{count} سال" + other: "%{count} سال" + prompts: + second: ثانیه + minute: دقیقه + hour: ساعت + day: روز + month: ماه + year: سال + errors: + format: "%{attribute} %{message}" + messages: + accepted: باید پذیرفته شود + blank: نباید خالی باشد + confirmation: با تایید نمی‌خواند + empty: نمی‌تواند خالی باشد + equal_to: باید برابر %{count} باشد + even: باید زوج باشد + exclusion: رزرو است + greater_than: باید بزرگتر از %{count} باشد + greater_than_or_equal_to: باید بزرگتر یا برابر %{count} باشد + inclusion: در لیست موجود نیست + invalid: نامعتبر است + less_than: باید کمتر از %{count} باشد + less_than_or_equal_to: باید کمتر یا برابر %{count} باشد + model_invalid: رکورد نامعتبر است %{errors} + not_a_number: عدد نیست + not_an_integer: عدد صحیح نیست + odd: باید فرد باشد + other_than: باید غیر از %{count} باشد + present: باید خالی باشد + required: باید وجود داشته باشد + taken: پیشتر گرفته شده + too_long: بلند است (حداکثر %{count} کاراکتر) + too_short: کوتاه است (حداقل %{count} کاراکتر) + wrong_length: نااندازه است (باید %{count} کاراکتر باشد) + template: + body: 'موارد زیر مشکل داشت:' + header: + one: "%{count} خطا جلوی ذخیره این %{model} را گرفت" + other: "%{count} خطا جلوی ذخیره این %{model} را گرفت" + helpers: + select: + prompt: لطفا انتخاب کنید + submit: + create: ایجاد %{model} + submit: ذخیره‌ی %{model} + update: بروز رسانی %{model} + number: + currency: + format: + delimiter: "٬" + format: "%n %u" + precision: 0 + separator: "٫" + significant: false + strip_insignificant_zeros: false + unit: "﷼" + format: + delimiter: "٬" + precision: 2 + separator: "٫" + significant: false + strip_insignificant_zeros: false + human: + decimal_units: + format: "%n %u" + units: + billion: میلیارد + million: میلیون + quadrillion: کادریلیون + thousand: هزار + trillion: تریلیون + unit: '' + format: + delimiter: '' + precision: 1 + significant: true + strip_insignificant_zeros: true + storage_units: + format: "%n %u" + units: + byte: + one: بایت + other: بایت + gb: گیگابایت + kb: کیلوبایت + mb: مگابایت + tb: ترابایت + percentage: + format: + delimiter: '' + precision: + format: + delimiter: '' + support: + array: + last_word_connector: " و " + two_words_connector: " و " + words_connector: "، " + time: + am: قبل از ظهر + formats: + default: "%A، %e %B %Y، ساعت %H:%M:%S (%Z)" + long: "%e %B %Y، ساعت %H:%M" + short: "%e %B، ساعت %H:%M" + pm: بعد از ظهر diff --git a/examples/i18n/data/lang/fi.yml b/examples/i18n/data/lang/fi.yml new file mode 100644 index 0000000..b2ebf31 --- /dev/null +++ b/examples/i18n/data/lang/fi.yml @@ -0,0 +1,211 @@ +--- +fi: + activerecord: + errors: + messages: + record_invalid: 'Validointi epäonnistui: %{errors}' + restrict_dependent_destroy: + has_one: Ei voida poistaa mallia koska tästä riippuvainen %{record} löytyy + has_many: Ei voida poistaa mallia koska tästä riippuvaisia %{record} löytyy + date: + abbr_day_names: + - su + - ma + - ti + - ke + - to + - pe + - la + abbr_month_names: + - + - tammi + - helmi + - maalis + - huhti + - touko + - kesä + - heinä + - elo + - syys + - loka + - marras + - joulu + day_names: + - sunnuntai + - maanantai + - tiistai + - keskiviikko + - torstai + - perjantai + - lauantai + formats: + default: "%-d.%-m.%Y" + long: "%d. %Bta %Y" + short: "%d. %b" + month_names: + - + - tammikuu + - helmikuu + - maaliskuu + - huhtikuu + - toukokuu + - kesäkuu + - heinäkuu + - elokuu + - syyskuu + - lokakuu + - marraskuu + - joulukuu + order: + - :day + - :month + - :year + datetime: + distance_in_words: + about_x_hours: + one: noin tunti + other: noin %{count} tuntia + about_x_months: + one: noin kuukausi + other: noin %{count} kuukautta + about_x_years: + one: vuosi + other: noin %{count} vuotta + almost_x_years: + one: melkein yksi vuosi + other: melkein %{count} vuotta + half_a_minute: puoli minuuttia + less_than_x_seconds: + one: alle sekunti + other: alle %{count} sekuntia + less_than_x_minutes: + one: alle minuutti + other: alle %{count} minuuttia + over_x_years: + one: yli vuosi + other: yli %{count} vuotta + x_seconds: + one: sekunti + other: "%{count} sekuntia" + x_minutes: + one: minuutti + other: "%{count} minuuttia" + x_days: + one: päivä + other: "%{count} päivää" + x_months: + one: kuukausi + other: "%{count} kuukautta" + x_years: + one: vuosi + other: "%{count} vuotta" + prompts: + second: Sekunti + minute: Minuutti + hour: Tunti + day: Päivä + month: Kuukausi + year: Vuosi + errors: + format: "%{attribute} %{message}" + messages: + accepted: täytyy olla hyväksytty + blank: ei voi olla tyhjä + confirmation: ei vastaa varmennusta + empty: ei voi olla tyhjä + equal_to: täytyy olla yhtä suuri kuin %{count} + even: täytyy olla parillinen + exclusion: on varattu + greater_than: täytyy olla suurempi kuin %{count} + greater_than_or_equal_to: täytyy olla suurempi tai yhtä suuri kuin %{count} + inclusion: ei löydy listasta + invalid: on virheellinen + less_than: täytyy olla pienempi kuin %{count} + less_than_or_equal_to: täytyy olla pienempi tai yhtä suuri kuin %{count} + model_invalid: 'Validointi epäonnistui: %{errors}' + not_a_number: ei ole luku + not_an_integer: täytyy olla kokonaisluku + odd: täytyy olla pariton + present: täytyy olla sisällötön + required: täytyy olla + taken: on jo käytössä + too_long: + one: on liian pitkä (saa olla enintään %{count} merkki) + other: on liian pitkä (saa olla enintään %{count} merkkiä) + too_short: + one: on liian lyhyt (oltava vähintään %{count} merkki) + other: on liian lyhyt (oltava vähintään %{count} merkkiä) + wrong_length: + one: on väärän pituinen (täytyy olla täsmälleen %{count} merkki) + other: on väärän pituinen (täytyy olla täsmälleen %{count} merkkiä) + template: + body: 'Seuraavat kentät aiheuttivat ongelmia:' + header: + one: Virhe syötteessä esti mallin %{model} tallentamisen + other: "%{count} virhettä esti mallin %{model} tallentamisen" + helpers: + select: + prompt: Valitse + submit: + create: Luo %{model} + submit: Tallenna %{model} + update: Päivitä %{model} + number: + currency: + format: + delimiter: " " + format: "%n %u" + precision: 2 + separator: "," + significant: false + strip_insignificant_zeros: false + unit: "€" + format: + delimiter: " " + precision: 3 + separator: "," + significant: false + strip_insignificant_zeros: false + human: + decimal_units: + format: "%n %u" + units: + billion: miljardia + million: miljoonaa + quadrillion: tuhatta biljoonaa + thousand: tuhatta + trillion: biljoonaa + unit: '' + format: + delimiter: '' + precision: 3 + significant: true + strip_insignificant_zeros: true + storage_units: + format: "%n %u" + units: + byte: + one: tavu + other: tavua + gb: Gt + kb: kt + mb: Mt + tb: Tt + percentage: + format: + delimiter: '' + precision: + format: + delimiter: '' + support: + array: + last_word_connector: " ja " + two_words_connector: " ja " + words_connector: ", " + time: + am: aamupäivä + formats: + default: "%A %e. %Bta %Y %H:%M:%S %z" + long: "%e. %Bta %Y %H.%M" + short: "%e.%m. %H.%M" + pm: iltapäivä diff --git a/examples/i18n/data/lang/fr-CA.yml b/examples/i18n/data/lang/fr-CA.yml new file mode 100644 index 0000000..49b692a --- /dev/null +++ b/examples/i18n/data/lang/fr-CA.yml @@ -0,0 +1,221 @@ +--- +fr-CA: + activerecord: + errors: + messages: + record_invalid: 'La validation a échoué : %{errors}' + restrict_dependent_destroy: + has_one: Vous ne pouvez pas supprimer l'enregistrement car un(e) %{record} + dépendant(e) existe + has_many: Vous ne pouvez pas supprimer l'enregistrement parce que les %{record} + dépendants existent + date: + abbr_day_names: + - dim + - lun + - mar + - mer + - jeu + - ven + - sam + abbr_month_names: + - + - jan. + - fév. + - mars + - avr. + - mai + - juin + - juil. + - août + - sept. + - oct. + - nov. + - déc. + day_names: + - dimanche + - lundi + - mardi + - mercredi + - jeudi + - vendredi + - samedi + formats: + default: "%Y-%m-%d" + long: "%d %B %Y" + short: "%y-%m-%d" + month_names: + - + - janvier + - février + - mars + - avril + - mai + - juin + - juillet + - août + - septembre + - octobre + - novembre + - décembre + order: + - :year + - :month + - :day + datetime: + distance_in_words: + about_x_hours: + one: environ une heure + other: environ %{count} heures + about_x_months: + one: environ un mois + other: environ %{count} mois + about_x_years: + one: environ un an + other: environ %{count} ans + almost_x_years: + one: presqu'un an + other: presque %{count} ans + 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 + less_than_x_minutes: + zero: moins d'une minute + one: moins d'une minute + other: moins de %{count} minutes + over_x_years: + one: plus d'un an + other: plus de %{count} ans + x_seconds: + one: "%{count} seconde" + other: "%{count} secondes" + x_minutes: + one: "%{count} minute" + other: "%{count} minutes" + x_days: + one: "%{count} jour" + other: "%{count} jours" + x_months: + one: "%{count} mois" + other: "%{count} mois" + x_years: + one: "%{count} an" + other: "%{count} ans" + prompts: + second: Seconde + minute: Minute + hour: Heure + day: Jour + month: Mois + year: Année + errors: + format: "%{attribute} %{message}" + messages: + accepted: doit être accepté(e) + blank: doit être rempli(e) + confirmation: ne concorde pas avec %{attribute} + empty: doit être rempli(e) + equal_to: doit être égal à %{count} + even: doit être pair + exclusion: n'est pas disponible + greater_than: doit être supérieur à %{count} + greater_than_or_equal_to: doit être supérieur ou égal à %{count} + in: doit être dans l'intervalle %{count} + inclusion: n'est pas inclus(e) dans la liste + invalid: n'est pas valide + less_than: doit être inférieur à %{count} + less_than_or_equal_to: doit être inférieur ou égal à %{count} + model_invalid: 'Validation échouée : %{errors}' + not_a_number: n'est pas un nombre + not_an_integer: doit être un nombre entier + odd: doit être impair + other_than: doit être différent de %{count} + present: doit être vide + required: doit exister + taken: n'est pas disponible + too_long: + one: est trop long (pas plus d'un caractère) + other: est trop long (pas plus de %{count} caractères) + too_short: + one: est trop court (au moins un caractère) + other: est trop court (au moins %{count} caractères) + wrong_length: + one: ne fait pas la bonne longueur (doit comporter un seul caractère) + other: ne fait pas la bonne longueur (doit comporter %{count} caractères) + template: + body: 'Veuillez vérifier les champs suivants : ' + header: + one: 'Impossible d''enregistrer ce(tte) %{model} : %{count} erreur' + other: 'Impossible d''enregistrer ce(tte) %{model} : %{count} erreurs' + helpers: + select: + prompt: Veuillez sélectionner + submit: + create: Créer un(e) %{model} + submit: Enregistrer ce(tte) %{model} + update: Modifier ce(tte) %{model} + number: + currency: + format: + delimiter: " " + format: "%n %u" + precision: 2 + separator: "," + significant: false + strip_insignificant_zeros: false + unit: "$" + format: + delimiter: " " + precision: 3 + round_mode: default + separator: "," + significant: false + strip_insignificant_zeros: false + human: + decimal_units: + format: "%n %u" + units: + billion: milliard + million: million + quadrillion: million de milliards + thousand: millier + trillion: billion + unit: '' + format: + delimiter: '' + precision: 3 + significant: true + strip_insignificant_zeros: true + storage_units: + format: "%n %u" + units: + byte: + one: octet + other: octets + eb: Eo + gb: Go + kb: ko + mb: Mo + pb: Po + tb: To + percentage: + format: + delimiter: '' + format: "%n%" + precision: + format: + delimiter: '' + support: + array: + last_word_connector: " et " + two_words_connector: " et " + words_connector: ", " + time: + am: am + formats: + default: "%d %B %Y %H h %M min %S s" + long: "%A %d %B %Y %H h %M" + short: "%d %b %H h %M" + pm: pm diff --git a/examples/i18n/data/lang/fr-CH.yml b/examples/i18n/data/lang/fr-CH.yml new file mode 100644 index 0000000..8552e64 --- /dev/null +++ b/examples/i18n/data/lang/fr-CH.yml @@ -0,0 +1,221 @@ +--- +fr-CH: + activerecord: + errors: + messages: + record_invalid: 'La validation a échoué : %{errors}' + restrict_dependent_destroy: + has_one: Vous ne pouvez pas supprimer l'enregistrement car un(e) %{record} + dépendant(e) existe + has_many: Vous ne pouvez pas supprimer l'enregistrement parce que les %{record} + dépendants existent + date: + abbr_day_names: + - dim + - lun + - mar + - mer + - jeu + - ven + - sam + abbr_month_names: + - + - jan. + - fév. + - mars + - avr. + - mai + - juin + - juil. + - août + - sept. + - oct. + - nov. + - déc. + day_names: + - dimanche + - lundi + - mardi + - mercredi + - jeudi + - vendredi + - samedi + formats: + default: "%d.%m.%Y" + long: "%-d %B %Y" + short: "%-d %b" + month_names: + - + - janvier + - février + - mars + - avril + - mai + - juin + - juillet + - août + - septembre + - octobre + - novembre + - décembre + order: + - :day + - :month + - :year + datetime: + distance_in_words: + about_x_hours: + one: environ une heure + other: environ %{count} heures + about_x_months: + one: environ un mois + other: environ %{count} mois + about_x_years: + one: environ un an + other: environ %{count} ans + almost_x_years: + one: presqu'un an + other: presque %{count} ans + 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 + less_than_x_minutes: + zero: moins d'une minute + one: moins d'une minute + other: moins de %{count} minutes + over_x_years: + one: plus d'un an + other: plus de %{count} ans + x_seconds: + one: "%{count} seconde" + other: "%{count} secondes" + x_minutes: + one: "%{count} minute" + other: "%{count} minutes" + x_days: + one: "%{count} jour" + other: "%{count} jours" + x_months: + one: "%{count} mois" + other: "%{count} mois" + x_years: + one: "%{count} an" + other: "%{count} ans" + prompts: + second: Seconde + minute: Minute + hour: Heure + day: Jour + month: Mois + year: Année + errors: + format: "%{attribute} %{message}" + messages: + accepted: doit être accepté(e) + blank: doit être rempli(e) + confirmation: ne concorde pas avec %{attribute} + empty: doit être rempli(e) + equal_to: doit être égal à %{count} + even: doit être pair + exclusion: n'est pas disponible + greater_than: doit être supérieur à %{count} + greater_than_or_equal_to: doit être supérieur ou égal à %{count} + in: doit être dans l'intervalle %{count} + inclusion: n'est pas inclus(e) dans la liste + invalid: n'est pas valide + less_than: doit être inférieur à %{count} + less_than_or_equal_to: doit être inférieur ou égal à %{count} + model_invalid: 'Validation échouée : %{errors}' + not_a_number: n'est pas un nombre + not_an_integer: doit être un nombre entier + odd: doit être impair + other_than: doit être différent de %{count} + present: doit être vide + required: doit exister + taken: n'est pas disponible + too_long: + one: est trop long (pas plus d'un caractère) + other: est trop long (pas plus de %{count} caractères) + too_short: + one: est trop court (au moins un caractère) + other: est trop court (au moins %{count} caractères) + wrong_length: + one: ne fait pas la bonne longueur (doit comporter un seul caractère) + other: ne fait pas la bonne longueur (doit comporter %{count} caractères) + template: + body: 'Veuillez vérifier les champs suivants : ' + header: + one: 'Impossible d''enregistrer ce(tte) %{model} : %{count} erreur' + other: 'Impossible d''enregistrer ce(tte) %{model} : %{count} erreurs' + helpers: + select: + prompt: Veuillez sélectionner + submit: + create: Créer un(e) %{model} + submit: Enregistrer ce(tte) %{model} + update: Modifier ce(tte) %{model} + number: + currency: + format: + delimiter: "'" + format: "%n %u" + precision: 2 + separator: "." + significant: false + strip_insignificant_zeros: false + unit: sFr. + format: + delimiter: "'" + precision: 3 + round_mode: default + separator: "." + significant: false + strip_insignificant_zeros: false + human: + decimal_units: + format: "%n %u" + units: + billion: milliard + million: million + quadrillion: million de milliards + thousand: millier + trillion: billion + unit: '' + format: + delimiter: '' + precision: 3 + significant: true + strip_insignificant_zeros: true + storage_units: + format: "%n %u" + units: + byte: + one: octet + other: octets + eb: Eo + gb: Go + kb: ko + mb: Mo + pb: Po + tb: To + percentage: + format: + delimiter: '' + format: "%n%" + precision: + format: + delimiter: '' + support: + array: + last_word_connector: " et " + two_words_connector: " et " + words_connector: ", " + time: + am: am + formats: + default: "%d. %B %Y %H h %M" + long: "%A, %d %B %Y %H h %M min %S s %Z" + short: "%d %b %H h %M" + pm: pm diff --git a/examples/i18n/data/lang/fr-FR.yml b/examples/i18n/data/lang/fr-FR.yml new file mode 100644 index 0000000..eea5c75 --- /dev/null +++ b/examples/i18n/data/lang/fr-FR.yml @@ -0,0 +1,221 @@ +--- +fr-FR: + activerecord: + errors: + messages: + record_invalid: 'La validation a échoué : %{errors}' + restrict_dependent_destroy: + has_one: Vous ne pouvez pas supprimer l'enregistrement car un(e) %{record} + dépendant(e) existe + has_many: Vous ne pouvez pas supprimer l'enregistrement parce que les %{record} + dépendants existent + date: + abbr_day_names: + - dim + - lun + - mar + - mer + - jeu + - ven + - sam + abbr_month_names: + - + - jan. + - fév. + - mars + - avr. + - mai + - juin + - juil. + - août + - sept. + - oct. + - nov. + - déc. + day_names: + - dimanche + - lundi + - mardi + - mercredi + - jeudi + - vendredi + - samedi + formats: + default: "%d/%m/%Y" + long: "%-d %B %Y" + short: "%-d %b" + month_names: + - + - janvier + - février + - mars + - avril + - mai + - juin + - juillet + - août + - septembre + - octobre + - novembre + - décembre + order: + - :day + - :month + - :year + datetime: + distance_in_words: + about_x_hours: + one: environ une heure + other: environ %{count} heures + about_x_months: + one: environ un mois + other: environ %{count} mois + about_x_years: + one: environ un an + other: environ %{count} ans + almost_x_years: + one: presqu'un an + other: presque %{count} ans + 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 + less_than_x_minutes: + zero: moins d'une minute + one: moins d'une minute + other: moins de %{count} minutes + over_x_years: + one: plus d'un an + other: plus de %{count} ans + x_seconds: + one: "%{count} seconde" + other: "%{count} secondes" + x_minutes: + one: "%{count} minute" + other: "%{count} minutes" + x_days: + one: "%{count} jour" + other: "%{count} jours" + x_months: + one: "%{count} mois" + other: "%{count} mois" + x_years: + one: "%{count} an" + other: "%{count} ans" + prompts: + second: Seconde + minute: Minute + hour: Heure + day: Jour + month: Mois + year: Année + errors: + format: "%{attribute} %{message}" + messages: + accepted: doit être accepté(e) + blank: doit être rempli(e) + confirmation: ne concorde pas avec %{attribute} + empty: doit être rempli(e) + equal_to: doit être égal à %{count} + even: doit être pair + exclusion: n'est pas disponible + greater_than: doit être supérieur à %{count} + greater_than_or_equal_to: doit être supérieur ou égal à %{count} + in: doit être dans l'intervalle %{count} + inclusion: n'est pas inclus(e) dans la liste + invalid: n'est pas valide + less_than: doit être inférieur à %{count} + less_than_or_equal_to: doit être inférieur ou égal à %{count} + model_invalid: 'Validation échouée : %{errors}' + not_a_number: n'est pas un nombre + not_an_integer: doit être un nombre entier + odd: doit être impair + other_than: doit être différent de %{count} + present: doit être vide + required: doit exister + taken: n'est pas disponible + too_long: + one: est trop long (pas plus d'un caractère) + other: est trop long (pas plus de %{count} caractères) + too_short: + one: est trop court (au moins un caractère) + other: est trop court (au moins %{count} caractères) + wrong_length: + one: ne fait pas la bonne longueur (doit comporter un seul caractère) + other: ne fait pas la bonne longueur (doit comporter %{count} caractères) + template: + body: 'Veuillez vérifier les champs suivants : ' + header: + one: 'Impossible d''enregistrer ce(tte) %{model} : %{count} erreur' + other: 'Impossible d''enregistrer ce(tte) %{model} : %{count} erreurs' + helpers: + select: + prompt: Veuillez sélectionner + submit: + create: Créer un(e) %{model} + submit: Enregistrer ce(tte) %{model} + update: Modifier ce(tte) %{model} + number: + currency: + format: + delimiter: " " + format: "%n %u" + precision: 2 + separator: "," + significant: false + strip_insignificant_zeros: false + unit: "€" + format: + delimiter: " " + precision: 3 + round_mode: default + separator: "," + significant: false + strip_insignificant_zeros: false + human: + decimal_units: + format: "%n %u" + units: + billion: milliard + million: million + quadrillion: million de milliards + thousand: millier + trillion: billion + unit: '' + format: + delimiter: '' + precision: 3 + significant: true + strip_insignificant_zeros: true + storage_units: + format: "%n %u" + units: + byte: + one: octet + other: octets + eb: Eo + gb: Go + kb: ko + mb: Mo + pb: Po + tb: To + percentage: + format: + delimiter: '' + format: "%n%" + precision: + format: + delimiter: '' + support: + array: + last_word_connector: " et " + two_words_connector: " et " + words_connector: ", " + time: + am: am + formats: + default: "%d %B %Y %Hh %Mmin %Ss" + long: "%A %d %B %Y %Hh%M" + short: "%d %b %Hh%M" + pm: pm diff --git a/examples/i18n/data/lang/fr.yml b/examples/i18n/data/lang/fr.yml new file mode 100644 index 0000000..aa71af5 --- /dev/null +++ b/examples/i18n/data/lang/fr.yml @@ -0,0 +1,221 @@ +--- +fr: + activerecord: + errors: + messages: + record_invalid: 'La validation a échoué : %{errors}' + restrict_dependent_destroy: + has_one: Vous ne pouvez pas supprimer l'enregistrement car un(e) %{record} + dépendant(e) existe + has_many: Vous ne pouvez pas supprimer l'enregistrement parce que les %{record} + dépendants existent + date: + abbr_day_names: + - dim + - lun + - mar + - mer + - jeu + - ven + - sam + abbr_month_names: + - + - jan. + - fév. + - mars + - avr. + - mai + - juin + - juil. + - août + - sept. + - oct. + - nov. + - déc. + day_names: + - dimanche + - lundi + - mardi + - mercredi + - jeudi + - vendredi + - samedi + formats: + default: "%d/%m/%Y" + long: "%-d %B %Y" + short: "%-d %b" + month_names: + - + - janvier + - février + - mars + - avril + - mai + - juin + - juillet + - août + - septembre + - octobre + - novembre + - décembre + order: + - :day + - :month + - :year + datetime: + distance_in_words: + about_x_hours: + one: environ une heure + other: environ %{count} heures + about_x_months: + one: environ un mois + other: environ %{count} mois + about_x_years: + one: environ un an + other: environ %{count} ans + almost_x_years: + one: presqu'un an + other: presque %{count} ans + 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 + less_than_x_minutes: + zero: moins d'une minute + one: moins d'une minute + other: moins de %{count} minutes + over_x_years: + one: plus d'un an + other: plus de %{count} ans + x_seconds: + one: "%{count} seconde" + other: "%{count} secondes" + x_minutes: + one: "%{count} minute" + other: "%{count} minutes" + x_days: + one: "%{count} jour" + other: "%{count} jours" + x_months: + one: "%{count} mois" + other: "%{count} mois" + x_years: + one: "%{count} an" + other: "%{count} ans" + prompts: + second: Seconde + minute: Minute + hour: Heure + day: Jour + month: Mois + year: Année + errors: + format: "%{attribute} %{message}" + messages: + accepted: doit être accepté(e) + blank: doit être rempli(e) + confirmation: ne concorde pas avec %{attribute} + empty: doit être rempli(e) + equal_to: doit être égal à %{count} + even: doit être pair + exclusion: n'est pas disponible + greater_than: doit être supérieur à %{count} + greater_than_or_equal_to: doit être supérieur ou égal à %{count} + in: doit être dans l'intervalle %{count} + inclusion: n'est pas inclus(e) dans la liste + invalid: n'est pas valide + less_than: doit être inférieur à %{count} + less_than_or_equal_to: doit être inférieur ou égal à %{count} + model_invalid: 'Validation échouée : %{errors}' + not_a_number: n'est pas un nombre + not_an_integer: doit être un nombre entier + odd: doit être impair + other_than: doit être différent de %{count} + present: doit être vide + required: doit exister + taken: est déjà utilisé(e) + too_long: + one: est trop long (pas plus d'un caractère) + other: est trop long (pas plus de %{count} caractères) + too_short: + one: est trop court (au moins un caractère) + other: est trop court (au moins %{count} caractères) + wrong_length: + one: ne fait pas la bonne longueur (doit comporter un seul caractère) + other: ne fait pas la bonne longueur (doit comporter %{count} caractères) + template: + body: 'Veuillez vérifier les champs suivants : ' + header: + one: 'Impossible d''enregistrer ce(tte) %{model} : %{count} erreur' + other: 'Impossible d''enregistrer ce(tte) %{model} : %{count} erreurs' + helpers: + select: + prompt: Veuillez sélectionner + submit: + create: Créer un(e) %{model} + submit: Enregistrer ce(tte) %{model} + update: Modifier ce(tte) %{model} + number: + currency: + format: + delimiter: " " + format: "%n %u" + precision: 2 + separator: "," + significant: false + strip_insignificant_zeros: false + unit: "€" + format: + delimiter: " " + precision: 3 + round_mode: default + separator: "," + significant: false + strip_insignificant_zeros: false + human: + decimal_units: + format: "%n %u" + units: + billion: milliard + million: million + quadrillion: million de milliards + thousand: millier + trillion: billion + unit: '' + format: + delimiter: '' + precision: 3 + significant: true + strip_insignificant_zeros: true + storage_units: + format: "%n %u" + units: + byte: + one: octet + other: octets + eb: Eo + gb: Go + kb: ko + mb: Mo + pb: Po + tb: To + percentage: + format: + delimiter: '' + format: "%n%" + precision: + format: + delimiter: '' + support: + array: + last_word_connector: " et " + two_words_connector: " et " + words_connector: ", " + time: + am: am + formats: + default: "%d %B %Y %Hh %Mmin %Ss" + long: "%A %d %B %Y %Hh%M" + short: "%d %b %Hh%M" + pm: pm diff --git a/examples/i18n/data/lang/fy.yml b/examples/i18n/data/lang/fy.yml new file mode 100644 index 0000000..fa0d2fc --- /dev/null +++ b/examples/i18n/data/lang/fy.yml @@ -0,0 +1,215 @@ +--- +fy: + activerecord: + errors: + messages: + record_invalid: 'Falidaasje mislearre: %{errors}' + restrict_dependent_destroy: + has_one: Kin de registraasje net wiskje om't der in %{record} ôfhinklik is + has_many: Kin de registraasje net wiskje om't der %{record} ôfhinklik binne + date: + abbr_day_names: + - si + - mo + - ti + - wo + - to + - fr + - so + abbr_month_names: + - + - jan + - feb + - mrt + - apr + - mai + - jun + - jul + - aug + - sep + - okt + - nov + - des + day_names: + - snein + - moandei + - tiisdei + - woansdei + - tongersdei + - freed + - sneon + formats: + default: "%d-%m-%Y" + long: "%e %B %Y" + short: "%e %b" + month_names: + - + - jannewaris + - febrewaris + - maart + - april + - maaie + - juny + - july + - augustus + - septimber + - oktober + - novimber + - desimber + order: + - :day + - :month + - :year + datetime: + distance_in_words: + about_x_hours: + one: likernôch 1 oere + other: likernôch %{count} oeren + about_x_months: + one: likernôch 1 moanne + other: likernôch %{count} moannen + about_x_years: + one: likernôch 1 jier + other: likernôch %{count} jier + almost_x_years: + one: hast 1 jier + other: hast %{count} jier + half_a_minute: in heale minút + less_than_x_seconds: + one: minder as 1 sekonde + other: minder as %{count} sekonden + less_than_x_minutes: + one: minder as in minút + other: minder as %{count} minuten + over_x_years: + one: mear as 1 jier + other: mear as %{count} jier + x_seconds: + one: 1 sekonde + other: "%{count} sekonden" + x_minutes: + one: 1 minút + other: "%{count} minuten" + x_days: + one: 1 dei + other: "%{count} dagen" + x_months: + one: 1 moanne + other: "%{count} moannen" + x_years: + one: 1 jier + other: "%{count} jier" + prompts: + second: sekonde + minute: minút + hour: oere + day: dei + month: moanne + year: jier + errors: + format: "%{attribute} %{message}" + messages: + accepted: moat akseptearre wurde + blank: kin net blanko wêze + confirmation: komt net oerien mei %{attribute} + empty: kin net leech wêze + equal_to: moat lyk wêze oan %{count} + even: moat even wêze + exclusion: is reservearre + greater_than: moat grutter wêze as %{count} + greater_than_or_equal_to: moat grutter wêze as, of lyk oan %{count} + inclusion: stiet net yn 'e list + invalid: is ûnjildich + less_than: moat lytser wêze as %{count} + less_than_or_equal_to: moat lytser wêze as, of lyk oan %{count} + model_invalid: 'Falidaasje mislearre: %{errors}' + not_a_number: is gjin getal + not_an_integer: moat in hiel getal wêze + odd: moat ûneven wêze + other_than: moat oars wêze as %{count} + present: moat blanko wêze + required: moat der wêze + taken: is al ynnommen + too_long: + one: is te lang (maksimum is 1 teken) + other: is te lang (maksimum is %{count} tekens) + too_short: + one: is te koart (minimum is 1 teken) + other: is te koart (minimum is %{count} tekens) + wrong_length: + one: hat de ferkearde lingte (moat 1 teken wêze) + other: hat de ferkearde lingte (moat %{count} tekens wêze) + template: + body: 'Der binne problemen mei de neikommende fjilden:' + header: + one: 1 flater behinderet it fêstlizzen fan %{model} + other: "%{count} flaters behinderje it fêstlizzen fan %{model}" + helpers: + select: + prompt: Meitsje in kar + submit: + create: "%{model} oanmeitsje" + submit: "%{model} fêstlizze" + update: "%{model} bywurkje" + number: + currency: + format: + delimiter: "." + format: "%u %n" + precision: 2 + separator: "," + significant: false + strip_insignificant_zeros: false + unit: "€" + format: + delimiter: "." + precision: 3 + separator: "," + significant: false + strip_insignificant_zeros: false + human: + decimal_units: + format: "%n %u" + units: + billion: miljard + million: miljoen + quadrillion: biljard + thousand: tûzen + trillion: biljoen + unit: '' + format: + delimiter: '' + precision: 3 + significant: true + strip_insignificant_zeros: true + storage_units: + format: "%n %u" + units: + byte: + one: byte + other: bytes + eb: EB + gb: GB + kb: KB + mb: MB + pb: PB + tb: TB + percentage: + format: + delimiter: '' + format: "%n%" + precision: + format: + delimiter: '' + support: + array: + last_word_connector: " en " + two_words_connector: " en " + words_connector: ", " + time: + am: fm. + formats: + default: "%a %e %b %Y %H.%M:%S %z" + long: "%e %B %Y om %H.%M oere" + short: "%e %b, %H.%M o." + pm: nm. diff --git a/examples/i18n/data/lang/gl.yml b/examples/i18n/data/lang/gl.yml new file mode 100644 index 0000000..e017bcb --- /dev/null +++ b/examples/i18n/data/lang/gl.yml @@ -0,0 +1,172 @@ +--- +gl: + date: + abbr_day_names: + - Dom + - Lun + - Mar + - Mer + - Xov + - Ven + - Sab + abbr_month_names: + - + - Xan + - Feb + - Mar + - Abr + - Mai + - Xuñ + - Xul + - Ago + - Set + - Out + - Nov + - Dec + day_names: + - Domingo + - Luns + - Martes + - Mércores + - Xoves + - Venres + - Sábado + formats: + default: "%e/%m/%Y" + long: "%A %e de %B de %Y" + short: "%e %b" + month_names: + - + - Xaneiro + - Febreiro + - Marzo + - Abril + - Maio + - Xuño + - Xullo + - Agosto + - Setembro + - Outubro + - Novembro + - Decembro + order: + - :day + - :month + - :year + datetime: + distance_in_words: + about_x_hours: + one: aproximadamente unha hora + other: "%{count} horas" + about_x_months: + one: aproximadamente %{count} mes + other: "%{count} meses" + about_x_years: + one: aproximadamente %{count} ano + other: "%{count} anos" + half_a_minute: medio minuto + less_than_x_seconds: + zero: menos dun segundo + one: "%{count} segundo" + few: poucos segundos + other: "%{count} segundos" + less_than_x_minutes: + zero: menos dun minuto + one: "%{count} minuto" + other: "%{count} minutos" + over_x_years: + one: máis dun ano + other: "%{count} anos" + x_seconds: + one: "%{count} segundo" + other: "%{count} segundos" + x_minutes: + one: "%{count} minuto" + other: "%{count} minuto" + x_days: + one: "%{count} día" + other: "%{count} días" + x_months: + one: "%{count} mes" + other: "%{count} meses" + errors: + format: "%{attribute} %{message}" + messages: + accepted: debe ser aceptado + blank: non pode estar en branco + confirmation: non coincide coa confirmación + empty: non pode estar baleiro + equal_to: debe ser igual a %{count} + even: debe ser impar + exclusion: xa existe + greater_than: debe ser maior que %{count} + greater_than_or_equal_to: debe ser maior ou igual que %{count} + inclusion: non está incluído na lista + invalid: non é válido + less_than: debe ser menor que %{count} + less_than_or_equal_to: debe ser menor ou igual que %{count} + not_a_number: non é un número + odd: debe ser par + taken: non está dispoñible + 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) + template: + body: 'Atopáronse os seguintes problemas:' + header: + one: "%{count} erro evitou que se puidese gardar o %{model}" + other: "%{count} erros evitaron que se puidese gardar o %{model}" + number: + currency: + format: + delimiter: "." + format: "%n %u" + precision: 2 + separator: "," + significant: false + strip_insignificant_zeros: false + unit: "€" + format: + delimiter: "." + precision: 2 + separator: "," + significant: false + strip_insignificant_zeros: false + human: + decimal_units: + format: "%n %u" + units: + unit: '' + format: + delimiter: '' + precision: 1 + significant: true + strip_insignificant_zeros: true + storage_units: + format: "%n %u" + units: + byte: + one: Byte + other: Bytes + gb: GB + kb: KB + mb: MB + tb: TB + percentage: + format: + delimiter: '' + precision: + format: + delimiter: '' + support: + array: + last_word_connector: " e " + two_words_connector: " e " + words_connector: ", " + time: + am: '' + formats: + default: "%A, %e de %B de %Y ás %H:%M" + long: "%A %e de %B de %Y ás %H:%M" + short: "%e/%m, %H:%M" + pm: '' diff --git a/examples/i18n/data/lang/he.yml b/examples/i18n/data/lang/he.yml new file mode 100644 index 0000000..ec44c4b --- /dev/null +++ b/examples/i18n/data/lang/he.yml @@ -0,0 +1,198 @@ +--- +he: + activerecord: + errors: + messages: + record_invalid: 'האימות נכשל: %{errors}' + date: + abbr_day_names: + - א + - ב + - ג + - ד + - ה + - ו + - ש + abbr_month_names: + - + - ינו + - פבר + - מרץ + - אפר + - מאי + - יונ + - יול + - אוג + - ספט + - אוק + - נוב + - דצמ + day_names: + - ראשון + - שני + - שלישי + - רביעי + - חמישי + - שישי + - שבת + formats: + default: "%d-%m-%Y" + long: "%e ב%B, %Y" + short: "%e %b" + month_names: + - + - ינואר + - פברואר + - מרץ + - אפריל + - מאי + - יוני + - יולי + - אוגוסט + - ספטמבר + - אוקטובר + - נובמבר + - דצמבר + order: + - :day + - :month + - :year + datetime: + distance_in_words: + about_x_hours: + one: בערך שעה אחת + other: בערך %{count} שעות + about_x_months: + one: בערך חודש אחד + other: בערך %{count} חודשים + about_x_years: + one: בערך שנה אחת + other: בערך %{count} שנים + almost_x_years: + one: כמעט שנה + other: כמעט %{count} שנים + half_a_minute: חצי דקה + less_than_x_seconds: + zero: פחות משניה אחת + one: פחות משניה אחת + other: פחות מ- %{count} שניות + less_than_x_minutes: + zero: פחות מדקה אחת + one: פחות מדקה אחת + other: פחות מ- %{count} דקות + over_x_years: + one: מעל שנה אחת + other: מעל %{count} שנים + x_seconds: + one: שניה אחת + other: "%{count} שניות" + x_minutes: + one: דקה אחת + other: "%{count} דקות" + x_days: + one: יום אחד + other: "%{count} ימים" + x_months: + one: חודש אחד + other: "%{count} חודשים" + prompts: + second: שניות + minute: דקה + hour: שעה + day: יום + month: חודש + year: שנה + errors: + format: "%{attribute} %{message}" + messages: + accepted: חייב באישור + blank: לא יכול להיות ריק + confirmation: לא תואם לאישורו + empty: לא יכול להיות ריק + equal_to: חייב להיות שווה ל- %{count} + even: חייב להיות זוגי + exclusion: לא זמין + greater_than: חייב להיות גדול מ- %{count} + greater_than_or_equal_to: חייב להיות גדול או שווה ל- %{count} + inclusion: לא נכלל ברשימה + invalid: לא תקין + less_than: חייב להיות קטן מ- %{count} + less_than_or_equal_to: חייב להיות קטן או שווה ל- %{count} + not_a_number: חייב להיות מספר + not_an_integer: חייב להיות מספר שלם + odd: חייב להיות אי זוגי + taken: כבר בשימוש + too_long: ארוך מדי (יותר מ- %{count} תווים) + too_short: קצר מדי (פחות מ- %{count} תווים) + wrong_length: לא באורך הנכון (חייב להיות %{count} תווים) + template: + body: 'אנא בדוק את השדות הבאים:' + header: + one: 'לא ניתן לשמור את ה%{model}: שגיאה אחת' + other: 'לא ניתן לשמור את ה%{model}: %{count} שגיאות.' + helpers: + select: + prompt: נא לבחור + submit: + create: יצירת %{model} + submit: שמור %{model} + update: עדכון %{model} + number: + currency: + format: + delimiter: "," + format: "%n %u" + precision: 2 + separator: "." + significant: false + strip_insignificant_zeros: false + unit: "₪" + format: + delimiter: "," + precision: 3 + separator: "." + significant: false + strip_insignificant_zeros: false + human: + decimal_units: + format: "%n %u" + units: + billion: מיליארד + million: מיליון + quadrillion: קודריליון + thousand: אלף + trillion: טריליון + unit: '' + format: + delimiter: '' + precision: 3 + significant: true + strip_insignificant_zeros: true + storage_units: + format: "%n %u" + units: + byte: + one: בייט + other: בתים + gb: ג'יגה-בייט + kb: קילו-בייט + mb: מגה-בייט + tb: טרה-בייט + percentage: + format: + delimiter: '' + precision: + format: + delimiter: '' + support: + array: + last_word_connector: " ו" + two_words_connector: " ו" + words_connector: ", " + time: + am: am + formats: + default: "%a %d %b %H:%M:%S %Z %Y" + long: "%d ב%B, %Y %H:%M" + short: "%d %b %H:%M" + pm: pm diff --git a/examples/i18n/data/lang/hi-IN.yml b/examples/i18n/data/lang/hi-IN.yml new file mode 100644 index 0000000..7ff0494 --- /dev/null +++ b/examples/i18n/data/lang/hi-IN.yml @@ -0,0 +1,196 @@ +--- +hi-IN: + activerecord: + errors: + messages: + record_invalid: 'सत्यापन विफल: %{errors}' + date: + abbr_day_names: + - रवि + - सोम + - मंगल + - बुध + - गुरु + - शुक्र + - शनि + abbr_month_names: + - + - Jan + - Feb + - Mar + - Apr + - May + - Jun + - Jul + - Aug + - Sep + - Oct + - Nov + - Dec + day_names: + - रविवार + - सोमवार + - मंगलवार + - बुधवार + - गुरुवार + - शुक्रवार + - शनिवार + formats: + default: "%d-%m-%Y" + long: "%d %B %Y" + short: "%d %b" + month_names: + - + - जनवरी + - फरवरी + - मार्च + - अप्रैल + - मई + - जून + - जुलाई + - अगस्त + - सितंबर + - अक्टूबर + - नवंबर + - दिसंबर + order: + - :day + - :month + - :year + datetime: + distance_in_words: + about_x_hours: + one: लग - भग एक घंटा + other: लग - भग %{count} घंटा + about_x_months: + one: लग - भग %{count} महीना + other: लग - भग %{count} महीना + about_x_years: + one: लग - भग %{count} साल + other: लग - भग %{count} साल + almost_x_years: + one: लग - भग एक साल + other: लग - भग %{count} साल + half_a_minute: एक आधा मिनट + less_than_x_seconds: + one: एक सेकंड से कम + other: "%{count} सेकंड से कम" + less_than_x_minutes: + one: एक मिनट से कम + other: "%{count} मिनट से कम" + over_x_years: + one: एक साल के ऊपर + other: "%{count} साल के ऊपर" + x_seconds: + one: एक सेकंड + other: "%{count} सेकंड" + x_minutes: + one: एक मिनट + other: "%{count} मिनट" + x_days: + one: एक दिन + other: "%{count} दिन" + x_months: + one: एक महीना + other: "%{count} महीना" + prompts: + second: सेकंड + minute: क्षण + hour: घंटा + day: दिन + month: माह + year: वर्ष + errors: + format: "%{attribute} %{message}" + messages: + accepted: होना स्वीकार किया जाना आवश्यक + blank: खाली नहीं किया जा सकता + confirmation: पुष्टिकरण मेल नहीं खाता + empty: खाली नहीं किया जा सकता + equal_to: "%{count} के लिए बराबर होना चाहिए" + even: सम होना चाहिए + exclusion: आरक्षित है + greater_than: "%{count} से अधिक होना चाहिए" + greater_than_or_equal_to: "%{count} से बड़ा या बराबर होना आवश्यक है" + inclusion: सूची में शामिल नहीं है + invalid: अवैध है + less_than: "%{count} से कम होना चाहिए" + less_than_or_equal_to: "%{count} से कम या बराबर होना आवश्यक है" + not_a_number: कोई संख्या नहीं है + not_an_integer: एक पूर्णांक होना चाहिए + odd: विषम होना चाहिए + taken: पहले ही ले लिया गया है + too_long: बहुत लंबा है (अधिकतम %{count} अक्षरों है) + too_short: बहुत छोटा है (न्यूनतम %{count} अक्षरों है) + wrong_length: गलत लंबाई है (%{count} वर्ण वाले होने चाहिए) + template: + body: 'वहाँ निम्नलिखित क्षेत्रों के साथ समस्याओं रहे थे:' + header: + one: एक त्रुटि सहेजे जाने से इस %{model} को निषिद्ध + other: "%{count} त्रुटियों को सहेजे जाने से इस %{model} निषिद्ध" + helpers: + select: + prompt: कृपया चुनें + submit: + create: बनाएँ %{model} + submit: सहेजें %{model} + update: अद्यतन %{model} + number: + currency: + format: + delimiter: "," + format: "%u%n" + precision: 2 + separator: "." + significant: false + strip_insignificant_zeros: false + unit: "₹" + format: + delimiter: "," + precision: 3 + separator: "." + significant: false + strip_insignificant_zeros: false + human: + decimal_units: + format: "%n %u" + units: + billion: अरब + million: मिल्लिओंन + quadrillion: करोड़ शंख + thousand: हज़ार + trillion: खरब + unit: '' + format: + delimiter: '' + precision: 3 + significant: true + strip_insignificant_zeros: true + storage_units: + format: "%n %u" + units: + byte: + one: Byte + other: Bytes + gb: GB + kb: KB + mb: MB + tb: TB + percentage: + format: + delimiter: '' + precision: + format: + delimiter: '' + support: + array: + last_word_connector: ", और " + two_words_connector: " और " + words_connector: ", " + time: + am: am + formats: + default: "%a, %d %b %Y %H:%M:%S %z" + long: "%d %B %Y %H:%M" + short: "%d %b %H:%M" + pm: pm diff --git a/examples/i18n/data/lang/hi.yml b/examples/i18n/data/lang/hi.yml new file mode 100644 index 0000000..bcc4e5a --- /dev/null +++ b/examples/i18n/data/lang/hi.yml @@ -0,0 +1,196 @@ +--- +hi: + activerecord: + errors: + messages: + record_invalid: 'सत्यापन विफल: %{errors}' + date: + abbr_day_names: + - रवि + - सोम + - मंगल + - बुध + - गुरु + - शुक्र + - शनि + abbr_month_names: + - + - जन + - फर + - मार्च + - अप्रै + - मई + - जून + - जुला + - अग + - सितं + - अक्टू + - नवं + - दिस + day_names: + - रविवार + - सोमवार + - मंगलवार + - बुधवार + - गुरुवार + - शुक्रवार + - शनिवार + formats: + default: "%d-%m-%Y" + long: "%d %B %Y" + short: "%d %b" + month_names: + - + - जनवरी + - फरवरी + - मार्च + - अप्रैल + - मई + - जून + - जुलाई + - अगस्त + - सितंबर + - अक्टूबर + - नवंबर + - दिसंबर + order: + - :day + - :month + - :year + datetime: + distance_in_words: + about_x_hours: + one: लगभग एक घंटा + other: लगभग %{count} घंटा + about_x_months: + one: लगभग %{count} महीना + other: लगभग %{count} महीना + about_x_years: + one: लगभग %{count} साल + other: लगभग %{count} साल + almost_x_years: + one: लगभग एक साल + other: लगभग %{count} साल + half_a_minute: एक आधा मिनट + less_than_x_seconds: + one: एक सेकेंड से कम + other: "%{count} सेकेंड से कम" + less_than_x_minutes: + one: एक मिनट से कम + other: "%{count} मिनट से कम" + over_x_years: + one: एक साल के ऊपर + other: "%{count} साल से अधिक" + x_seconds: + one: एक सेकेंड + other: "%{count} सेकेंड" + x_minutes: + one: एक मिनट + other: "%{count} मिनट" + x_days: + one: एक दिन + other: "%{count} दिन" + x_months: + one: एक महीना + other: "%{count} महीना" + prompts: + second: सेकेंड + minute: मिनट + hour: घंटा + day: दिन + month: माह + year: वर्ष + errors: + format: "%{attribute} %{message}" + messages: + accepted: स्वीकार किया जाना जरूरी + blank: खाली नहीं रह सकता है + confirmation: पुष्टिकरण मेल नहीं खाता + empty: रिक्त नहीं रह सकता है + equal_to: "%{count} के लिए बराबर होना चाहिए" + even: सम होना चाहिए + exclusion: आरक्षित है + greater_than: "%{count} से अधिक होना चाहिए" + greater_than_or_equal_to: "%{count} से बड़ा या बराबर होना आवश्यक है" + inclusion: सूची में शामिल नहीं है + invalid: अवैध है + less_than: "%{count} से कम होना चाहिए" + less_than_or_equal_to: "%{count} से कम या बराबर होना आवश्यक है" + not_a_number: कोई संख्या नहीं है + not_an_integer: एक पूर्णांक होना चाहिए + odd: विसम होना चाहिए + taken: पहले ही ले लिया गया है + too_long: अत्यधिक लंबा है (अधिकतम %{count} वर्ण हैं) + too_short: अत्यधिक छोटा है (न्यूनतम %{count} वर्ण हैं) + wrong_length: गलत लंबाई है (%{count} वर्ण युक्त होना चाहिए) + template: + body: 'निम्नलिखित क्षेत्रों के साथ समस्या थी:' + header: + one: इस %{model} को सहेजे जाना एक त्रुटि के कारण नहीं हुआ + other: इस %{model} को सहेजे जाना %{count} त्रुटि के कारण नहीं हुआ + helpers: + select: + prompt: कृपया चुनें + submit: + create: "%{model} बनाएँ" + submit: "%{model} सौंपें" + update: "%{model} अद्यतन" + number: + currency: + format: + delimiter: "," + format: "%u%n" + precision: 2 + separator: "." + significant: false + strip_insignificant_zeros: false + unit: "₹" + format: + delimiter: "," + precision: 3 + separator: "." + significant: false + strip_insignificant_zeros: false + human: + decimal_units: + format: "%n %u" + units: + billion: अरब + million: दस करोड़ + quadrillion: करोड़ शंख + thousand: हज़ार + trillion: खरब + unit: '' + format: + delimiter: '' + precision: 3 + significant: true + strip_insignificant_zeros: true + storage_units: + format: "%n %u" + units: + byte: + one: Byte + other: Bytes + gb: GB + kb: KB + mb: MB + tb: TB + percentage: + format: + delimiter: '' + precision: + format: + delimiter: '' + support: + array: + last_word_connector: ", और " + two_words_connector: " और " + words_connector: ", " + time: + am: पूर्वाह्न + formats: + default: "%a, %d %b %Y %H:%M:%S %z" + long: "%d %B %Y %H:%M" + short: "%d %b %H:%M" + pm: अपराह्न diff --git a/examples/i18n/data/lang/hr.yml b/examples/i18n/data/lang/hr.yml new file mode 100644 index 0000000..a8cb052 --- /dev/null +++ b/examples/i18n/data/lang/hr.yml @@ -0,0 +1,249 @@ +--- +hr: + activerecord: + errors: + messages: + record_invalid: 'Validacija nije uspjela: %{errors}' + restrict_dependent_destroy: + has_one: Nije moguće izbrisati zapis jer postoji ovisan %{record} + has_many: Nije moguće izbrisati zapis jer postoje ovisni %{record} + date: + abbr_day_names: + - Ned + - Pon + - Uto + - Sri + - Čet + - Pet + - Sub + abbr_month_names: + - + - Sij + - Velj + - Ožu + - Tra + - Svi + - Lip + - Srp + - Kol + - Ruj + - Lis + - Stu + - Pro + day_names: + - Nedjelja + - Ponedjeljak + - Utorak + - Srijeda + - Četvrtak + - Petak + - Subota + formats: + default: "%d.%m.%Y." + long: "%e. %B %Y." + short: "%e.%-m." + month_names: + - + - Siječanj + - Veljača + - Ožujak + - Travanj + - Svibanj + - Lipanj + - Srpanj + - Kolovoz + - Rujan + - Listopad + - Studeni + - Prosinac + order: + - :day + - :month + - :year + datetime: + distance_in_words: + about_x_hours: + one: oko %{count} sat + few: oko %{count} sata + many: oko %{count} sati + other: oko %{count} sati + about_x_months: + one: oko %{count} mjesec + few: oko %{count} mjeseca + many: oko %{count} mjeseci + other: oko %{count} mjeseci + about_x_years: + one: oko %{count} godine + few: oko %{count} godine + many: oko %{count} godina + other: oko %{count} godina + almost_x_years: + one: skoro %{count} godina + few: skoro %{count} godine + many: skoro %{count} godina + other: skoro %{count} godina + half_a_minute: pola minute + less_than_x_seconds: + one: manje od %{count} sekunde + few: manje od %{count} sekunde + many: manje od %{count} sekundi + other: manje od %{count} sekundi + less_than_x_minutes: + one: manje od %{count} minute + few: manje od %{count} minute + many: manje od %{count} minuta + other: manje od %{count} minuta + over_x_years: + one: preko %{count} godine + few: preko %{count} godine + many: preko %{count} godina + other: preko %{count} godina + x_seconds: + one: "%{count} sekunda" + few: "%{count} sekunde" + many: "%{count} sekundi" + other: "%{count} sekundi" + x_minutes: + one: "%{count} minuta" + few: "%{count} minute" + many: "%{count} minuta" + other: "%{count} minuta" + x_days: + one: "%{count} dan" + few: "%{count} dana" + many: "%{count} dana" + other: "%{count} dana" + x_months: + one: "%{count} mjesec" + few: "%{count} mjeseca" + many: "%{count} mjeseci" + other: "%{count} mjeseci" + x_years: + one: "%{count} godina" + few: "%{count} godine" + many: "%{count} godina" + other: "%{count} godina" + prompts: + second: Sekunde + minute: Minuta + hour: Sat + day: Dan + month: Mjesec + year: Godina + errors: + format: "%{attribute} %{message}" + messages: + accepted: mora biti prihvaćen + blank: ne smije biti prazan + confirmation: se ne slaže sa svojom potvrdom + empty: ne smije biti prazan + equal_to: mora biti jednak %{count} + even: mora biti paran + exclusion: je rezerviran + greater_than: mora biti veći od %{count} + greater_than_or_equal_to: mora biti veći ili jednak %{count} + inclusion: nije u listi + invalid: nije ispravan + less_than: mora biti manji od %{count} + less_than_or_equal_to: mora biti manji ili jednak %{count} + model_invalid: 'Validacija nije uspjela: %{errors}' + not_a_number: nije broj + not_an_integer: nije cijeli broj + odd: mora biti neparan + other_than: mora biti različit od %{count} + present: mora biti prazan + required: mora biti unesen + taken: je već zauzet + too_long: + one: je predugačak (maksimum je %{count} znak) + few: je predugačak (maksimum je %{count} znaka) + many: je predugačak (maksimum je %{count} znakova) + other: je predugačak (maksimum je %{count} znakova) + too_short: + one: je prekratak (minimum je %{count} znak) + few: je prekratak (minimum je %{count} znaka) + many: je prekratak (minimum je %{count} znakova) + other: je prekratak (minimum je %{count} znakova) + wrong_length: + one: nije odgovarajuće duljine (treba biti %{count} znak) + few: nije odgovarajuće duljine (treba biti %{count} znaka) + many: nije odgovarajuće duljine (treba biti %{count} znakova) + other: nije odgovarajuće duljine (treba biti %{count} znakova) + template: + body: 'Sljedeća polja su neispravno popunjena:' + header: + one: "%{count} greška je spriječila da se spremi %{model}" + few: "%{count} greške su spriječile da se spremi %{model}" + many: "%{count} grešaka je spriječilo da se spremi %{model}" + other: "%{count} grešaka je spriječilo da se spremi %{model}" + helpers: + select: + prompt: Izaberite + submit: + create: Stvori %{model} + submit: Spremi %{model} + update: Izmijeni %{model} + number: + currency: + format: + delimiter: "." + format: "%n %u" + precision: 2 + separator: "," + significant: false + strip_insignificant_zeros: false + unit: kn + format: + delimiter: "." + precision: 3 + separator: "," + significant: false + strip_insignificant_zeros: false + human: + decimal_units: + format: "%n %u" + units: + billion: Milijarda + million: Milijun + quadrillion: Bilijarda + thousand: Tisuća + trillion: Bilijun + unit: '' + format: + delimiter: '' + precision: 3 + significant: true + strip_insignificant_zeros: true + storage_units: + format: "%n %u" + units: + byte: + one: bajt + few: bajta + many: bajtova + other: bajtova + eb: EB + gb: GB + kb: KB + mb: MB + pb: PB + tb: TB + percentage: + format: + delimiter: '' + format: "%n%" + precision: + format: + delimiter: '' + support: + array: + last_word_connector: " i " + two_words_connector: " i " + words_connector: ", " + time: + am: AM + formats: + default: "%d.%m.%Y. %H:%M:%S" + long: "%e. %B %Y. %H:%M" + short: "%e.%-m. %k:%M" + pm: PM diff --git a/examples/i18n/data/lang/hu.yml b/examples/i18n/data/lang/hu.yml new file mode 100644 index 0000000..0e675fb --- /dev/null +++ b/examples/i18n/data/lang/hu.yml @@ -0,0 +1,196 @@ +--- +hu: + activerecord: + errors: + messages: + record_invalid: Sikertelen validálás %{errors} + date: + abbr_day_names: + - v. + - h. + - k. + - sze. + - cs. + - p. + - szo. + abbr_month_names: + - + - jan. + - febr. + - márc. + - ápr. + - máj. + - jún. + - júl. + - aug. + - szept. + - okt. + - nov. + - dec. + day_names: + - vasárnap + - hétfő + - kedd + - szerda + - csütörtök + - péntek + - szombat + formats: + default: "%Y.%m.%d." + long: "%Y. %B %e." + short: "%b %e." + month_names: + - + - január + - február + - március + - április + - május + - június + - július + - augusztus + - szeptember + - október + - november + - december + order: + - :year + - :month + - :day + datetime: + distance_in_words: + about_x_hours: + one: kb. %{count} órája + other: kb. %{count} órája + about_x_months: + one: kb. %{count} hónapja + other: kb. %{count} hónapja + about_x_years: + one: kb. %{count} éve + other: kb. %{count} éve + almost_x_years: + one: majdnem %{count} éve + other: majdnem %{count} éve + half_a_minute: fél perce + less_than_x_seconds: + one: kevesebb, mint %{count} másodperce + other: kevesebb, mint %{count} másodperce + less_than_x_minutes: + one: kevesebb, mint %{count} perce + other: kevesebb, mint %{count} perce + over_x_years: + one: több, mint %{count} éve + other: több, mint %{count} éve + x_seconds: + one: "%{count} másodperce" + other: "%{count} másodperce" + x_minutes: + one: "%{count} perce" + other: "%{count} perce" + x_days: + one: "%{count} napja" + other: "%{count} napja" + x_months: + one: "%{count} hónapja" + other: "%{count} hónapja" + prompts: + second: Másodperc + minute: Perc + hour: Óra + day: Nap + month: Hónap + year: Év + errors: + format: "%{attribute} %{message}" + messages: + accepted: nincs elfogadva + blank: nincs megadva + confirmation: nem egyezik + empty: nincs megadva + equal_to: pontosan %{count} kell legyen + even: páros kell legyen + exclusion: nem elérhető + greater_than: nagyobb kell legyen, mint %{count} + greater_than_or_equal_to: legalább %{count} kell legyen + inclusion: nincs a listában + invalid: nem megfelelő + less_than: kevesebb, mint %{count} kell legyen + less_than_or_equal_to: legfeljebb %{count} lehet + not_a_number: nem szám + not_an_integer: egész számnak kell lennie + odd: páratlan kell legyen + taken: már foglalt + 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) + template: + body: 'Problémás mezők:' + header: + one: '%{count} hiba miatt nem menthető a következő: %{model}' + other: "%{count} hiba miatt nem menthető a következő: %{model}" + helpers: + select: + prompt: Válasszon + submit: + create: Új %{model} + submit: "%{model} mentése" + update: "%{model} módosítása" + number: + currency: + format: + delimiter: '' + format: "%n %u" + precision: 0 + separator: "," + significant: true + strip_insignificant_zeros: true + unit: Ft + format: + delimiter: " " + precision: 2 + separator: "," + significant: true + strip_insignificant_zeros: true + human: + decimal_units: + format: "%n %u" + units: + billion: milliárd + million: millió + quadrillion: billiárd + thousand: ezer + trillion: billió + unit: '' + format: + delimiter: '' + precision: 1 + significant: true + strip_insignificant_zeros: true + storage_units: + format: "%n %u" + units: + byte: + one: bájt + other: bájt + gb: GB + kb: KB + mb: MB + tb: TB + percentage: + format: + delimiter: '' + precision: + format: + delimiter: '' + support: + array: + last_word_connector: " és " + two_words_connector: " és " + words_connector: ", " + time: + am: de. + formats: + default: "%Y. %b %e., %H:%M" + long: "%Y. %B %e., %A, %H:%M" + short: "%b %e., %H:%M" + pm: du. diff --git a/examples/i18n/data/lang/id.yml b/examples/i18n/data/lang/id.yml new file mode 100644 index 0000000..ce5a4df --- /dev/null +++ b/examples/i18n/data/lang/id.yml @@ -0,0 +1,213 @@ +--- +id: + activerecord: + errors: + messages: + record_invalid: 'Validasi gagal: %{errors}' + restrict_dependent_destroy: + has_one: Tidak bisa menghapus record karena terdapat satu %{record} yang + bergantung + has_many: Tidak bisa menghapus record karena terdapat %{record} yang bergantung + date: + abbr_day_names: + - Min + - Sen + - Sel + - Rab + - Kam + - Jum + - Sab + abbr_month_names: + - + - Jan + - Feb + - Mar + - Apr + - Mei + - Jun + - Jul + - Agu + - Sep + - Okt + - Nov + - Des + day_names: + - Minggu + - Senin + - Selasa + - Rabu + - Kamis + - Jumat + - Sabtu + formats: + default: "%d %B %Y" + long: "%A, %d %B %Y" + short: "%d.%m.%Y" + month_names: + - + - Januari + - Februari + - Maret + - April + - Mei + - Juni + - Juli + - Agustus + - September + - Oktober + - November + - Desember + order: + - :day + - :month + - :year + datetime: + distance_in_words: + about_x_hours: + one: sekitar satu jam + other: sekitar %{count} jam + about_x_months: + one: sekitar sebulan + other: sekitar %{count} bulan + about_x_years: + one: sekitar setahun + other: sekitar %{count} tahun + almost_x_years: + one: hampir setahun + other: hampir %{count} tahun + half_a_minute: setengah menit + less_than_x_seconds: + zero: kurang dari 1 detik + one: kurang dari %{count} detik + other: kurang dari %{count} detik + less_than_x_minutes: + zero: kurang dari 1 menit + one: kurang dari %{count} menit + other: kurang dari %{count} menit + over_x_years: + one: lebih dari setahun + other: lebih dari %{count} tahun + x_seconds: + one: satu detik + other: "%{count} detik" + x_minutes: + one: satu menit + other: "%{count} menit" + x_days: + one: sehari + other: "%{count} hari" + x_months: + one: sebulan + other: "%{count} bulan" + prompts: + second: Detik + minute: Menit + hour: Jam + day: Hari + month: Bulan + year: Tahun + errors: + format: "%{attribute} %{message}" + messages: + accepted: harus diterima + blank: tidak boleh kosong + confirmation: tidak sesuai dengan %{attribute} + empty: tidak boleh kosong + equal_to: harus sama dengan %{count} + even: harus genap + exclusion: sudah digunakan + greater_than: harus lebih besar dari %{count} + greater_than_or_equal_to: harus sama atau lebih besar dari %{count} + inclusion: tidak termasuk + invalid: tidak valid + less_than: harus lebih kecil dari %{count} + less_than_or_equal_to: harus sama atau lebih kecil dari %{count} + model_invalid: 'Validasi gagal: %{errors}' + not_a_number: bukan angka + not_an_integer: harus bilangan bulat + odd: harus ganjil + other_than: harus selain %{count} + present: harus kosong + required: harus ada + taken: sudah digunakan + too_long: + one: terlalu panjang (maksimum %{count} karakter) + other: terlalu panjang (maksimum %{count} karakter) + too_short: + one: terlalu pendek (minimum %{count} karakter) + other: terlalu pendek (minimum %{count} karakter) + wrong_length: + one: jumlah karakter salah (seharusnya %{count} karakter) + other: jumlah karakter salah (seharusnya %{count} karakter) + template: + body: 'Ada masalah dengan field berikut:' + header: + one: "%{count} kesalahan mengakibatkan %{model} ini tidak bisa disimpan" + other: "%{count} kesalahan mengakibatkan %{model} ini tidak bisa disimpan" + helpers: + select: + prompt: Silakan pilih + submit: + create: Buat %{model} + submit: Simpan %{model} + update: Perbarui %{model} + number: + currency: + format: + delimiter: "." + format: "%u%n" + precision: 2 + separator: "," + significant: false + strip_insignificant_zeros: false + unit: Rp + format: + delimiter: "." + precision: 3 + separator: "," + significant: false + strip_insignificant_zeros: false + human: + decimal_units: + format: "%n %u" + units: + billion: Miliar + million: Juta + quadrillion: Quadriliun + thousand: Ribu + trillion: Triliun + unit: '' + format: + delimiter: '' + precision: 3 + significant: true + strip_insignificant_zeros: true + storage_units: + format: "%n %u" + units: + byte: + one: Byte + other: Byte + gb: GB + kb: KB + mb: MB + tb: TB + percentage: + format: + delimiter: '' + format: "%n%" + precision: + format: + delimiter: '' + support: + array: + last_word_connector: ", dan " + two_words_connector: " dan " + words_connector: ", " + time: + am: am + formats: + default: "%a, %d %b %Y %H.%M.%S %z" + long: "%d %B %Y %H.%M" + short: "%d %b %H.%M" + pm: pm diff --git a/examples/i18n/data/lang/is.yml b/examples/i18n/data/lang/is.yml new file mode 100644 index 0000000..fcef80b --- /dev/null +++ b/examples/i18n/data/lang/is.yml @@ -0,0 +1,216 @@ +--- +is: + activerecord: + errors: + messages: + record_invalid: 'Villur: %{errors}' + restrict_dependent_destroy: + has_one: Ekki hægt að eyða færslu því %{record} sem hún er háð er til + has_many: Ekki hægt að eyða færslur því %{record} sem hún er háð er til + date: + abbr_day_names: + - sun + - mán + - þri + - mið + - fim + - fös + - lau + abbr_month_names: + - + - jan + - feb + - mar + - apr + - maí + - jún + - júl + - ágú + - sep + - okt + - nóv + - des + day_names: + - sunnudaginn + - mánudaginn + - þriðjudaginn + - miðvikudaginn + - fimmtudaginn + - föstudaginn + - laugardaginn + formats: + default: "%d.%m.%Y" + long: "%e. %B %Y" + short: "%e. %b" + month_names: + - + - janúar + - febrúar + - mars + - apríl + - maí + - júní + - júlí + - ágúst + - september + - október + - nóvember + - desember + order: + - :day + - :month + - :year + datetime: + distance_in_words: + about_x_hours: + one: u.þ.b. %{count} klukkustund + other: u.þ.b. %{count} klukkustundir + about_x_months: + one: u.þ.b. %{count} mánuður + other: u.þ.b. %{count} mánuðir + about_x_years: + one: u.þ.b. %{count} ár + other: u.þ.b. %{count} ár + almost_x_years: + one: næstum %{count} ár + other: næstum %{count} ár + half_a_minute: hálf mínúta + less_than_x_seconds: + one: minna en %{count} sekúnda + other: minna en %{count} sekúndur + less_than_x_minutes: + one: minna en %{count} mínúta + other: minna en %{count} mínútur + over_x_years: + one: meira en %{count} ár + other: meira en %{count} ár + x_seconds: + one: "%{count} sekúnda" + other: "%{count} sekúndur" + x_minutes: + one: "%{count} mínúta" + other: "%{count} mínútur" + x_days: + one: "%{count} dagur" + other: "%{count} dagar" + x_months: + one: "%{count} mánuður" + other: "%{count} mánuðir" + prompts: + second: Sekúnda + minute: Mínúta + hour: Klukkustund + day: Dagur + month: Mánuður + year: Ár + errors: + format: "%{attribute} %{message}" + messages: + accepted: þarf að vera tekið gilt + blank: má ekki vera autt + confirmation: er ekki jafngilt staðfestingunni + empty: má ekki vera tómt + equal_to: þarf að vera jafngilt %{count} + even: þarf að vera slétt tala + exclusion: er frátekið + greater_than: þarf að vera stærri en %{count} + greater_than_or_equal_to: þarf að vera stærri en eða jafngilt %{count} + inclusion: er ekki í listanum + invalid: er ógilt + less_than: þarf að vera minna en %{count} + less_than_or_equal_to: þarf að vera minna en eða jafngilt %{count} + not_a_number: er ekki tala + not_an_integer: þarf að vera heiltala + odd: þarf að vera oddatala + other_than: verður að vera annað en %{count} + present: verður að vera autt + taken: er þegar í notkun + too_long: + one: er of langt (má mest vera %{count} stafur) + other: er of langt (má mest vera %{count} stafir) + too_short: + one: er of stutt (má minnst vera %{count} stafur) + other: er of stutt (má minnst vera %{count} stafir) + wrong_length: + one: er af rangri lengd (má mest vera %{count} stafur) + other: er af rangri lengd (má mest vera %{count} stafir) + template: + body: 'Villur fundust í eftirfarandi dálkum:' + header: + one: Ekki var hægt að vista %{model} vegna einnar villu. + other: Ekki var hægt að vista %{model} vegna %{count} villna. + helpers: + select: + prompt: Veldu + submit: + create: Búa til %{model} + submit: Vista %{model} + update: Uppfæra %{model} + number: + currency: + format: + delimiter: "." + format: "%n %u" + precision: 2 + separator: "," + significant: false + strip_insignificant_zeros: false + unit: kr. + format: + delimiter: "." + precision: 3 + separator: "," + significant: false + strip_insignificant_zeros: false + human: + decimal_units: + format: "%n %u" + units: + billion: + one: milljarður + other: milljarðar + million: + one: milljón + other: milljónir + quadrillion: + one: billjarður + other: billjarðar + thousand: þúsund + trillion: + one: billjón + other: billjónir + unit: '' + format: + delimiter: '' + precision: 3 + significant: true + strip_insignificant_zeros: true + storage_units: + format: "%n %u" + units: + byte: + one: bæti + other: bæti + gb: GB + kb: KB + mb: MB + tb: TB + percentage: + format: + delimiter: '' + format: "%n%" + precision: + format: + delimiter: '' + support: + array: + last_word_connector: " og " + two_words_connector: " og " + words_connector: ", " + time: + am: '' + formats: + default: "%A %e. %B %Y kl. %H:%M" + long: "%A %e. %B %Y kl. %H:%M" + short: "%e. %B kl. %H:%M" + pm: '' diff --git a/examples/i18n/data/lang/it-CH.yml b/examples/i18n/data/lang/it-CH.yml new file mode 100644 index 0000000..c06b6a9 --- /dev/null +++ b/examples/i18n/data/lang/it-CH.yml @@ -0,0 +1,215 @@ +--- +it-CH: + activerecord: + errors: + messages: + record_invalid: 'Validazione fallita: %{errors}' + restrict_dependent_destroy: + has_one: Il record non può essere cancellato perchè esiste un %{record} dipendente + has_many: Il record non può essere cancellato perchè esistono %{record} dipendenti + date: + abbr_day_names: + - Dom + - Lun + - Mar + - Mer + - Gio + - Ven + - Sab + abbr_month_names: + - + - Gen + - Feb + - Mar + - Apr + - Mag + - Giu + - Lug + - Ago + - Set + - Ott + - Nov + - Dic + day_names: + - Domenica + - Lunedì + - Martedì + - Mercoledì + - Giovedì + - Venerdì + - Sabato + formats: + default: "%d-%m-%Y" + long: "%d %B %Y" + short: "%d %b" + month_names: + - + - Gennaio + - Febbraio + - Marzo + - Aprile + - Maggio + - Giugno + - Luglio + - Agosto + - Settembre + - Ottobre + - Novembre + - Dicembre + order: + - :day + - :month + - :year + datetime: + distance_in_words: + about_x_hours: + one: circa un'ora + other: circa %{count} ore + about_x_months: + one: circa un mese + other: circa %{count} mesi + about_x_years: + one: circa un anno + other: circa %{count} anni + almost_x_years: + one: circa %{count} anno + other: circa %{count} anni + half_a_minute: mezzo minuto + less_than_x_seconds: + one: meno di un secondo + other: meno di %{count} secondi + less_than_x_minutes: + one: meno di un minuto + other: meno di %{count} minuti + over_x_years: + one: oltre un anno + other: oltre %{count} anni + x_seconds: + one: "%{count} secondo" + other: "%{count} secondi" + x_minutes: + one: "%{count} minuto" + other: "%{count} minuti" + x_days: + one: "%{count} giorno" + other: "%{count} giorni" + x_months: + one: "%{count} mese" + other: "%{count} mesi" + x_years: + one: "%{count} anno" + other: "%{count} anni" + prompts: + second: Secondi + minute: Minuto + hour: Ora + day: Giorno + month: Mese + year: Anno + errors: + format: "%{attribute} %{message}" + messages: + accepted: deve essere accettata + blank: non può essere lasciato in bianco + confirmation: non coincide con %{attribute} + empty: non può essere vuoto + equal_to: deve essere uguale a %{count} + even: deve essere pari + exclusion: è riservato + greater_than: deve essere superiore a %{count} + greater_than_or_equal_to: deve essere superiore o uguale a %{count} + inclusion: non è incluso nella lista + invalid: non è valido + less_than: deve essere meno di %{count} + less_than_or_equal_to: deve essere meno o uguale a %{count} + model_invalid: 'Validazione fallita: %{errors}' + not_a_number: non è un numero + not_an_integer: non è un intero + odd: deve essere dispari + other_than: devono essere di numero diverso da %{count} + present: deve essere lasciato in bianco + required: deve esistere + taken: è già presente + too_long: + one: è troppo lungo (il massimo è %{count} carattere) + other: è troppo lungo (il massimo è %{count} caratteri) + too_short: + one: è troppo corto (il minimo è %{count} carattere) + other: è troppo corto (il minimo è %{count} caratteri) + wrong_length: + one: è della lunghezza sbagliata (deve essere di %{count} carattere) + other: è della lunghezza sbagliata (deve essere di %{count} caratteri) + template: + body: 'Per favore ricontrolla i seguenti campi:' + header: + one: 'Non posso salvare questo %{model}: %{count} errore' + other: 'Non posso salvare questo %{model}: %{count} errori.' + helpers: + select: + prompt: Per favore, seleziona + submit: + create: Crea %{model} + submit: Invia %{model} + update: Aggiorna %{model} + number: + currency: + format: + delimiter: "'" + format: "%u %n" + precision: 2 + separator: "." + significant: false + strip_insignificant_zeros: false + unit: CHF + format: + delimiter: "," + precision: 2 + separator: "." + significant: false + strip_insignificant_zeros: false + human: + decimal_units: + format: "%n %u" + units: + billion: Miliardi + million: Milioni + quadrillion: Biliardi + thousand: Mila + trillion: Bilioni + unit: '' + format: + delimiter: '' + precision: 1 + significant: true + strip_insignificant_zeros: true + storage_units: + format: "%n %u" + units: + byte: + one: Byte + other: Byte + eb: EB + gb: GB + kb: KB + mb: MB + pb: PB + tb: TB + percentage: + format: + delimiter: '' + format: "%n%" + precision: + format: + delimiter: '' + support: + array: + last_word_connector: " e " + two_words_connector: " e " + words_connector: ", " + time: + am: am + formats: + default: "%a %d %b %Y, %H:%M:%S %z" + long: "%d %B %Y %H:%M" + short: "%d %b %H:%M" + pm: pm diff --git a/examples/i18n/data/lang/it.yml b/examples/i18n/data/lang/it.yml new file mode 100644 index 0000000..c0066a7 --- /dev/null +++ b/examples/i18n/data/lang/it.yml @@ -0,0 +1,215 @@ +--- +it: + activerecord: + errors: + messages: + record_invalid: 'Validazione fallita: %{errors}' + restrict_dependent_destroy: + has_one: Il record non può essere cancellato perchè esiste un %{record} dipendente + has_many: Il record non può essere cancellato perchè esistono %{record} dipendenti + date: + abbr_day_names: + - dom + - lun + - mar + - mer + - gio + - ven + - sab + abbr_month_names: + - + - gen + - feb + - mar + - apr + - mag + - giu + - lug + - ago + - set + - ott + - nov + - dic + day_names: + - domenica + - lunedì + - martedì + - mercoledì + - giovedì + - venerdì + - sabato + formats: + default: "%d/%m/%Y" + long: "%d %B %Y" + short: "%d %b" + month_names: + - + - gennaio + - febbraio + - marzo + - aprile + - maggio + - giugno + - luglio + - agosto + - settembre + - ottobre + - novembre + - dicembre + order: + - :day + - :month + - :year + datetime: + distance_in_words: + about_x_hours: + one: circa un'ora + other: circa %{count} ore + about_x_months: + one: circa un mese + other: circa %{count} mesi + about_x_years: + one: circa un anno + other: circa %{count} anni + almost_x_years: + one: quasi un anno + other: quasi %{count} anni + half_a_minute: mezzo minuto + less_than_x_seconds: + one: meno di un secondo + other: meno di %{count} secondi + less_than_x_minutes: + one: meno di un minuto + other: meno di %{count} minuti + over_x_years: + one: oltre un anno + other: oltre %{count} anni + x_seconds: + one: "%{count} secondo" + other: "%{count} secondi" + x_minutes: + one: "%{count} minuto" + other: "%{count} minuti" + x_days: + one: "%{count} giorno" + other: "%{count} giorni" + x_months: + one: "%{count} mese" + other: "%{count} mesi" + x_years: + one: "%{count} anno" + other: "%{count} anni" + prompts: + second: Secondi + minute: Minuto + hour: Ora + day: Giorno + month: Mese + year: Anno + errors: + format: "%{attribute} %{message}" + messages: + accepted: deve essere accettata + blank: non può essere lasciato in bianco + confirmation: non coincide con %{attribute} + empty: non può essere vuoto + equal_to: deve essere uguale a %{count} + even: deve essere pari + exclusion: è riservato + greater_than: deve essere maggiore di %{count} + greater_than_or_equal_to: deve essere maggiore o uguale a %{count} + inclusion: non è compreso tra le opzioni disponibili + invalid: non è valido + less_than: deve essere minore di %{count} + less_than_or_equal_to: deve essere minore o uguale a %{count} + model_invalid: 'Validazione fallita: %{errors}' + not_a_number: non è un numero + not_an_integer: non è un numero intero + odd: deve essere dispari + other_than: devono essere di numero diverso da %{count} + present: deve essere lasciato in bianco + required: deve esistere + taken: è già presente + too_long: + one: è troppo lungo (il massimo è %{count} carattere) + other: è troppo lungo (il massimo è %{count} caratteri) + too_short: + one: è troppo corto (il minimo è %{count} carattere) + other: è troppo corto (il minimo è %{count} caratteri) + wrong_length: + one: è della lunghezza sbagliata (deve essere di %{count} carattere) + other: è della lunghezza sbagliata (deve essere di %{count} caratteri) + template: + body: 'Ricontrolla i seguenti campi:' + header: + one: 'Non posso salvare questo %{model}: %{count} errore' + other: 'Non posso salvare questo %{model}: %{count} errori.' + helpers: + select: + prompt: Seleziona... + submit: + create: Crea %{model} + submit: Invia %{model} + update: Aggiorna %{model} + number: + currency: + format: + delimiter: "." + format: "%n %u" + precision: 2 + separator: "," + significant: false + strip_insignificant_zeros: false + unit: "€" + format: + delimiter: "." + precision: 2 + separator: "," + significant: false + strip_insignificant_zeros: false + human: + decimal_units: + format: "%n %u" + units: + billion: Miliardi + million: Milioni + quadrillion: Biliardi + thousand: Mila + trillion: Bilioni + unit: '' + format: + delimiter: '' + precision: 3 + significant: true + strip_insignificant_zeros: true + storage_units: + format: "%n %u" + units: + byte: + one: Byte + other: Byte + eb: EB + gb: GB + kb: KB + mb: MB + pb: PB + tb: TB + percentage: + format: + delimiter: '' + format: "%n%" + precision: + format: + delimiter: '' + support: + array: + last_word_connector: " e " + two_words_connector: " e " + words_connector: ", " + time: + am: am + formats: + default: "%a %d %b %Y, %H:%M:%S %z" + long: "%d %B %Y %H:%M" + short: "%d %b %H:%M" + pm: pm diff --git a/examples/i18n/data/lang/ja.yml b/examples/i18n/data/lang/ja.yml new file mode 100644 index 0000000..6b41aeb --- /dev/null +++ b/examples/i18n/data/lang/ja.yml @@ -0,0 +1,183 @@ +--- +ja: + activerecord: + errors: + messages: + record_invalid: 'バリデーションに失敗しました: %{errors}' + restrict_dependent_destroy: + has_one: "%{record}が存在しているので削除できません" + has_many: "%{record}が存在しているので削除できません" + date: + abbr_day_names: + - 日 + - 月 + - 火 + - 水 + - 木 + - 金 + - 土 + abbr_month_names: + - + - 1月 + - 2月 + - 3月 + - 4月 + - 5月 + - 6月 + - 7月 + - 8月 + - 9月 + - 10月 + - 11月 + - 12月 + day_names: + - 日曜日 + - 月曜日 + - 火曜日 + - 水曜日 + - 木曜日 + - 金曜日 + - 土曜日 + formats: + default: "%Y/%m/%d" + long: "%Y年%m月%d日(%a)" + short: "%m/%d" + month_names: + - + - 1月 + - 2月 + - 3月 + - 4月 + - 5月 + - 6月 + - 7月 + - 8月 + - 9月 + - 10月 + - 11月 + - 12月 + order: + - :year + - :month + - :day + datetime: + distance_in_words: + about_x_hours: 約%{count}時間 + about_x_months: 約%{count}ヶ月 + about_x_years: 約%{count}年 + almost_x_years: "%{count}年弱" + half_a_minute: 30秒前後 + less_than_x_seconds: "%{count}秒未満" + less_than_x_minutes: "%{count}分未満" + over_x_years: "%{count}年以上" + x_seconds: "%{count}秒" + x_minutes: "%{count}分" + x_days: "%{count}日" + x_months: "%{count}ヶ月" + x_years: "%{count}年" + prompts: + second: 秒 + minute: 分 + hour: 時 + day: 日 + month: 月 + year: 年 + errors: + format: "%{attribute}%{message}" + messages: + accepted: を受諾してください + blank: を入力してください + confirmation: と%{attribute}の入力が一致しません + empty: を入力してください + equal_to: は%{count}にしてください + even: は偶数にしてください + exclusion: は予約されています + greater_than: は%{count}より大きい値にしてください + greater_than_or_equal_to: は%{count}以上の値にしてください + in: は%{count}の範囲に含めてください + inclusion: は一覧にありません + invalid: は不正な値です + less_than: は%{count}より小さい値にしてください + less_than_or_equal_to: は%{count}以下の値にしてください + model_invalid: 'バリデーションに失敗しました: %{errors}' + not_a_number: は数値で入力してください + not_an_integer: は整数で入力してください + odd: は奇数にしてください + other_than: は%{count}以外の値にしてください + present: は入力しないでください + required: を入力してください + taken: はすでに存在します + too_long: は%{count}文字以内で入力してください + too_short: は%{count}文字以上で入力してください + wrong_length: は%{count}文字で入力してください + template: + body: 次の項目を確認してください + header: "%{model}に%{count}個のエラーが発生しました" + helpers: + select: + prompt: 選択してください + submit: + create: 登録する + submit: 保存する + update: 更新する + number: + currency: + format: + delimiter: "," + format: "%n%u" + precision: 0 + separator: "." + significant: false + strip_insignificant_zeros: false + unit: 円 + format: + delimiter: "," + precision: 3 + round_mode: default + separator: "." + significant: false + strip_insignificant_zeros: false + human: + decimal_units: + format: "%n %u" + units: + billion: 十億 + million: 百万 + quadrillion: 千兆 + thousand: 千 + trillion: 兆 + unit: '' + format: + delimiter: '' + precision: 3 + significant: true + strip_insignificant_zeros: true + storage_units: + format: "%n%u" + units: + byte: バイト + eb: EB + gb: GB + kb: KB + mb: MB + pb: PB + tb: TB + percentage: + format: + delimiter: '' + format: "%n%" + precision: + format: + delimiter: '' + support: + array: + last_word_connector: "、" + two_words_connector: "、" + words_connector: "、" + time: + am: 午前 + formats: + default: "%Y年%m月%d日(%a) %H時%M分%S秒 %z" + long: "%Y/%m/%d %H:%M" + short: "%m/%d %H:%M" + pm: 午後 diff --git a/examples/i18n/data/lang/ka.yml b/examples/i18n/data/lang/ka.yml new file mode 100644 index 0000000..b9329b6 --- /dev/null +++ b/examples/i18n/data/lang/ka.yml @@ -0,0 +1,210 @@ +--- +ka: + activerecord: + errors: + messages: + record_invalid: 'დადასტურება წარუმატებელია: %{errors}' + date: + abbr_day_names: + - კვ + - ორშ + - სამშ + - ოთხშ + - ხუთშ + - პარ + - შაბ + abbr_month_names: + - + - იანვ + - თებ + - მარტი + - აპრ + - მაისი + - ივნ + - ივლ + - აგვ + - სექტ + - ოქტ + - ნოემბ + - დეკ + day_names: + - კვირა + - ორშაბათი + - სამშაბათი + - ოთხშაბათი + - ხუთშაბათი + - პარასკევი + - შაბათი + formats: + default: "%d.%m.%Y" + long: "%d %B %Y" + short: "%d %b" + month_names: + - + - იანვარი + - თებერვალი + - მარტი + - აპრილი + - მაისი + - ივნისი + - ივლისი + - აგვისტო + - სექტემბერი + - ოქტომბერი + - ნოემბერი + - დეკემბერი + order: + - :day + - :month + - :year + datetime: + distance_in_words: + about_x_hours: + one: დაახლოებით %{count} საათი + other: დაახლოებით %{count} საათი + about_x_months: + one: დაახლოებით %{count} თვე + other: დაახლოებით %{count} თვე + about_x_years: + one: დაახლოებით %{count} წელი + other: დაახლოებით %{count} წელი + almost_x_years: + one: თითქმის %{count} წელი + other: თითქმის %{count} წელი + half_a_minute: ნახევარი წუთი + less_than_x_seconds: + one: "%{count} წამზე ნაკლები" + other: "%{count} წამზე ნაკლები" + less_than_x_minutes: + one: "%{count} წუთზე ნაკლები" + other: "%{count} წუთზე ნაკლები" + over_x_years: + one: "%{count} წელზე მეტი" + other: "%{count} წელზე მეტი" + x_seconds: + one: "%{count} წამი" + other: "%{count} წამი" + x_minutes: + one: "%{count} წუთი" + other: "%{count} წუთი" + x_days: + one: "%{count} დღე" + other: "%{count} დღე" + x_months: + one: "%{count} თვე" + other: "%{count} თვე" + x_years: + one: "%{count} წელი" + other: "%{count} წელი" + prompts: + second: წამი + minute: წუთი + hour: საათი + day: დღე + month: თვე + year: წელი + errors: + format: "%{attribute} %{message}" + messages: + accepted: უნდა იყოს დადასტურებული + blank: არ შეიძლება იყოს ცარიელი + confirmation: ველი %{attribute}-ს არ ემთხვევა + empty: არ შეიძლება იყოს ცარიელი + equal_to: უნდა უდრიდეს %{count}-ს + even: უნდა იყოს ლუწი + exclusion: რეზერვირებულია + greater_than: უნდა იყოს %{count}-ზე მეტი + greater_than_or_equal_to: უნდა იყოს %{count}-ზე მეტი ან ტოლი + inclusion: არ არის სიაში + invalid: არასწორია + less_than: უნდა იყოს %{count}-ზე ნაკლები + less_than_or_equal_to: უნდა იყოს %{count}-ზე ნაკლები ან ტოლი + model_invalid: 'დადასტურება წარუმატებელია: %{errors}' + not_a_number: არ არის რიცხვი + not_an_integer: არ არის მთელი რიცხვი + odd: უნდა იყოს კენტი + other_than: უნდა განსხვავდებოდეს %{count}-გან + present: უნდა იყოს ცარიელი + required: უნდა არსებობდეს + taken: უკვე დაკავებულია + too_long: + one: არის ძალიან გრძელი (მაქსიმუმია %{count} სიმბოლო) + other: არის მეტისმეტად დიდი სიგრძის (მაქსიმუმია %{count} სიმბოლო) + too_short: + one: არის ძალიან მოკლე (მინიმუმია %{count} სიმბოლო) + other: არის ძალიან მოკლე (მინიმუმია %{count} სიმბოლო) + wrong_length: + one: არის არასწორი სიგრძის (უნდა იყოს ზუსტად %{count} სიბმოლო) + other: არის არასწორი სიგრძის (უნდა იყოს ზუსტად %{count} სიბმოლო) + template: + body: 'შეიქმნა პრობლემები შემდეგ ველებთან დაკავშირებით:' + header: + one: "%{model}-ს შენახვა ვერ განხორციელდა %{count} შეცდომის გამო" + other: "%{model}-ს შენახვა ვერ განხორციელდა %{count} შეცდომის გამო" + helpers: + select: + prompt: გთხოვთ აირჩიოთ + submit: + create: "%{model}-ს შექმნა" + submit: "%{model}-ს დამახსოვრება" + update: "%{model}-ს განახლება" + number: + currency: + format: + delimiter: " " + format: "%n %u" + precision: 2 + separator: "," + significant: false + strip_insignificant_zeros: false + unit: ლ + format: + delimiter: " " + precision: 3 + separator: "," + significant: false + strip_insignificant_zeros: false + human: + decimal_units: + format: "%n %u" + units: + billion: მილიარდი + million: მილიონი + quadrillion: კვადრილიონი + thousand: ათასი + trillion: ტრილიონი + unit: '' + format: + delimiter: '' + precision: 3 + significant: true + strip_insignificant_zeros: true + storage_units: + format: "%n %u" + units: + byte: + one: ბაიტი + other: ბაიტები + gb: GB + kb: KB + mb: MB + tb: TB + percentage: + format: + delimiter: '' + format: "%n%" + precision: + format: + delimiter: '' + support: + array: + last_word_connector: ", და " + two_words_connector: " და " + words_connector: ", " + time: + am: დილის + formats: + default: "%a, %d %b %Y, %H:%M:%S %z" + long: "%d %B %Y, %H:%M" + short: "%d %b, %H:%M" + pm: საღამოს diff --git a/examples/i18n/data/lang/kk.yml b/examples/i18n/data/lang/kk.yml new file mode 100644 index 0000000..2979c3a --- /dev/null +++ b/examples/i18n/data/lang/kk.yml @@ -0,0 +1,225 @@ +--- +kk: + activerecord: + errors: + messages: + record_invalid: 'Тексеру сәтсіз аяқталды: %{errors}' + restrict_dependent_destroy: + has_one: 'Жазбаны жою мүмкін емес, тәуелділік бар: %{record}' + has_many: 'Жазбаны жою мүмкін емес, тәуелділіктер бар: %{record}' + date: + abbr_day_names: + - Жс + - Дс + - Сс + - Ср + - Бс + - Жм + - Сб + abbr_month_names: + - + - қаң. + - ақп. + - нау. + - сәу. + - мам. + - мау. + - шіл. + - там. + - қыр. + - қаз. + - қар. + - жел. + day_names: + - жексенбі + - дүйсенбі + - сейсенбі + - сәрсенбі + - бейсенбі + - жұма + - сенбі + formats: + default: '%d.%m.%Y' + long: '%-d %B %Y' + short: '%-d %b' + month_names: + - + - каңтар + - ақпан + - наурыз + - сәуір + - мамыр + - маусым + - шілде + - тамыз + - қыркүйек + - қазан + - қараша + - желтоқсан + order: + - :day + - :month + - :year + datetime: + distance_in_words: + about_x_hours: + one: шамамен %{count} сағат + other: шамамен %{count} сағат + about_x_months: + one: шамамен %{count} ай + other: шамамен %{count} ай + about_x_years: + one: шамамен %{count} жыл + other: шамамен %{count} жыл + almost_x_years: + one: '%{count} жылға жуық' + other: '%{count} жылға жуық' + half_a_minute: жарты минут + less_than_x_seconds: + one: '%{count} секундтан аз' + other: '%{count} секундтан аз' + less_than_x_minutes: + one: '%{count} минуттан аз' + other: '%{count} минуттан аз' + over_x_years: + one: '%{count} жылдан астам' + other: '%{count} жылдан астам' + x_seconds: + one: '%{count} секунд' + other: '%{count} секунд' + x_minutes: + one: '%{count} минут' + other: '%{count} минут' + x_days: + one: '%{count} күн' + other: '%{count} күн' + x_months: + one: '%{count} ай' + other: '%{count} ай' + x_years: + one: '%{count} жыл' + other: '%{count} жыл' + prompts: + second: Секунд + minute: Минут + hour: Сағат + day: Күн + month: Ай + year: Жыл + errors: + format: '%{attribute} %{message}' + messages: + accepted: расталуы тиіс + blank: бос болуы мүмкін емес + confirmation: '%{attribute} мәніне сәйкес келмейді' + empty: бос болуы мүмкін емес + equal_to: тек %{count} тең мәнге ие болуы мүмкін + even: тек жұп мәнге ие бола алады + exclusion: сақталған мағына + greater_than: мәні %{count} санынан жоғары болуы керек + greater_than_or_equal_to: мәні %{count} санынан жоғары немесе тең болуы керек + inclusion: күтпеген мағына + invalid: қате мағына + less_than: мәні %{count} санынан кем болуы керек + less_than_or_equal_to: мәні %{count} санынан кем немесе тең болуы керек + model_invalid: 'Тексеру сәтсіз аяқталды: %{errors}' + not_a_number: сан емес + not_an_integer: бүтін сан емес + odd: тек тақ мәнге ие бола алады + other_than: '%{count} санынан өзгеше болуы тиіс' + present: бос қалуы тиіс + required: жоқ болуы мүмкін емес + taken: бұрыннан бар + too_long: + one: тым ұзын (%{count} таңбадан асырмаңыз) + other: тым ұзын (%{count} таңбадан асырмаңыз) + too_short: + one: тым қысқа (%{count} таңбадан көп немесе тең болуы тиіс) + other: тым қысқа (%{count} таңбадан көп немесе тең болуы тиіс) + wrong_length: + one: ұзындығы дұрыс емес (дәл %{count} таңба болуы тиіс) + other: ұзындығы дұрыс емес (дәл %{count} таңба болуы тиіс) + template: + body: 'Келесі өрістермен проблемалар туындады:' + header: + one: '%{model}: %{count} қатеге байланысты сақтау сәтсіз аяқталды' + other: '%{model}: %{count} қатеге байланысты сақтау сәтсіз аяқталды' + helpers: + select: + prompt: 'Таңдаңыз: ' + submit: + create: Құру %{model} + submit: Сақтау %{model} + update: Өзгерту %{model} + number: + currency: + format: + delimiter: ' ' + format: '%n %u' + precision: 2 + separator: ',' + significant: false + strip_insignificant_zeros: false + unit: теңге + format: + delimiter: ' ' + precision: 3 + separator: ',' + significant: false + strip_insignificant_zeros: false + human: + decimal_units: + format: '%n %u' + units: + billion: + one: миллиард + other: миллиард + million: + one: миллион + other: миллион + quadrillion: + one: квадриллион + other: квадриллион + thousand: + one: мың + other: мың + trillion: + one: триллион + other: триллион + unit: '' + format: + delimiter: '' + precision: 1 + significant: false + strip_insignificant_zeros: false + storage_units: + format: '%n %u' + units: + byte: + one: байт + other: байт + eb: ЭБ + gb: ГБ + kb: КБ + mb: МБ + pb: ПБ + tb: ТБ + percentage: + format: + delimiter: '' + format: '%n%' + precision: + format: + delimiter: '' + support: + array: + last_word_connector: ' және ' + two_words_connector: ' және ' + words_connector: ', ' + time: + am: таңғы + formats: + default: '%a, %d %b %Y, %H:%M:%S %z' + long: '%d %B %Y, %H:%M' + short: '%d %b, %H:%M' + pm: кешкі diff --git a/examples/i18n/data/lang/km.yml b/examples/i18n/data/lang/km.yml new file mode 100644 index 0000000..2043ff4 --- /dev/null +++ b/examples/i18n/data/lang/km.yml @@ -0,0 +1,167 @@ +--- +km: + activerecord: + errors: + messages: + record_invalid: មិនមានសុពលភាព៖ %{errors} + restrict_dependent_destroy: + has_one: មិនអាចលុបបានទេពីព្រោះមាន %{record} នៅឡើយ + has_many: មិនអាចលុបបានទេពីព្រោះមាន %{record} នៅឡើយ + date: + abbr_day_names: + - អា + - ច + - អ + - ពុ + - ព្រហ + - សុ + - ស + abbr_month_names: + - + - មករា + - កុម្ភៈ + - មិនា + - មេសា + - ឧសភា + - មិថុនា + - កក្កដា + - សីហា + - កញ្ញា + - តុលា + - វិច្ឆិកា + - ធ្នូ + day_names: + - អាទិត្យ + - ចន្ទ + - អង្គារ + - ពុធ + - ព្រហស្បតិ៍ + - សុក្រ + - សៅរ៍ + formats: + default: "%d %B %Y" + long: ថ្ងៃ%A ទី%e ខែ%B ឆ្នាំ%Y + short: "%d %b" + month_names: + - + - មករា + - កុម្ភៈ + - មិនា + - មេសា + - ឧសភា + - មិថុនា + - កក្កដា + - សីហា + - កញ្ញា + - តុលា + - វិច្ឆិកា + - ធ្នូ + order: + - :day + - :month + - :year + datetime: + distance_in_words: + about_x_hours: ប្រមាណ %{count} ម៉ោង + about_x_months: ប្រមាណ %{count} ខែ + about_x_years: ប្រមាណ %{count} ឆ្នាំ + almost_x_years: ជិត %{count} ឆ្នាំ + half_a_minute: កន្លះនាទី + less_than_x_seconds: តិចជាង %{count} វិនាទី + less_than_x_minutes: តិចជាង %{count} នាទី + over_x_years: លើសពី %{count} ឆ្នាំ + x_seconds: "%{count} វិនាទី" + x_minutes: "%{count} នាទី" + x_days: "%{count} ថ្ងៃ" + x_months: "%{count} ខែ" + prompts: + second: វិនាទី + minute: នាទី + hour: ម៉ោង + day: ថ្ងៃ + month: ខែ + year: ឆ្នាំ + errors: + format: "%{attribute} %{message}" + messages: + accepted: ត្រូវតែយល់ព្រម + blank: មិនអាចរំលង + confirmation: ផ្ទៀងផ្ទាត់មិនត្រូវនឹង %{attribute} + empty: មិនអាចរំលង + equal_to: ត្រូវតែស្មើ %{count} + even: ត្រូវតែជាចំនួនគត់ + exclusion: មិនអនុញ្ញាតឱ្យប្រើ + greater_than: ត្រូវតែច្រើនជាង %{count} + greater_than_or_equal_to: ត្រូវតែច្រើនជាងឬស្មើ %{count} + inclusion: មិនមាននៅក្នុងបញ្ជី + invalid: មិនត្រឹមត្រូវ + less_than: ត្រូវតែតិចជាង %{count} + less_than_or_equal_to: ត្រូវតែតិចជាងឬស្មើ %{count} + not_a_number: មិនមែនជាលេខទេ + not_an_integer: ត្រូវតែជាចំនួនគត់ + odd: ត្រូវតែជាចំនួនសេស + other_than: ត្រូវតែខុសពី %{count} + present: ត្រូវតែរំលង + taken: មានរួចហើយ + too_long: វែងពេក (យ៉ាងច្រើន %{count} តួ) + too_short: ខ្លីពេក (យ៉ាងតិច %{count} តួ) + wrong_length: ប្រវែងមិនត្រូវ (គួរតែមាន %{count} តួ) + template: + body: 'សូមពិនិត្យមើលកំហុសនៅខាងក្រោម:' + header: មានកំហុស %{count} ដែលបានបញ្ឈប់ការរក្សាទុក %{model}នេះ + helpers: + select: + prompt: សូមជ្រើសរើស + submit: + create: បង្កើត%{model} + submit: រក្សាទុក%{model} + update: ប្តូរ%{model} + number: + currency: + format: + delimiter: "," + format: "%n %u" + precision: 2 + separator: "." + significant: false + strip_insignificant_zeros: false + unit: "៛" + format: + delimiter: "," + precision: 3 + separator: "." + significant: false + strip_insignificant_zeros: false + human: + decimal_units: + format: "%n %u" + units: + billion: ប៊ីលាន + million: លាន + quadrillion: ក្វាទ្រីលាន + thousand: ពាន់ + trillion: ទ្រីលាន + unit: '' + format: + delimiter: '' + precision: 3 + significant: true + strip_insignificant_zeros: true + percentage: + format: + delimiter: '' + precision: + format: + delimiter: '' + support: + array: + last_word_connector: ", និង " + two_words_connector: " និង " + words_connector: ", " + time: + am: ព្រឹក + formats: + default: "%a %d %b %Y %H:%M:%S %z" + long: "%d %B %Y %H:%M" + short: "%d %b %H:%M" + pm: "​ល្ងាច" diff --git a/examples/i18n/data/lang/kn.yml b/examples/i18n/data/lang/kn.yml new file mode 100644 index 0000000..d7cb860 --- /dev/null +++ b/examples/i18n/data/lang/kn.yml @@ -0,0 +1,196 @@ +--- +kn: + activerecord: + errors: + messages: + record_invalid: 'ತಪ್ಪು ಆಧಾರ: %{errors}' + date: + abbr_day_names: + - ರವಿ + - ಸೋಮ + - ಮಂಗಳ + - ಬುಧ + - ಗುರು + - ಶುಕ್ರ + - ಶನಿ + abbr_month_names: + - + - Jan + - Feb + - Mar + - Apr + - May + - Jun + - Jul + - Aug + - Sep + - Oct + - Nov + - Dec + day_names: + - ರವಿವಾರ + - ಸೋಮವಾರ + - ಮಂಗಳವಾರ + - ಬುಧವಾರ + - ಗುರುವಾರ + - ಶುಕ್ರವಾರ + - ಶನಿವಾರ + formats: + default: "%Y-%m-%d" + long: "%d %B %Y" + short: "%d %b" + month_names: + - + - ಜನವರಿ + - ಫೆಬ್ರವರಿ + - ಮಾರ್ಚ್ + - ಏಪ್ರಿಲ್ + - ಮೇ + - ಜೂನ್ + - ಜುಲೈ + - ಆಗಸ್ಟ್ + - ಸೆಪ್ಟೆಂಬರ್ + - ಅಕ್ಟೋಬರ್ + - ನವಂಬರ್ + - ಡಿಸೆಂಬರ್ + order: + - :year + - :month + - :day + datetime: + distance_in_words: + about_x_hours: + one: ಸುಮಾರು ಒಂದು ಗಂಟೆ + other: ಸುಮಾರು %{count} ಗಂಟೆಗಳು + about_x_months: + one: ಸುಮಾರು ಒಂದು ತಿಂಗಳು + other: ಸುಮಾರು %{count} ತಿಂಗಳುಗಳು + about_x_years: + one: ಸುಮಾರು ಒಂದು ವರುಷ + other: ಸುಮಾರು %{count} ವರುಷಗಳು + almost_x_years: + one: ಸರಿಸುಮಾರು ಒಂದು ವರುಷ + other: ಸರಿಸುಮಾರು %{count} ವರುಷಗಳು + half_a_minute: ಒಂದು ಅರ್ಧ ನಿಮಿಷ + less_than_x_seconds: + one: ಒಂದು ಸೆಕೆಂಡಿಗೂ ಕಡಿಮೆ + other: "%{count} ಸೆಕೆಂಡಿಗಿಂತ ಕಡಿಮೆ" + less_than_x_minutes: + one: ಒಂದು ನಿಮಿಷಕ್ಕೂ ಕಡಿಮೆ + other: "%{count} ನಿಮಿಷಕ್ಕಿಂತ ಕಡಿಮೆ" + over_x_years: + one: ಒಂದು ವರುಷಕ್ಕಿಂತ ಹೆಚ್ಚು + other: "%{count} ವರುಷಗಳಿಗಿಂತ ಹೆಚ್ಚು" + x_seconds: + one: "%{count} ಸೆಕೆಂಡ್" + other: "%{count} ಸೆಕೆಂಡುಗಳು" + x_minutes: + one: "%{count} ನಿಮಿಷ" + other: "%{count} ನಿಮಿಷಗಳು" + x_days: + one: "%{count} ದಿನ" + other: "%{count} ದಿನಗಳು" + x_months: + one: "%{count} ತಿಂಗಳು" + other: "%{count} ತಿಂಗಳುಗಳು" + prompts: + second: ಸೆಕೆಂಡು + minute: ನಿಮಿಷ + hour: ಗಂಟೆ + day: ದಿನ + month: ತಿಂಗಳು + year: ವರುಷ + errors: + format: "%{attribute} %{message}" + messages: + accepted: ಒಪ್ಪಿಕೊಳ್ಳಬೇಕು + blank: ಖಾಲಿ ಬಿಡಲು ಸಧ್ಯವಿಲ್ಲ + confirmation: ಸಮರ್ಥನೆ ಸರಿಬರಲ್ಲಿಲ್ಲ + empty: ಖಾಲಿ ಬಿಡಲು ಸಧ್ಯವಿಲ್ಲ + equal_to: "%{count} ಕ್ಕೆ ಸಮಾನವಾಗಿರಬೇಕು" + even: ಸಮ ಆಗಿರಬೇಕು + exclusion: ಕಾಯ್ದಿರಿಸಲಾಗಿದೆ + greater_than: "%{count} ಕ್ಕಿಂತ ಹೆಚ್ಚಿರಬೇಕು" + greater_than_or_equal_to: "%{count} ಕಿಂತ ಹೆಚ್ಚು ಅಥವಾ ಸಮಾನವಾಗಿರ ಇರಬೇಕು" + inclusion: ಪಟ್ಟಿಯಲ್ಲಿ ಶಾಮೀಲು ಆಗಿಲ್ಲ + invalid: ನಿರರ್ಥಕವಾಗಿದೆ + less_than: "%{count} ಕ್ಕಿಂತ ಕಡಿಮೆ ಆಗಿರಬೇಕು" + less_than_or_equal_to: "%{count} ಕಿಂತ ಕಡಿಮೆ ಅಥವಾ ಸಮಾನವಾಗಿರ ಇರಬೇಕು" + not_a_number: ಸಂಖೆ ಆಗಿಲ್ಲ + not_an_integer: ಸಂಖೆ ಆಗಿರಬೇಕು + odd: ಬೆಸ ಆಗಿರಬೇಕು + taken: ತೆಗೆದುಕೊಂಡಾಗಿದೆ + too_long: ಬಹಳ ದೊಡ್ಡದಾಗಿದೆ (ಗರಿಷ್ಟ %{count} ಅಕ್ಷರಗಳು) + too_short: ಬಹಳ ಚಿಕ್ಕದಾಗಿದೆ (ಕನಿಷ್ಠ %{count} ಅಕ್ಷರಗಳು) + wrong_length: ತಪ್ಪು ಉದ್ದವಿದೆ (%{count} ಅಕ್ಷರಗಳಿರಬೇಕು) + template: + body: 'ಸಮಸ್ಯೆಗಳಿರುವ ಜಾಗಗಳು:' + header: + one: "%{count} ಧೋಷದ ಪರಿಣಾಮ %{model} ಅನ್ನು ರಚಿಸಲು ಸಾಧ್ಯವಾಗಲಿಲ್ಲ" + other: "%{count} ಧೋಷಗಳ ಪರಿಣಾಮ %{model} ಅನ್ನು ರಚಿಸಲು ಸಾಧ್ಯವಾಗಲಿಲ್ಲ" + helpers: + select: + prompt: ದಯವಿಟ್ಟು ಆರಿಸಿ + submit: + create: "%{model} ರಚಿಸಿ" + submit: "%{model} ಕಳುಹಿಸು" + update: "%{model} ರಚಿಸಿ" + number: + currency: + format: + delimiter: "," + format: "%u%n" + precision: 2 + separator: "." + significant: false + strip_insignificant_zeros: false + unit: "$" + format: + delimiter: "," + precision: 3 + separator: "." + significant: false + strip_insignificant_zeros: false + human: + decimal_units: + format: "%n %u" + units: + billion: ಲಕ್ಷಕೋಟಿ + million: ದಶಲಕ್ಷ + quadrillion: ಪದ್ಮ + thousand: ಸಾವಿರ + trillion: ನೀಲ್ + unit: '' + format: + delimiter: '' + precision: 3 + significant: true + strip_insignificant_zeros: true + storage_units: + format: "%n %u" + units: + byte: + one: Byte + other: Bytes + gb: GB + kb: KB + mb: MB + tb: TB + percentage: + format: + delimiter: '' + precision: + format: + delimiter: '' + support: + array: + last_word_connector: ", ಮತ್ತು " + two_words_connector: " ಮತ್ತು " + words_connector: ", " + time: + am: ಪ್ರಾತಃಕಾಲ + formats: + default: "%a, %d %b %Y %H:%M:%S %z" + long: "%d %B %Y %H:%M" + short: "%d %b %H:%M" + pm: ಅಪರನ್ನಃ diff --git a/examples/i18n/data/lang/ko.yml b/examples/i18n/data/lang/ko.yml new file mode 100644 index 0000000..556a7bd --- /dev/null +++ b/examples/i18n/data/lang/ko.yml @@ -0,0 +1,179 @@ +--- +ko: + activerecord: + errors: + messages: + record_invalid: 데이터 검증에 실패하였습니다. %{errors} + restrict_dependent_destroy: + has_one: "%{record}(이)가 존재하기 때문에 삭제할 수 없습니다" + has_many: "%{record}(이)가 존재하기 때문에 삭제할 수 없습니다" + date: + abbr_day_names: + - 일 + - 월 + - 화 + - 수 + - 목 + - 금 + - 토 + abbr_month_names: + - + - 1월 + - 2월 + - 3월 + - 4월 + - 5월 + - 6월 + - 7월 + - 8월 + - 9월 + - 10월 + - 11월 + - 12월 + day_names: + - 일요일 + - 월요일 + - 화요일 + - 수요일 + - 목요일 + - 금요일 + - 토요일 + formats: + default: "%Y-%m-%d" + long: "%Y년 %m월 %d일" + short: "%m월 %d일" + month_names: + - + - 1월 + - 2월 + - 3월 + - 4월 + - 5월 + - 6월 + - 7월 + - 8월 + - 9월 + - 10월 + - 11월 + - 12월 + order: + - :year + - :month + - :day + datetime: + distance_in_words: + about_x_hours: 대략 %{count}시간 + about_x_months: 대략 %{count}개월 + about_x_years: 대략 %{count}년 + almost_x_years: 거의 %{count}년 + half_a_minute: 30초 + less_than_x_seconds: "%{count}초 미만" + less_than_x_minutes: "%{count}분 미만" + over_x_years: "%{count}년 초과" + x_seconds: "%{count}초" + x_minutes: "%{count}분" + x_days: "%{count}일" + x_months: "%{count}개월" + x_years: "%{count}년" + prompts: + second: 초 + minute: 분 + hour: 시 + day: 일 + month: 월 + year: 년 + errors: + format: "%{message}" + messages: + accepted: "%{attribute}을(를) 반드시 확인해야 합니다" + blank: "%{attribute}에 내용을 입력해 주세요" + confirmation: "%{attribute}은(는) 서로 일치해야 합니다" + empty: "%{attribute}에 내용을 입력해 주세요" + equal_to: "%{attribute}은(는) %{count}과 같아야 합니다" + even: "%{attribute}에 짝수를 입력해 주세요" + exclusion: "%{attribute}은(는) 이미 예약되어 있는 값입니다" + greater_than: "%{attribute}은(는) %{count}보다 커야 합니다" + greater_than_or_equal_to: "%{attribute}은(는) %{count}보다 크거야 같아야 합니다" + inclusion: "%{attribute}은(는) 목록에 포함되어 있는 값이 아닙니다" + invalid: "%{attribute}은(는) 올바르지 않은 값입니다" + less_than: "%{attribute}은(는) %{count}보다 작아야 합니다" + less_than_or_equal_to: "%{attribute}은(는) %{count}과 작거나 같아야 합니다" + model_invalid: "%{attribute}에 대한 데이터 검증에 실패하였습니다: %{errors}" + not_a_number: "%{attribute}에 숫자를 입력해 주세요" + not_an_integer: "%{attribute}에 정수를 입력해 주세요" + odd: "%{attribute}에 홀수를 입력해 주세요" + other_than: "%{attribute}은(는) %{count}와(과) 달라야 합니다" + present: "%{attribute}은(는) 비어있어야 합니다" + required: "%{attribute}은(는) 반드시 있어야 합니다" + taken: "%{attribute}은(는) 이미 존재합니다" + too_long: "%{attribute}은(는) %{count}자를 넘을 수 없습니다" + too_short: "%{attribute}은(는) 적어도 %{count}자를 넘어야 합니다" + wrong_length: "%{attribute}은(는) %{count}자여야 합니다" + template: + body: 아래 문제를 확인해 주세요. + header: "%{count}개의 오류로 인해 %{model}을(를) 저장할 수 없습니다" + helpers: + select: + prompt: 선택해주세요 + submit: + create: 등록 + submit: 제출 + update: 수정 + number: + currency: + format: + delimiter: "," + format: "%n%u" + precision: 0 + separator: "." + significant: false + strip_insignificant_zeros: false + unit: 원 + format: + delimiter: "," + precision: 3 + separator: "." + significant: false + strip_insignificant_zeros: false + human: + decimal_units: + format: "%n%u" + units: + billion: 십억 + million: 백만 + quadrillion: 천조 + thousand: 천 + trillion: 조 + unit: '' + format: + delimiter: '' + precision: 3 + significant: true + strip_insignificant_zeros: true + storage_units: + format: "%n%u" + units: + byte: 바이트 + gb: GB + kb: KB + mb: MB + tb: TB + percentage: + format: + delimiter: '' + format: "%n%" + precision: + format: + delimiter: '' + support: + array: + last_word_connector: ", " + two_words_connector: ', ' + words_connector: ", " + time: + am: 오전 + formats: + default: "%Y년 %m월 %d일 %A %H시 %M분 %S초 %z" + long: "%Y년 %m월 %d일 %H시 %M분" + short: "%m월 %d일 %H:%M" + pm: 오후 diff --git a/examples/i18n/data/lang/lb.yml b/examples/i18n/data/lang/lb.yml new file mode 100644 index 0000000..b2a7033 --- /dev/null +++ b/examples/i18n/data/lang/lb.yml @@ -0,0 +1,212 @@ +--- +lb: + activerecord: + errors: + messages: + record_invalid: 'Validatioun feelgeschlo: %{errors}' + restrict_dependent_destroy: + has_one: Den Enregistrement kann net geläscht gi wëll et en dovun ofhängegt + %{record} gëtt + has_many: Den Enregistrement kann net geläscht gi wëll et dovun ofhängegt + %{record} gëtt + date: + abbr_day_names: + - Son + - Méi + - Dën + - Mët + - Don + - Fre + - Sam + abbr_month_names: + - + - Jan + - Feb + - Mäe + - Abr + - Mee + - Jun + - Jul + - Aug + - Sep + - Okt + - Nov + - Dez + day_names: + - Sonndeg + - Méindeg + - Dënschdeg + - Mëttwoch + - Donneschdeg + - Freideg + - Samschdeg + formats: + default: "%d.%m.%Y" + long: "%e. %B %Y" + short: "%e %b" + month_names: + - + - Januar + - Februar + - Mäerz + - Abrëll + - Mee + - Juni + - Juli + - August + - September + - Oktober + - November + - Dezember + order: + - :Joer + - :Mount + - :Dag + datetime: + distance_in_words: + about_x_hours: + one: ongeféier eng Stonn + other: ongeféier %{count} Stonnen + about_x_months: + one: ongeféier ee Mount + other: ongeféier %{count} Méint + about_x_years: + one: ongeféier ee Joer + other: ongeféier %{count} Joer + almost_x_years: + one: bal ee Joer + other: bal %{count} Joer + half_a_minute: eng hallef Minutt + less_than_x_seconds: + one: manner wéi eng Sekonn + other: manner wéi %{count} Sekonnen + less_than_x_minutes: + one: manner wéi eng Minutt + other: manner wéi %{count} Minutten + over_x_years: + one: méi wéi ee Joer + other: méi wéi %{count} Joer + x_seconds: + one: "%{count} Sekonn" + other: "%{count} Sekonnen" + x_minutes: + one: "%{count} Minutt" + other: "%{count} Minutten" + x_days: + one: "%{count} Dag" + other: "%{count} Deeg" + x_months: + one: "%{count} Mount" + other: "%{count} Méint" + prompts: + second: Sekonnen + minute: Minutt + hour: Stonn + day: Dag + month: Mount + year: Joer + errors: + format: "%{attribute} %{message}" + messages: + accepted: muss akzeptéiert ginn + blank: däerf net eidel sinn + confirmation: stëmmt net mat %{attribute} iwwerenee + empty: däerf net eidel sinn + equal_to: muss d'selwecht si wéi %{count} + even: muss gerued sinn + exclusion: ass reservéiert + greater_than: muss méi grouss wéi %{count} sinn + greater_than_or_equal_to: muss méi grouss oder gläich si wéi %{count} + inclusion: ass net an der Lëscht dran + invalid: ass net valabel + less_than: muss méi kleng wéi %{count} sinn + less_than_or_equal_to: muss méi kleng oder gläich si wéi %{count} + not_a_number: ass keng Zuel + not_an_integer: muss eng ganz Zuel sinn + odd: muss ongerued sinn + other_than: muss anescht si wéi %{count} + present: muss eidel sinn + taken: gouf scho geholl + too_long: + one: ass ze laang (Maximal %{count} Zeechen) + other: ass ze laang (net méi wéi %{count} Zeechen) + too_short: + one: ass ze kuerz (Mniimal %{count} Zeechen) + other: ass ze kuerz (mindestens %{count} Zeechen) + wrong_length: + one: huet déi falsch Längt (muss genee een Zeeche sinn) + other: huet déi falsch Längt (musse genee %{count} Zeeche sinn) + template: + body: 'Et gouf Problemer mat dëse Felder:' + header: + one: "%{count} Feeler verhënnert d'Späichere vu(n) %{model}" + other: "%{count} Feeler verhënneren d'Späichere vu(n) %{model}" + helpers: + select: + prompt: Sicht w.e.g. eraus + submit: + create: uleeën %{model} + submit: späicheren %{model} + update: aktualiséieren %{model} + number: + currency: + format: + delimiter: "," + format: "%n %u" + precision: 2 + separator: "." + significant: false + strip_insignificant_zeros: false + unit: "€" + format: + delimiter: "," + precision: 2 + separator: "." + significant: false + strip_insignificant_zeros: false + human: + decimal_units: + format: "%n %u" + units: + billion: Milliard + million: Millioun + quadrillion: + one: Billiard + other: Billiarden + thousand: Dausend + trillion: Billioun + unit: '' + format: + delimiter: '' + precision: 3 + significant: true + strip_insignificant_zeros: true + storage_units: + format: "%n %u" + units: + byte: + one: Byte + other: Byten + gb: GB + kb: KB + mb: MB + tb: TB + percentage: + format: + delimiter: '' + format: "%n%" + precision: + format: + delimiter: '' + support: + array: + last_word_connector: ", an " + two_words_connector: " an " + words_connector: ", " + time: + am: moies + formats: + default: "%A, %d. %B %Y, %H:%M Auer" + long: "%A, %d. %B %Y, %H:%M Auer" + short: "%d. %b %H:%M" + pm: mëttes diff --git a/examples/i18n/data/lang/lo.yml b/examples/i18n/data/lang/lo.yml new file mode 100644 index 0000000..fef9e00 --- /dev/null +++ b/examples/i18n/data/lang/lo.yml @@ -0,0 +1,166 @@ +--- +lo: + activerecord: + errors: + messages: + record_invalid: 'ການຢືນຢັນບໍ່ສຳເລັດ : %{errors}' + date: + abbr_day_names: + - ອາທິດ + - ຈັນ + - ອັງຄານ + - ພຸດ + - ພະຫັດ + - ສຸກ + - ເສົາ + abbr_month_names: + - + - ມ.ກ + - ກ.ພ + - ມ.ນ + - ມ.ສ + - ພ.ພ + - ມິ.ຖ + - ກ.ລ + - ສ.ຫ + - ກ.ຍ + - ຕ.ລ + - ພ.ຈ + - ທ.ວ + day_names: + - ອາທິດ + - ຈັນ + - ອັງຄານ + - ພຸດ + - ພະຫັດ + - ສຸກ + - ເສົາ + formats: + default: "%d-%m-%Y" + long: "%e %B %Y" + short: "%e %b" + month_names: + - + - ມັງກອນ + - ກຸມພາ + - ມີນາ + - ເມສາ + - ພຶດສະພາ + - ມິຖຸນາ + - ກໍລະກົດ + - ສິງຫາ + - ກັນຍາ + - ຕຸລາ + - ພະຈິກ + - ທັນວາ + order: + - :day + - :month + - :year + datetime: + distance_in_words: + about_x_hours: ປະມານ %{count} ຊົ່ວໂມງ + about_x_months: ປະມານ %{count} ເດືອນ + about_x_years: 'ປະມານ %{count} ປີ' + almost_x_years: 'ເກືອບ %{count} ປີ' + half_a_minute: 'ເຄິ່ງນາທີ' + less_than_x_seconds: 'ນ້ອຍກວ່າ %{count} ວິນາທີ' + less_than_x_minutes: 'ນ້ອຍກວ່າ %{count} ນາທີ' + over_x_years: 'ຫຼາຍກວ່າ %{count} ປີ' + x_seconds: "%{count} ວິນາທີ" + x_minutes: "%{count} ນາທີ" + x_days: "%{count} ມື້" + x_months: "%{count} ເດືອນ" + prompts: + second: ວິນາທີ + minute: ນາທີ + hour: ຊົ່ວໂມງ + day: ວັນ + month: ເດືອນ + year: ປີ + errors: + format: "%{attribute} %{message}" + messages: + accepted: ຕ້ອງຍອມຮັບ + blank: ເປົ່າບໍ່ໄດ້ + confirmation: ບໍ່ຖືກກັບການຢືນຢັນ + empty: ວ່າງໄວ້ບໍ່ໄດ້ + equal_to: ຕ້ອງເທົ່າກັບ %{count} + even: ຕ້ອງເປັນເລກຄູ່ + exclusion: ມີການຈອງໄວ້ແລ້ວ + greater_than: ຕ້ອງສູງກວ່າ %{count} + greater_than_or_equal_to: ຕ້ອງສູງກວ່າ ຫຼື ເທົ່າກັບ %{count} + inclusion: ບໍ່ໄດ້ຮວມຢູ່ໃນບັນຊີລາຍການ + invalid: ບໍ່ຖືກ + less_than: ຕ້ອງຕຳ່ກວ່າ %{count} + less_than_or_equal_to: ຕ້ອງຕຳ່ກວ່າ ຫຼື ເທົ່າກັບ %{count} + not_a_number: ບໍ່ແມ່ນຕົວເລກ + odd: ຕ້ອງເປັນເລກຄີກ + taken: ຮັບເອົາໄປແລ້ວ + too_long: ຍາວໂພດ (ສູງສຸດຄື %{count} ຕົວອັກສອນ) + too_short: ສັ້ນໂພດ (ຕຳ່ສຸດຄື %{count} ຕົວອັກສອນ) + wrong_length: ຄວາມຍາວຜິດ (ຄວນຈະເປັນ %{count} ຕົວອັກສອນ) + template: + body: 'ກະລຸນາກວດສອບຂໍ້ມູນໃນຫ້ອງຕໍ່ໄປນີ້ :' + header: ບໍ່ສາມາດບັນທຶກ %{model} ໄດ້ເນື່ອງຈາກ ເກີດ %{count} ຂໍ້ຜິດພາດ + helpers: + select: + prompt: โปรดเลือก + number: + currency: + format: + delimiter: "," + format: "%n %u" + precision: 2 + separator: "." + significant: false + strip_insignificant_zeros: false + unit: Kip + format: + delimiter: "," + precision: 3 + separator: "." + significant: false + strip_insignificant_zeros: false + human: + decimal_units: + format: "%n %u" + units: + unit: '' + format: + delimiter: '' + precision: 1 + significant: true + strip_insignificant_zeros: true + storage_units: + format: "%n %u" + units: + byte: + zero: Bytes + one: Byte + two: Bytes + few: Bytes + many: Bytes + other: Bytes + gb: GB + kb: KB + mb: MB + tb: TB + percentage: + format: + delimiter: '' + precision: + format: + delimiter: '' + support: + array: + last_word_connector: ", ແລະ " + two_words_connector: 'ແລະ ' + words_connector: ", " + time: + am: ເຊົ້າ + formats: + default: "%a %d %b %Y %H:%M:%S %z" + long: "%d %B %Y %H:%M น." + short: "%d %b %H:%M น." + pm: ແລງ diff --git a/examples/i18n/data/lang/lt.yml b/examples/i18n/data/lang/lt.yml new file mode 100644 index 0000000..2c103ed --- /dev/null +++ b/examples/i18n/data/lang/lt.yml @@ -0,0 +1,221 @@ +--- +lt: + activerecord: + errors: + messages: + record_invalid: 'Nepraeitos patikros: %{errors}' + restrict_dependent_destroy: + has_one: Negalima ištrinti įrašo nes priklausomas %{record} egzistuoja + has_many: Negalima ištrinti įrašų nes priklausomi %{record} egzistuoja + date: + abbr_day_names: + - Sek + - Pir + - Ant + - Tre + - Ket + - Pen + - Šeš + abbr_month_names: + - + - Sau + - Vas + - Kov + - Bal + - Geg + - Bir + - Lie + - Rgp + - Rgs + - Spa + - Lap + - Grd + day_names: + - sekmadienis + - pirmadienis + - antradienis + - trečiadienis + - ketvirtadienis + - penktadienis + - šeštadienis + formats: + default: "%Y-%m-%d" + long: "%Y m. %B %d d." + short: "%b %d" + month_names: + - + - sausio + - vasario + - kovo + - balandžio + - gegužės + - birželio + - liepos + - rugpjūčio + - rugsėjo + - spalio + - lapkričio + - gruodžio + order: + - :year + - :month + - :day + datetime: + distance_in_words: + about_x_hours: + one: apie %{count} valandą + few: apie %{count} valandas + other: apie %{count} valandų + about_x_months: + one: apie %{count} mėnesį + few: apie %{count} mėnesius + other: apie %{count} mėnesių + about_x_years: + one: apie %{count} metus + few: apie %{count} metus + other: apie %{count} metų + almost_x_years: + one: beveik %{count} metai + few: beveik %{count} metai + other: beveik %{count} metų + half_a_minute: pusė minutės + less_than_x_seconds: + one: mažiau nei %{count} sekundė + few: mažiau nei %{count} sekundės + other: mažiau nei %{count} sekundžių + less_than_x_minutes: + one: mažiau nei %{count} minutė + few: mažiau nei %{count} minutės + other: mažiau nei %{count} minučių + over_x_years: + one: virš %{count} metų + few: virš %{count} metų + other: virš %{count} metų + x_seconds: + one: "%{count} sekundė" + few: "%{count} sekundės" + other: "%{count} sekundžių" + x_minutes: + one: "%{count} minutė" + few: "%{count} minutės" + other: "%{count} minučių" + x_days: + one: "%{count} diena" + few: "%{count} dienos" + other: "%{count} dienų" + x_months: + one: "%{count} mėnesis" + few: "%{count} mėnesiai" + other: "%{count} mėnesių" + prompts: + second: Sekundės + minute: Minutė + hour: Valanda + day: Diena + month: Mėnuo + year: Metai + errors: + format: "%{attribute} %{message}" + messages: + accepted: turi būti patvirtintas + blank: negali būti tuščias + confirmation: neteisingai pakartotas + empty: negali būti tuščias + equal_to: turi būti lygus %{count} + even: turi būti lyginis skaičius + exclusion: yra rezervuotas + greater_than: turi būti didesnis už %{count} + greater_than_or_equal_to: turi būti didesnis arba lygus %{count} + inclusion: nenumatyta reikšmė + invalid: neteisingas + less_than: turi būti mažesnis už %{count} + less_than_or_equal_to: turi būti mažesnis arba lygus %{count} + not_a_number: ne skaičius + not_an_integer: privalo būti sveikas skaičius + odd: turi būti nelyginis skaičius + other_than: privalo būti kitoks nei %{count} + present: turi būti tuščias + taken: jau užimtas + too_long: + one: per ilgas (daugiausiai %{count} simbolis) + few: per ilgas (daugiausiai %{count} simboliai) + other: per ilgas (daugiausiai %{count} simbolių) + too_short: + one: per trumpas (mažiausiai %{count} simbolis) + few: per trumpas (mažiausiai %{count} simboliai) + other: per trumpas (mažiausiai %{count} simbolių) + wrong_length: neteisingo ilgio (turi būti %{count} simboliai) + template: + body: 'Šiuose laukuose yra klaidų:' + header: + one: Išsaugant objektą %{model} rasta %{count} klaida + few: Išsaugant objektą %{model} rastos %{count} klaidos + other: Išsaugant objektą %{model} rasta %{count} klaidų + helpers: + select: + prompt: Prašom pasirinkti + submit: + create: Sukurti %{model} + submit: Išsaugoti %{model} + update: Atnaujinti %{model} + number: + currency: + format: + delimiter: " " + format: "%n %u" + precision: 2 + separator: "," + significant: false + strip_insignificant_zeros: false + unit: "€" + format: + delimiter: " " + precision: 3 + separator: "," + significant: false + strip_insignificant_zeros: false + human: + decimal_units: + format: "%n %u" + units: + billion: Milijardas + million: Milijonas + quadrillion: Kvadrilijonas + thousand: Tūkstantis + trillion: Trilijonas + unit: '' + format: + delimiter: '' + precision: 1 + significant: true + strip_insignificant_zeros: true + storage_units: + format: "%n %u" + units: + byte: + one: Baitas + few: Baitai + other: Baitų + gb: GB + kb: KB + mb: MB + tb: TB + percentage: + format: + delimiter: '' + format: "%n%" + precision: + format: + delimiter: '' + support: + array: + last_word_connector: " ir " + two_words_connector: " ir " + words_connector: ", " + time: + am: am + formats: + default: "%a, %d %b %Y %H:%M:%S %z" + long: "%Y %B %d %H:%M" + short: "%d %b %H:%M" + pm: pm diff --git a/examples/i18n/data/lang/lv.yml b/examples/i18n/data/lang/lv.yml new file mode 100644 index 0000000..3428ce7 --- /dev/null +++ b/examples/i18n/data/lang/lv.yml @@ -0,0 +1,244 @@ +--- +lv: + activerecord: + errors: + messages: + record_invalid: 'Pārbaude neizdevās: %{errors}' + restrict_dependent_destroy: + has_one: Nevar dzēst ierakstu, jo ir atkarīgs %{record} + has_many: Nevar dzēst ierakstu, jo ir atkarīgi %{record} + date: + abbr_day_names: + - Sv. + - P. + - O. + - T. + - C. + - Pk. + - S. + abbr_month_names: + - + - Janv + - Febr + - Marts + - Apr + - Maijs + - Jūn + - Jūl + - Aug + - Sept + - Okt + - Nov + - Dec + day_names: + - svētdiena + - pirmdiena + - otrdiena + - trešdiena + - ceturtdiena + - piektdiena + - sestdiena + formats: + default: "%d.%m.%Y." + long: "%Y. gada %e. %B" + short: "%e. %B" + month_names: + - + - janvārī + - februārī + - martā + - aprīlī + - maijā + - jūnijā + - jūlijā + - augustā + - septembrī + - oktobrī + - novembrī + - decembrī + order: + - :year + - :month + - :day + datetime: + distance_in_words: + about_x_hours: + zero: apmēram %{count} stundas + one: apmēram %{count} stunda + other: apmēram %{count} stundas + about_x_months: + zero: apmēram %{count} mēneši + one: apmēram %{count} mēnesis + other: apmēram %{count} mēneši + about_x_years: + zero: apmēram %{count} gadi + one: apmēram %{count} gads + other: apmēram %{count} gadi + almost_x_years: + zero: gandrīz %{count} gadi + one: gandrīz %{count} gads + other: gandrīz %{count} gadi + half_a_minute: pusminūte + less_than_x_seconds: + zero: mazāk par %{count} sekundēm + one: mazāk par %{count} sekundi + other: mazāk par %{count} sekundēm + less_than_x_minutes: + zero: mazāk par %{count} minūtēm + one: mazāk par %{count} minūti + other: mazāk par %{count} minūtēm + over_x_years: + zero: vairāk kā %{count} gadi + one: vairāk kā %{count} gads + other: vairāk kā %{count} gadi + x_seconds: + zero: "%{count} sekundes" + one: "%{count} sekunde" + other: "%{count} sekundes" + x_minutes: + zero: "%{count} minūtes" + one: "%{count} minūte" + other: "%{count} minūtes" + x_days: + zero: "%{count} dienas" + one: "%{count} diena" + other: "%{count} dienas" + x_months: + zero: "%{count} mēneši" + one: "%{count} mēnesis" + other: "%{count} mēneši" + zero: 0 gadi + prompts: + second: sekunde + minute: minūte + hour: stunda + day: diena + month: mēnesis + year: gads + errors: + format: "%{attribute} %{message}" + messages: + accepted: ir jāpiekrīt + blank: ir jābūt aizpildītam + confirmation: nesakrīt ar apstiprinājumu + empty: ir jābūt aizpildītam + equal_to: ir jābūt vienādam ar %{count} + even: ir jābūt pāra skaitlim + exclusion: nav pieejams + 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} + inclusion: nav iekļauts sarakstā + invalid: nav derīgs + 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} + model_invalid: 'Validācija neizdevās: %{errors}' + not_a_number: nav skaitlis + not_an_integer: ir jābūt veselam skaitlim + odd: ir jābūt nepāra skaitlim + other_than: jābūt citam nekā %{count} + present: jābūt tukšam + required: ir jābūt + taken: ir jau aizņemts + too_long: + zero: ir par garu (maksimums ir %{count} simboli) + one: ir par garu (maksimums ir %{count} simbols) + other: ir par garu (maksimums ir %{count} simboli) + too_short: + zero: ir par īsu (minimums ir %{count} simboli) + one: ir par īsu (minimums ir %{count} simbols) + other: ir par īsu (minimums ir %{count} simboli) + wrong_length: + zero: ir nepareizs garums (jābūt %{count} simboliem) + one: ir nepareizs garums (jābūt %{count} simbolam) + other: ir nepareizs garums (jābūt %{count} simboliem) + template: + body: 'Problēmas ir šajos ievades laukos:' + header: + zero: Dēļ %{count} kļūdām šis %{model} netika saglabāts + one: Dēļ %{count} kļūdas šis %{model} netika saglabāts + other: Dēļ %{count} kļūdām šis %{model} netika saglabāts + helpers: + select: + prompt: Lūdzu izvēlies + submit: + create: Izveidot %{model} + submit: Saglabāt %{model} + update: Atjaunināt %{model} + number: + currency: + format: + delimiter: "." + format: "%n %u" + precision: 2 + separator: "," + significant: false + strip_insignificant_zeros: false + unit: "€" + format: + delimiter: "." + precision: 2 + separator: "," + significant: false + strip_insignificant_zeros: false + human: + decimal_units: + format: "%n %u" + units: + billion: + zero: miljardi + one: miljards + other: miljardi + million: + zero: miljoni + one: miljons + other: miljoni + quadrillion: + zero: kvadriljoni + one: kvadriljons + other: kvadriljoni + thousand: + zero: tūkstoši + one: tūkstotis + other: tūkstoši + trillion: + zero: triljoni + one: triljons + other: triljoni + unit: '' + format: + delimiter: '' + precision: 1 + significant: false + strip_insignificant_zeros: false + storage_units: + format: "%n %u" + units: + byte: + zero: baiti + one: baits + other: baiti + eb: EB + gb: GB + kb: KB + mb: MB + pb: PB + tb: TB + percentage: + format: + delimiter: '' + format: "%n%" + precision: + format: + delimiter: '' + support: + array: + last_word_connector: " un " + two_words_connector: " un " + words_connector: ", " + time: + am: priekšpusdiena + formats: + default: "%Y. gada %e. %B, %H:%M" + long: "%Y. gada %e. %B, %H:%M:%S" + short: "%d.%m.%Y., %H:%M" + pm: pēcpusdiena diff --git a/examples/i18n/data/lang/mg.yml b/examples/i18n/data/lang/mg.yml new file mode 100644 index 0000000..bb5bdf9 --- /dev/null +++ b/examples/i18n/data/lang/mg.yml @@ -0,0 +1,219 @@ +--- +mg: + activerecord: + errors: + messages: + record_invalid: 'Tsy tontosa ny fankatoavana : %{errors}' + restrict_dependent_destroy: + has_one: Tsy afaka mamafa io andalana io ianao satria misy %{record} iray + miankina amin'io + has_many: Tsy afaka mamafa io andalana io ianao satria misy %{record} + betsaka miankina aminy + date: + abbr_day_names: + - Alah + - Alats + - Tal + - Alar + - Alak + - Zom + - Asab + abbr_month_names: + - + - jan. + - feb. + - mar. + - apr. + - may + - jona + - jolay. + - aog + - sept. + - okt. + - nov. + - des. + day_names: + - Alahady + - Alatsinainy + - Talata + - Alarobia + - Alakamisy + - Zoma + - Asabotsy + formats: + default: "%d/%m/%Y" + long: "%e %B %Y" + short: "%e %b" + month_names: + - + - janoary + - febroary + - martsa + - aprily + - may + - jona + - jolay + - aogositra + - septambra + - aktobra + - novambra + - desambra + order: + - :day + - :month + - :year + datetime: + distance_in_words: + about_x_hours: + one: adiny iray eo ho eo + other: adiny %{count} eo ho eo + about_x_months: + one: iray volana eo ho eo + other: volana %{count} eo ho eo + about_x_years: + one: herintaona eo ho eo + other: taona %{count} eo ho eo + almost_x_years: + one: saika herintaona + other: saika %{count} taona + half_a_minute: antsasak'adiny + less_than_x_seconds: + zero: latsaky ny iray segondra + one: latsaky ny iray segondra + other: latsaky ny %{count} segondra + less_than_x_minutes: + zero: latsaky ny iray minitra + one: latsaky ny iray segondra + other: latsaky ny %{count} minitra + over_x_years: + one: Herintaona mahery + other: maherin'ny %{count} taona + x_seconds: + one: "%{count} segondra" + other: "%{count} segondra" + x_minutes: + one: "%{count} minitra" + other: "%{count} minitra" + x_days: + one: "%{count} andro" + other: "%{count} andro" + x_months: + one: "%{count} volana" + other: "%{count} volana" + x_years: + one: "%{count} taona" + other: "%{count} taona" + prompts: + second: Segondra + minute: Minitra + hour: Ora + day: Andro + month: Volana + year: Taona + errors: + format: "%{attribute} %{message}" + messages: + accepted: tsy maintsy ekena + blank: tsy maintsy fenoina + confirmation: tsy mifanaraka amin'ny %{attribute} + empty: tsy maintsy fenoina + equal_to: tsy maintsy mitovy amin'ny %{count} + even: tsy maintsy miankin-droa + exclusion: Tsy misy + greater_than: Tsy mihoatra ny %{count} + greater_than_or_equal_to: tsy maintsy mihoatra na mitovy amin'ny à %{count} + inclusion: tsy ao anaty lisitra + invalid: tsy ekena + less_than: tsy maintsy kely noho ny %{count} + less_than_or_equal_to: tsy kely na mitovy nohon'ny %{count} + model_invalid: 'Fangatahana tsy tontosa: %{errors}' + not_a_number: tsy isa io + not_an_integer: tsy maintsy isa tsotra + odd: tsy maintsy impair + other_than: tsy maintsy hafa noho ny %{count} + present: tsy maintsy banga + required: tsy maintsy misy + taken: tsy misy + too_long: + one: dia lava loatra (tsy mihoatra ny litera iray) + other: dia lava loatra (tsy mihoatra ny litera %{count}) + too_short: + one: dia fohy loatra (farafahakeliny litera iray) + other: dia fohy loatra (farafahakeliny litera %{count}) + wrong_length: + one: tsy amin'ny halavany (tokony ho litera iray) + other: tsy amin'ny halavany (tokony ho litera %{count}) + template: + body: 'Hamarino ireo saha manaraka azafady : ' + header: + one: 'Tsy azo tadidiana ity %{model} : olana %{count}' + other: 'Tsy azo tadidiana ity %{model} : olana %{count}' + helpers: + select: + prompt: Misafidiana azafady + submit: + create: Mamorona %{model} iray + submit: Tadidiana ity %{model} + update: Ovaina ity %{model} + number: + currency: + format: + delimiter: " " + format: "%n %u" + precision: 2 + separator: "," + significant: false + strip_insignificant_zeros: false + unit: "Ar" + format: + delimiter: " " + precision: 3 + separator: "," + significant: false + strip_insignificant_zeros: false + human: + decimal_units: + format: "%n %u" + units: + billion: tapitrisa + million: hetsy + quadrillion: hetsy tapitrisa + thousand: Arivo + trillion: arivo tapitrisa + unit: '' + format: + delimiter: '' + precision: 3 + significant: true + strip_insignificant_zeros: true + storage_units: + format: "%n %u" + units: + byte: + one: octet + other: octets + eb: Eo + gb: Go + kb: ko + mb: Mo + pb: Po + tb: To + percentage: + format: + delimiter: '' + format: "%n%" + precision: + format: + delimiter: '' + support: + array: + last_word_connector: " et " + two_words_connector: " et " + words_connector: ", " + time: + am: am + formats: + default: "%d %B %Y %Hh %Mmin %Ss" + long: "%A %d %B %Y %Hh%M" + short: "%d %b %Hh%M" + pm: pm diff --git a/examples/i18n/data/lang/mk.yml b/examples/i18n/data/lang/mk.yml new file mode 100644 index 0000000..013f2e5 --- /dev/null +++ b/examples/i18n/data/lang/mk.yml @@ -0,0 +1,202 @@ +--- +mk: + activerecord: + errors: + messages: + record_invalid: 'неуспешна валидација: %{errors}' + date: + abbr_day_names: + - Нед + - Пон + - Вто + - Сре + - Чет + - Пет + - Саб + abbr_month_names: + - + - Јан + - Фев + - Мар + - Апр + - Мај + - Јун + - Јул + - Авг + - Сеп + - Окт + - Ное + - Дек + day_names: + - Недела + - Понеделник + - Вторник + - Среда + - Четврток + - Петок + - Сабота + formats: + default: "%d/%m/%Y" + long: "%B %e, %Y" + short: "%e %b" + month_names: + - + - Јануари + - Февруари + - Март + - Април + - Мај + - Јуни + - Јули + - Август + - Септември + - Октомври + - Ноември + - Декември + order: + - :day + - :month + - :year + datetime: + distance_in_words: + about_x_hours: + one: околу %{count} час + other: околу %{count} часа + about_x_months: + one: околу %{count} месец + other: околу %{count} месеци + about_x_years: + one: околу %{count} година + other: околу %{count} години + almost_x_years: + one: скоро %{count} година + other: скоро %{count} години + half_a_minute: пола минута + less_than_x_seconds: + one: помалку од %{count} секунда + other: помалку од %{count} секунди + less_than_x_minutes: + one: помалку од %{count} минута + other: помалку од %{count} минути + over_x_years: + one: над %{count} година + other: над %{count} години + x_seconds: + one: "%{count} секунда" + other: "%{count} секунди" + x_minutes: + one: "%{count} минута" + other: "%{count} минути" + x_days: + one: "%{count} ден" + other: "%{count} денови" + x_months: + one: "%{count} месец" + other: "%{count} месеци" + prompts: + second: Секунди + minute: Минута + hour: Час + day: Ден + month: Месец + year: Година + errors: + format: "%{attribute} %{message}" + messages: + accepted: мора да биде прифатен + blank: мора да биде зададен + confirmation: не се совпаѓа со својата потврда + empty: мора да биде зададен + equal_to: мора да биде еднакво на %{count} + even: мора да биде парно + exclusion: не е достапно + greater_than: мора да биде поголемо од %{count} + greater_than_or_equal_to: мора да биде поголемо или еднакво на %{count} + inclusion: не е во листата + invalid: не е исправен + less_than: мора да биде помало од %{count} + less_than_or_equal_to: мора да биде помало или еднакво на %{count} + not_a_number: 'не е број ' + not_an_integer: не е цел број + odd: мора да биде непарно + taken: е зафатено + too_long: + one: е предолг (не повеќе од %{count} карактер) + other: е предолг (не повеќе од %{count} карактери) + too_short: + one: е прекраток (не помалку од %{count} карактер) + other: е прекраток (не помалку од %{count} карактери) + wrong_length: + one: несоодветна должина (мора да имате %{count} карактер) + other: несоодветна должина (мора да имате %{count} карактери) + template: + body: 'Ве молиме проверете ги следните полиња:' + header: + one: 'Не успеав да го зачувам %{model}: %{count} грешка.' + other: 'Не успеав да го зачувам %{model}: %{count} грешки.' + helpers: + select: + prompt: Одберете + submit: + create: Креира %{model} + submit: Зачувај %{model} + update: Измени %{model} + number: + currency: + format: + delimiter: "," + format: "%n %u" + precision: 2 + separator: "." + significant: false + strip_insignificant_zeros: false + unit: MKD + format: + delimiter: "." + precision: 3 + separator: "," + significant: false + strip_insignificant_zeros: false + human: + decimal_units: + format: "%n %u" + units: + billion: илјади + million: милјони + quadrillion: милјарди + thousand: трилјони + trillion: квадрилјони + unit: '' + format: + delimiter: '' + precision: 3 + significant: true + strip_insignificant_zeros: true + storage_units: + format: "%n %u" + units: + byte: + one: бајт + other: бајти + gb: GB + kb: KB + mb: MB + tb: TB + percentage: + format: + delimiter: '' + precision: + format: + delimiter: '' + support: + array: + last_word_connector: ", и " + two_words_connector: " и " + words_connector: ", " + time: + am: АМ + formats: + default: "%a %d %b %Y %H:%M:%S %Z" + long: "%d %B %Y %H:%M" + short: "%d %b %H:%M" + pm: ПМ diff --git a/examples/i18n/data/lang/ml.yml b/examples/i18n/data/lang/ml.yml new file mode 100644 index 0000000..15fc37e --- /dev/null +++ b/examples/i18n/data/lang/ml.yml @@ -0,0 +1,210 @@ +--- +ml: + activerecord: + errors: + messages: + record_invalid: 'Validation failed: %{errors}' + restrict_dependent_destroy: + has_one: "%{record} ആയി ബന്ദം ഉള്ളതിനാൽ നീക്കം ചെയ്യാൻ പറ്റില്ല" + has_many: "%{record} ആയി ബന്ദം ഉള്ളതിനാൽ നീക്കം ചെയ്യാൻ പറ്റില്ല" + date: + abbr_day_names: + - ഞാ. + - തി. + - ചൊ. + - ബു. + - വ്യാ. + - വെ. + - ശ. + abbr_month_names: + - + - ജനു. + - ഫെബ്ര. + - മാർ. + - എപ്രി. + - മെയ്. + - ജൂണ്‍. + - ജൂലൈ. + - ആഗ. + - സെപ്തം. + - ഒക്ടോ. + - നവം. + - ഡിസം. + day_names: + - ഞായര്‍ + - തിങ്കള്‍ + - ചൊവ്വ + - ബുധൻ + - വ്യാഴം + - വെള്ളി + - ശനി + formats: + default: "%d-%m-%Y" + long: "%d %B, %Y" + short: "%d %b" + month_names: + - + - ജനുവരി + - ഫെബ്രുവരി + - മാർച്ച് + - ഏപ്രിൽ + - മെയ് + - ജൂണ്‍ + - ജൂലൈ + - ഓഗസ്റ്റ്‌ + - സെപ്റ്റംബർ + - ഒക്ടോബർ + - നവംബർ + - ഡിസംബർ + order: + - :day + - :month + - :year + datetime: + distance_in_words: + about_x_hours: + one: എകദേശം %{count} മണിക്കൂർ + other: എകദേശം %{count} മണിക്കൂർ + about_x_months: + one: എകദേശം %{count} മാസം + other: എകദേശം %{count} മാസം + about_x_years: + one: എകദേശം %{count} വർഷം + other: എകദേശം %{count} വർഷം + almost_x_years: + one: ഏതാണ്ട് %{count} വർഷം + other: ഏതാണ്ട് %{count} വർഷം + half_a_minute: അര സൂക്ഷ്മ + less_than_x_seconds: + one: ഒരു നിമിഷത്തിനു ഉള്ളിൽ + other: "%{count} നിമിഷത്തിനു ഉള്ളിൽ" + less_than_x_minutes: + one: ഒരു മിനുറ്റിനു ഉള്ളിൽ + other: "%{count} മിനുറ്റിനു ഉള്ളിൽ" + over_x_years: + one: ഒരു വര്ഷത്തിനു മേലെ + other: "%{count} വര്ഷത്തിനു മേലെ" + x_seconds: + one: "%{count} നിമിഷം" + other: "%{count} നിമിഷം" + x_minutes: + one: "%{count} മിനിറ്റ്" + other: "%{count} മിനിറ്റ്" + x_days: + one: "%{count} ദിവസം" + other: "%{count} ദിവസങ്ങൾ" + x_months: + one: "%{count} മാസം" + other: "%{count} മാസം" + prompts: + second: നിമിഷം + minute: സുക്ഷ്മ + hour: മണിക്കൂർ + day: ദിവസം + month: സുക്ഷ്മ + year: വർഷം + errors: + format: "%{attribute} %{message}" + messages: + accepted: സ്വീകരികേണ്ടത് അത്യാവശ്യം ആണ് + blank: ഒഴിവായി കിടക്കുവാൻ പാടുള്ളതല്ല + confirmation: "%{attribute} ആയി സാമ്യം ഇല്ല" + empty: ഒഴിവായി കിടക്കുവാൻ പാടുള്ളതല്ല + equal_to: "%{count} ആയി സാമ്യം വേണം" + even: ഇരട്ട സംഖ്യ ആയിരിക്കണം + exclusion: കരുതിവെച്ചിരികുന്നതാണ് + greater_than: "%{count} നേകാൾ വലുതായിരിക്കണം" + greater_than_or_equal_to: "%{count} നു തുല്യമോ അല്ലെങ്കിൽ വലുതോ ആയിരിക്കണം" + inclusion: ഇതിൽ ഉള്ട്പെട്ടിട്ടില്ല + invalid: അസാധുവാണ് + less_than: "%{count} നേകാൾ ചെറുതായിരിക്കണം" + less_than_or_equal_to: "%{count} നു തുല്യമോ അല്ലെങ്കിൽ ചെറുതോ ആയിരിക്കണം" + model_invalid: 'മൂല്യനിർണ്ണയം പരാജയപ്പെട്ടു: %{errors}' + not_a_number: ഒരു അക്കം അല്ല + not_an_integer: ഒരു അക്കം ആയിരിക്കണം + odd: ഒട്ടസന്ഘ്യ ആയിരിക്കണം + other_than: must be other than %{count} + present: ഒഴിവായി ഇരിക്കണം + required: എന്തായാലും ഉണ്ടായിരിക്കണം + taken: ഇതിനു മുൻപേ ഉപയോഗിച്ചിരിക്കുന്നു + too_long: + one: വളരെ വലുതാണ് (പരമാവധി %{count} പ്രതീകം) + other: വളരെ വലുതാണ് (പരമാവധി %{count} പ്രതീകങ്ങൾ) + too_short: + one: വളരെ ചെറുതാണ് (ഏറ്റവും കുറഞ്ഞത്‌ %{count} പ്രതീകം) + other: വളരെ ചെറുതാണ് (ഏറ്റവും കുറഞ്ഞത്‌ %{count} പ്രതീകങ്ങൾ) + wrong_length: + one: തെറ്റായ നീളം ആണ് (%{count} പ്രതീകം ആയിരിക്കണം) + other: തെറ്റായ നീളം ആണ് (%{count} പ്രതീകങ്ങൾ ആയിരിക്കണം) + template: + body: 'താഴെ പറഞ്ഞവയിൽ തെറ്റുകൾ ഉണ്ട്:' + header: + one: "%{model} സേവ് ചെയ്യുനത്തിൽ നിന്നും ഒരു തെറ്റ് വിലക്കിയിരിക്കുന്നു" + other: "%{model} സേവ് ചെയ്യുനത്തിൽ നിന്നും %{count} തെറ്റുകൾ വിലക്കിയിരിക്കുന്നു" + helpers: + select: + prompt: ദയവായി തിരഞ്ഞെടുക്കുക + submit: + create: "%{model} സൃഷ്ടിക്കുക" + submit: "%{model} സേവ് ചെയ്യുക" + update: "%{model} തിരുത്തുക്ക" + number: + currency: + format: + delimiter: "," + format: "%u%n" + precision: 2 + separator: "." + significant: false + strip_insignificant_zeros: false + unit: "$" + format: + delimiter: "," + precision: 3 + separator: "." + significant: false + strip_insignificant_zeros: false + human: + decimal_units: + format: "%n %u" + units: + billion: നൂറുകോടി + million: ദശലക്ഷം + quadrillion: ക്വാഡ്രില്യൺ + thousand: ആയിരം + trillion: ട്രില്യൺ + unit: '' + format: + delimiter: '' + precision: 3 + significant: true + strip_insignificant_zeros: true + storage_units: + format: "%n %u" + units: + byte: + one: ബൈറ്റ് + other: ബൈറ്റുകൾ + gb: ജി.ബി + kb: കെ.ബി. + mb: എം.ബി. + tb: ടി.ബി + percentage: + format: + delimiter: '' + format: '' + precision: + format: + delimiter: '' + support: + array: + last_word_connector: ", ഒപ്പം " + two_words_connector: " ഒപ്പം " + words_connector: ", " + time: + am: രാവിലെ + formats: + default: "%a, %d %b %Y %H:%M:%S %z" + long: "%Y, %B %d %H:%M" + short: "%d %b %H:%M" + pm: വൈകിട്ട് diff --git a/examples/i18n/data/lang/mn.yml b/examples/i18n/data/lang/mn.yml new file mode 100644 index 0000000..57e79b3 --- /dev/null +++ b/examples/i18n/data/lang/mn.yml @@ -0,0 +1,202 @@ +--- +mn: + activerecord: + errors: + messages: + record_invalid: 'Шалгалт амжилтгүй: %{errors}' + date: + abbr_day_names: + - Ня + - Да + - Мя + - Лх + - Пү + - Ба + - Бя + abbr_month_names: + - + - 1 сар + - 2 сар + - 3 сар + - 4 сар + - 5 сар + - 6 сар + - 7 сар + - 8 сар + - 9 сар + - 10 сар + - 11 сар + - 12 сар + day_names: + - Ням + - Даваа + - Мягмар + - Лхагва + - Пүрэв + - Баасан + - Бямба + formats: + default: "%Y-%m-%d" + long: "%Y %B %d" + short: "%y-%m-%d" + month_names: + - + - 1 сар + - 2 сар + - 3 сар + - 4 сар + - 5 сар + - 6 сар + - 7 сар + - 8 сар + - 9 сар + - 10 сар + - 11 сар + - 12 сар + order: + - :year + - :month + - :day + datetime: + distance_in_words: + about_x_hours: + one: "%{count} цаг орчим" + other: "%{count} цаг орчим" + about_x_months: + one: "%{count} сар орчим" + other: "%{count} сар орчим" + about_x_years: + one: "%{count} жил орчим" + other: "%{count} жил орчим" + almost_x_years: + one: бараг %{count} жил + other: бараг %{count} жил + half_a_minute: хагас минут + less_than_x_seconds: + one: "%{count} секундээс бага" + other: "%{count} секундээс бага" + less_than_x_minutes: + one: "%{count} минутаас бага" + other: "%{count} минутаас бага" + over_x_years: + one: "%{count} жилээс илүү" + other: "%{count} жилээс илүү" + x_seconds: + one: "%{count} секунд" + other: "%{count} секунд" + x_minutes: + one: "%{count} минут" + other: "%{count} минут" + x_days: + one: "%{count} өдөр" + other: "%{count} өдөр" + x_months: + one: "%{count} сар" + other: "%{count} сар" + prompts: + second: Секунд + minute: Минут + hour: Цаг + day: Өдөр + month: Сар + year: Жил + errors: + format: "%{attribute} %{message}" + messages: + accepted: хүлээн зөвшөөрөгдсөн байх ёстой + blank: хоосон байж болохгүй + confirmation: адилгүй байна + empty: байхгүй байж болохгүй + equal_to: "%{count}-тэй тэнцүү байх ёстой" + even: тэгш байх ёстой + exclusion: бол ашиглахад хориотой + greater_than: "%{count}-с их байх ёстой" + greater_than_or_equal_to: "%{count}-с их юмуу эсвэл тэнцүү байх ёстой" + inclusion: жагсаалтанд алга байна + invalid: буруу байна + less_than: "%{count}-с бага байх ёстой" + less_than_or_equal_to: "%{count}-с бага юмуу эсвэл тэнцүү байх ёстой" + not_a_number: тоо биш байна + not_an_integer: бүхэл тоо байх ёстой + odd: сонгой байх ёстой + taken: аль хэдийн авчихсан байна + too_long: + one: урт байна (хамгийн уртдаа %{count} тэмдэгт) + other: урт байна (хамгийн уртдаа %{count} тэмдэгт) + too_short: + one: богино байна (хамгийн багадаа %{count} тэмдэгт) + other: богино байна (хамгийн багадаа %{count} тэмдэгт) + wrong_length: + one: урт нь буруу байна (%{count} тэмдэгт байх ёстой) + other: урт нь буруу байна (%{count} тэмдэгт байх ёстой) + template: + body: 'Дараах талбарууд дээр алдаа гарлаа:' + header: + one: "%{count} алдаа гарсан тул %{model} хадгалагдахгүй байна" + other: "%{count} алдаа гарсан тул %{model} хадгалагдахгүй байна" + helpers: + select: + prompt: Сонгоно уу + submit: + create: Үүсгэх + submit: Хадгалах + update: Шинэчлэх + number: + currency: + format: + delimiter: " " + format: "%n %u" + precision: 2 + separator: "." + significant: false + strip_insignificant_zeros: false + unit: төг. + format: + delimiter: " " + precision: 3 + separator: "." + significant: false + strip_insignificant_zeros: false + human: + decimal_units: + format: "%n %u" + units: + billion: Тэрбум + million: Сая + quadrillion: Тунамал + thousand: Мянга + trillion: Их наяд + unit: '' + format: + delimiter: '' + precision: 3 + significant: true + strip_insignificant_zeros: true + storage_units: + format: "%n %u" + units: + byte: + one: Байт + other: Байт + gb: ГБ + kb: КБ + mb: МБ + tb: ТБ + percentage: + format: + delimiter: '' + precision: + format: + delimiter: '' + support: + array: + last_word_connector: " болон " + two_words_connector: " болон " + words_connector: ", " + time: + am: өглөө + formats: + default: "%Y-%m-%d %H:%M" + long: "%Y %B %d, %H:%M:%S" + short: "%y-%m-%d" + pm: орой diff --git a/examples/i18n/data/lang/mr-IN.yml b/examples/i18n/data/lang/mr-IN.yml new file mode 100644 index 0000000..997cf95 --- /dev/null +++ b/examples/i18n/data/lang/mr-IN.yml @@ -0,0 +1,207 @@ +--- +mr-IN: + activerecord: + errors: + messages: + record_invalid: 'प्रमाणीकरण अयशस्वी: %{errors}' + restrict_dependent_destroy: + has_one: अवलंबून %{record} अस्तित्वात असल्याने रेकॉर्ड हटवू शकत नाही + has_many: अवलंबून %{record} अस्तित्वात असल्याने रेकॉर्ड हटवू शकत नाही + date: + abbr_day_names: + - सोम + - मंगळ + - बुध + - गुरु + - शुक्र + - शनि + - रवि + abbr_month_names: + - + - जाने + - फेब्रु + - मार्च + - एप्रि + - मे + - जून + - जुलै + - ऑग + - सेप्टें + - ऑक्टोबर + - नोव्हें + - डिसे + day_names: + - सोमवार + - मंगळवार + - बुधवार + - गुरुवार + - शुक्रवार + - शनिवार + - रविवार + formats: + default: "%d-%m-%Y" + long: "%d %B %Y" + short: "%d %b" + month_names: + - + - जानेवारी + - फेब्रुवारी + - मार्च + - एप्रिल + - मे + - जून + - जुलै + - ऑगस्ट + - सप्टेंबर + - ऑक्टोबर + - नोव्हेंबर + - डिसेंबर + order: + - :day + - :month + - :year + datetime: + distance_in_words: + about_x_hours: + one: सुमारे एक तास + other: सुमारे %{count} तास + about_x_months: + one: सुमारे %{count} महीना + other: सुमारे %{count} महिना + about_x_years: + one: सुमारे %{count} वर्ष + other: सुमारे %{count} वर्ष + almost_x_years: + one: जवळजवळ एक वर्ष + other: जवळजवळ %{count} वर्ष + half_a_minute: अर्धा मिनिट + less_than_x_seconds: + one: एक सेकंद पेक्षा कमी + other: "%{count} सेकंद पेक्षा कमी" + less_than_x_minutes: + one: एका मिनिटापेक्षा कमी + other: "%{count} मिनिटापेक्षा कमी" + over_x_years: + one: एका वर्षापेक्षा जास्त काळ + other: "%{count} वर्षापेक्षा जास्त काळ" + x_seconds: + one: एक सेकंद + other: "%{count} सेकंद" + x_minutes: + one: एक मिनिट + other: "%{count} मिनिट" + x_days: + one: एक दिवस + other: "%{count} दिवस" + x_months: + one: एक महिना + other: "%{count} महिना" + prompts: + second: सेकंद + minute: मिनिट + hour: तास + day: दिवस + month: महिना + year: वर्ष + errors: + format: "%{attribute} %{message}" + messages: + accepted: मान्य केले पाहिजे + blank: रिक्त ठेवता येणार नाही + confirmation: "%{attribute} जुळत नाही" + empty: रिक्त असू शकत नाही + equal_to: "%{count} समान असणे आवश्यक" + even: समांक असणे आवश्यक आहे + exclusion: राखीव आहे + greater_than: "%{count} पेक्षा जास्त असणे आवश्यक आहे" + greater_than_or_equal_to: "%{count} पेक्षा मोठे किंवा समान असणे आवश्यक आहे" + inclusion: यादीत समाविष्ट नाही + invalid: अवैध आहे + less_than: "%{count} पेक्षा कमी असणे आवश्यक" + less_than_or_equal_to: "%{count} पेक्षा कमी किंवा समान असणे आवश्यक आहे" + not_a_number: क्रमांक नाही + not_an_integer: पूर्णांक असणे आवश्यक आहे + odd: विषम संख्या असणे आवश्यक आहे + other_than: "%{count} पेक्षा इतर असणे आवश्यक आहे" + present: रिक्त असणे आवश्यक आहे + taken: यापूर्वीच घेतले गेले आहे + too_long: + one: खूप लांब आहे (जास्तीत जास्त एक वर्ण परवानगी आहे) + other: खूप लांब आहे (जास्तीत जास्त %{count} वर्ण परवानगी आहे) + too_short: + one: खूप लहान आहे (किमान एक वर्ण परवानगी आहे) + other: खूप लहान आहे (किमान %{count} वर्ण परवानगी आहे) + wrong_length: + one: लांबी चुक आहे (एक वर्ण असणे आवश्यक आहे) + other: लांबी चुक आहे (%{count} वर्ण असणे आवश्यक आहे) + template: + body: 'खालील फील्ड सह समस्या होते:' + header: + one: एक चूक ह्या %{model} ला जतन करण्यापासून प्रतिबंधित करत आहे + other: "%{count} चुका ह्या %{model} ला जतन करण्यापासून प्रतिबंधित करत आहे" + helpers: + select: + prompt: कृपया निवडा + submit: + create: "%{model} निर्माण करा" + submit: "%{model} जतन करा" + update: "%{model} अद्यतनित करा" + number: + currency: + format: + delimiter: "," + format: "%u%n" + precision: 2 + separator: "." + significant: false + strip_insignificant_zeros: false + unit: "₹" + format: + delimiter: "," + precision: 3 + separator: "." + significant: false + strip_insignificant_zeros: false + human: + decimal_units: + format: "%n %u" + units: + billion: अब्ज + million: दशलक्ष + quadrillion: एकावर १५ शून्य इतकी संख्या + thousand: हजार + trillion: एकावर १२ शून्ये इतकी संख्या + unit: '' + format: + delimiter: '' + precision: 3 + significant: true + strip_insignificant_zeros: true + storage_units: + format: "%n %u" + units: + byte: + one: Byte + other: Bytes + gb: GB + kb: KB + mb: MB + tb: TB + percentage: + format: + delimiter: '' + precision: + format: + delimiter: '' + support: + array: + last_word_connector: ", आणि " + two_words_connector: " आणि " + words_connector: ", " + time: + am: म.पू. + formats: + default: "%a, %d %b %Y %H:%M:%S %z" + long: "%d %B %Y %H:%M" + short: "%d %b %H:%M" + pm: म.नं. diff --git a/examples/i18n/data/lang/ms.yml b/examples/i18n/data/lang/ms.yml new file mode 100644 index 0000000..3d1b806 --- /dev/null +++ b/examples/i18n/data/lang/ms.yml @@ -0,0 +1,202 @@ +--- +ms: + activerecord: + errors: + messages: + record_invalid: 'Pengesahan gagal: %{errors}' + date: + abbr_day_names: + - Ahd + - Isn + - Sel + - Rab + - Kha + - Jum + - Sab + abbr_month_names: + - + - Jan + - Feb + - Mac + - Apr + - Mei + - Jun + - Jul + - Ogo + - Sep + - Okt + - Nov + - Dis + day_names: + - Ahad + - Isnin + - Selasa + - Rabu + - Khamis + - Jumaat + - Sabtu + formats: + default: "%d-%m-%Y" + long: "%d %B, %Y" + short: "%d %b" + month_names: + - + - Januari + - Febuari + - Mac + - April + - Mei + - Jun + - Julai + - Ogos + - September + - Oktober + - November + - Disember + order: + - :day + - :month + - :year + datetime: + distance_in_words: + about_x_hours: + one: lebih kurang %{count} jam + other: lebih kurang %{count} jam + about_x_months: + one: lebih kurang %{count} bulan + other: lebih kurang %{count} bulan + about_x_years: + one: lebih kurang %{count} tahun + other: lebih kurang %{count} tahun + almost_x_years: + one: hampir %{count} tahun + other: hampir %{count} tahun + half_a_minute: setengah minit + less_than_x_seconds: + one: kurang dari satu saat + other: kurang dari %{count} saat + less_than_x_minutes: + one: kurang dari satu minit + other: kurang dari %{count} minit + over_x_years: + one: lebih %{count} tahun + other: lebih %{count} tahun + x_seconds: + one: "%{count} saat" + other: "%{count} saat" + x_minutes: + one: "%{count} minit" + other: "%{count} minit" + x_days: + one: "%{count} hari" + other: "%{count} hari" + x_months: + one: "%{count} bulan" + other: "%{count} bulan" + prompts: + second: Saat + minute: Minit + hour: Jam + day: Hari + month: Bulan + year: Tahun + errors: + format: "%{attribute} %{message}" + messages: + accepted: wajib diterima + blank: tidak boleh dikosongkan + confirmation: tidak sama dengan penegasan + empty: tidak boleh dikosongkan + equal_to: mesti sama dengan %{count} + even: mesti genap + exclusion: telah terpelihara + greater_than: mesti lebih dari %{count} + greater_than_or_equal_to: mesti melibihi atau sama dengan %{count} + inclusion: tidak termasuk dalam senarai + invalid: adalah tidak laku + less_than: mesti kurang daripada %{count} + less_than_or_equal_to: mesti kurang daripada atat sama dengan %{count} + not_a_number: bukan nombor + not_an_integer: mestilah integer + odd: mesti ganjil + taken: telah digunakan + too_long: + one: terlalu panjang (maksima adalah %{count} karakter) + other: terlalu panjang (maksima adalah %{count} karakter) + too_short: + one: terlalu pendek (minima adalah %{count} karakter) + other: terlalu pendek (minima adalah %{count} karakter) + wrong_length: + one: mempunyai panjang yang salah (sepatutnya %{count} karakter sahaja) + other: mempunyai panjang yang salah(sepatutnya %{count} karakter sahaja) + template: + body: 'Terdapat masalah dengan medan data tersebut:' + header: + one: "%{count} ralat menhalang %{model} ini dari disimpan" + other: "%{count} ralat menhalang %{model} ini dari disimpan" + helpers: + select: + prompt: Sila pilih + submit: + create: Cipta %{model} + submit: Simpan %{model} + update: Kemaskini %{model} + number: + currency: + format: + delimiter: "," + format: "%u%n" + precision: 2 + separator: "." + significant: false + strip_insignificant_zeros: false + unit: RM + format: + delimiter: "," + precision: 3 + separator: "." + significant: false + strip_insignificant_zeros: false + human: + decimal_units: + format: "%n %u" + units: + billion: Ribu Juta + million: Juta + quadrillion: Juta-juta + thousand: Ribu + trillion: Trilion + unit: '' + format: + delimiter: '' + precision: 3 + significant: true + strip_insignificant_zeros: true + storage_units: + format: "%n %u" + units: + byte: + one: Bait + other: Bait + gb: GB + kb: KB + mb: MB + tb: TB + percentage: + format: + delimiter: '' + precision: + format: + delimiter: '' + support: + array: + last_word_connector: ", dan " + two_words_connector: " dan " + words_connector: ", " + time: + am: am + formats: + default: "%a, %d %b %Y %H:%M:%S %z" + long: "%d %B, %Y %H:%M" + short: "%d %b %H:%M" + pm: pm diff --git a/examples/i18n/data/lang/nb.yml b/examples/i18n/data/lang/nb.yml new file mode 100644 index 0000000..053b1ee --- /dev/null +++ b/examples/i18n/data/lang/nb.yml @@ -0,0 +1,221 @@ +--- +nb: + activerecord: + errors: + messages: + record_invalid: 'Det oppstod feil: %{errors}' + restrict_dependent_destroy: + has_one: Kan ikke slette registreringen, fordi %{count} %{record} avhenger av denne. + has_many: Kan ikke slette registreringen, fordi %{record} avhenger av denne. + date: + abbr_day_names: + - søn + - man + - tir + - ons + - tor + - fre + - lør + abbr_month_names: + - + - jan + - feb + - mar + - apr + - mai + - jun + - jul + - aug + - sep + - okt + - nov + - des + day_names: + - søndag + - mandag + - tirsdag + - onsdag + - torsdag + - fredag + - lørdag + formats: + default: "%d.%m.%Y" + long: "%e. %B %Y" + short: "%e. %b" + month_names: + - + - januar + - februar + - mars + - april + - mai + - juni + - juli + - august + - september + - oktober + - november + - desember + order: + - :day + - :month + - :year + datetime: + distance_in_words: + about_x_hours: + one: rundt %{count} time + other: rundt %{count} timer + about_x_months: + one: rundt %{count} måned + other: rundt %{count} måneder + about_x_years: + one: rundt %{count} år + other: rundt %{count} år + almost_x_years: + one: nesten %{count} år + other: nesten %{count} år + half_a_minute: et halvt minutt + less_than_x_seconds: + one: mindre enn %{count} sekund + other: mindre enn %{count} sekunder + less_than_x_minutes: + one: mindre enn %{count} minutt + other: mindre enn %{count} minutter + over_x_years: + one: over %{count} år + other: over %{count} år + x_seconds: + one: "%{count} sekund" + other: "%{count} sekunder" + x_minutes: + one: "%{count} minutt" + other: "%{count} minutter" + x_days: + one: "%{count} dag" + other: "%{count} dager" + x_months: + one: "%{count} måned" + other: "%{count} måneder" + x_years: + one: "%{count} år" + other: "%{count} år" + prompts: + second: sekund + minute: minutt + hour: time + day: dag + month: måned + year: år + errors: + format: "%{attribute} %{message}" + messages: + accepted: må være akseptert + blank: kan ikke være tom + confirmation: er ikke lik %{attribute} + empty: kan ikke være tom + equal_to: må være lik %{count} + even: må være partall + exclusion: er reservert + greater_than: må være større enn %{count} + greater_than_or_equal_to: må være større enn eller lik %{count} + inclusion: er ikke inkludert i listen + invalid: er ugyldig + less_than: må være mindre enn %{count} + less_than_or_equal_to: må være mindre enn eller lik %{count} + model_invalid: 'Det oppstod feil: %{errors}' + not_a_number: er ikke et tall + not_an_integer: er ikke et heltall + odd: må være oddetall + other_than: kan ikke være nøyaktig %{count} + present: må være tom + required: må eksistere + taken: er allerede i bruk + too_long: + one: er for lang (maksimalt %{count} tegn) + other: er for lang (maksimalt %{count} tegn) + too_short: + one: er for kort (minst %{count} tegn) + other: er for kort (minst %{count} tegn) + wrong_length: + one: har feil lengde (må være %{count} tegn) + other: har feil lengde (må være %{count} tegn) + template: + body: 'Det oppstod problemer med følgende felt:' + header: + one: Kunne ikke lagre %{model} på grunn av én feil. + other: Kunne ikke lagre %{model} på grunn av %{count} feil. + helpers: + select: + prompt: Vennligst velg + submit: + create: Lag %{model} + submit: Lagre %{model} + update: Oppdater %{model} + number: + currency: + format: + delimiter: " " + format: "%n %u" + precision: 2 + separator: "," + significant: false + strip_insignificant_zeros: false + unit: kr + format: + delimiter: " " + precision: 2 + separator: "," + significant: false + strip_insignificant_zeros: true + human: + decimal_units: + format: "%n %u" + units: + billion: + one: milliard + other: milliarder + million: + one: million + other: millioner + quadrillion: + one: billiard + other: billiarder + thousand: tusen + trillion: + one: billion + other: billioner + unit: '' + format: + delimiter: " " + precision: 1 + significant: false + strip_insignificant_zeros: true + storage_units: + format: "%n %u" + units: + byte: + one: Byte + other: Bytes + gb: GB + kb: kB + mb: MB + tb: TB + percentage: + format: + delimiter: '' + format: "%n%" + precision: + format: + delimiter: '' + support: + array: + last_word_connector: " og " + two_words_connector: " og " + words_connector: ", " + time: + am: '' + formats: + default: "%A, %e. %B %Y, %H:%M" + long: "%A, %e. %B %Y, %H:%M" + short: "%e. %B, %H:%M" + pm: '' diff --git a/examples/i18n/data/lang/ne.yml b/examples/i18n/data/lang/ne.yml new file mode 100644 index 0000000..5986dd1 --- /dev/null +++ b/examples/i18n/data/lang/ne.yml @@ -0,0 +1,205 @@ +--- +ne: + activerecord: + errors: + messages: + record_invalid: 'मान्य भएन: %{errors}' + restrict_dependent_destroy: + has_one: रेकर्ड मेटाउन सक्दैन किनभने एउटा निर्भर %{record} अवस्थित छ + has_many: रेकर्ड मेटाउन सक्दैन किनभने धेरै निर्भर %{record} अवस्थित छन + date: + abbr_day_names: + - आईत + - सोम + - मंगल + - बुध + - बिही + - शुक्र + - शनि + abbr_month_names: + - + - जन. + - फेब्रु. + - मार्च + - अप्रिल + - मई + - जुन + - जुलाई + - अगष्ट + - सेप्ट. + - अक्टो. + - नोभ. + - डिसे. + day_names: + - आईतबार + - सोमबार + - मंगलबार + - बुधबार + - बिहीबार + - शुक्रबार + - शनिबार + formats: + default: "%Y-%m-%d" + long: "%d %B %Y" + short: "%d %b" + month_names: + - + - जनवरी + - फेब्रुवरी + - मार्च + - अप्रिल + - मई + - जुन + - जुलाई + - अगष्ट + - सेप्टेम्बार + - अक्टोबर + - नोभेम्बर + - डिसेम्बर + order: + - :year + - :month + - :day + datetime: + distance_in_words: + about_x_hours: + one: लगभग %{count} घण्टा + other: लगभग %{count} घण्टा + about_x_months: + one: लगभग %{count} महिना + other: लगभग %{count} महिना + about_x_years: + one: लगभग %{count} बर्ष + other: लगभग %{count} बर्ष + almost_x_years: + one: झण्डै %{count} बर्ष + other: झण्डै %{count} बर्ष + half_a_minute: आधा मिनेट + less_than_x_seconds: + one: "%{count} सेकेण्डभन्दा कम्ति" + other: "%{count} सेकेण्डभन्दा कम्ति" + less_than_x_minutes: + one: "%{count} मिनेटभन्दा कम्ति" + other: "%{count} मिनेटभन्दा कम्ति" + over_x_years: + one: "%{count} बर्षभन्दा बढी" + other: "%{count} बर्षभन्दा बेसी" + x_seconds: + one: "%{count} सेकेण्ड" + other: "%{count} सेकेण्ड" + x_minutes: + one: "%{count} मिनेट" + other: "%{count} मिनेट" + x_days: + one: "%{count} दिन" + other: "%{count} दिन" + x_months: + one: "%{count} महिना" + other: "%{count} महिना" + prompts: + second: सेकेण्ड + minute: मिनेट + hour: घण्टा + day: दिन + month: महिना + year: बर्ष + errors: + format: "%{attribute} %{message}" + messages: + accepted: स्वीकार गरिनुपर्नेछ + blank: खाली हुन सक्दैन + confirmation: पुष्टिकरणसँग मेल खाँदैन + empty: रित्तो हुन सक्दैन + equal_to: "%{count} सँग बराबर हुनुपर्नेछ" + even: जोर संख्या हुनुपर्नेछ + exclusion: प्रयोगको लागी संरक्षित छ + greater_than: "%{count} भन्दा बेसी हुनुपर्नेछ" + greater_than_or_equal_to: "%{count} सँग बराबर अथवा बेसी हुनुपर्नेछ" + inclusion: सुचीमा सामेल गरिएको छैन + invalid: अमान्य छ + less_than: "%{count} भन्दा कम हुनुपर्नेछ" + less_than_or_equal_to: "%{count} सँग बराबर अथवा कम हुनुपर्नेछ" + not_a_number: अंक होईन + not_an_integer: पुर्णाकं हुनुपर्नेछ + odd: बिजोर संख्या हुनुपर्नेछ + taken: पहिल्यै प्रयोग गरीएको छ + too_long: + one: धेरै लामो छ (अधिक्तम %{count} character हो) + other: धेरै लामो छ (अधिक्तम %{count} characters हो) + too_short: + one: धेरै छोटो छ (न्युनत्तम %{count} character हो) + other: धेरै छोटो छ (न्युनत्तम %{count} characters हो) + wrong_length: + one: गलत लम्बाई हो (%{count} character हुनुपर्नेछ) + other: गलत लम्बाई हो (%{count} characters हुनुपर्नेछ) + template: + body: 'त्यहाँ निम्न क्षेत्रहरुमा समस्या देखियो:' + header: + one: "%{count} गल्तीले यस %{model} लाई सुरक्षित गर्नबाट रोक्यो" + other: "%{count} गल्तीले यस %{model} लाई सुरक्षित गर्नबाट रोक्यो" + helpers: + select: + prompt: कृपया छान्नुहोस् + submit: + create: नयाँ %{model} बनाउ + submit: "%{model} सुरक्षित गर" + update: "%{model} सामयिक बनाउ" + number: + currency: + format: + delimiter: "," + format: "%u%n" + precision: 2 + separator: "." + significant: false + strip_insignificant_zeros: false + unit: रू + format: + delimiter: "," + precision: 3 + separator: "." + significant: false + strip_insignificant_zeros: false + human: + decimal_units: + format: "%n %u" + units: + billion: अर्ब + million: Million + quadrillion: Quadrillion + thousand: हजार + trillion: Trillion + unit: '' + format: + delimiter: '' + precision: 3 + significant: true + strip_insignificant_zeros: true + storage_units: + format: "%n %u" + units: + byte: + one: Byte + other: Bytes + gb: जि.बी. + kb: के.बी. + mb: एम.बी + tb: टि.बी + percentage: + format: + delimiter: '' + precision: + format: + delimiter: '' + support: + array: + last_word_connector: ", र " + two_words_connector: " र " + words_connector: ", " + time: + am: बिहान + formats: + default: "%a, %d %b %Y %H:%M:%S %z" + long: "%d %B %Y %H:%M" + short: "%d %b %H:%M" + pm: बेलुका diff --git a/examples/i18n/data/lang/nl.yml b/examples/i18n/data/lang/nl.yml new file mode 100644 index 0000000..89c21b0 --- /dev/null +++ b/examples/i18n/data/lang/nl.yml @@ -0,0 +1,213 @@ +--- +nl: + activerecord: + errors: + messages: + record_invalid: 'Validatie mislukt: %{errors}' + restrict_dependent_destroy: + has_one: Kan item niet verwijderen omdat %{record} afhankelijk is + has_many: Kan item niet verwijderen omdat afhankelijke %{record} bestaan + date: + abbr_day_names: + - zo + - ma + - di + - wo + - do + - vr + - za + abbr_month_names: + - + - jan + - feb + - mrt + - apr + - mei + - jun + - jul + - aug + - sep + - okt + - nov + - dec + day_names: + - zondag + - maandag + - dinsdag + - woensdag + - donderdag + - vrijdag + - zaterdag + formats: + default: "%d-%m-%Y" + long: "%e %B %Y" + short: "%e %b" + month_names: + - + - januari + - februari + - maart + - april + - mei + - juni + - juli + - augustus + - september + - oktober + - november + - december + order: + - :day + - :month + - :year + datetime: + distance_in_words: + about_x_hours: + one: ongeveer een uur + other: ongeveer %{count} uur + about_x_months: + one: ongeveer een maand + other: ongeveer %{count} maanden + about_x_years: + one: ongeveer een jaar + other: ongeveer %{count} jaar + almost_x_years: + one: bijna een jaar + other: bijna %{count} jaar + half_a_minute: een halve minuut + less_than_x_seconds: + one: minder dan een seconde + other: minder dan %{count} seconden + less_than_x_minutes: + one: minder dan een minuut + other: minder dan %{count} minuten + over_x_years: + one: meer dan een jaar + other: meer dan %{count} jaar + x_seconds: + one: "%{count} seconde" + other: "%{count} seconden" + x_minutes: + one: "%{count} minuut" + other: "%{count} minuten" + x_days: + one: "%{count} dag" + other: "%{count} dagen" + x_months: + one: "%{count} maand" + other: "%{count} maanden" + x_years: + one: "%{count} jaar" + other: "%{count} jaar" + prompts: + second: seconde + minute: minuut + hour: uur + day: dag + month: maand + year: jaar + errors: + format: "%{attribute} %{message}" + messages: + accepted: moet worden geaccepteerd + blank: moet opgegeven zijn + confirmation: komt niet overeen met %{attribute} + empty: moet opgegeven zijn + equal_to: moet gelijk zijn aan %{count} + even: moet even zijn + exclusion: is gereserveerd + greater_than: moet groter zijn dan %{count} + greater_than_or_equal_to: moet groter dan of gelijk zijn aan %{count} + inclusion: is niet in de lijst opgenomen + invalid: is ongeldig + less_than: moet minder zijn dan %{count} + less_than_or_equal_to: moet minder dan of gelijk zijn aan %{count} + model_invalid: 'Validatie mislukt: %{errors}' + not_a_number: is geen getal + not_an_integer: moet een geheel getal zijn + odd: moet oneven zijn + other_than: moet anders zijn dan %{count} + present: moet leeg zijn + required: moet bestaan + taken: is al in gebruik + too_long: + one: is te lang (maximaal %{count} teken) + other: is te lang (maximaal %{count} tekens) + too_short: + one: is te kort (minimaal %{count} teken) + other: is te kort (minimaal %{count} tekens) + wrong_length: + one: heeft onjuiste lengte (moet %{count} teken lang zijn) + other: heeft onjuiste lengte (moet %{count} tekens lang zijn) + template: + body: 'Er zijn problemen met de volgende velden:' + header: + one: "%{model} niet opgeslagen: %{count} fout gevonden" + other: "%{model} niet opgeslagen: %{count} fouten gevonden" + helpers: + select: + prompt: Maak een keuze + submit: + create: "%{model} toevoegen" + submit: "%{model} opslaan" + update: "%{model} bijwerken" + number: + currency: + format: + delimiter: "." + format: "%u %n" + precision: 2 + separator: "," + significant: false + strip_insignificant_zeros: false + unit: "€" + format: + delimiter: "." + precision: 2 + separator: "," + significant: false + strip_insignificant_zeros: false + human: + decimal_units: + format: "%n %u" + units: + billion: miljard + million: miljoen + quadrillion: biljard + thousand: duizend + trillion: biljoen + unit: '' + format: + delimiter: '' + precision: 3 + significant: true + strip_insignificant_zeros: true + storage_units: + format: "%n %u" + units: + byte: + one: byte + other: bytes + gb: GB + kb: KB + mb: MB + tb: TB + percentage: + format: + delimiter: '' + format: "%n%" + precision: + format: + delimiter: '' + support: + array: + last_word_connector: " en " + two_words_connector: " en " + words_connector: ", " + time: + am: "'s ochtends" + formats: + default: "%a %d %b %Y %H:%M:%S %Z" + long: "%d %B %Y %H:%M" + short: "%d %b %H:%M" + pm: "'s middags" diff --git a/examples/i18n/data/lang/nn.yml b/examples/i18n/data/lang/nn.yml new file mode 100644 index 0000000..43d4b51 --- /dev/null +++ b/examples/i18n/data/lang/nn.yml @@ -0,0 +1,208 @@ +--- +nn: + activerecord: + errors: + messages: + record_invalid: 'Valideringa mislukka: %{errors}' + restrict_dependent_destroy: + has_one: Kan ikkje sletta registreringa, fordi 1 avhengig %{record} finst. + has_many: Kan ikkje sletta registreringa, fordi avhengige %{record} finst. + date: + abbr_day_names: + - sun + - mån + - tys + - ons + - tor + - fre + - lau + abbr_month_names: + - + - jan + - feb + - mar + - apr + - mai + - jun + - jul + - aug + - sep + - okt + - nov + - des + day_names: + - sundag + - måndag + - tysdag + - onsdag + - torsdag + - fredag + - laurdag + formats: + default: "%d.%m.%Y" + long: "%e. %B %Y" + short: "%e. %b" + month_names: + - + - januar + - februar + - mars + - april + - mai + - juni + - juli + - august + - september + - oktober + - november + - desember + order: + - :day + - :month + - :year + datetime: + distance_in_words: + about_x_hours: + one: rundt %{count} time + other: rundt %{count} timar + about_x_months: + one: rundt %{count} månad + other: rundt %{count} månader + about_x_years: + one: rundt %{count} år + other: rundt %{count} år + almost_x_years: nesten %{count} år + half_a_minute: eit halvt minutt + less_than_x_seconds: + one: mindre enn %{count} sekund + other: mindre enn %{count} sekund + less_than_x_minutes: + one: mindre enn %{count} minutt + other: mindre enn %{count} minutt + over_x_years: + one: over %{count} år + other: over %{count} år + x_seconds: + one: "%{count} sekund" + other: "%{count} sekund" + x_minutes: + one: "%{count} minutt" + other: "%{count} minutt" + x_days: + one: "%{count} dag" + other: "%{count} dagar" + x_months: + one: "%{count} månad" + other: "%{count} månader" + prompts: + second: Sekund + minute: Minutt + hour: Time + day: Dag + month: Månad + year: År + errors: + format: "%{attribute} %{message}" + messages: + accepted: må vera akseptert + blank: kan ikkje vera blank + confirmation: er ikkje lik %{attribute} + empty: kan ikkje vera tom + equal_to: må vera lik %{count} + even: må vera partal + exclusion: er reservert + greater_than: må vera større enn %{count} + greater_than_or_equal_to: må vera større enn eller lik %{count} + inclusion: er ikkje inkludert i lista + invalid: er ugyldig + less_than: må vera mindre enn %{count} + less_than_or_equal_to: må vera mindre enn eller lik %{count} + model_invalid: 'Valideringa mislukka: %{errors}' + not_a_number: er ikkje eit tal + not_an_integer: er ikkje eit heiltal + odd: må vera oddetal + other_than: må vera noko anna enn %{count} + present: må vera blank + required: må eksistera + taken: er allereie i bruk + too_long: er for lang (maksimum %{count} teikn) + too_short: er for kort (minimum %{count} teikn) + wrong_length: har feil lengde (maksimum %{count} teikn) + template: + body: 'det oppstod problem i følgjande felt:' + header: kunne ikkje lagra %{model} grunna %{count} feil. + helpers: + select: + prompt: Gjer eit val + submit: + create: Lag %{model} + submit: Lagre %{model} + update: Oppdater %{model} + number: + currency: + format: + delimiter: "," + format: "%n %u" + precision: 2 + separator: "." + significant: false + strip_insignificant_zeros: false + unit: kr + format: + delimiter: "," + precision: 2 + separator: "." + significant: false + strip_insignificant_zeros: false + human: + decimal_units: + format: "%n %u" + units: + billion: + one: milliard + other: milliardar + million: + one: million + other: millionar + quadrillion: + one: billiard + other: billiardar + thousand: tusen + trillion: + one: billion + other: billionar + unit: '' + format: + delimiter: '' + precision: 3 + significant: true + strip_insignificant_zeros: true + storage_units: + format: "%n %u" + units: + byte: + one: Byte + other: Bytes + gb: GB + kb: kB + mb: MB + tb: TB + percentage: + format: + delimiter: '' + format: "%n%" + precision: + format: + delimiter: '' + support: + array: + last_word_connector: " og " + two_words_connector: " og " + words_connector: ", " + time: + am: '' + formats: + default: "%A, %e. %B %Y, %H:%M" + long: "%A, %e. %B %Y, %H:%M" + short: "%e. %B, %H:%M" + pm: '' diff --git a/examples/i18n/data/lang/oc.yml b/examples/i18n/data/lang/oc.yml new file mode 100644 index 0000000..68e46e5 --- /dev/null +++ b/examples/i18n/data/lang/oc.yml @@ -0,0 +1,212 @@ +--- +oc: + activerecord: + errors: + messages: + record_invalid: La validacion a fracassat : %{errors} + restrict_dependent_destroy: + has_one: Podètz pas suprimir l’enregistrament perque i a una dependéncia + has_many: Podètz pas suprimir l’enregistrament perque i a %{record} dependéncias + date: + abbr_day_names: + - dg + - dl + - dm + - dc + - dj + - dv + - ds + abbr_month_names: + - + - gen + - feb + - març + - abr + - mai + - junh + - jul + - ago + - set + - oct + - nov + - dec + day_names: + - dimenge + - diluns + - dimars + - dimècres + - dijòus + - divendres + - dissabte + formats: + default: "%e/%m/%Y" + long: Lo %e %B de %Y + short: "%e %b" + month_names: + - + - de genièr + - de febrièr + - de març + - d’abrial + - de mai + - de junh + - de julhet + - d’agost + - de setembre + - d’octòbre + - de novembre + - de decembre + order: + - :day + - :month + - :year + datetime: + distance_in_words: + about_x_hours: + one: Fa una ora + other: Fa %{count} oras + about_x_months: + one: Fa un mes + other: Fa %{count} meses + about_x_years: + one: Fa un an + other: Fa %{count} ans + almost_x_years: + one: quasi un an + other: quasi %{count} ans + half_a_minute: mièja minuta + less_than_x_seconds: + one: mens d’una segonda + other: mens de %{count} segondas + less_than_x_minutes: + one: mens d’una minuta + other: mens de %{count} minutas + over_x_years: + one: mai d’un an + other: mai de %{count} ans + x_seconds: + one: una segonda + other: "%{count} segondas" + x_minutes: + one: una minuta + other: "%{count} minutas" + x_days: + one: un jorn + other: "%{count} jorns" + x_months: + one: un mes + other: "%{count} meses" + x_years: + one: un an + other: "%{count} ans" + prompts: + second: segonda + minute: minuta + hour: ora + day: jorn + month: mes + year: an + errors: + format: "%{attribute} %{message}" + messages: + accepted: deu èsser acceptat + blank: deu èsser garnit + confirmation: correspond pas a %{attribute} + empty: pòt pas èsser void + equal_to: deu èsser egal a %{count} + even: deu èsser parelh + exclusion: es reservat + greater_than: deu èsser superior a %{count} + greater_than_or_equal_to: deu èsser mai grand o egal a %{count} + inclusion: es pas inclús dins la lista + invalid: es pas valid + less_than: deu èsser inferior a %{count} + less_than_or_equal_to: deu èsser inferior o egal a %{count} + model_invalid: Validacion fracassada : %{errors} + not_a_number: es pas un nombre + not_an_integer: deu èsser un nombre entièr + odd: deu èsser un nombre impar + other_than: deu èsser diferent de %{count} + present: deu èsser void + required: deu existir + taken: es pas disponible + too_long: + one: es tròp long (pas mai d’un caractèr) + other: es tròp long (%{count} caractèrs al maximum) + too_short: + one: es tròp cort (almens un caractèr) + other: es tròp cort (almens %{count} caractèrs) + wrong_length: + one: a pas la bona longor (un caractèr solament) + other: a pas la bona longor (%{count} caractèrs exactament) + template: + body: I a agut de problèmas amb los camps seguents :  + header: + one: Impossible d’enregistrar aqueste/a %{model} perque i a %{count} error + other: Impossible d’enregistrar aqueste/a %{model} perque i a %{count} errors + helpers: + select: + prompt: Mercés de seleccionar + submit: + create: Crear %{model} + submit: Salvar %{model} + update: Actualizar %{model} + number: + currency: + format: + delimiter: "." + format: "%n %u" + precision: 2 + separator: "," + significant: false + strip_insignificant_zeros: false + unit: "€" + format: + delimiter: "." + precision: 3 + separator: "," + significant: false + strip_insignificant_zeros: false + human: + decimal_units: + format: "%n %u" + units: + billion: miliard + million: milion + quadrillion: milion de miliards + thousand: mila + trillion: bilion + unit: '' + format: + delimiter: '' + precision: 3 + significant: true + strip_insignificant_zeros: true + storage_units: + format: "%n %u" + units: + byte: + one: octet + other: octets + gb: Go + kb: ko + mb: Mo + tb: To + percentage: + format: + delimiter: "%n%" + precision: + format: + delimiter: '' + support: + array: + last_word_connector: ", e " + two_words_connector: " e " + words_connector: ", " + time: + am: am + formats: + default: Lo %e %b de %Y a %Ho%M %Ss + long: Lo %a %e %b de %Y a %Ho%M + short: "%e %b %Ho%M" + pm: pm diff --git a/examples/i18n/data/lang/or.yml b/examples/i18n/data/lang/or.yml new file mode 100644 index 0000000..0502b58 --- /dev/null +++ b/examples/i18n/data/lang/or.yml @@ -0,0 +1,196 @@ +--- +or: + activerecord: + errors: + messages: + record_invalid: 'ସଠିକ୍ ନୁହ: %{errors}' + date: + abbr_day_names: + - ରବି + - ସୋମ + - ମଂଗଳ + - ବୁଧ + - ଗୁରୁ + - ଶୁକ୍ର + - ଶନି + abbr_month_names: + - + - ଜାନୁ + - ଫେବରୁ + - ମାର + - ଏପ୍ର + - ମାଈ + - ଜୁନ୍ + - ଜୁଲ୍ + - ଅଗସ୍ଟ + - ସେପ୍ଟ + - ଅକ୍ଟ + - ନୋଭ + - ଡିସ୍ + day_names: + - ରବିବାର + - ସୋମବାର + - ମଗଂଳବାର + - ବୁଧବାର + - ଗୁରୁବାର + - ଶୁକ୍ରବାର + - ଶନିବାର + formats: + default: "%Y-%m-%d" + long: "%B %d, %Y" + short: "%b %d" + month_names: + - + - ଜାନୁୟାରୀ + - ଫେବୃୟାରୀ + - ମାର୍ଚ଼ + - ଏପ୍ରଲ + - ମାଈ + - ଜୁନ୍ + - ଜୁଲାୟ + - ଅଗଷ୍ତ + - ସେପ୍ଟମ୍ବର୍ + - ଅକ୍ଟୋବର୍ + - ନୋଭେମ୍ବର + - ଡିସମ୍ବର + order: + - :year + - :month + - :day + datetime: + distance_in_words: + about_x_hours: + one: ପାଖାପାଖି %{count} ଘଣ୍ତ + other: ପାଖାପାଖି %{count} ଘଣ୍ତ + about_x_months: + one: ପାଖାପାଖି %{count} ମାସ + other: ପାଖାପାଖି %{count} ମାସ + about_x_years: + one: ପାଖାପାଖି %{count} year + other: ପାଖାପାଖି %{count} years + almost_x_years: + one: ଅଳ୍ପ ଉଣ %{count} ବର୍ଷ + other: ଅଳ୍ପ ଉଣ %{count} ବର୍ଷ + half_a_minute: ଦେଢ ମିନଟ୍ + less_than_x_seconds: + one: "%{count} ସେକଣ୍ଢ ବାକ" + other: "%{count} ସେକଣ୍ଢ ବାକ" + less_than_x_minutes: + one: "%{count} ମିନଟ ବାକ" + other: "%{count} ମିନଟ ବାକ" + over_x_years: + one: "%{count} ବର୍ଷରୁ ଅଧିକ" + other: "%{count} ବର୍ଷରୁ ଅଧିକ" + x_seconds: + one: "%{count} ସେକଣ୍ଢ" + other: "%{count} ସେକଣ୍ଢ" + x_minutes: + one: "%{count} ମିନଟ" + other: "%{count} ମିନଟ" + x_days: + one: "%{count} ଦିନ" + other: "%{count} ଦିନ" + x_months: + one: "%{count} ମାସ" + other: "%{count} ମାସ" + prompts: + second: ସେକଣ୍ଢ + minute: ମିନଟ + hour: ଘଣ୍ତ + day: ଦିନ + month: ମାସ + year: ବର୍ଷ + errors: + format: "%{attribute} %{message}" + messages: + accepted: ଗ୍ରହଣ କରିବାର ଅଛି + blank: ଖାଲି ହେଇ ପାରୀବନ + confirmation: ପ୍ରମାଣ ହେଇନି + empty: ଖାଲି ହେଇପାରିବନି + equal_to: "%{count} କୁ ସମାନ" + even: ଯୁଗ୍ମ ହେବାର ଅଛି + exclusion: ସୁରଖିତ ଅଟେ + greater_than: "%{count} ରୁ ବଡ ହେବାର ଅଛି" + greater_than_or_equal_to: "%{count} ରୁ ବଡ କିମ୍ବା ସମାନ ହେବାର ଅଛି" + inclusion: ସୁଚୀ ରେ ଅନ୍ତର୍ଭୁକ୍ତ ନୁହେଁ + invalid: ଠିକ୍ ନୁହେଁ + less_than: "%{count} ରୁ ଛୋଟ" + less_than_or_equal_to: "%{count} ରୁ ଛୋଟ କିମ୍ବା ସମାନ ହେବାର ଅଛି" + not_a_number: ସଂଖ୍ଯ ନୁହେଁ + not_an_integer: ଗଣନ ସଂଖ୍ଯା ହେବାର ଅଛି + odd: ଅଯୁଗ୍ମ ହେବାର ଅଛି + taken: ଗ୍ରହଣ କରା ଯାଇଛି + too_long: ଦିର୍ଘତମ ଅଟେ(ଅତ୍ୟଧୀକ %{count} ଅଖ୍ଯର) + too_short: ଅତି ସଂଖିପ୍ତ ଅଟେ (ଅତ୍ଯଳ୍ପ %{count} ଅଖ୍ଯର ଅଟେ) + wrong_length: ଲମ୍ବା ଭୁଲ ଅଟେ (%{count} ଅଖ୍ଯର ହେବା ଉଚିତ୍) + template: + body: 'ନିମ୍ନ ଜାଗା ରେ ଅସୁବିଧା ହେଇଛି:' + header: + one: "%{count} ଭୁଲ ଯଗୁଁ ନିମ୍ନ %{model} ସୁରଖିତ ହେଇପାରି ନଥିଲା" + other: "%{count} ଭୁଲ ଯଗୁଁ ଏହି %{model} ସୁରଖିତ ହେଇପାରି ନଥିଲା" + helpers: + select: + prompt: ପସନ୍ଦ କର + submit: + create: "%{model} ବନାଅ" + submit: "%{model} ସୁରଖିତ କର" + update: "%{model} ଅାଧୂନିକରଣ କର" + number: + currency: + format: + delimiter: "," + format: "%u%n" + precision: 2 + separator: "." + significant: false + strip_insignificant_zeros: false + unit: "₹" + format: + delimiter: "," + precision: 3 + separator: "." + significant: ମିଥ୍ଯା + strip_insignificant_zeros: ମିଥ୍ଯା + human: + decimal_units: + format: "%n %u" + units: + billion: ବିଲିୟନ୍ + million: ମିଲିୟନ୍ + quadrillion: ହଜାର ବିଲିୟନ୍ + thousand: ହଜାର + trillion: ଟ୍ରିଲିୟନ୍ + unit: '' + format: + delimiter: '' + precision: 3 + significant: true + strip_insignificant_zeros: true + storage_units: + format: "%n %u" + units: + byte: + one: Byte + other: Bytes + gb: GB + kb: KB + mb: MB + tb: TB + percentage: + format: + delimiter: '' + precision: + format: + delimiter: '' + support: + array: + last_word_connector: ", ଏବଂ " + two_words_connector: " ଏବଂ " + words_connector: ", " + time: + am: ପୁର୍ଵାହ୍ନ + formats: + default: "%a, %d %b %Y %H:%M:%S %z" + long: "%B %d, %Y %H:%M" + short: "%d %b %H:%M" + pm: ଅପରାହ୍ନ diff --git a/examples/i18n/data/lang/pa.yml b/examples/i18n/data/lang/pa.yml new file mode 100644 index 0000000..e36c9a4 --- /dev/null +++ b/examples/i18n/data/lang/pa.yml @@ -0,0 +1,208 @@ +--- +pa: + activerecord: + errors: + messages: + record_invalid: 'ਪਰਮਾਣ ਫ਼ੇਲ ਹੋਇਆ: %{errors}' + restrict_dependent_destroy: + has_one: ਮਿਟਾ ਨਹੀਂ ਸਕਦੇ ਕਿਉਂਕਿ ਇੱਕ ਨਿਰਭਰ %{record} ਮੌਜੂਦ ਹੈ + has_many: ਮਿਟਾ ਨਹੀਂ ਸਕਦੇ ਕਿਉਂਕਿ ਨਿਰਭਰ %{record} ਮੌਜੂਦ ਹਨ + date: + abbr_day_names: + - ਅੈਤ + - ਸੋਮ + - ਮੰਗਲ + - ਬੱੁਧ + - ਵੀਰ + - ਸ਼ੁੱਕਰ + - ਸ਼ਨਿੱਚਰ + abbr_month_names: + - + - ਜਨ + - ਫ਼ਰ + - ਮਾਰਚ + - ਅਪ੍ਰੈ + - ਮਈ + - ਜੂਨ + - ਜੁਲਾ + - ਅਗ + - ਸਤੰ + - ਅਕਤੂ + - ਨਵੰ + - ਦਸੰ + day_names: + - ਐਤਵਾਰ + - ਸੋਮਵਾਰ + - ਮੰਗਲਵਾਰ + - ਬੁੱਧਵਾਰ + - ਵੀਰਵਾਰ + - ਸ਼ੁੱਕਰਵਾਰ + - ਸ਼ਨਿੱਚਰਵਾਰ + formats: + default: "%Y-%m-%d" + long: "%d %B %Y" + short: "%d %b" + month_names: + - + - ਜਨਵਰੀ + - ਫ਼ਰਵਰੀ + - ਮਾਰਚ + - ਅਪ੍ਰੈਲ + - ਮਈ + - ਜੂਨ + - ਜੁਲਾਈ + - ਅਗਸਤ + - ਸਤੰਬਰ + - ਅਕਤੂਬਰ + - ਨਵੰਬਰ + - ਦਸੰਬਰ + order: + - :year + - :month + - :day + datetime: + distance_in_words: + about_x_hours: + one: ਲਗਭਗ %{count} ਘੰਟਾ + other: ਲਗਭਗ %{count} ਘੰਟੇ + about_x_months: + one: ਲਗਭਗ %{count} ਮਹੀਨਾ + other: ਲਗਭਗ %{count} ਮਹੀਨੇ + about_x_years: + one: ਲਗਭਗ %{count} ਸਾਲ + other: ਲਗਭਗ %{count} ਸਾਲ + almost_x_years: + one: ਤਕਰੀਬਨ %{count} ਸਾਲ + other: ਤਕਰੀਬਨ %{count} ਸਾਲ + half_a_minute: ਅੱਧਾ ਮਿੰਟ + less_than_x_seconds: + one: "%{count} ਸਕਿੰਟ ਤੋਂ ਘੱਟ" + other: "%{count} ਸਕਿੰਟਾਂ ਤੋਂ ਘੱਟ" + less_than_x_minutes: + one: "%{count} ਮਿੰਟ ਤੋਂ ਘੱਟ" + other: "%{count} ਮਿੰਟਾਂ ਤੋਂ ਘੱਟ" + over_x_years: + one: "%{count} ਸਾਲ ਤੋਂ ਵੱਧ" + other: "%{count} ਸਾਲਾਂ ਤੋਂ ਵੱਧ" + x_seconds: + one: "%{count} ਸਕਿੰਟ" + other: "%{count} ਸਕਿੰਟ" + x_minutes: + one: "%{count} ਮਿੰਟ" + other: "%{count} ਮਿੰਟ" + x_days: + one: "%{count} ਦਿਨ" + other: "%{count} ਦਿਨ" + x_months: + one: "%{count} ਮਹੀਨਾ" + other: "%{count} ਮਹੀਨੇ" + prompts: + second: ਸਕਿੰਟ + minute: ਮਿੰਟ + hour: ਘੰਟਾ + day: ਦਿਨ + month: ਮਹੀਨਾ + year: ਸਾਲ + errors: + format: "%{attribute} %{message}" + messages: + accepted: ਜਰੂਰ ਮੰਜੂਰ ਹੋਵੇ + blank: ਖਾਲੀ ਨਹੀਂ ਹੋ ਸਕਦਾ + confirmation: "%{attribute} ਨਹੀਂ ਰਲਦੇ" + empty: ਖਾਲੀ ਨਹੀਂ ਹੋ ਸਕਦਾ + equal_to: "%{count} ਦੇ ਬਰਾਬਰ ਹੋਣਾ ਚਾਹੀਦਾ ਹੈ" + even: ਜਰੂਰੀ ਹੈ ਕੇ ਜੋਟਾ ਹੋਵੇ + exclusion: ਮੱਲਿਆ ਹੋਇਆ ਹੈ + greater_than: "%{count} ਤੋਂ ਵਧੇਰੇ ਹੋਣਾ ਜਰੂਰੀ ਹੈ" + greater_than_or_equal_to: "%{count} ਤੋਂ ਵਧੇਰੇ ਜਾਂ ਬਰਾਬਰ ਹੋਣਾ ਜਰੂਰੀ ਹੈ" + inclusion: ਇਸ ਲਿਸਟ ਵਿੱਚ ਸ਼ਾਮਿਲ ਨਹੀਂ ਹੈ + invalid: ਨਾ-ਮੰਜੂਰਸ਼ੁਦਾ ਹੈ + less_than: "%{count} ਤੋਂ ਘੱਟ ਹੋਣਾ ਜਰੂਰੀ ਹੈ" + less_than_or_equal_to: "%{count} ਤੋਂ ਘੱਟ ਜਾਂ ਬਰਾਬਰ ਹੋਣਾ ਜਰੂਰੀ ਹੈ" + not_a_number: ਸੰਖਿਆ ਨਹੀਂ ਹੈ + not_an_integer: ਜਰੂਰੀ ਹੈ ਕੇ ਪੂਰਨ ਅੰਕ ਹੋਵੇ + odd: ਜਰੂਰੀ ਹੈ ਕੇ ਕਲ਼ੀ ਹੋਵੇ + other_than: "%{count} ਦੀ ਜਗ੍ਹਾ ਹੋਰ ਹੋਣੀ ਚਾਹੀਦੀ ਹੈ" + present: ਜਰੂਰ ਖਾਲੀ ਹੋਵੇ + taken: ਪਹਿਲਾਂ ਹੀ ਮੱਲਿਆ ਹੋਇਆ ਹੈ + too_long: + one: ਲੰਬਾਈ ਜ਼ਿਆਦਾ ਹੈ (ਵੱਧ ਤੋਂ ਵੱਧ %{count} ਅੱਖਰ) + other: ਲੰਬਾਈ ਜ਼ਿਆਦਾ ਹੈ (ਵੱਧ ਤੋਂ ਵੱਧ %{count} ਅੱਖਰ) + too_short: + one: ਲੰਬਾਈ ਘੱਟ ਹੈ (ਘੱਟ ਤੋਂ ਘੱਟ %{count} ਅੱਖਰ) + other: ਲੰਬਾਈ ਘੱਟ ਹੈ (ਘੱਟ ਤੋਂ ਘੱਟ %{count} ਅੱਖਰ) + wrong_length: + one: ਲੰਬਾਈ ਗਲਤ ਹੈ (%{count} ਅੱਖਰ ਹੋਣੀ ਚਾਹੀਦੀ ਹੈ) + other: ਲੰਬਾਈ ਗਲਤ ਹੈ (%{count} ਅੱਖਰ ਹੋਣੀ ਚਾਹੀਦੀ ਹੈ) + template: + body: 'ਹੇਠਲੇ ਖੇਤਰਾਂ ਵਿੱਚ ਗਲਤੀਆਂ ਹਨ:' + header: + one: "%{count} ਗਲਤੀ ਕਰਕੇ ਇਹ %{model} ਸੰਭਾਲਿ਼ਆ ਨਹੀਂ ਗਿਆ" + other: "%{count} ਗਲਤੀਆਂ ਕਰਕੇ ਇਹ %{model} ਸੰਭਾਲਿ਼ਆ ਨਹੀਂ ਗਿਆ" + helpers: + select: + prompt: ਕਿਰਪਾ ਕਰਕੇ ਚੁਣੋ + submit: + create: "%{model} ਬਣਾਓ" + submit: "%{model} ਬਚਾਓ" + update: "%{model} ਬਦਲੋ" + number: + currency: + format: + delimiter: "," + format: "%u%n" + precision: 2 + separator: "." + significant: false + strip_insignificant_zeros: false + unit: "$" + format: + delimiter: "," + precision: 3 + separator: "." + significant: false + strip_insignificant_zeros: false + human: + decimal_units: + format: "%n %u" + units: + billion: ਬਿਲੀਅਨ + million: ਮਿਲੀਅਨ + quadrillion: ਕ੍ਵਾਡਰਿਲੀਅਨ + thousand: ਹਜ਼ਾਰ + trillion: ਟ੍ਰਿਲੀਅਨ + unit: '' + format: + delimiter: '' + precision: 3 + significant: true + strip_insignificant_zeros: true + storage_units: + format: "%n %u" + units: + byte: + one: ਬਾਈਟ + other: ਬਾਈਟ + gb: GB + kb: KB + mb: MB + tb: TB + percentage: + format: + delimiter: '' + format: "%n%" + precision: + format: + delimiter: '' + support: + array: + last_word_connector: ", ਅਤੇ " + two_words_connector: " ਅਤੇ " + words_connector: ", " + time: + am: ਸਵੇਰ + formats: + default: "%a, %d %b %Y %H:%M:%S %z" + long: "%d %B %Y %H:%M" + short: "%d %b %H:%M" + pm: ਸ਼ਾਮ diff --git a/examples/i18n/data/lang/pap-AW.yml b/examples/i18n/data/lang/pap-AW.yml new file mode 100644 index 0000000..d26605f --- /dev/null +++ b/examples/i18n/data/lang/pap-AW.yml @@ -0,0 +1,215 @@ +# pap-AW merged M. Maduro and Rianne Helings by Richenel Ansano for Suares & Co +pap-AW: + activerecord: + errors: + messages: + record_invalid: 'Validashon a faya: %{errors}' + restrict_dependent_destroy: + has_one: "No por kita e registro akí pasobra un otro %{record} ta dependé di dje" + has_many: "No por kita e registro akí pasobra otro %{record} ta dependé di dje" + date: + abbr_day_names: + - dum + - lun + - mar + - ras + - wep + - biè + - sab + abbr_month_names: + - + - yan + - feb + - mar + - apr + - mei + - yün + - yül + - oug + - sèp + - òkt + - nov + - des + day_names: + - djadumingu + - djaluna + - djamars + - djárason + - djaweps + - djabièrnè + - djasabra + formats: + default: '%Y-%m-%d' + long: '%B di %d, %Y' + short: '%b di %d' + month_names: + - + - yanüari + - febrüari + - mart + - aprel + - mei + - yüni + - yüli + - ougùstùs + - sèptèmber + - òktober + - novèmber + - desèmber + order: + - :year + - :month + - :day + datetime: + distance_in_words: + about_x_hours: + one: mas o ménos %{count} ora + other: mas o ménos %{count} ora + about_x_months: + one: mas o ménos %{count} luna + other: mas o ménos %{count} luna + about_x_years: + one: mas o ménos %{count} aña + other: mas o ménos %{count} aña + almost_x_years: + one: kasi %{count} aña + other: kasi %{count} aña + half_a_minute: mei minüt + less_than_x_minutes: + one: ménos ku %{count} minüt + other: ménos ku %{count} minüt + less_than_x_seconds: + one: ménos ku %{count} sekònde + other: ménos ku %{count} sekònde + over_x_years: + one: mas ku %{count} aña + other: mas ku %{count} aña + x_days: + one: "%{count} dia" + other: '%{count} dia' + x_minutes: + one: "%{count} minüt" + other: '%{count} minüt' + x_months: + one: "%{count} luna" + other: '%{count} luna' + x_years: + one: "%{count} year" + other: "%{count} years" + x_seconds: + one: "%{count} sekònde" + other: '%{count} sekònde' + prompts: + day: Dia + hour: Ora + minute: Minüt + month: Luna + second: Sekònde + year: Aña + errors: + format: '%{attribute} %{message}' + messages: + accepted: mester asept'é + blank: no por keda sin yen'é + present: mester keda bashí + confirmation: "no ta meskos %{attribute}" + empty: no por keda bashí + equal_to: mester ta meskos ku %{count} + even: mester ta par + exclusion: ta reservá + greater_than: mester ta mas grandi ku %{count} + greater_than_or_equal_to: mester ta mes òf mas grandi ku %{count} + inclusion: no ta aparesé den e lista + invalid: no ta bálido + less_than: mester ta ménos ku %{count} + less_than_or_equal_to: mester ta ménos òf mes tantu ku %{count} + model_invalid: "Validation failed: %{errors}" + not_a_number: no ta un number + not_an_integer: mester ta un number hinté + odd: mester ta impar + required: must exist + taken: ta usá kaba + too_long: + one: ta muchu largu (máksimo ta %{count} karakter) + other: ta muchu largu (máksimo ta %{count} karakter) + too_short: + one: ta muchu kòrtiku (mínimo ta %{count} karakter) + other: ta muchu kòrtiku (mínimo ta %{count} karakter) + wrong_length: + one: su largura no ta korekto (mester ta %{count} karakter) + other: su largura no ta korekto (mester ta %{count} karakter) + other_than: "no por ta %{count}" + template: + body: 'E siguiente rúbrikanan ta duna problema:' + header: + one: "%{count} fout a pone ku no por a warda e %{model} akí" + other: '%{count} fout a pone ku no por a save e %{model} akí' + helpers: + select: + prompt: Por fabor skohe + submit: + create: Krea %{model} + submit: Warda %{model} + update: Aktualisá %{model} + number: + currency: + format: + delimiter: '.' + format: '%u%n' + precision: 2 + separator: ',' + significant: false + strip_insignificant_zeros: false + unit: ANG + format: + delimiter: '.' + precision: 3 + separator: ',' + significant: false + strip_insignificant_zeros: false + human: + decimal_units: + format: '%n %u' + units: + billion: bion + million: mion + quadrillion: kuatrion + thousand: mil + trillion: trion + unit: '' + format: + delimiter: '' + precision: 3 + significant: bèrdat + strip_insignificant_zeros: bèrdat + storage_units: + format: '%n %u' + units: + byte: + one: Bait + other: Bait + gb: GB + kb: KB + mb: MB + tb: TB + pb: PB + eb: EB + percentage: + format: + delimiter: '' + format: "%n%" + precision: + format: + delimiter: '' + support: + array: + last_word_connector: ', i ' + two_words_connector: ' i ' + words_connector: ', ' + time: + am: am + formats: + default: '%a, %d %b %Y %H.%M.%S %z' + long: '%d %B %Y %H.%M' + short: '%d %b %H.%M' + pm: pm diff --git a/examples/i18n/data/lang/pap-CW.yml b/examples/i18n/data/lang/pap-CW.yml new file mode 100644 index 0000000..d53baee --- /dev/null +++ b/examples/i18n/data/lang/pap-CW.yml @@ -0,0 +1,215 @@ +# pap-CW merged M. Maduro and Rianne Helings by Richenel Ansano for Suares & Co +pap-CW: + activerecord: + errors: + messages: + record_invalid: 'Validashon a faya: %{errors}' + restrict_dependent_destroy: + has_one: "No por kita e registro akí pasobra un otro %{record} ta dependé di dje" + has_many: "No por kita e registro akí pasobra otro %{record} ta dependé di dje" + date: + abbr_day_names: + - dum + - lun + - mar + - ras + - wep + - biè + - sab + abbr_month_names: + - + - yan + - feb + - mar + - apr + - mei + - yün + - yül + - oug + - sèp + - òkt + - nov + - des + day_names: + - djadumingu + - djaluna + - djamars + - djárason + - djaweps + - djabièrnè + - djasabra + formats: + default: '%Y-%m-%d' + long: '%B di %d, %Y' + short: '%b di %d' + month_names: + - + - yanüari + - febrüari + - mart + - aprel + - mei + - yüni + - yüli + - ougùstùs + - sèptèmber + - òktober + - novèmber + - desèmber + order: + - :year + - :month + - :day + datetime: + distance_in_words: + about_x_hours: + one: mas o ménos %{count} ora + other: mas o ménos %{count} ora + about_x_months: + one: mas o ménos %{count} luna + other: mas o ménos %{count} luna + about_x_years: + one: mas o ménos %{count} aña + other: mas o ménos %{count} aña + almost_x_years: + one: kasi %{count} aña + other: kasi %{count} aña + half_a_minute: mei minüt + less_than_x_minutes: + one: ménos ku %{count} minüt + other: ménos ku %{count} minüt + less_than_x_seconds: + one: ménos ku %{count} sekònde + other: ménos ku %{count} sekònde + over_x_years: + one: mas ku %{count} aña + other: mas ku %{count} aña + x_days: + one: "%{count} dia" + other: '%{count} dia' + x_minutes: + one: "%{count} minüt" + other: '%{count} minüt' + x_months: + one: "%{count} luna" + other: '%{count} luna' + x_years: + one: "%{count} year" + other: "%{count} years" + x_seconds: + one: "%{count} sekònde" + other: '%{count} sekònde' + prompts: + day: Dia + hour: Ora + minute: Minüt + month: Luna + second: Sekònde + year: Aña + errors: + format: '%{attribute} %{message}' + messages: + accepted: mester asept'é + blank: no por keda sin yen'é + present: mester keda bashí + confirmation: "no ta meskos %{attribute}" + empty: no por keda bashí + equal_to: mester ta meskos ku %{count} + even: mester ta par + exclusion: ta reservá + greater_than: mester ta mas grandi ku %{count} + greater_than_or_equal_to: mester ta mes òf mas grandi ku %{count} + inclusion: no ta aparesé den e lista + invalid: no ta bálido + less_than: mester ta ménos ku %{count} + less_than_or_equal_to: mester ta ménos òf mes tantu ku %{count} + model_invalid: "Validation failed: %{errors}" + not_a_number: no ta un number + not_an_integer: mester ta un number hinté + odd: mester ta impar + required: must exist + taken: ta usá kaba + too_long: + one: ta muchu largu (máksimo ta %{count} karakter) + other: ta muchu largu (máksimo ta %{count} karakter) + too_short: + one: ta muchu kòrtiku (mínimo ta %{count} karakter) + other: ta muchu kòrtiku (mínimo ta %{count} karakter) + wrong_length: + one: su largura no ta korekto (mester ta %{count} karakter) + other: su largura no ta korekto (mester ta %{count} karakter) + other_than: "no por ta %{count}" + template: + body: 'E siguiente rúbrikanan ta duna problema:' + header: + one: "%{count} fout a pone ku no por a warda e %{model} akí" + other: '%{count} fout a pone ku no por a save e %{model} akí' + helpers: + select: + prompt: Por fabor skohe + submit: + create: Krea %{model} + submit: Warda %{model} + update: Aktualisá %{model} + number: + currency: + format: + delimiter: '.' + format: '%u%n' + precision: 2 + separator: ',' + significant: false + strip_insignificant_zeros: false + unit: ANG + format: + delimiter: '.' + precision: 3 + separator: ',' + significant: false + strip_insignificant_zeros: false + human: + decimal_units: + format: '%n %u' + units: + billion: bion + million: mion + quadrillion: kuatrion + thousand: mil + trillion: trion + unit: '' + format: + delimiter: '' + precision: 3 + significant: bèrdat + strip_insignificant_zeros: bèrdat + storage_units: + format: '%n %u' + units: + byte: + one: Bait + other: Bait + gb: GB + kb: KB + mb: MB + tb: TB + pb: PB + eb: EB + percentage: + format: + delimiter: '' + format: "%n%" + precision: + format: + delimiter: '' + support: + array: + last_word_connector: ', i ' + two_words_connector: ' i ' + words_connector: ', ' + time: + am: am + formats: + default: '%a, %d %b %Y %H.%M.%S %z' + long: '%d %B %Y %H.%M' + short: '%d %b %H.%M' + pm: pm diff --git a/examples/i18n/data/lang/pl.yml b/examples/i18n/data/lang/pl.yml new file mode 100644 index 0000000..6a82571 --- /dev/null +++ b/examples/i18n/data/lang/pl.yml @@ -0,0 +1,241 @@ +--- +pl: + activerecord: + errors: + messages: + record_invalid: 'Znaleziono błędy: %{errors}' + restrict_dependent_destroy: + has_one: Nie można usunąć, gdyż istnieje zależny od niego %{record} + has_many: Nie można usunąć, gdyż istnieją zależne od niego %{record} + date: + abbr_day_names: + - nie + - pon + - wto + - śro + - czw + - pią + - sob + abbr_month_names: + - + - sty + - lut + - mar + - kwi + - maj + - cze + - lip + - sie + - wrz + - paź + - lis + - gru + day_names: + - niedziela + - poniedziałek + - wtorek + - środa + - czwartek + - piątek + - sobota + formats: + default: "%d-%m-%Y" + long: "%-d %B %Y" + short: "%-d %b" + month_names: + - + - stycznia + - lutego + - marca + - kwietnia + - maja + - czerwca + - lipca + - sierpnia + - września + - października + - listopada + - grudnia + order: + - :day + - :month + - :year + datetime: + distance_in_words: + about_x_hours: + one: około godziny + few: około %{count} godziny + many: około %{count} godzin + other: około %{count} godzin + about_x_months: + one: około miesiąca + few: około %{count} miesiące + many: około %{count} miesięcy + other: około %{count} miesięcy + about_x_years: + one: około rok + few: około %{count} lata + many: około %{count} lat + other: około %{count} lat + almost_x_years: + one: prawie rok + few: prawie %{count} lata + many: prawie %{count} lat + other: prawie %{count} lat + half_a_minute: pół minuty + less_than_x_seconds: + one: mniej niż sekundę + few: mniej niż %{count} sekundy + many: mniej niż %{count} sekund + other: mniej niż %{count} sekund + less_than_x_minutes: + one: mniej niż minutę + few: mniej niż %{count} minuty + many: mniej niż %{count} minut + other: mniej niż %{count} minut + over_x_years: + one: ponad rok + few: ponad %{count} lata + many: ponad %{count} lat + other: ponad %{count} lat + x_seconds: + one: "%{count} sekunda" + few: "%{count} sekundy" + many: "%{count} sekund" + other: "%{count} sekund" + x_minutes: + one: "%{count} minuta" + few: "%{count} minuty" + many: "%{count} minut" + other: "%{count} minut" + x_days: + one: "%{count} dzień" + few: "%{count} dni" + many: "%{count} dni" + other: "%{count} dni" + x_months: + one: "%{count} miesiąc" + few: "%{count} miesiące" + many: "%{count} miesięcy" + other: "%{count} miesięcy" + prompts: + second: Sekundy + minute: Minuta + hour: Godzina + day: Dzień + month: Miesiąc + year: Rok + errors: + format: "%{attribute} %{message}" + messages: + accepted: musi zostać zaakceptowane + blank: nie może być puste + confirmation: musi być taki sam jak w %{attribute} + empty: nie może być puste + equal_to: musi być równe %{count} + even: musi być parzyste + exclusion: jest zarezerwowane + greater_than: musi być większe od %{count} + greater_than_or_equal_to: musi być większe lub równe %{count} + inclusion: nie znajduje się na liście dopuszczalnych wartości + invalid: jest nieprawidłowe + less_than: musi być mniejsze od %{count} + less_than_or_equal_to: musi być mniejsze lub równe %{count} + not_a_number: nie jest liczbą + not_an_integer: musi być liczbą całkowitą + odd: musi być nieparzyste + other_than: musi być inne niż %{count} + present: musi być puste + required: musi istnieć + taken: zostało już zajęte + too_long: + one: jest za długie (maksymalnie jeden znak) + few: jest za długie (maksymalnie %{count} znaki) + many: jest za długie (maksymalnie %{count} znaków) + other: jest za długie (maksymalnie %{count} znaków) + too_short: + one: jest za krótkie (przynajmniej jeden znak) + few: jest za krótkie (przynajmniej %{count} znaki) + many: jest za krótkie (przynajmniej %{count} znaków) + other: jest za krótkie (przynajmniej %{count} znaków) + wrong_length: + one: ma nieprawidłową długość (powinna wynosić jeden znak) + few: ma nieprawidłową długość (powinna wynosić %{count} znaki) + many: ma nieprawidłową długość (powinna wynosić %{count} znaków) + other: ma nieprawidłową długość (powinna wynosić %{count} znaków) + template: + body: 'Błędy dotyczą następujących pól:' + header: + one: "%{model} nie został zachowany z powodu jednego błędu" + few: "%{model} nie został zachowany z powodu %{count} błędów" + many: "%{model} nie został zachowany z powodu %{count} błędów" + other: "%{model} nie został zachowany z powodu %{count} błędów" + helpers: + select: + prompt: Proszę wybrać + submit: + create: Utwórz %{model} + submit: Wyślij %{model} + update: Aktualizuj %{model} + number: + currency: + format: + delimiter: " " + format: "%n %u" + precision: 2 + separator: "," + significant: false + strip_insignificant_zeros: true + unit: zł + format: + delimiter: " " + precision: 3 + separator: "," + significant: false + strip_insignificant_zeros: false + human: + decimal_units: + format: "%n %u" + units: + billion: Miliard + million: Milion + quadrillion: Biliard + thousand: Tysiąc + trillion: Bilion + unit: '' + format: + delimiter: '' + precision: 3 + significant: true + strip_insignificant_zeros: true + storage_units: + format: "%n %u" + units: + byte: + one: bajt + few: bajty + many: bajtów + other: bajty + gb: GB + kb: KB + mb: MB + tb: TB + percentage: + format: + delimiter: '' + format: "%n%" + precision: + format: + delimiter: '' + support: + array: + last_word_connector: " oraz " + two_words_connector: " i " + words_connector: ", " + time: + am: przed południem + formats: + default: "%a, %-d %b %Y %H:%M:%S %z" + long: "%-d %B %Y %H:%M" + short: "%-d %b %H:%M" + pm: po południu diff --git a/examples/i18n/data/lang/pt-BR.yml b/examples/i18n/data/lang/pt-BR.yml new file mode 100644 index 0000000..3f4683e --- /dev/null +++ b/examples/i18n/data/lang/pt-BR.yml @@ -0,0 +1,223 @@ +--- +pt-BR: + activerecord: + errors: + messages: + record_invalid: 'A validação falhou: %{errors}' + restrict_dependent_destroy: + has_one: Não é possível excluir o registro pois existe um %{record} dependente + has_many: Não é possível excluir o registro pois existem %{record} dependentes + date: + abbr_day_names: + - dom + - seg + - ter + - qua + - qui + - sex + - sáb + abbr_month_names: + - + - jan + - fev + - mar + - abr + - mai + - jun + - jul + - ago + - set + - out + - nov + - dez + day_names: + - domingo + - segunda-feira + - terça-feira + - quarta-feira + - quinta-feira + - sexta-feira + - sábado + formats: + default: "%d/%m/%Y" + long: "%d de %B de %Y" + short: "%d de %B" + month_names: + - + - janeiro + - fevereiro + - março + - abril + - maio + - junho + - julho + - agosto + - setembro + - outubro + - novembro + - dezembro + order: + - :day + - :month + - :year + datetime: + distance_in_words: + about_x_hours: + one: aproximadamente %{count} hora + other: aproximadamente %{count} horas + about_x_months: + one: aproximadamente %{count} mês + other: aproximadamente %{count} meses + about_x_years: + one: aproximadamente %{count} ano + other: aproximadamente %{count} anos + almost_x_years: + one: quase %{count} ano + other: quase %{count} anos + half_a_minute: meio minuto + less_than_x_seconds: + one: menos de %{count} segundo + other: menos de %{count} segundos + less_than_x_minutes: + one: menos de um minuto + other: menos de %{count} minutos + over_x_years: + one: mais de %{count} ano + other: mais de %{count} anos + x_seconds: + one: "%{count} segundo" + other: "%{count} segundos" + x_minutes: + one: "%{count} minuto" + other: "%{count} minutos" + x_days: + one: "%{count} dia" + other: "%{count} dias" + x_months: + one: "%{count} mês" + other: "%{count} meses" + x_years: + one: "%{count} ano" + other: "%{count} anos" + prompts: + second: Segundo + minute: Minuto + hour: Hora + day: Dia + month: Mês + year: Ano + errors: + format: "%{attribute} %{message}" + messages: + accepted: deve ser aceito + blank: não pode ficar em branco + confirmation: não é igual a %{attribute} + empty: não pode ficar vazio + equal_to: deve ser igual a %{count} + even: deve ser par + exclusion: não está disponível + greater_than: deve ser maior que %{count} + greater_than_or_equal_to: deve ser maior ou igual a %{count} + inclusion: não está incluído na lista + invalid: não é válido + less_than: deve ser menor que %{count} + less_than_or_equal_to: deve ser menor ou igual a %{count} + model_invalid: 'A validação falhou: %{errors}' + not_a_number: não é um número + not_an_integer: não é um número inteiro + odd: deve ser ímpar + other_than: deve ser diferente de %{count} + present: deve ficar em branco + required: é obrigatório(a) + taken: já está em uso + too_long: + one: 'é muito longo (máximo: %{count} caracter)' + other: 'é muito longo (máximo: %{count} caracteres)' + too_short: + one: 'é muito curto (mínimo: %{count} caracter)' + other: 'é muito curto (mínimo: %{count} caracteres)' + wrong_length: + one: não possui o tamanho esperado (%{count} caracter) + other: não possui o tamanho esperado (%{count} caracteres) + template: + body: 'Por favor, verifique o(s) seguinte(s) campo(s):' + header: + one: 'Não foi possível gravar %{model}: %{count} erro' + other: 'Não foi possível gravar %{model}: %{count} erros' + helpers: + select: + prompt: Por favor selecione + submit: + create: Criar %{model} + submit: Salvar %{model} + update: Atualizar %{model} + number: + currency: + format: + delimiter: "." + format: "%u %n" + precision: 2 + separator: "," + significant: false + strip_insignificant_zeros: false + unit: R$ + format: + delimiter: "." + precision: 3 + separator: "," + significant: false + strip_insignificant_zeros: false + human: + decimal_units: + format: "%n %u" + units: + billion: + one: bilhão + other: bilhões + million: + one: milhão + other: milhões + quadrillion: + one: quatrilhão + other: quatrilhões + thousand: mil + trillion: + one: trilhão + other: trilhões + unit: '' + format: + delimiter: '' + precision: 3 + significant: true + strip_insignificant_zeros: true + storage_units: + format: "%n %u" + units: + byte: + one: Byte + other: Bytes + eb: EB + gb: GB + kb: KB + mb: MB + pb: PB + tb: TB + percentage: + format: + delimiter: "." + format: "%n%" + precision: + format: + delimiter: "." + support: + array: + last_word_connector: " e " + two_words_connector: " e " + words_connector: ", " + time: + am: '' + formats: + default: "%a, %d de %B de %Y, %H:%M:%S %z" + long: "%d de %B de %Y, %H:%M" + short: "%d de %B, %H:%M" + pm: '' diff --git a/examples/i18n/data/lang/pt.yml b/examples/i18n/data/lang/pt.yml new file mode 100644 index 0000000..5fe1bca --- /dev/null +++ b/examples/i18n/data/lang/pt.yml @@ -0,0 +1,217 @@ +--- +pt: + activerecord: + errors: + messages: + record_invalid: 'A validação falhou: %{errors}' + restrict_dependent_destroy: + has_one: Não pode ser eliminado por existir uma dependência de %{record} + has_many: Não pode ser eliminado por existirem dependências de %{record} + date: + abbr_day_names: + - dom + - seg + - ter + - qua + - qui + - sex + - sáb + abbr_month_names: + - + - jan + - fev + - mar + - abr + - mai + - jun + - jul + - ago + - set + - out + - nov + - dez + day_names: + - domingo + - segunda-feira + - terça-feira + - quarta-feira + - quinta-feira + - sexta-feira + - sábado + formats: + default: "%d/%m/%Y" + long: "%d de %B de %Y" + short: "%d de %B" + month_names: + - + - janeiro + - fevereiro + - março + - abril + - maio + - junho + - julho + - agosto + - setembro + - outubro + - novembro + - dezembro + order: + - :day + - :month + - :year + datetime: + distance_in_words: + about_x_hours: + one: aproximadamente %{count} hora + other: aproximadamente %{count} horas + about_x_months: + one: aproximadamente %{count} mês + other: aproximadamente %{count} meses + about_x_years: + one: aproximadamente %{count} ano + other: aproximadamente %{count} anos + almost_x_years: + one: quase %{count} ano + other: quase %{count} anos + half_a_minute: meio minuto + less_than_x_seconds: + one: menos de %{count} segundo + other: menos de %{count} segundos + less_than_x_minutes: + one: menos de um minuto + other: menos de %{count} minutos + over_x_years: + one: mais de %{count} ano + other: mais de %{count} anos + x_seconds: + one: "%{count} segundo" + other: "%{count} segundos" + x_minutes: + one: "%{count} minuto" + other: "%{count} minutos" + x_days: + one: "%{count} dia" + other: "%{count} dias" + x_months: + one: "%{count} mês" + other: "%{count} meses" + x_years: + one: "%{count} ano" + other: "%{count} anos" + prompts: + second: Segundo + minute: Minuto + hour: Hora + day: Dia + month: Mês + year: Ano + errors: + format: "%{attribute} %{message}" + messages: + accepted: tem de ser aceite + blank: não pode estar em branco + confirmation: não coincide com a confirmação + empty: não pode estar vazio + equal_to: tem de ser igual a %{count} + even: tem de ser par + exclusion: é reservado + greater_than: tem de ser maior que %{count} + greater_than_or_equal_to: tem de ser maior ou igual a %{count} + inclusion: não está incluído na lista + invalid: é inválido + less_than: tem de ser menor que %{count} + less_than_or_equal_to: tem de ser menor ou igual a %{count} + model_invalid: 'A validação falhou: %{errors}' + not_a_number: não é um número + not_an_integer: tem de ser um inteiro + odd: tem de ser ímpar + other_than: tem de ser diferente de %{count} + present: não pode estar em branco + required: é obrigatório + taken: não está disponível + 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) + template: + body: 'Por favor, verifique os seguintes campos:' + header: + one: "%{count} erro impediu guardar este %{model}" + other: "%{count} erros impediram guardar este %{model}" + helpers: + select: + prompt: Por favor seleccione + submit: + create: Criar %{model} + submit: Gravar %{model} + update: Actualizar %{model} + number: + currency: + format: + delimiter: "." + format: "%u %n" + precision: 2 + separator: "," + significant: false + strip_insignificant_zeros: false + unit: "€" + format: + delimiter: "." + precision: 3 + separator: "," + significant: false + strip_insignificant_zeros: false + human: + decimal_units: + format: "%n %u" + units: + billion: + one: mil milhões + other: mil milhões + million: + one: milhão + other: milhões + quadrillion: + one: mil biliões + other: mil biliões + thousand: mil + trillion: + one: bilião + other: biliões + unit: '' + format: + delimiter: '' + precision: 1 + significant: true + strip_insignificant_zeros: true + storage_units: + format: "%n %u" + units: + byte: + one: Byte + other: Bytes + eb: EB + gb: GB + kb: KB + mb: MB + pb: PB + tb: TB + percentage: + format: + delimiter: '' + format: "%n %" + precision: + format: + delimiter: '' + support: + array: + last_word_connector: " e " + two_words_connector: " e " + words_connector: ", " + time: + am: am + formats: + default: "%A, %d de %B de %Y, %H:%Mh" + long: "%A, %d de %B de %Y, %H:%Mh" + short: "%d/%m, %H:%M hs" + pm: pm diff --git a/examples/i18n/data/lang/rm.yml b/examples/i18n/data/lang/rm.yml new file mode 100644 index 0000000..9d582d4 --- /dev/null +++ b/examples/i18n/data/lang/rm.yml @@ -0,0 +1,224 @@ +--- +rm: + date: + abbr_day_names: + - du + - gli + - ma + - me + - gie + - ve + - so + abbr_month_names: + - + - schan + - favr + - mars + - avr + - matg + - zercl + - fan + - avust + - sett + - oct + - nov + - dec + day_names: + - dumengia + - glindesdi + - mardi + - mesemna + - gievgia + - venderdi + - sonda + formats: + default: "%d.%m.%Y" + long: "%e. %B %Y" + short: "%e. %b" + month_names: + - + - schaner + - favrer + - mars + - avrigl + - matg + - zercladur + - fanadur + - avust + - settember + - october + - november + - december + order: + - :day + - :month + - :year + datetime: + distance_in_words: + about_x_hours: + zero: circa %{count} uras + one: circa in'ura + two: circa %{count} uras + few: circa %{count} uras + many: circa %{count} uras + other: circa %{count} uras + about_x_months: + zero: circa %{count} mais + one: circa in mais + two: circa %{count} mais + few: circa %{count} mais + many: circa %{count} mais + other: circa %{count} mais + about_x_years: + zero: circa %{count} onns + one: circa in onn + two: circa %{count} onns + few: circa %{count} onns + many: circa %{count} onns + other: circa %{count} onns + half_a_minute: ina mesa minuta + less_than_x_seconds: + zero: main che %{count} secundas + one: main ch’ina secunda + two: main che %{count} secundas + few: main che %{count} secundas + many: main che %{count} secundas + other: main che %{count} secundas + less_than_x_minutes: + zero: main che %{count} minutas + one: main ch’ina minuta + two: main che %{count} minutas + few: main che %{count} minutas + many: main che %{count} minutas + other: main che %{count} minutas + over_x_years: + zero: dapli che %{count} onns + one: dapli ch'in onn + two: dapli che %{count} onns + few: dapli che %{count} onns + many: dapli che %{count} onns + other: dapli che %{count} onns + x_seconds: + zero: "%{count} secundas" + one: ina secunda + two: "%{count} secundas" + few: "%{count} secundas" + many: "%{count} secundas" + other: "%{count} secundas" + x_minutes: + zero: "%{count} minutas" + one: "%{count} minuta" + two: "%{count} minutas" + few: "%{count} minutas" + many: "%{count} minutas" + other: "%{count} minutas" + x_days: + zero: "%{count} dis" + one: in di + two: "%{count} dis" + few: "%{count} dis" + many: "%{count} dis" + other: "%{count} dis" + x_months: + zero: "%{count} mais" + one: in mais + two: "%{count} mais" + few: "%{count} mais" + many: "%{count} mais" + other: "%{count} mais" + prompts: + second: secundas + minute: minutas + hour: uras + day: dis + month: mais + year: onns + errors: + format: "%{attribute} %{message}" + messages: + accepted: sto vegnir acceptà + blank: sto vegnir emplenì ora + confirmation: na correspunda betg al champ da conferma + empty: sto vegnir emplenì ora + equal_to: sto esser exact %{count} + even: sto esser pèr + exclusion: na stat betg a disposiziun + greater_than: sto esser pli grond che %{count} + greater_than_or_equal_to: sto esser pli grond u medem sco %{count} + inclusion: n'è betg sin la glista + invalid: n'è betg valid + less_than: sto esser pli pitschen che %{count} + less_than_or_equal_to: sto esser pli pitschen u medem sco %{count} + not_a_number: è betg in dumber + odd: sto esser spèr + taken: è gia occupà + 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) + template: + body: 'Faschai uschè bain e controllai ils suandants champs:' + header: + zero: 'Betg pussaivel da memorisar quest %{model}: %{count} errurs.' + one: 'Betg pussaivel da memorisar quest %{model}: %{count} errur.' + two: 'Betg pussaivel da memorisar quest %{model}: %{count} errurs.' + few: 'Betg pussaivel da memorisar quest %{model}: %{count} errurs.' + many: 'Betg pussaivel da memorisar quest %{model}: %{count} errurs.' + other: 'Betg pussaivel da memorisar quest %{model}: %{count} errurs.' + number: + currency: + format: + delimiter: "'" + format: "%n %u" + precision: 2 + separator: "." + significant: false + strip_insignificant_zeros: false + unit: CHF + format: + delimiter: "'" + precision: 2 + separator: "." + significant: false + strip_insignificant_zeros: false + human: + decimal_units: + format: "%n %u" + units: + unit: '' + format: + delimiter: '' + precision: 1 + significant: true + strip_insignificant_zeros: true + storage_units: + format: "%n %u" + units: + byte: + zero: bytes + one: byte + two: bytes + few: bytes + many: bytes + other: bytes + gb: GB + kb: KB + mb: MB + tb: TB + percentage: + format: + delimiter: '' + precision: + format: + delimiter: '' + support: + array: + last_word_connector: " e " + two_words_connector: " e " + words_connector: ", " + time: + am: avantmezdi + formats: + default: "%A, %d. %B %Y, %H:%M Uhr" + long: "%A, %d. %B %Y, %H:%M Uhr" + short: "%d. %B, %H:%M Uhr" + pm: suentermezdi diff --git a/examples/i18n/data/lang/ro.yml b/examples/i18n/data/lang/ro.yml new file mode 100644 index 0000000..81a61f6 --- /dev/null +++ b/examples/i18n/data/lang/ro.yml @@ -0,0 +1,209 @@ +--- +ro: + activerecord: + errors: + messages: + record_invalid: Validare nereuşită %{errors} + date: + abbr_day_names: + - dum + - lun + - mar + - mie + - joi + - vin + - sâm + abbr_month_names: + - + - ian + - feb + - mar + - apr + - mai + - iun + - iul + - aug + - sep + - oct + - noi + - dec + day_names: + - duminică + - luni + - marți + - miercuri + - joi + - vineri + - sâmbată + formats: + default: "%d-%m-%Y" + long: "%d %B %Y" + short: "%d %b" + month_names: + - + - ianuarie + - februarie + - martie + - aprilie + - mai + - iunie + - iulie + - august + - septembrie + - octombrie + - noiembrie + - decembrie + order: + - :day + - :month + - :year + datetime: + distance_in_words: + about_x_hours: + one: aproximativ o oră + few: aproximativ %{count} ore + other: aproximativ %{count} ore + about_x_months: + one: aproximativ o lună + few: aproximativ %{count} luni + other: aproximativ %{count} luni + about_x_years: + one: aproximativ un an + few: aproximativ %{count} ani + other: aproximativ %{count} ani + almost_x_years: + one: aproape %{count} an + few: aproape %{count} ani + other: aproape %{count} ani + half_a_minute: jumătate de minut + less_than_x_seconds: + one: mai puțin de o secundă + few: mai puțin de %{count} secunde + other: mai puțin de %{count} secunde + less_than_x_minutes: + one: mai puțin de un minut + few: mai puțin de %{count} minute + other: mai puțin de %{count} minute + over_x_years: + one: mai mult de un an + few: mai mult de %{count} ani + other: mai mult de %{count} ani + x_seconds: + one: "%{count} secundă" + few: "%{count} secunde" + other: "%{count} secunde" + x_minutes: + one: "%{count} minut" + few: "%{count} minute" + other: "%{count} minute" + x_days: + one: "%{count} zi" + few: "%{count} zile" + other: "%{count} zile" + x_months: + one: "%{count} lună" + few: "%{count} luni" + other: "%{count} luni" + prompts: + second: secunda + minute: minutul + hour: ora + day: ziua + month: luna + year: anul + errors: + format: "%{attribute} %{message}" + messages: + accepted: trebuie dat acceptul + blank: nu poate fi necompletat + confirmation: nu este confirmat + empty: nu poate fi necompletat + equal_to: trebuie să fie egal cu %{count} + even: trebuie să fie impar + exclusion: este rezervat + greater_than: trebuie să fie mai mare decât %{count} + greater_than_or_equal_to: trebuie să fie mai mare sau egal cu %{count} + inclusion: nu este inclus în listă + invalid: este invalid + less_than: trebuie să fie mai mic decât %{count} + less_than_or_equal_to: trebuie să fie mai mic sau egal cu %{count} + not_a_number: nu este un număr + not_an_integer: trebuie să fie un mumăr întreg + odd: trebuie să fie par + taken: este deja folosit + too_long: este prea lung (se pot folosi maximum %{count} caractere) + too_short: este prea scurt (minimum de caractere este %{count}) + wrong_length: nu are lungimea corectă (trebuie să aibă %{count} caractere) + template: + body: 'Încearcă să corectezi urmatoarele câmpuri:' + header: + one: 'Nu am putut salva acest %{model}: o eroare' + few: 'Nu am putut salva acest %{model}: %{count} erori.' + other: 'Nu am putut salva acest %{model}: %{count} erori.' + helpers: + select: + prompt: Alegeți + submit: + create: Creare %{model} + submit: Salvare %{model} + update: Modificare %{model} + number: + currency: + format: + delimiter: "." + format: "%n %u" + precision: 2 + separator: "," + significant: false + strip_insignificant_zeros: false + unit: RON + format: + delimiter: "." + precision: 3 + separator: "," + significant: false + strip_insignificant_zeros: false + human: + decimal_units: + format: "%n %u" + units: + billion: miliard + million: milion + quadrillion: quadrilion + thousand: mie + trillion: trilion + unit: '' + format: + delimiter: "," + precision: 3 + significant: true + strip_insignificant_zeros: true + storage_units: + format: "%n %u" + units: + byte: + one: Byte + few: Bytes + other: Bytes + gb: GB + kb: KB + mb: MB + tb: TB + percentage: + format: + delimiter: "," + precision: + format: + delimiter: '' + support: + array: + last_word_connector: " și " + two_words_connector: " și " + words_connector: ", " + time: + am: '' + formats: + default: "%a %d %b %Y, %H:%M:%S %z" + long: "%d %B %Y %H:%M" + short: "%d %b %H:%M" + pm: '' diff --git a/examples/i18n/data/lang/ru.yml b/examples/i18n/data/lang/ru.yml new file mode 100644 index 0000000..d80d754 --- /dev/null +++ b/examples/i18n/data/lang/ru.yml @@ -0,0 +1,269 @@ +--- +ru: + activerecord: + errors: + messages: + record_invalid: 'Возникли ошибки: %{errors}' + restrict_dependent_destroy: + has_one: 'Невозможно удалить запись, так как существует зависимость: %{record}' + has_many: 'Невозможно удалить запись, так как существуют зависимости: %{record}' + date: + abbr_day_names: + - Вс + - Пн + - Вт + - Ср + - Чт + - Пт + - Сб + abbr_month_names: + - + - янв. + - февр. + - марта + - апр. + - мая + - июня + - июля + - авг. + - сент. + - окт. + - нояб. + - дек. + day_names: + - воскресенье + - понедельник + - вторник + - среда + - четверг + - пятница + - суббота + formats: + default: "%d.%m.%Y" + long: "%-d %B %Y" + short: "%-d %b" + month_names: + - + - января + - февраля + - марта + - апреля + - мая + - июня + - июля + - августа + - сентября + - октября + - ноября + - декабря + order: + - :day + - :month + - :year + datetime: + distance_in_words: + about_x_hours: + one: около %{count} часа + few: около %{count} часов + many: около %{count} часов + other: около %{count} часа + about_x_months: + one: около %{count} месяца + few: около %{count} месяцев + many: около %{count} месяцев + other: около %{count} месяца + about_x_years: + one: около %{count} года + few: около %{count} лет + many: около %{count} лет + other: около %{count} лет + almost_x_years: + one: почти %{count} год + few: почти %{count} года + many: почти %{count} лет + other: почти %{count} лет + half_a_minute: полминуты + less_than_x_seconds: + one: меньше %{count} секунды + few: меньше %{count} секунд + many: меньше %{count} секунд + other: меньше %{count} секунды + less_than_x_minutes: + one: меньше %{count} минуты + few: меньше %{count} минут + many: меньше %{count} минут + other: меньше %{count} минуты + over_x_years: + one: больше %{count} года + few: больше %{count} лет + many: больше %{count} лет + other: больше %{count} лет + x_seconds: + one: "%{count} секунду" + few: "%{count} секунды" + many: "%{count} секунд" + other: "%{count} секунды" + x_minutes: + one: "%{count} минуту" + few: "%{count} минуты" + many: "%{count} минут" + other: "%{count} минуты" + x_days: + one: "%{count} день" + few: "%{count} дня" + many: "%{count} дней" + other: "%{count} дня" + x_months: + one: "%{count} месяц" + few: "%{count} месяца" + many: "%{count} месяцев" + other: "%{count} месяца" + x_years: + one: "%{count} год" + few: "%{count} года" + many: "%{count} лет" + other: "%{count} года" + prompts: + second: Секунд + minute: Минут + hour: Часов + day: День + month: Месяц + year: Год + errors: + format: "%{attribute} %{message}" + messages: + accepted: нужно подтвердить + blank: не может быть пустым + confirmation: не совпадает со значением поля %{attribute} + empty: не может быть пустым + equal_to: может иметь лишь значение, равное %{count} + even: может иметь лишь четное значение + exclusion: имеет зарезервированное значение + greater_than: может иметь значение большее %{count} + greater_than_or_equal_to: может иметь значение большее или равное %{count} + inclusion: имеет непредусмотренное значение + invalid: имеет неверное значение + less_than: может иметь значение меньшее чем %{count} + less_than_or_equal_to: может иметь значение меньшее или равное %{count} + model_invalid: 'Возникли ошибки: %{errors}' + not_a_number: не является числом + not_an_integer: не является целым числом + odd: может иметь лишь нечетное значение + other_than: должно отличаться от %{count} + present: нужно оставить пустым + required: не может отсутствовать + taken: уже существует + 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} символа) + template: + body: 'Проблемы возникли со следующими полями:' + header: + one: "%{model}: сохранение не удалось из-за %{count} ошибки" + few: "%{model}: сохранение не удалось из-за %{count} ошибок" + many: "%{model}: сохранение не удалось из-за %{count} ошибок" + other: "%{model}: сохранение не удалось из-за %{count} ошибки" + helpers: + select: + prompt: 'Выберите: ' + submit: + create: Создать %{model} + submit: Сохранить %{model} + update: Сохранить %{model} + number: + currency: + format: + delimiter: " " + format: "%n %u" + precision: 2 + separator: "," + significant: false + strip_insignificant_zeros: false + unit: руб. + format: + delimiter: " " + precision: 3 + separator: "," + significant: false + strip_insignificant_zeros: false + human: + decimal_units: + format: "%n %u" + units: + billion: + one: миллиард + few: миллиардов + many: миллиардов + other: миллиардов + million: + one: миллион + few: миллионов + many: миллионов + other: миллионов + quadrillion: + one: квадриллион + few: квадриллионов + many: квадриллионов + other: квадриллионов + thousand: + one: тысяча + few: тысяч + many: тысяч + other: тысяч + trillion: + one: триллион + few: триллионов + many: триллионов + other: триллионов + unit: '' + format: + delimiter: '' + precision: 1 + significant: false + strip_insignificant_zeros: false + storage_units: + format: "%n %u" + units: + byte: + one: байт + few: байта + many: байт + other: байта + eb: ЭБ + gb: ГБ + kb: КБ + mb: МБ + pb: ПБ + tb: ТБ + percentage: + format: + delimiter: '' + format: "%n%" + precision: + format: + delimiter: '' + support: + array: + last_word_connector: " и " + two_words_connector: " и " + words_connector: ", " + time: + am: утра + formats: + default: "%a, %d %b %Y, %H:%M:%S %z" + long: "%d %B %Y, %H:%M" + short: "%d %b, %H:%M" + pm: вечера diff --git a/examples/i18n/data/lang/sc.yml b/examples/i18n/data/lang/sc.yml new file mode 100644 index 0000000..6a0b0f8 --- /dev/null +++ b/examples/i18n/data/lang/sc.yml @@ -0,0 +1,223 @@ +--- +sc: + activerecord: + errors: + messages: + record_invalid: 'Validatzione fallida: %{errors}' + restrict_dependent_destroy: + has_one: Su registru non si podet iscantzellare ca esitit unu %{record} chi nde dipendet + has_many: Su registru non si podet iscantzellare ca esitint %{record} chi nde dipendent + date: + abbr_day_names: + - dom + - lun + - mar + - mèr + - giò + - che + - sàb + abbr_month_names: + - + - ghe + - fre + - mar + - abr + - maj + - làm + - trì + - aus + - cab + - stG + - stA + - nad + day_names: + - domìniga + - lunis + - martis + - mèrcuris + - giòbia + - chenàbura + - sàbadu + formats: + default: "%d/%m/%Y" + long: "%d %B %Y" + short: "%d %b" + month_names: + - + - ghennàrgiu + - freàrgiu + - martzu + - abrile + - maju + - làmpadas + - trìulas + - austu + - cabudanni + - santugaine + - santandria + - nadale + order: + - :day + - :month + - :year + datetime: + distance_in_words: + about_x_hours: + one: pagu prus o mancu un'ora + other: pagu prus o mancu %{count} oras + about_x_months: + one: pagu prus o mancu unu mese + other: pagu prus o mancu %{count} meses + about_x_years: + one: pagu prus o mancu un'annu + other: pagu prus o mancu %{count} annos + almost_x_years: + one: belle un'annu + other: belle %{count} annos + half_a_minute: mesu minutu + less_than_x_seconds: + one: prus pagu de unu segundu + other: prus pagu de %{count} segundos + less_than_x_minutes: + one: prus pagu de unu minutu + other: prus pagu de %{count} minutos + over_x_years: + one: prus de un'annu + other: prus de %{count} annos + x_seconds: + one: 1 segundu + other: "%{count} segundos" + x_minutes: + one: 1 minutu + other: "%{count} minutos" + x_days: + one: 1 die + other: "%{count} dies" + x_months: + one: 1 mese + other: "%{count} meses" + x_years: + one: 1 annu + other: "%{count} annos" + prompts: + second: Segundu + minute: Minutu + hour: Ora + day: Die + month: Mese + year: Annu + errors: + format: "%{attribute} %{message}" + messages: + accepted: depet èssere atzetadu + blank: non podet èssere lassadu in biancu + confirmation: non currispondet cun %{attribute} + empty: non pòdet èsser bòidu + equal_to: depet èssere uguale a %{count} + even: depet èssere pari + exclusion: est riservadu + greater_than: depet èssere prus mannu de %{count} + greater_than_or_equal_to: depet èssere prus mannu o uguale a %{count} + inclusion: no est inclùdidu in sa lista + invalid: no est vàlidu + less_than: depet èssere prus minore de %{count} + less_than_or_equal_to: depet èssere prus minore o uguale a %{count} + model_invalid: 'Validatzione fallida: %{errors}' + not_a_number: no est unu nùmeru + not_an_integer: no est unu nùmeru intreu + odd: depet èssere dìspari + other_than: depet èssere unu nùmeru chi non siat %{count} + in: "depet istare intre %{count}" + present: depet èssere lassadu in biancu + required: depet esìstere + taken: est giai presente + too_long: + one: est tropu longu (su màssimu est de 1 caràtere) + other: est tropu longu (su màssimu est de %{count} caràteres) + too_short: + one: est tropu curtzu (su mìnimu est de 1 caràtere) + other: est tropu curtzu (su mìnimu est de %{count} caràteres) + wrong_length: + one: est de sa longària isballiada (depet tènnere 1 caràtere) + other: est de sa longària isballiada (depet tènnere %{count} caràteres) + template: + body: 'Bi sunt istados problemas cun sos campos chi sighint:' + header: + one: 'Non potzo sarvare custu %{model}: 1 errore' + other: 'Non potzo sarvare custu %{model}: %{count} errores.' + helpers: + select: + prompt: Seletziona... + submit: + create: Crea %{model} + submit: Imbia %{model} + update: Atualiza %{model} + number: + currency: + format: + delimiter: "." + format: "%n %u" + precision: 2 + separator: "," + significant: false + strip_insignificant_zeros: false + unit: "€" + format: + delimiter: "." + precision: 2 + round_mode: default + separator: "," + significant: false + strip_insignificant_zeros: false + human: + decimal_units: + format: "%n %u" + units: + billion: + one: milliardu + other: milliardos + million: + one: millione + other: milliones + quadrillion: + one: cuadrillione + other: cuadrilliones + thousand: mìgia + trillion: mìgia milliardos + unit: '' + format: + delimiter: '' + precision: 3 + significant: true + strip_insignificant_zeros: true + storage_units: + format: "%n %u" + units: + byte: + one: Byte + other: Byte + eb: EB + gb: GB + kb: KB + mb: MB + pb: PB + tb: TB + percentage: + format: + delimiter: '' + format: "%n%" + precision: + format: + delimiter: '' + support: + array: + last_word_connector: " e " + two_words_connector: " e " + words_connector: ", " + time: + am: am + formats: + default: "%a, %d de %b de su %Y, %H:%M:%S %z" + long: "%d de %B de su %Y %H:%M" + short: "%d de %b %H:%M" + pm: pm diff --git a/examples/i18n/data/lang/sk.yml b/examples/i18n/data/lang/sk.yml new file mode 100644 index 0000000..042ceb0 --- /dev/null +++ b/examples/i18n/data/lang/sk.yml @@ -0,0 +1,212 @@ +--- +sk: + activerecord: + errors: + messages: + record_invalid: 'Validácia neúspešná: %{errors}' + date: + abbr_day_names: + - Ne + - Po + - Ut + - St + - Št + - Pi + - So + abbr_month_names: + - + - Jan + - Feb + - Mar + - Apr + - Máj + - Jún + - Júl + - Aug + - Sep + - Okt + - Nov + - Dec + day_names: + - Nedeľa + - Pondelok + - Utorok + - Streda + - Štvrtok + - Piatok + - Sobota + formats: + default: "%d.%m.%Y" + long: "%d. %B %Y" + short: "%d %b" + month_names: + - + - Január + - Február + - Marec + - Apríl + - Máj + - Jún + - Júl + - August + - September + - Október + - November + - December + order: + - :day + - :month + - :year + datetime: + distance_in_words: + about_x_hours: + one: asi hodinou + few: asi %{count} hodinami + other: asi %{count} hodinami + about_x_months: + one: asi mesiacom + few: asi %{count} mesiacmi + other: asi %{count} mesiacmi + about_x_years: + one: asi rokom + few: asi %{count} rokmi + other: asi %{count} rokmi + almost_x_years: + one: takmer rokom + few: takmer %{count} rokmi + other: takmer %{count} rokmi + half_a_minute: pol minútou + less_than_x_seconds: + one: necelou sekundou + few: necelými %{count} sekundami + other: necelými %{count} sekundami + less_than_x_minutes: + one: necelou minútou + few: necelými %{count} minútami + other: necelými %{count} minútami + over_x_years: + one: viac ako rokom + few: viac ako %{count} rokmi + other: viac ako %{count} rokmi + x_seconds: + one: sekundou + few: "%{count} sekundami" + other: "%{count} sekundami" + x_minutes: + one: minútou + few: "%{count} minútami" + other: "%{count} minútami" + x_days: + one: dňom + few: "%{count} dňami" + other: "%{count} dňami" + x_months: + one: mesiacom + few: "%{count} mesiacmi" + other: "%{count} mesiacmi" + prompts: + second: Sekunda + minute: Minúta + hour: Hodina + day: Deň + month: Mesiac + year: Rok + errors: + format: "%{attribute} %{message}" + messages: + accepted: musí byť potvrdené + blank: je povinná položka + confirmation: nebolo potvrdené + empty: nesmie byť prázdny/e + equal_to: sa musí rovnať %{count} + even: musí byť párne číslo + exclusion: je vyhradené pre iný účel + greater_than: musí byť väčšie ako %{count} + greater_than_or_equal_to: musí byť väčšie alebo rovné %{count} + inclusion: nie je v zozname povolených hodnôt + invalid: nie je platná hodnota + less_than: musí byť menšie ako %{count} + less_than_or_equal_to: musí byť menšie alebo rovné %{count} + not_a_number: nie je číslo + not_an_integer: musí byť celé číslo + odd: musí byť nepárne číslo + required: musí existovať + taken: ste už použili + too_long: je príliš dlhá/ý (max. %{count} znakov) + too_short: je príliš krátky/a (min. %{count} znakov) + wrong_length: nemá správnu dĺžku (očakáva sa %{count} znakov) + template: + body: 'Nasledujúce polia obsahujú chybne vyplnené údaje:' + header: + one: Pri ukladaní objektu %{model} došlo k chybám a nebolo ho možné uložiť + few: Pri ukladaní objektu %{model} došlo k %{count} chybám a nebolo ho možné + uložiť + other: Pri ukladaní objektu %{model} došlo k %{count} chybám a nebolo ho možné + uložiť + helpers: + select: + prompt: Prosím vyberte si + submit: + create: Vytvoriť %{model} + submit: Uložiť %{model} + update: Aktualizovať %{model} + number: + currency: + format: + delimiter: " " + format: "%n %u" + precision: 2 + separator: "," + significant: false + strip_insignificant_zeros: false + unit: "€" + format: + delimiter: " " + precision: 3 + separator: "," + significant: false + strip_insignificant_zeros: false + human: + decimal_units: + format: "%n %u" + units: + billion: Miliarda + million: Milión + quadrillion: Biliarda + thousand: Tisíc + trillion: Bilión + unit: '' + format: + delimiter: '' + precision: 1 + significant: false + strip_insignificant_zeros: false + storage_units: + format: "%n %u" + units: + byte: + one: B + few: B + other: B + gb: GB + kb: KB + mb: MB + tb: TB + percentage: + format: + delimiter: " " + precision: + format: + delimiter: '' + support: + array: + last_word_connector: " a " + two_words_connector: " a " + words_connector: ", " + time: + am: dopoludnia + formats: + default: "%a %e. %B %Y %H:%M %z" + long: "%A %e. %B %Y %H:%M" + short: "%e. %-m. %H:%M" + pm: popoludní diff --git a/examples/i18n/data/lang/sl.yml b/examples/i18n/data/lang/sl.yml new file mode 100644 index 0000000..f849eff --- /dev/null +++ b/examples/i18n/data/lang/sl.yml @@ -0,0 +1,209 @@ +--- +sl: + activerecord: + errors: + messages: + record_invalid: '' + date: + abbr_day_names: + - ned + - pon + - tor + - sre + - čet + - pet + - sob + abbr_month_names: + - + - jan + - feb + - mar + - apr + - maj + - jun + - jul + - avg + - sep + - okt + - nov + - dec + day_names: + - nedelja + - ponedeljek + - torek + - sreda + - četrtek + - petek + - sobota + formats: + default: "%d.%m.%Y" + long: "%d. %b %Y" + short: "%d. %b" + month_names: + - + - januar + - februar + - marec + - april + - maj + - junij + - julij + - avgust + - september + - oktober + - november + - december + order: + - :day + - :month + - :year + datetime: + distance_in_words: + about_x_hours: + one: okoli %{count} ura + two: okoli 2 uri + few: okoli %{count} ure + other: okoli %{count} ur + about_x_months: + one: okoli %{count} mesec + two: okoli 2 meseca + few: okoli %{count} mesece + other: okoli %{count} mesecev + about_x_years: + one: okoli %{count} leto + two: okoli 2 leti + few: okoli %{count} leta + other: okoli %{count} let + almost_x_years: + one: skoraj %{count} leto + two: skoraj 2 leti + few: skoraj %{count} leta + other: skoraj %{count} let + half_a_minute: pol minute + less_than_x_seconds: + one: manj kot %{count} sekunda + two: manj kot 2 sekundi + few: manj kot %{count} sekunde + other: manj kot %{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 + over_x_years: + one: več kot %{count} leto + two: več kot 2 leti + few: več kot %{count} leta + other: več kot %{count} let + x_seconds: + one: "%{count} sekunda" + two: 2 sekundi + few: "%{count} sekunde" + other: "%{count} sekund" + x_minutes: + one: "%{count} minuta" + two: 2 minuti + few: "%{count} minute" + other: "%{count} minut" + x_days: + one: "%{count} dan" + two: 2 dneva + few: "%{count} dnevi" + other: "%{count} dni" + x_months: + one: "%{count} mesec" + two: 2 meseca + few: "%{count} mesece" + other: "%{count} mesecev" + prompts: + second: Sekunde + minute: Minute + hour: Ura + day: Dan + month: Mesec + year: Leto + errors: + format: "%{attribute} %{message}" + messages: + accepted: mora biti sprejeto + blank: ne sme biti prazno + confirmation: se ne ujema z vrednostjo %{attribute} + empty: ne sme biti prazno + equal_to: mora biti enako %{count} + even: mora biti sodo + exclusion: je rezervirano + greater_than: mora biti večje kot %{count} + greater_than_or_equal_to: mora biti večje ali enako %{count} + inclusion: ni vključeno v seznam + invalid: je nepravilno + less_than: mora biti manj kot %{count} + less_than_or_equal_to: mora biti manj ali enako %{count} + not_a_number: ni številka + odd: mora biti liho + taken: je že zasedeno + 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) + template: + body: 'Napačno izpolnjena polja:' + 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}" + number: + currency: + format: + delimiter: "." + format: "%u%n" + precision: 2 + separator: "," + significant: false + strip_insignificant_zeros: false + unit: "€" + format: + delimiter: "." + precision: 2 + separator: "," + significant: false + strip_insignificant_zeros: false + human: + decimal_units: + format: "%n %u" + units: + unit: '' + format: + delimiter: '' + precision: 1 + significant: true + strip_insignificant_zeros: true + storage_units: + format: "%n %u" + units: + byte: + one: Byte + two: Bytes + few: Bytes + other: Bytes + gb: GB + kb: KB + mb: MB + tb: TB + percentage: + format: + delimiter: '' + precision: + format: + delimiter: '' + support: + array: + last_word_connector: " in " + two_words_connector: " in " + words_connector: ", " + time: + am: dopoldan + formats: + default: "%A, %d %b %Y ob %H:%M:%S" + long: "%d. %B, %Y ob %H:%M" + short: "%d. %b ob %H:%M" + pm: popoldan diff --git a/examples/i18n/data/lang/sq.yml b/examples/i18n/data/lang/sq.yml new file mode 100644 index 0000000..3dd0c04 --- /dev/null +++ b/examples/i18n/data/lang/sq.yml @@ -0,0 +1,216 @@ +--- +sq: + activerecord: + errors: + messages: + record_invalid: "Vlerësimi dështoi: %{errors}" + restrict_dependent_destroy: + has_one: "S’fshihet dot zëri, ngaqë ekziston një %{record} që varet prej tij" + has_many: "S’fshihet dot zëri, ngaqë ekzistojnë %{record} që varen prej tij" + date: + abbr_day_names: + - Die + - Hën + - Mar + - Mër + - Enj + - Pre + - Sht + abbr_month_names: + - + - Jan + - Shk + - Mar + - Pri + - Maj + - Qer + - Kor + - Gus + - Sht + - Tet + - Nën + - Dhj + day_names: + - E dielë + - E hënë + - E martë + - E mërkurë + - E enjte + - E premte + - E shtunë + formats: + default: "%d-%m-%Y" + long: "%d %B, %Y" + short: "%d %b" + month_names: + - + - Janar + - Shkurt + - Mars + - Prill + - Maj + - Qershor + - Korrik + - Gusht + - Shtator + - Tetor + - Nëntor + - Dhjetor + order: + - :day + - :month + - :year + datetime: + distance_in_words: + about_x_hours: + one: rreth %{count} orë + other: rreth %{count} orë + about_x_months: + one: rreth %{count} muaj + other: rreth %{count} muaj + about_x_years: + one: rreth %{count} vit + other: rreth %{count} vjet + almost_x_years: + one: gati %{count} vit + other: gati %{count} vjet + half_a_minute: gjysmë minute + less_than_x_seconds: + one: më pak se %{count} sekondë + other: më pak se %{count} sekonda + less_than_x_minutes: + one: më pak se një minutë + other: më pak se %{count} minuta + over_x_years: + one: mbi %{count} vit + other: mbi %{count} vjet + x_days: + one: "%{count} ditë" + other: "%{count} ditë" + x_minutes: + one: "%{count} minutë" + other: "%{count} minuta" + x_days: + one: "%{count} ditë" + other: "%{count} ditë" + x_months: + one: "%{count} muaj" + other: "%{count} muaj" + x_years: + one: "%{count} vit" + other: "%{count} vjet" + prompts: + second: Sekondë + minute: Minutë + hour: Orë + day: Ditë + month: Muaj + year: Vit + errors: + format: "%{attribute} %{message}" + messages: + accepted: duhet pranuar + blank: s’mund të jetë i zbrazët + present: duhet të jetë i zbrazët + confirmation: s’përputhet me %{attribute} + empty: s’mund të jetë i zbrazët + equal_to: duhet të jetë baras me %{count} + even: duhet të jetë çift + exclusion: është i rezervuar + greater_than: duhet të jetë më i madh se %{count} + greater_than_or_equal_to: duhet të jetë më i madh ose i barabartë me %{count} + inclusion: s’përfshihet te lista + invalid: është i pavlefshëm + less_than: duhet të jetë më i vogël se %{count} + less_than_or_equal_to: duhet të jetë më i vogël ose i barabartë me %{count} + model_invalid: "Vlerësimi dështoi: %{errors}" + not_a_number: s’është numër + not_an_integer: duhet të jetë numër i plotë + odd: duhet të jetë tek + other_than: duhet të jetë më shumë se %{count} + present: duhet të jetë e zbrazët + required: duhet të ekzistojë + taken: është zënë tashmë + too_long: + one: është shumë i gjatë (maksimumi është %{count} shenjë) + other: është shumë i gjatë (maksimumi është %{count} shenja) + too_short: + one: është shumë i shkurtër (minimumi është %{count} shenjë) + other: është shumë i shkurtër (minimumi është %{count} shenja) + wrong_length: + one: ka gjatësi të gabuar (duhet të jetë %{count} shenjë) + other: ka gjatësi të gabuar (duhet të jetë %{count} shenja) + template: + body: 'Pati probleme me fushat vijuese:' + header: + one: Ruajtja e këtij %{model} u pengua nga %{count} gabim + other: "Ruajtja e këtij %{model} u pengua nga %{count} gabime" + helpers: + select: + prompt: Ju lutemi, përzgjidhni + submit: + create: Krijoje %{model} + submit: Ruaje %{model} + update: Përditësoje %{model} + number: + currency: + format: + delimiter: "," + format: "%u%n" + precision: 2 + separator: "." + significant: false + strip_insignificant_zeros: false + unit: "$" + format: + delimiter: "," + precision: 3 + separator: "." + significant: false + strip_insignificant_zeros: false + human: + decimal_units: + format: "%n %u" + units: + billion: Miliard + million: Milion + quadrillion: Kuadrilion + thousand: Mijë + trillion: Trilion + unit: '' + format: + delimiter: '' + precision: 3 + significant: true + strip_insignificant_zeros: true + storage_units: + format: "%n %u" + units: + byte: + one: Bajt + other: Bajte + eb: EB + gb: GB + kb: KB + mb: MB + pb: PB + tb: TB + percentage: + format: + delimiter: '' + format: "%n%" + precision: + format: + delimiter: '' + support: + array: + last_word_connector: ", dhe " + two_words_connector: " dhe " + words_connector: ", " + time: + am: am + formats: + default: "%a, %d %b %Y %H:%M:%S %z" + long: "%d %B, %Y %H:%M" + short: "%d %b %H:%M" + pm: pm diff --git a/examples/i18n/data/lang/sr.yml b/examples/i18n/data/lang/sr.yml new file mode 100644 index 0000000..0ebe4d1 --- /dev/null +++ b/examples/i18n/data/lang/sr.yml @@ -0,0 +1,242 @@ +--- +sr: + activerecord: + errors: + messages: + record_invalid: 'Валидација није успела: %{errors}' + restrict_dependent_destroy: + has_one: Није могуће обрисати запис јер постоји зависан %{record} + has_many: Није могуће обрисати запис јер постоје зависни %{record} + date: + abbr_day_names: + - Нед + - Пон + - Уто + - Сре + - Чет + - Пет + - Суб + abbr_month_names: + - + - Јан + - Феб + - Мар + - Апр + - Мај + - Јун + - Јул + - Авг + - Сеп + - Окт + - Нов + - Дец + day_names: + - Недеља + - Понедељак + - Уторак + - Среда + - Четвртак + - Петак + - Субота + formats: + default: "%d/%m/%Y" + long: "%B %e, %Y" + short: "%e %b" + month_names: + - + - Јануар + - Фабруар + - Март + - Април + - Мај + - Јун + - Јул + - Август + - Септембар + - Октобар + - Новембар + - Децембар + order: + - :day + - :month + - :year + datetime: + distance_in_words: + about_x_hours: + one: око %{count} сат + few: око %{count} сата + many: око %{count} сати + other: око %{count} сати + about_x_months: + one: око %{count} месец + few: око %{count} месеца + many: око %{count} месеци + other: око %{count} месеци + about_x_years: + one: око %{count} године + few: око %{count} године + many: око %{count} година + other: око %{count} година + almost_x_years: + one: скоро %{count} година + few: скоро %{count} године + many: скоро %{count} година + other: скоро %{count} година + half_a_minute: пола минуте + less_than_x_seconds: + one: мање од %{count} секунд + few: мање од %{count} секунде + many: мање од %{count} секунди + other: мање од %{count} секунди + less_than_x_minutes: + one: мање од %{count} минут + few: мање од %{count} минута + many: мање од %{count} минута + other: мање од %{count} минута + over_x_years: + one: преко %{count} године + few: преко %{count} године + many: преко %{count} година + other: преко %{count} година + x_seconds: + one: "%{count} секунда" + few: "%{count} секунде" + many: "%{count} секунди" + other: "%{count} секунди" + x_minutes: + one: "%{count} минут" + few: "%{count} минута" + many: "%{count} минута" + other: "%{count} минута" + x_days: + one: "%{count} дан" + few: "%{count} дана" + many: "%{count} дана" + other: "%{count} дана" + x_months: + one: "%{count} месец" + few: "%{count} месеца" + many: "%{count} месеци" + other: "%{count} месеци" + prompts: + second: Секунд + minute: Минут + hour: Сат + day: Дан + month: Месец + year: Година + errors: + format: "Поље %{attribute} %{message}" + messages: + accepted: мора бити прихваћено + blank: не сме бити празано + confirmation: се не слаже са потврдом + empty: не сме бити празано + equal_to: мора бити једнако %{count} + even: мора бити парно + exclusion: је резервисано + greater_than: мора бити веће од %{count} + greater_than_or_equal_to: мора бити веће или једнако %{count} + inclusion: није у листи + invalid: није исправно + less_than: мора бити мање од %{count} + less_than_or_equal_to: мора бити мање или једнако %{count} + model_invalid: 'Валидација није успела: %{errors}' + not_a_number: није број + not_an_integer: није цео број + odd: мора бити непарно + other_than: мора бити различито од %{count} + present: мора бити празно + required: мора постојати + taken: је већ заузето + 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} знакова) + template: + body: 'Молим Вас да проверите следећа поља:' + header: + one: 'Нисам успео сачувати %{model}: %{count} грешка.' + few: 'Нисам успео сачувати %{model}: %{count} грешке.' + many: 'Нисам успео сачувати %{model}: %{count} грешки.' + other: 'Нисам успео сачувати %{model}: %{count} грешки.' + helpers: + select: + prompt: Изаберите + submit: + create: Направи %{model} + submit: Сачувај %{model} + update: Измени %{model} + number: + currency: + format: + delimiter: "," + format: "%n %u" + precision: 2 + separator: "." + significant: false + strip_insignificant_zeros: false + unit: ДИН + format: + delimiter: "." + precision: 3 + separator: "," + significant: false + strip_insignificant_zeros: false + human: + decimal_units: + format: "%n %u" + units: + billion: Милијарда + million: Милион + quadrillion: Квадрилион + thousand: Хиљаду + trillion: Трилион + unit: '' + format: + delimiter: '' + precision: 3 + significant: true + strip_insignificant_zeros: true + storage_units: + format: "%n %u" + units: + byte: + one: бајт + few: бајта + many: бајтова + other: бајтова + gb: ГБ + kb: КБ + mb: МБ + tb: ТБ + percentage: + format: + delimiter: '' + format: "%n%" + precision: + format: + delimiter: '' + support: + array: + last_word_connector: ", и " + two_words_connector: " и " + words_connector: ", " + time: + am: АМ + formats: + default: "%a %d %b %Y %H:%M:%S %Z" + long: "%d %B %Y %H:%M" + short: "%d %b %H:%M" + pm: ПМ diff --git a/examples/i18n/data/lang/st.yml b/examples/i18n/data/lang/st.yml new file mode 100644 index 0000000..23498e1 --- /dev/null +++ b/examples/i18n/data/lang/st.yml @@ -0,0 +1,215 @@ +--- +st: + activerecord: + errors: + messages: + record_invalid: 'Netefatso e fosahetse: %{errors}' + restrict_dependent_destroy: + has_one: E ka se hlakolehe hobane kamano e le ٰngoe teng le %{record} + has_many: E ka se hlakolehe hobane kamano tse ngata li teng le %{record} + date: + abbr_day_names: + - Son + - ٰMan + - Labob + - Labor + - Labon + - Laboh + - Moq + abbr_month_names: + - + - Phe + - Hlako + - Tlha + - ٰMes + - Motš + - Phupt + - Phup + - Pha + - Loe + - Mph + - Pul + - Tši + day_names: + - Sontaha + - ٰMantaha + - Labobeli + - Laboraro + - Labone + - Labohlano + - Moqebelo + formats: + default: "%Y-%m-%d" + long: "%d %B %Y" + short: "%d %b" + month_names: + - + - Pherekhong + - Hlakola + - Hlakubele + - ٰMesa + - Motšeanong + - Phuptjane + - Phupu + - Phato + - Loetse + - Mphalane + - Pulungoana + - Tšitoe + order: + - :year + - :month + - :day + datetime: + distance_in_words: + about_x_hours: + one: ekaba hora e le ٰngoe + other: ekaba hora tse %{count} + about_x_months: + one: ekaba khoeli e le ٰngoe + other: ekaba likhoeli tse %{count} + about_x_years: + one: ekaba selemo se le seng + other: ekaba lilemo tse %{count} + almost_x_years: + one: e tlo ba selemo se le seng + other: e tlo ba lilemo tse %{count} + half_a_minute: halofo ea motsotso + less_than_x_seconds: + one: ka tlase ho motsotsoana + other: ka tlase ho metsotsoana e %{count} + less_than_x_minutes: + one: ka tlase ho motsotso + other: ka tlase ho metsotso e %{count} + over_x_years: + one: ka holimo ho selemo + other: ka holimo ho lilemo tse %{count} + x_seconds: + one: motsotsoana o le mong + other: metsotsoana e %{count} + x_minutes: + one: motsotso o le mong + other: metsotso e %{count} + x_days: + one: letsatsi le le leng + other: matsatsi a %{count} + x_months: + one: khoeli e le \'ngoe + other: likhoeli tse %{count} + x_years: + one: selemo se le seng + other: lilemo tse %{count} + prompts: + second: Motsotsoana + minute: Motsotso + hour: Hora + day: Letsatsi + month: Khoeli + year: Selemo + errors: + format: "%{attribute} %{message}" + messages: + accepted: e tlameha ho amoheloa + blank: e ka se be letho + confirmation: ha e lumellane le %{attribute} + empty: e ka se be letho + equal_to: e tlameha ho lekana le %{count} + even: e tlameha ho lekana + exclusion: e bolokiloe + greater_than: e tlameha e be kholo ho %{count} + greater_than_or_equal_to: e tlameha e be kholo kapa e lekane le %{count} + inclusion: ha ea kenyelletsoa lenaneng + invalid: ha e sebetse + less_than: e tlameha e be nyane ho %{count} + less_than_or_equal_to: e tlameha e be nyane kapa e lekane le %{count} + model_invalid: 'Liphoso tsa netefatso: %{errors}' + not_a_number: ha se palo + not_an_integer: e tšoanetse e be palo e felletseng + odd: e tlameha ho makatsa + other_than: e tlameha e be kholo ho %{count} + present: e tlameha ebe ha e na letho + required: e tlameha ho ba teng + taken: e sentse e nkuoe + too_long: + one: e telele haholo (boholo ke semelo se le seng) + other: e telele haholo (boholo ke limelo tse %{count}) + too_short: + one: e khutšoane haholo (bonyane ke semelo se le seng) + other: e khutšoane haholo (bonyane ke limelo tse %{count}) + wrong_length: + one: ke bolelele bo fosahetseng (e tšoanetse e be semelo se le seng) + other: ke bolelele bo fosahetseng (e tšoanetse e be limelo tse %{count}) + template: + body: 'Ho bile le mathata ka a itseng makaleng a latelang:' + header: + one: phoso e le ٰngoe e thibetse %{model} ho bolokeha + other: liphoso tse %{count} li thibetse %{model} ho bolokeha + helpers: + select: + prompt: Khetha ka kopo + submit: + create: Bopa %{model} + submit: Boloka %{model} + update: Ntjhafatsa %{model} + number: + currency: + format: + delimiter: "," + format: "%u%n" + precision: 2 + separator: "." + significant: false + strip_insignificant_zeros: false + unit: M + format: + delimiter: "," + precision: 3 + separator: "." + significant: false + strip_insignificant_zeros: false + human: + decimal_units: + format: "%n %u" + units: + billion: Bilione + million: Milione + quadrillion: Libilione tse likete + thousand: Sekete + trillion: Trilione + unit: '' + format: + delimiter: '' + precision: 3 + significant: true + strip_insignificant_zeros: true + storage_units: + format: "%n %u" + units: + byte: + one: Byte + other: Bytes + eb: EB + gb: GB + kb: KB + mb: MB + pb: PB + tb: TB + percentage: + format: + delimiter: '' + format: "%n%" + precision: + format: + delimiter: '' + support: + array: + last_word_connector: ", le " + two_words_connector: " le " + words_connector: ", " + time: + am: am + formats: + default: "%a, %d %b %Y %H:%M:%S %z" + long: "%d %B %Y %H:%M" + short: "%d %b %H:%M" + pm: pm diff --git a/examples/i18n/data/lang/sv-FI.yml b/examples/i18n/data/lang/sv-FI.yml new file mode 100644 index 0000000..5195d49 --- /dev/null +++ b/examples/i18n/data/lang/sv-FI.yml @@ -0,0 +1,207 @@ +--- +sv-FI: + activerecord: + errors: + messages: + record_invalid: "Ett fel uppstod: %{errors}" + restrict_dependent_destroy: + has_one: Kan inte ta bort post då beroende %{record} finns + has_many: Kan inte ta bort poster då beroende %{record} finns + date: + abbr_day_names: + - sön + - mån + - tis + - ons + - tor + - fre + - lör + abbr_month_names: + - + - jan + - feb + - mar + - apr + - maj + - jun + - jul + - aug + - sep + - okt + - nov + - dec + day_names: + - söndag + - måndag + - tisdag + - onsdag + - torsdag + - fredag + - lördag + formats: + default: "%-d.%-m.%Y" + long: "%e %B %Y" + short: "%e %b" + month_names: + - + - januari + - februari + - mars + - april + - maj + - juni + - juli + - augusti + - september + - oktober + - november + - december + order: + - :day + - :month + - :year + datetime: + distance_in_words: + about_x_hours: + one: ungefär en timme + other: ungefär %{count} timmar + about_x_months: + one: ungefär en månad + other: ungefär %{count} månader + about_x_years: + one: ungefär ett år + other: ungefär %{count} år + almost_x_years: + one: nästan ett år + other: nästan %{count} år + half_a_minute: en halv minut + less_than_x_seconds: + one: mindre än en sekund + other: mindre än %{count} sekunder + less_than_x_minutes: + one: mindre än en minut + other: mindre än %{count} minuter + over_x_years: + one: mer än ett år + other: mer än %{count} år + x_seconds: + one: en sekund + other: "%{count} sekunder" + x_minutes: + one: en minut + other: "%{count} minuter" + x_days: + one: en dag + other: "%{count} dagar" + x_months: + one: en månad + other: "%{count} månader" + prompts: + second: Sekund + minute: Minut + hour: Timme + day: Dag + month: Månad + year: År + errors: + format: "%{attribute} %{message}" + messages: + accepted: måste vara accepterad + blank: måste anges + confirmation: stämmer inte överens + empty: får ej vara tom + equal_to: måste vara lika med %{count} + even: måste vara jämnt + exclusion: är reserverat + greater_than: måste vara större än %{count} + greater_than_or_equal_to: måste vara större än eller lika med %{count} + inclusion: finns inte i listan + invalid: har fel format + less_than: måste vara mindre än %{count} + less_than_or_equal_to: måste vara mindre än eller lika med %{count} + model_invalid: "Validering misslyckades: %{errors}" + not_a_number: är inte ett nummer + not_an_integer: måste vara ett heltal + odd: måste vara udda + other_than: måste vara annat än %{count} + present: får inte anges + required: måste finnas + taken: används redan + 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) + template: + body: "Det var problem med följande fält:" + header: + one: Ett fel förhindrade ifrågavarande %{model} från att sparas + other: "%{count} fel förhindrade ifrågavarande %{model} från att sparas" + helpers: + select: + prompt: Välj + submit: + create: Skapa %{model} + submit: Spara %{model} + update: Ändra %{model} + number: + currency: + format: + delimiter: " " + format: "%n %u" + precision: 2 + separator: "," + significant: false + strip_insignificant_zeros: false + unit: "€" + format: + delimiter: " " + precision: 2 + round_mode: default + separator: "," + significant: false + strip_insignificant_zeros: false + human: + decimal_units: + format: "%n %u" + units: + billion: Miljard + million: Miljon + quadrillion: Biljard + thousand: Tusen + trillion: Biljon + unit: "" + format: + delimiter: "" + precision: 3 + significant: true + strip_insignificant_zeros: true + storage_units: + format: "%n %u" + units: + byte: + one: Byte + other: Bytes + eb: EB + gb: GB + kb: KB + mb: MB + pb: PB + tb: TB + percentage: + format: + delimiter: " " + format: "%n %" + precision: + format: + delimiter: "" + support: + array: + last_word_connector: " och " + two_words_connector: " och " + words_connector: ", " + time: + am: "" + formats: + default: "%a, %e %b %Y %H:%M:%S %z" + long: "%e %B %Y %H:%M" + short: "%e %b %H:%M" + pm: "" diff --git a/examples/i18n/data/lang/sv-SE.yml b/examples/i18n/data/lang/sv-SE.yml new file mode 100644 index 0000000..6c0a74a --- /dev/null +++ b/examples/i18n/data/lang/sv-SE.yml @@ -0,0 +1,210 @@ +--- +sv-SE: + activerecord: + errors: + messages: + record_invalid: 'Ett fel uppstod: %{errors}' + restrict_dependent_destroy: + has_one: Kan inte ta bort post då beroende %{record} finns + has_many: Kan inte ta bort poster då beroende %{record} finns + date: + abbr_day_names: + - sön + - mån + - tis + - ons + - tor + - fre + - lör + abbr_month_names: + - + - jan + - feb + - mar + - apr + - maj + - jun + - jul + - aug + - sep + - okt + - nov + - dec + day_names: + - söndag + - måndag + - tisdag + - onsdag + - torsdag + - fredag + - lördag + formats: + default: "%Y-%m-%d" + long: "%e %B %Y" + short: "%e %b" + month_names: + - + - januari + - februari + - mars + - april + - maj + - juni + - juli + - augusti + - september + - oktober + - november + - december + order: + - :day + - :month + - :year + datetime: + distance_in_words: + about_x_hours: + one: ungefär en timme + other: ungefär %{count} timmar + about_x_months: + one: ungefär en månad + other: ungefär %{count} månader + about_x_years: + one: ungefär ett år + other: ungefär %{count} år + almost_x_years: + one: nästan ett år + other: nästan %{count} år + half_a_minute: en halv minut + less_than_x_seconds: + one: mindre än en sekund + other: mindre än %{count} sekunder + less_than_x_minutes: + one: mindre än en minut + other: mindre än %{count} minuter + over_x_years: + one: mer än ett år + other: mer än %{count} år + x_seconds: + one: en sekund + other: "%{count} sekunder" + x_minutes: + one: en minut + other: "%{count} minuter" + x_days: + one: en dag + other: "%{count} dagar" + x_months: + one: en månad + other: "%{count} månader" + x_years: + one: ett år + other: "%{count} år" + prompts: + second: Sekund + minute: Minut + hour: Timme + day: Dag + month: Månad + year: År + errors: + format: "%{attribute} %{message}" + messages: + accepted: måste vara accepterad + blank: måste anges + confirmation: stämmer inte överens + empty: får ej vara tom + equal_to: måste vara lika med %{count} + even: måste vara jämnt + exclusion: är reserverat + greater_than: måste vara större än %{count} + greater_than_or_equal_to: måste vara större än eller lika med %{count} + inclusion: finns inte i listan + invalid: har fel format + less_than: måste vara mindre än %{count} + less_than_or_equal_to: måste vara mindre än eller lika med %{count} + model_invalid: 'Validering misslyckades: %{errors}' + not_a_number: är inte ett nummer + not_an_integer: måste vara ett heltal + odd: måste vara udda + other_than: måste vara annat än %{count} + present: får inte anges + required: måste finnas + taken: används redan + 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) + template: + body: 'Det var problem med följande fält:' + header: + one: Ett fel förhindrade denna %{model} från att sparas + other: "%{count} fel förhindrade denna %{model} från att sparas" + helpers: + select: + prompt: Välj + submit: + create: Skapa %{model} + submit: Spara %{model} + update: Ändra %{model} + number: + currency: + format: + delimiter: " " + format: "%n %u" + precision: 2 + separator: "," + significant: false + strip_insignificant_zeros: false + unit: kr + format: + delimiter: " " + precision: 2 + round_mode: default + separator: "," + significant: false + strip_insignificant_zeros: false + human: + decimal_units: + format: "%n %u" + units: + billion: Miljard + million: Miljon + quadrillion: Biljard + thousand: Tusen + trillion: Biljon + unit: '' + format: + delimiter: '' + precision: 3 + significant: true + strip_insignificant_zeros: true + storage_units: + format: "%n %u" + units: + byte: + one: Byte + other: Bytes + eb: EB + gb: GB + kb: KB + mb: MB + pb: PB + tb: TB + percentage: + format: + delimiter: '' + format: "%n%" + precision: + format: + delimiter: '' + support: + array: + last_word_connector: " och " + two_words_connector: " och " + words_connector: ", " + time: + am: '' + formats: + default: "%a, %e %b %Y %H:%M:%S %z" + long: "%e %B %Y %H:%M" + short: "%e %b %H:%M" + pm: '' diff --git a/examples/i18n/data/lang/sv.yml b/examples/i18n/data/lang/sv.yml new file mode 100644 index 0000000..d5cc5c2 --- /dev/null +++ b/examples/i18n/data/lang/sv.yml @@ -0,0 +1,210 @@ +--- +sv: + activerecord: + errors: + messages: + record_invalid: 'Ett fel uppstod: %{errors}' + restrict_dependent_destroy: + has_one: Kan inte ta bort post då beroende %{record} finns + has_many: Kan inte ta bort poster då beroende %{record} finns + date: + abbr_day_names: + - sön + - mån + - tis + - ons + - tor + - fre + - lör + abbr_month_names: + - + - jan + - feb + - mar + - apr + - maj + - jun + - jul + - aug + - sep + - okt + - nov + - dec + day_names: + - söndag + - måndag + - tisdag + - onsdag + - torsdag + - fredag + - lördag + formats: + default: "%Y-%m-%d" + long: "%e %B %Y" + short: "%e %b" + month_names: + - + - januari + - februari + - mars + - april + - maj + - juni + - juli + - augusti + - september + - oktober + - november + - december + order: + - :day + - :month + - :year + datetime: + distance_in_words: + about_x_hours: + one: ungefär en timme + other: ungefär %{count} timmar + about_x_months: + one: ungefär en månad + other: ungefär %{count} månader + about_x_years: + one: ungefär ett år + other: ungefär %{count} år + almost_x_years: + one: nästan ett år + other: nästan %{count} år + half_a_minute: en halv minut + less_than_x_seconds: + one: mindre än en sekund + other: mindre än %{count} sekunder + less_than_x_minutes: + one: mindre än en minut + other: mindre än %{count} minuter + over_x_years: + one: mer än ett år + other: mer än %{count} år + x_seconds: + one: en sekund + other: "%{count} sekunder" + x_minutes: + one: en minut + other: "%{count} minuter" + x_days: + one: en dag + other: "%{count} dagar" + x_months: + one: en månad + other: "%{count} månader" + x_years: + one: ett år + other: "%{count} år" + prompts: + second: Sekund + minute: Minut + hour: Timme + day: Dag + month: Månad + year: År + errors: + format: "%{attribute} %{message}" + messages: + accepted: måste vara accepterad + blank: måste anges + confirmation: stämmer inte överens + empty: får ej vara tom + equal_to: måste vara lika med %{count} + even: måste vara jämnt + exclusion: är reserverat + greater_than: måste vara större än %{count} + greater_than_or_equal_to: måste vara större än eller lika med %{count} + inclusion: finns inte i listan + invalid: har fel format + less_than: måste vara mindre än %{count} + less_than_or_equal_to: måste vara mindre än eller lika med %{count} + model_invalid: 'Validering misslyckades: %{errors}' + not_a_number: är inte ett nummer + not_an_integer: måste vara ett heltal + odd: måste vara udda + other_than: måste vara annat än %{count} + present: får inte anges + required: måste finnas + taken: används redan + 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) + template: + body: 'Det var problem med följande fält:' + header: + one: Ett fel förhindrade ifrågavarande %{model} från att sparas + other: "%{count} fel förhindrade ifrågavarande %{model} från att sparas" + helpers: + select: + prompt: Välj + submit: + create: Skapa %{model} + submit: Spara %{model} + update: Ändra %{model} + number: + currency: + format: + delimiter: " " + format: "%n %u" + precision: 2 + separator: "," + significant: false + strip_insignificant_zeros: false + unit: kr + format: + delimiter: " " + precision: 2 + round_mode: default + separator: "," + significant: false + strip_insignificant_zeros: false + human: + decimal_units: + format: "%n %u" + units: + billion: Miljard + million: Miljon + quadrillion: Biljard + thousand: Tusen + trillion: Biljon + unit: '' + format: + delimiter: '' + precision: 3 + significant: true + strip_insignificant_zeros: true + storage_units: + format: "%n %u" + units: + byte: + one: Byte + other: Bytes + eb: EB + gb: GB + kb: KB + mb: MB + pb: PB + tb: TB + percentage: + format: + delimiter: ' ' + format: "%n %" + precision: + format: + delimiter: '' + support: + array: + last_word_connector: " och " + two_words_connector: " och " + words_connector: ", " + time: + am: '' + formats: + default: "%a, %e %b %Y %H:%M:%S %z" + long: "%e %B %Y %H:%M" + short: "%e %b %H:%M" + pm: '' diff --git a/examples/i18n/data/lang/sw.yml b/examples/i18n/data/lang/sw.yml new file mode 100644 index 0000000..4905445 --- /dev/null +++ b/examples/i18n/data/lang/sw.yml @@ -0,0 +1,194 @@ +--- +sw: + activerecord: + errors: + messages: + record_invalid: 'Uhalalishaji umeshindikana: %{errors}' + date: + abbr_day_names: + - J2 + - J3 + - J4 + - J5 + - Al + - Ij + - J1 + abbr_month_names: + - + - Jan + - Feb + - Mac + - Apr + - Mei + - Jun + - Jul + - Ago + - Sep + - Okt + - Nov + - Des + day_names: + - Jumapili + - Jumatatu + - Jumanne + - Jumatano + - Alhamisi + - Ijumaa + - Jumamosi + formats: + default: "%d-%m-%Y" + long: "%e %B, %Y" + short: "%e %b" + 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 + order: + - :day + - :month + - :year + datetime: + distance_in_words: + about_x_hours: + one: kama saa limoja + other: kama masaa %{count} + about_x_months: + one: kama mwezi %{count} + other: kama miezi %{count} + about_x_years: + one: kama mwaka %{count} + other: kama miaka %{count} + almost_x_years: + one: karibia mwaka + other: karibia miaka %{count} + half_a_minute: nusu dakika + less_than_x_seconds: + one: chini ya sekunde %{count} + other: chini ya sekunde %{count} + less_than_x_minutes: + one: chini ya dakika %{count} + other: chini ya dakika %{count} + over_x_years: + one: zaidi ya mwaka %{count} + other: zaidi ya miaka %{count} + x_seconds: + one: sekunde %{count} + other: sekunde %{count} + x_minutes: + one: dakika %{count} + other: dakika %{count} + x_days: + one: siku %{count} + other: siku %{count} + x_months: + one: mwezi %{count} + other: miezi %{count} + prompts: + second: Sekunde + minute: Dakika + hour: Saa + day: Siku + month: Mwezi + year: Mwaka + errors: + format: "%{attribute} %{message}" + messages: + accepted: lazima ikubaliwe + blank: haitakiwi kuwa wazi + confirmation: haifanani na hapo chini + empty: haitakiwi kuwa tupu + equal_to: z/iwe sawa na %{count} + even: z/iwe shufwa + exclusion: haiwezi kutumika + greater_than: z/iwe zaidi ya %{count} + greater_than_or_equal_to: z/iwe sawa ama zaidi ya %{count} + inclusion: haipo kwenye orodha + invalid: haifai + less_than: z/isizidi %{count} + less_than_or_equal_to: z/iwe sawa na, ama chini ya %{count} + not_a_number: inaruhusiwa namba tu + not_an_integer: inaruhusiwa namba tu + odd: z/iwe witiri + taken: imesajiliwa + too_long: ndefu sana (isizidi herufi %{count}) + too_short: fupi mno (isipungue herufi %{count}) + wrong_length: idadi ya herufi hazilingani (inatakiwa %{count}) + template: + body: 'Tafadhali kagua sehemu zifuatazo:' + header: + one: "%{model} haikuhifadhiwa kwa sababu moja." + other: "%{model} haikuhifadhiwa kwa sababu %{count}." + helpers: + select: + prompt: Tafadhali teua + submit: + create: Unda %{model} + submit: Akibisha %{model} + update: Sasaisha %{model} + number: + currency: + format: + delimiter: "." + format: "%n%u" + precision: 2 + separator: "," + significant: false + strip_insignificant_zeros: false + unit: "/=" + format: + delimiter: "." + precision: 2 + separator: "," + significant: false + strip_insignificant_zeros: false + human: + decimal_units: + format: "%n %u" + units: + billion: Bilioni + million: Milioni + quadrillion: Kuadrilioni + thousand: Elfu + trillion: Trilioni + unit: '' + format: + delimiter: '' + precision: 3 + significant: true + strip_insignificant_zeros: true + storage_units: + format: "%n %u" + units: + byte: Baiti + gb: GB + kb: KB + mb: MB + tb: TB + percentage: + format: + delimiter: '' + precision: + format: + delimiter: '' + support: + array: + last_word_connector: ", na " + two_words_connector: " na " + words_connector: ", " + time: + am: am + formats: + default: "%a, %d %b %Y %H:%M:%S" + long: "%A, %e. %B %Y, %H:%M:%S" + short: "%e %b %Y %H:%M" + pm: pm diff --git a/examples/i18n/data/lang/ta.yml b/examples/i18n/data/lang/ta.yml new file mode 100644 index 0000000..0ad9b87 --- /dev/null +++ b/examples/i18n/data/lang/ta.yml @@ -0,0 +1,208 @@ +--- +ta: + activerecord: + errors: + messages: + record_invalid: 'சரிபார்த்தல் தோல்வியுற்றது: %{errors}' + restrict_dependent_destroy: + has_one: பதிவை நீக்க முடியாது, ஏனெனில் ஒரு சார்பு %{record} உள்ளது + has_many: பதிவை நீக்க முடியாது, ஏனெனில் சார்புகள் %{record} உள்ளது + date: + abbr_day_names: + - ஞாயிறு + - திங்கள் + - செவ்வாய் + - புதன் + - வியாழன் + - வெள்ளி + - சனி + abbr_month_names: + - + - ஜன + - பிப் + - மார்ச் + - ஏப் + - மே + - ஜூன் + - ஜூலை + - ஆக + - செப் + - அக் + - நவ + - டிச + day_names: + - ஞாயிற்றுக்கிழமை + - திங்கட்கிழமை + - செவ்வாய்க்கிழமை + - புதன்கிழமை + - வியாழக்கிழமை + - வெள்ளிக்கிழமை + - சனிக்கிழமை + formats: + default: "%d-%m-%Y" + long: "%d %B %Y" + short: "%d %b" + month_names: + - + - ஜனவரி + - பிப்ரவரி + - மார்ச் + - ஏப்ரல் + - மே + - ஜூன் + - ஜூலை + - ஆகஸ்ட் + - செப்டம்பர் + - அக்டோபர் + - நவம்பர் + - டிசம்பர் + order: + - :day + - :month + - :year + datetime: + distance_in_words: + about_x_hours: + one: சுமார் %{count} மணி நேரம் + other: சுமார் %{count} மணி + about_x_months: + one: சுமார் %{count} மாதம் + other: சுமார் %{count} மாதங்களுக்கு + about_x_years: + one: சுமார் %{count} ஆண்டு + other: சுமார் %{count} ஆண்டுகள் + almost_x_years: + one: கிட்டத்தட்ட %{count} ஆண்டு + other: கிட்டத்தட்ட %{count} ஆண்டுகள் + half_a_minute: அரை நிமிடம் + less_than_x_seconds: + one: ஒரு வினாடிக்கும் குறைவாக + other: குறைவாக %{count} வினாடிகள் + less_than_x_minutes: + one: ஒரு நிமிடத்திற்கும் குறைவாக + other: குறைவாக %{count} நிமிடங்கள் + over_x_years: + one: ஒரு ஆண்டிற்கு மேலாக + other: "%{count} ஆண்டிற்கு மேலாக" + x_seconds: + one: "%{count} வினாடி" + other: "%{count} விநாடிகள்" + x_minutes: + one: "%{count} நிமிடம்" + other: "%{count} நிமிடங்கள்" + x_days: + one: "%{count} நாள்" + other: "%{count} நாட்கள்" + x_months: + one: "%{count} மாதம்" + other: "%{count} மாதங்கள்" + prompts: + second: விநாடிகள் + minute: நிமிடம் + hour: மணி + day: நாள் + month: மாதம் + year: ஆண்டு + errors: + format: "%{attribute} %{message}" + messages: + accepted: ஏற்கப்பட வேண்டும் + blank: காலியாக இருக்க முடியாது + confirmation: "%{attribute} பொருந்தவில்லை" + empty: வெறுமையாக இருக்க முடியாது + equal_to: "%{count} சமமாக இருக்க வேண்டும்" + even: இரட்டைப்படை இருக்க வேண்டும் + exclusion: ஒதுக்கப்பட்டுள்ளது + greater_than: "%{count} ஐ விட அதிகமாக இருக்க வேண்டும்" + greater_than_or_equal_to: "%{count} அதிகமாக அல்லது சமமாக இருக்க வேண்டும்" + inclusion: பட்டியலில் சேர்க்கப்படவில்லை + invalid: செல்லுபடியானதல்ல + less_than: "%{count} ஐ விட குறைவாக இருக்க வேண்டும்" + less_than_or_equal_to: "%{count} குறைவாக அல்லது சமமாக இருக்க வேண்டும்" + not_a_number: ஒரு எண் அல்ல + not_an_integer: ஒரு முழு எண்ணாக இருக்க வேண்டும் + odd: ஒற்றைப்படை இருக்க வேண்டும் + other_than: "%{count} தவிர வேறு இருக்க வேண்டும்" + present: காலியாக இருக்க வேண்டும் + taken: ஏற்கனவே எடுத்துகொள்ள பட்டது + too_long: + one: மிக நீளமாக உள்ளது (அதிகபட்சமாக ஒரு எழுத்து) + other: மிக நீளமாக உள்ளது (அதிகபட்சமாக %{count} எழுத்துக்கள்) + too_short: + one: மிகவும் குறுகியதாக உள்ளது (குறைந்தபட்சம் ஒரு எழுத்து) + other: மிகவும் குறுகியதாக உள்ளது (குறைந்தபட்சம் %{count} எழுத்துக்கள்) + wrong_length: + one: தவறான நீளம் (%{count} எழுத்து இருக்கவேண்டும்) + other: தவறான நீளம் (%{count} எழுத்துக்கள் இருக்கவேண்டும்) + template: + body: 'பின்வரும் புலங்களில் பிரச்சினைகள் உள்ளது:' + header: + one: "%{count} பிழை இந்த %{model} ஐ சேமிக்க தடையாக உள்ளது" + other: "%{count} பிழைகள் இந்த %{model} ஐ சேமிக்க தடையாக உள்ளது" + helpers: + select: + prompt: தேர்வு செய்க + submit: + create: "%{model} ஐ உருவாக்கு" + submit: "%{model} ஐ சேமி" + update: "%{model} ஐ புதுப்பி" + number: + currency: + format: + delimiter: "," + format: "%u%n" + precision: 2 + separator: "." + significant: false + strip_insignificant_zeros: false + unit: "₹" + format: + delimiter: "," + precision: 3 + separator: "." + significant: false + strip_insignificant_zeros: false + human: + decimal_units: + format: "%n %u" + units: + billion: பில்லியன் + million: மில்லியன் + quadrillion: குவாட்ரில்லியன் + thousand: ஆயிரம் + trillion: டிரில்லியன் + unit: '' + format: + delimiter: '' + precision: 3 + significant: true + strip_insignificant_zeros: true + storage_units: + format: "%n %u" + units: + byte: + one: Byte + other: Bytes + gb: GB + kb: KB + mb: MB + tb: TB + percentage: + format: + delimiter: '' + format: "%n%" + precision: + format: + delimiter: '' + support: + array: + last_word_connector: ", மற்றும் " + two_words_connector: " மற்றும் " + words_connector: ", " + time: + am: மு.ப. + formats: + default: "%a, %d %b %Y %H:%M:%S %z" + long: "%d %B %Y %H:%M" + short: "%d %b %H:%M" + pm: பி.ப. diff --git a/examples/i18n/data/lang/te.yml b/examples/i18n/data/lang/te.yml new file mode 100644 index 0000000..10cd507 --- /dev/null +++ b/examples/i18n/data/lang/te.yml @@ -0,0 +1,213 @@ +--- +te: + activerecord: + errors: + messages: + record_invalid: 'ధ్రువీకరన విఫలమైనది: %{errors}' + restrict_dependent_destroy: + has_one: రికార్డ్ను తొలగించలేరు, ఎందుకంటే ఒక ఆధారపడిన %{record} ఉంది + has_many: రికార్డ్ను తొలగించలేరు, ఎందుకంటే ఆధారపడిన %{record} ఉంది + date: + abbr_day_names: + - ఆది + - సోమ + - మంగళ + - బుధ + - గురు + - శుక్ర + - శని + abbr_month_names: + - + - Jan + - Feb + - Mar + - Apr + - May + - Jun + - Jul + - Aug + - Sep + - Oct + - Nov + - Dec + day_names: + - ఆదివారం + - సోమవారం + - మంగళవారం + - బుధవారం + - గురువారం + - శుక్రవారం + - శనివారం + formats: + default: "%d-%m-%Y" + long: "%d %B %Y" + short: "%d %b" + month_names: + - + - జనవరి + - ఫిబ్రవరి + - మార్చి + - ఏప్రిల్ + - మే + - జూన్ + - జూలై + - ఆగస్టు + - సెప్టెంబరు + - అక్టోబరు + - నవంబరు + - డిసెంబరు + order: + - :day + - :month + - :year + datetime: + distance_in_words: + about_x_hours: + one: సుమారు ఒక గంట + other: సుమారు %{count} గంటలు + about_x_months: + one: సుమారు ఒక నెల + other: సుమారు %{count} నెలలు + about_x_years: + one: సుమారు ఒక సంవత్సరం + other: సుమారు %{count} సంవత్సరాలు + almost_x_years: + one: దాదాపు ఒక సంవత్సరం + other: దాదాపు %{count} సంవత్సరాలు + half_a_minute: అర నిమిషం + less_than_x_seconds: + one: ఒక క్షణం కన్నా తక్కువ + other: "%{count} క్షణాలు కన్నా తక్కువ" + less_than_x_minutes: + one: ఒక నిమిషం కన్నా తక్కువ + other: "%{count} నిమిషాల కన్నా తక్కువ" + over_x_years: + one: ఒక సంవత్సరం పైగా + other: "%{count} సంవత్సరాల పైగా" + x_seconds: + one: ఒక క్షణం + other: "%{count} క్షణాలు" + x_minutes: + one: ఒక నిమిషం + other: "%{count} నిమిషాలు" + x_days: + one: ఒక రోజు + other: "%{count} రోజులు" + x_months: + one: ఒక నెల + other: "%{count} నెలలు" + x_years: + one: ఒక సంవత్సరం + other: "%{count} సంవత్సరాలు" + prompts: + second: క్షణాలు + minute: నిమిషం + hour: గంట + day: రోజు + month: నెల + year: సంవత్సరం + errors: + format: "%{attribute} %{message}" + messages: + accepted: అంగీకరించి ఉండాలి + blank: ఖాళీగా ఉండకూడదు + confirmation: "%{attribute} సరిపోలడం లేదు" + empty: శూన్యంగా ఉండకూడదు + equal_to: "%{count}కు సమానంగా ఉండాలి" + even: సరి సంఖ్య అయి ఉండాలి + exclusion: ప్రత్యేకించబడింది + greater_than: "%{count} కంటే ఎక్కువ ఉండాలి" + greater_than_or_equal_to: "%{count} కంటే ఎక్కువ లేదా సమానంగా ఉండాలి" + inclusion: జాబితాలో చేర్చబడలేదు + invalid: చెల్లనిది + less_than: "%{count} కంటే తక్కువ ఉండాలి" + less_than_or_equal_to: "%{count} నాలుగు కంటే తక్కువగా లేదా సమానంగా ఉండాలి" + model_invalid: 'ధృవీకరణ విఫలమైంది: %{errors}' + not_a_number: సంఖ్య కాదు + not_an_integer: పూర్ణాంకంగా ఉండాలి + odd: బేసి సంఖ్య అయి ఉండాలి + other_than: "%{count} కన్నా వేరు ఉండాలి" + present: ఖాళీగా ఉండాలి + required: ఉనికిలో ఉండాలి + taken: ఇప్పటికే తీసుకోబడింది + too_long: + one: చాలా పొడవుగా ఉంది (గరిష్టంగా ఒక అక్షరం) + other: చాలా పొడవుగా ఉంది (గరిష్టంగా %{count} అక్షరాలు) + too_short: + one: చాలా తక్కువగా ఉంది (కనీసం ఒక అక్షరం) + other: చాలా చిన్నది (కనీసం %{count} అక్షరాలు) + wrong_length: + one: తప్పు పొడవు (ఒక అక్షరం ఉండాలి) + other: తప్పు పొడవు (%{count} అక్షరాలు ఉండాలి) + template: + body: 'కింది రంగాలలో సమస్యలు ఉన్నాయి:' + header: + one: ఒక తప్పు ఈ %{model} ను ఆదా చెయ్యకుండా నిషేదించింది + other: "%{count} తప్పులు ఈ %{model} ను ఆదా చెయ్యకుండా నిషేదించింది" + helpers: + select: + prompt: దయచేసి ఎంచుకోండి + submit: + create: "%{model} ను సృష్టించండి" + submit: "%{model} ను ఆదా చెయ్యండి" + update: "%{model} ను నవీకరించండి" + number: + currency: + format: + delimiter: "," + format: "%u%n" + precision: 2 + separator: "." + significant: false + strip_insignificant_zeros: false + unit: "₹" + format: + delimiter: "," + precision: 3 + separator: "." + significant: false + strip_insignificant_zeros: false + human: + decimal_units: + format: "%n %u" + units: + billion: బిలియన్ + million: మిలియన్ + quadrillion: క్వాడ్రిలియన్ + thousand: వెయ్యి + trillion: ట్రిలియన్ + unit: '' + format: + delimiter: '' + precision: 3 + significant: true + strip_insignificant_zeros: true + storage_units: + format: "%n %u" + units: + byte: + one: బైట్ + other: బైట్లు + gb: GB + kb: KB + mb: MB + tb: TB + percentage: + format: + delimiter: '' + format: "%n%" + precision: + format: + delimiter: '' + support: + array: + last_word_connector: ", మరియు " + two_words_connector: " మరియు " + words_connector: ", " + time: + am: am + formats: + default: "%a, %d %b %Y %H:%M:%S %z" + long: "%d %B %Y %H:%M" + short: "%d %b %H:%M" + pm: pm diff --git a/examples/i18n/data/lang/th.yml b/examples/i18n/data/lang/th.yml new file mode 100644 index 0000000..db12da6 --- /dev/null +++ b/examples/i18n/data/lang/th.yml @@ -0,0 +1,170 @@ +--- +th: + activerecord: + errors: + messages: + record_invalid: 'ไม่ผ่านการตรวจสอบ: %{errors}' + date: + abbr_day_names: + - อา + - จ + - อ + - พ + - พฤ + - ศ + - ส + abbr_month_names: + - + - ม.ค. + - ก.พ. + - มี.ค. + - เม.ย. + - พ.ค. + - มิ.ย. + - ก.ค. + - ส.ค. + - ก.ย. + - ต.ค. + - พ.ย. + - ธ.ค. + day_names: + - อาทิตย์ + - จันทร์ + - อังคาร + - พุธ + - พฤหัสบดี + - ศุกร์ + - เสาร์ + formats: + default: "%d-%m-%Y" + long: "%d %B %Y" + short: "%d %b" + month_names: + - + - มกราคม + - กุมภาพันธ์ + - มีนาคม + - เมษายน + - พฤษภาคม + - มิถุนายน + - กรกฎาคม + - สิงหาคม + - กันยายน + - ตุลาคม + - พฤศจิกายน + - ธันวาคม + order: + - :day + - :month + - :year + datetime: + distance_in_words: + about_x_hours: ประมาณ %{count} ชั่วโมง + about_x_months: ประมาณ %{count} เดือน + about_x_years: ประมาณ %{count} ปี + almost_x_years: เกือบ %{count} ปี + half_a_minute: ครึ่งนาที + less_than_x_seconds: น้อยกว่า %{count} วินาที + less_than_x_minutes: น้อยกว่า %{count} นาที + over_x_years: มากกว่า %{count} ปี + x_seconds: "%{count} วินาที" + x_minutes: "%{count} นาที" + x_days: "%{count} วัน" + x_months: "%{count} เดือน" + prompts: + second: วินาที + minute: นาที + hour: ชั่วโมง + day: วัน + month: เดือน + year: ปี + errors: + format: "%{attribute} %{message}" + messages: + accepted: ต้องถูกยอมรับ + blank: ต้องไม่เว้นว่างเอาไว้ + confirmation: ไม่ตรงกับการยืนยัน + empty: ต้องไม่เว้นว่างเอาไว้ + equal_to: ต้องมีค่าเท่ากับ %{count} + even: ต้องเป็นจำนวนคู่ + exclusion: ไม่ได้รับอนุญาตให้ใช้ + greater_than: ต้องมากกว่า %{count} + greater_than_or_equal_to: ต้องมากกว่าหรือเท่ากับ %{count} + inclusion: ไม่ได้อยู่ในรายการ + invalid: ไม่ถูกต้อง + less_than: ต้องมีค่าน้อยกว่า %{count} + less_than_or_equal_to: ต้องมีค่าน้อยกว่าหรือเท่ากับ %{count} + not_a_number: ไม่ใช่ตัวเลข + not_an_integer: ไม่ใช่จำนวนเต็ม + odd: ต้องเป็นจำนวนคี่ + taken: ถูกใช้ไปแล้ว + too_long: ยาวเกินไป (ต้องไม่เกิน %{count} ตัวอักษร) + too_short: สั้นเกินไป (ต้องยาวกว่า %{count} ตัวอักษร) + wrong_length: มีความยาวไม่ถูกต้อง (ต้องมีความยาว %{count} ตัวอักษร) + template: + body: 'โปรดตรวจสอบข้อมูลในช่องต่อไปนี้:' + header: พบข้อผิดพลาด %{count} ประการ ทำให้ไม่สามารถบันทึก%{model}ได้ + helpers: + select: + prompt: โปรดเลือก + submit: + create: สร้าง%{model} + submit: บันทึก%{model} + update: ปรับปรุง%{model} + number: + currency: + format: + delimiter: "," + format: "%n %u" + precision: 2 + separator: "." + significant: false + strip_insignificant_zeros: false + unit: บาท + format: + delimiter: "," + precision: 3 + separator: "." + significant: false + strip_insignificant_zeros: false + human: + decimal_units: + format: "%n %u" + units: + billion: พันล้าน + million: ล้าน + quadrillion: พันล้านล้าน + thousand: พัน + trillion: ล้านล้าน + unit: '' + format: + delimiter: '' + precision: 3 + significant: true + strip_insignificant_zeros: true + storage_units: + format: "%n %u" + units: + byte: ไบต์ + gb: จิกะไบต์ + kb: กิโลไบต์ + mb: เมกะไบต์ + tb: เทระไบต์ + percentage: + format: + delimiter: '' + precision: + format: + delimiter: '' + support: + array: + last_word_connector: ", และ " + two_words_connector: " และ " + words_connector: ", " + time: + am: ก่อนเที่ยง + formats: + default: "%a %d %b %Y %H:%M:%S %z" + long: "%d %B %Y %H:%M น." + short: "%d %b %H:%M น." + pm: หลังเที่ยง diff --git a/examples/i18n/data/lang/tl.yml b/examples/i18n/data/lang/tl.yml new file mode 100644 index 0000000..518e190 --- /dev/null +++ b/examples/i18n/data/lang/tl.yml @@ -0,0 +1,202 @@ +--- +tl: + activerecord: + errors: + messages: + record_invalid: 'Nabigo ang pagpapatunay: %{errors}' + date: + abbr_day_names: + - Lin + - Lun + - Mar + - Miy + - Huw + - Biy + - Sab + abbr_month_names: + - + - Ene + - Peb + - Mar + - Abr + - May + - Hun + - Hul + - Ago + - Set + - Okt + - Nob + - Dis + day_names: + - Linggo + - Lunes + - Martes + - Miyerkules + - Huwebes + - Biyernes + - Sabado + formats: + default: "%d/%m/%Y" + long: ika-%d ng %B, %Y + short: ika-%d ng %b + month_names: + - + - Enero + - Pebrero + - Marso + - Abril + - Mayo + - Hunyo + - Hulyo + - Agosto + - Setyembre + - Oktubre + - Nobyembre + - Disyembre + order: + - :year + - :month + - :day + datetime: + distance_in_words: + about_x_hours: + one: humigit-kumulang isang oras + other: humigit-kumulang %{count} oras + about_x_months: + one: humigit-kumulang isang buwan + other: humigit-kumulang %{count} buwan + about_x_years: + one: humigit-kumulang isang taon + other: humigit-kumulang %{count} taon + almost_x_years: + one: halos isang taon + other: halos %{count} taon + half_a_minute: kalahating minuto + less_than_x_seconds: + one: mas mababa sa isang segundo + other: mas mababa sa %{count} segundo + less_than_x_minutes: + one: mas mababa sa isang minuto + other: mas mababa sa %{count} minuto + over_x_years: + one: higit sa isang taon + other: higit %{count} taon + x_seconds: + one: isang segundo + other: "%{count} segundo" + x_minutes: + one: isang minuto + other: "%{count} minuto" + x_days: + one: isang araw + other: "%{count} araw" + x_months: + one: isang buwan + other: "%{count} buwan" + prompts: + second: segundo + minute: minuto + hour: oras + day: araw + month: buwan + year: taon + errors: + format: "%{attribute} ay %{message}" + messages: + accepted: dapat na tanggapin + blank: hindi maaaring walang laman + confirmation: hindi tumutugma ang pagpapatunay + empty: hindi maaaring walang laman + equal_to: dapat na katumba sa %{count} + even: dapat maging even + exclusion: nakalaan na + greater_than: dapat na mas higit sa %{count} + greater_than_or_equal_to: dapat na mas higit sa o katumbas ng %{count} + inclusion: hindi kasama sa listahan + invalid: hindi wasto + less_than: dapat na mas mababa sa %{count} + less_than_or_equal_to: dapat na mas mababa sa o katumbas ng %{count} + not_a_number: hindi isang numero + not_an_integer: dapat na isang integer + odd: dapat maging odd + taken: ginagamit na + too_long: + one: masyadong mahaba (pinakamadami ay %{count} character) + other: masyadong mahaba (pinakamadami ay %{count} character) + too_short: + one: masyadong maikli (pinakakonti ay %{count} character) + other: masyadong maikli (pinakakonti ay %{count} character) + wrong_length: + one: ang maling haba (ito ay dapat eksaktong %{count} character) + other: ang maling haba (ito ay dapat eksaktong %{count} character) + template: + body: 'May mga problema sa mga sumusunod na patlang:' + header: + one: hindi maaaring i-save ang %{model} na ito dahil sa isang error + other: hindi maaaring i-save ang %{model} na ito dahil sa %{count} error + helpers: + select: + prompt: Mangyaring pumili + submit: + create: lumikha ng %{model} + submit: isumite ang %{model} + update: i-update ang %{model} + number: + currency: + format: + delimiter: "," + format: "%n %u" + precision: 2 + separator: "." + significant: false + strip_insignificant_zeros: false + unit: "₱" + format: + delimiter: "," + precision: 3 + separator: "." + significant: false + strip_insignificant_zeros: false + human: + decimal_units: + format: "%n %u" + units: + billion: bilyon + million: milyon + quadrillion: kuwadrilyon + thousand: libo + trillion: trilyon + unit: '' + format: + delimiter: '' + precision: 1 + significant: true + strip_insignificant_zeros: true + storage_units: + format: "%n %u" + units: + byte: + one: Byte + other: Bytes + gb: GB + kb: KB + mb: MB + tb: TB + percentage: + format: + delimiter: '' + precision: + format: + delimiter: '' + support: + array: + last_word_connector: ", at" + two_words_connector: " at " + words_connector: "," + time: + am: AM + formats: + default: "%A, ika-%d ng %B ng %Y %H:%M:%S %z" + long: ika-%d ng %B ng %Y %H:%M + short: "%d ng %b %H:%M" + pm: PM diff --git a/examples/i18n/data/lang/tr.yml b/examples/i18n/data/lang/tr.yml new file mode 100644 index 0000000..9508883 --- /dev/null +++ b/examples/i18n/data/lang/tr.yml @@ -0,0 +1,213 @@ +--- +tr: + activerecord: + errors: + messages: + record_invalid: 'Doğrulama başarısız oldu: %{errors}' + restrict_dependent_destroy: + has_one: Bağlı bir kayıt %{record} bulunduğu için kayıt silinemedi + has_many: Bağlı kayıtlar %{record} bulunduğu için kayıt silinemedi + date: + abbr_day_names: + - Pzr + - Pzt + - Sal + - Çrş + - Prş + - Cum + - Cts + abbr_month_names: + - + - Oca + - Şub + - Mar + - Nis + - May + - Haz + - Tem + - Ağu + - Eyl + - Eki + - Kas + - Ara + day_names: + - Pazar + - Pazartesi + - Salı + - Çarşamba + - Perşembe + - Cuma + - Cumartesi + formats: + default: "%d.%m.%Y" + long: "%e %B %Y, %A" + short: "%e %b" + month_names: + - + - Ocak + - Şubat + - Mart + - Nisan + - Mayıs + - Haziran + - Temmuz + - Ağustos + - Eylül + - Ekim + - Kasım + - Aralık + order: + - :day + - :month + - :year + datetime: + distance_in_words: + about_x_hours: + one: yaklaşık %{count} saat + other: yaklaşık %{count} saat + about_x_months: + one: yaklaşık %{count} ay + other: yaklaşık %{count} ay + about_x_years: + one: yaklaşık %{count} yıl + other: yaklaşık %{count} yıl + almost_x_years: + one: neredeyse %{count} yıl + other: neredeyse %{count} yıl + half_a_minute: yarım dakika + less_than_x_seconds: + one: "%{count} saniyeden az" + other: "%{count} saniyeden az" + less_than_x_minutes: + one: "%{count} dakikadan az" + other: "%{count} dakikadan az" + over_x_years: + one: "%{count} yıldan fazla" + other: "%{count} yıldan fazla" + x_seconds: + one: "%{count} saniye" + other: "%{count} saniye" + x_minutes: + one: "%{count} dakika" + other: "%{count} dakika" + x_days: + one: "%{count} gün" + other: "%{count} gün" + x_months: + one: "%{count} ay" + other: "%{count} ay" + x_years: + one: "%{count} yıl" + other: "%{count} yıl" + prompts: + second: Saniye + minute: Dakika + hour: Saat + day: Gün + month: Ay + year: Yıl + errors: + format: "%{attribute} %{message}" + messages: + accepted: kabul edilmeli + blank: doldurulmalı + confirmation: "%{attribute} teyidiyle uyuşmuyor" + empty: doldurulmalı + equal_to: tam olarak %{count} olmalı + even: çift olmalı + exclusion: kullanılamaz + 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ı" + inclusion: kabul edilen bir kelime değil + invalid: geçersiz + less_than: "%{count} sayısından küçük olmalı" + less_than_or_equal_to: "%{count} sayısına eşit veya küçük olmalı" + model_invalid: 'Doğrulama başarısız oldu: %{errors}' + not_a_number: geçerli bir sayı değil + not_an_integer: tam sayı olmalı + odd: tek olmalı + other_than: "%{count} karakterden oluşamaz" + present: boş bırakılmalı + required: doldurulmalı + taken: hali hazırda kullanılmakta + too_long: + one: çok uzun (en fazla %{count} karakter) + other: çok uzun (en fazla %{count} karakter) + too_short: + one: çok kısa (en az %{count} karakter) + other: çok kısa (en az %{count} karakter) + wrong_length: + one: hatalı uzunlukta (%{count} karakter olmalı) + other: hatalı uzunlukta (%{count} karakter olmalı) + template: + body: 'Lütfen aşağıdaki hataları düzeltiniz:' + header: + one: "%{count} hata oluştuğu için %{model} kaydedilemedi" + other: "%{count} hata oluştuğu için %{model} kaydedilemedi" + helpers: + select: + prompt: Lütfen seçiniz + submit: + create: "%{model} Ekle" + submit: "%{model} Kaydet" + update: "%{model} Güncelle" + number: + currency: + format: + delimiter: "." + format: "%n %u" + precision: 2 + separator: "," + significant: false + strip_insignificant_zeros: false + unit: "₺" + format: + delimiter: "." + precision: 2 + separator: "," + significant: false + strip_insignificant_zeros: false + human: + decimal_units: + format: "%n %u" + units: + billion: Milyar + million: Milyon + quadrillion: Katrilyon + thousand: Bin + trillion: Trilyon + unit: '' + format: + delimiter: "." + precision: 3 + significant: true + strip_insignificant_zeros: true + storage_units: + format: "%n %u" + units: + byte: + one: Bayt + other: Bayt + gb: GB + kb: KB + mb: MB + tb: TB + percentage: + format: + delimiter: '' + format: "%%n" + precision: + format: + delimiter: "." + support: + array: + last_word_connector: " ve " + two_words_connector: " ve " + words_connector: ", " + time: + am: öğleden önce + formats: + default: "%a %d.%b.%y %H:%M" + long: "%e %B %Y, %A, %H:%M" + short: "%e %B, %H:%M" + pm: öğleden sonra diff --git a/examples/i18n/data/lang/tt.yml b/examples/i18n/data/lang/tt.yml new file mode 100644 index 0000000..3b33432 --- /dev/null +++ b/examples/i18n/data/lang/tt.yml @@ -0,0 +1,218 @@ +--- +tt: + activerecord: + errors: + messages: + record_invalid: 'Хаталар чыкты: %{errors}' + restrict_dependent_destroy: + has_one: 'Язмышны бетереп булмады, чөнки бәйлелек табылды: %{record}' + has_many: 'Язмышны бетереп булмады, чөнки бәйлелекләр табылды: %{record}' + date: + abbr_day_names: + - Якш + - Дүш + - Сиш + - Чәр + - Пән + - Җом + - Шим + abbr_month_names: + - + - гыйн. + - февр. + - март + - апр. + - май + - июнь + - июль + - авг. + - сент. + - окт. + - нояб. + - дек. + day_names: + - якшәмбе + - дүшәмбе + - сишәмбе + - чәршәмбе + - пәнҗешәмбе + - җомга + - шимбә + formats: + default: "%d.%m.%Y" + long: "%-d %B %Y" + short: "%-d %b" + month_names: + - + - гыйнвар + - февраль + - март + - апрель + - май + - июнь + - июль + - август + - сентябрь + - октябрь + - ноябрь + - декабрь + order: + - :day + - :month + - :year + datetime: + distance_in_words: + about_x_hours: + one: бер сәгать чамасы + other: "%{count} сәгать чамасы" + about_x_months: + one: бер ай чамасы + other: "%{count} ай чамасы" + about_x_years: + one: бер ел чамасы + other: "%{count} ел чамасы" + almost_x_years: + one: бер ел диярлек + other: "%{count} ел диярлек" + half_a_minute: минуттан азрак + less_than_x_seconds: + one: бер секундтан азрак + other: "%{count} секундтан азрак" + less_than_x_minutes: + one: бер минуттан азрак + other: "%{count} минуттан азрак" + over_x_years: + one: бер ел артык + other: "%{count} ел артык" + x_seconds: + one: бер секунд + other: "%{count} секунд" + x_minutes: + one: бер минут + other: "%{count} минут" + x_days: + one: бер көн + other: "%{count} көн" + x_months: + one: бер ай + other: "%{count} ай" + prompts: + second: Секунд + minute: Минут + hour: Сәгать + day: Көн + month: Ай + year: Ел + errors: + format: "%{attribute} %{message}" + messages: + accepted: раслау кирәк + blank: буш була алмый + confirmation: "%{attribute} читнең мәгнәсе белән тигез түгел" + empty: буш була алмый + equal_to: мәгнәсе %{count} була гына ала + even: так кына була ала + exclusion: резервта саклау дигән әһәмияте бар + greater_than: "%{count} мәгнәсеннән зур була ала" + greater_than_or_equal_to: "%{count} мәгнәсеннән зур яки тигез була ала" + inclusion: мәгнәсе алдан исәпкә алынган түгел + invalid: мәгнәсе ялгыш + less_than: "%{count} мәгнәсеннән азрак була ала" + less_than_or_equal_to: "%{count} мәгнәсеннән азрак яки тигез була ала" + not_a_number: сан тугел + not_an_integer: бөтен сан түгел + odd: җөп кенә була ала + other_than: "%{count} мәгнәсеннән икенче булырга тиеш" + present: буш булырга тиеш + taken: бар инде + too_long: + one: бигрәк озын (озынлыгы бердән озынрак була алмый) + other: бигрәк озын (озынлыгы %{count} мәгнәсеннән озынрак була алмый) + too_short: + one: бигрәк кыска (озынлыгы бердән кыскарак була алмый) + other: бигрәк кыска (озынлыгы %{count} мәгнәсеннән кыскарак була алмый) + wrong_length: + one: озынлыгы ялгыш (озынлыгы бергә тигез булырга тиеш) + other: озынлыгы ялгыш (озынлыгы %{count} мәгнәгә тигез булырга тиеш) + template: + body: ":" + header: + one: "%{model}: %{count} хата аркасында саклау чыкмады" + other: "%{model}: %{count} хата аркасында саклау чыкмады" + helpers: + select: + prompt: 'Сайлагыз: ' + submit: + create: "%{model} иҗат итергә" + submit: "%{model} саклап калырга" + update: "%{model} саклап калырга" + number: + currency: + format: + delimiter: " " + format: "%n %u" + precision: 2 + separator: "," + significant: false + strip_insignificant_zeros: false + unit: сум + format: + delimiter: " " + precision: 3 + separator: "," + significant: false + strip_insignificant_zeros: false + human: + decimal_units: + format: "%n %u" + units: + billion: + one: миллиард + other: миллиард + million: + one: миллион + other: миллион + quadrillion: + one: квадриллион + other: квадриллион + thousand: + one: мең + other: мең + trillion: + one: триллион + other: триллион + unit: '' + format: + delimiter: '' + precision: 1 + significant: false + strip_insignificant_zeros: false + storage_units: + format: "%n %u" + units: + byte: + one: байт + other: байт + gb: ГБ + kb: КБ + mb: МБ + tb: ТБ + percentage: + format: + delimiter: '' + format: "%n%" + precision: + format: + delimiter: '' + support: + array: + last_word_connector: " һәм " + two_words_connector: " һәм " + words_connector: ", " + time: + am: иртәнге + formats: + default: "%a, %d %b %Y, %H:%M:%S %z" + long: "%d %B %Y, %H:%M" + short: "%d %b, %H:%M" + pm: кичке diff --git a/examples/i18n/data/lang/ug.yml b/examples/i18n/data/lang/ug.yml new file mode 100644 index 0000000..cf4cdd0 --- /dev/null +++ b/examples/i18n/data/lang/ug.yml @@ -0,0 +1,207 @@ +--- +ug: + activerecord: + errors: + messages: + record_invalid: "%{errors} دا خاتالىق بار" + restrict_dependent_destroy: + has_one: "%{record} بۇ مەلۇماتنى ئىشلىتىدۇ، شۇڭا ئۆچۈرگىلى بولمايدۇ" + has_many: "%{record} بۇ مەلۇماتنى ئىشلىتىدۇ، شۇڭا ئۆچۈرگىلى بولمايدۇ" + date: + abbr_day_names: + - يەكشەنبە + - دۈشەنبە + - سەيشەنبە + - چارشەنبە + - پەيشەنبە + - جۈمە + - شەنبە + abbr_month_names: + - + - يانۋار + - فېۋرال + - مارت + - ئاپرېل + - ماي + - ئىيۇن + - ئىيۇل + - ئاۋغۇست + - سېنتەبىر + - ئۆكتەبىر + - نويابىر + - دېكابىر + day_names: + - يەكشەنبە + - دۈشەنبە + - سەيشەنبە + - چارشەنبە + - پەيشەنبە + - جۈمە + - شەنبە + formats: + default: "%Y-%m-%d" + long: "%Y-%m-%d" + short: "%b%d" + month_names: + - + - يانۋار + - فېۋرال + - مارت + - ئاپرېل + - ماي + - ئىيۇن + - ئىيۇل + - ئاۋغۇست + - سېنتەبىر + - ئۆكتەبىر + - نويابىر + - دېكابىر + order: + - :year + - :month + - :day + datetime: + distance_in_words: + about_x_hours: + one: تەخمىنەن بىر سائەت + other: تەخمىنەن %{count} سائەت + about_x_months: + one: تەخمىنەن بىر ئاي + other: تەخمىنەن %{count} ئاي + about_x_years: + one: تەخمىنەن بىر يىل + other: تەخمىنەن %{count} يىل + almost_x_years: + one: بىر يىلغا يېقىن + other: "%{count} يىلغا يېقىن" + half_a_minute: يېرىم مىنۇت + less_than_x_seconds: + one: بىر سىكۇنتقا يەتمىگەن + other: "%{count} سىكنۇتقا" + less_than_x_minutes: + one: بىر مىنۇتقا يەتمىگەن + other: "%{count} مىنۇتقا يەتمىگەن" + over_x_years: + one: بىر يىلدىن ئارتۇق + other: "%{count} يىلدىن ئارتۇق" + x_seconds: + one: بىر سىكنۇت + other: "%{count} سىكنۇت" + x_minutes: + one: بىر مىنۇت + other: "%{count} مىنۇت" + x_days: + one: بىر كۈن + other: "%{count} كۈن" + x_months: + one: بىر ئاي + other: "%{count} ئاي" + prompts: + second: سىكنۇت + minute: مىنۇت + hour: سائەت + day: كۈن + month: ئاي + year: يىل + errors: + format: "%{attribute}%{message}" + messages: + accepted: تەستىقلاش كېرەك + blank: بوش بولماسلىقى كېرەك + confirmation: تەستىق بىلەن ماس ئەمەس + empty: بوش بولماسلىقى كېرەك + equal_to: "%{count} غا تەڭ" + even: جۈپ سان + exclusion: مۇمكىن ئەمەس + greater_than: "%{count} دىن چوڭ" + greater_than_or_equal_to: "%{count} دىن چوڭ ياكى تەڭ" + inclusion: كۈتىلمىگەن نەتىجە + invalid: ئىناۋەتسىز + less_than: "%{count} دىن كىچىك" + less_than_or_equal_to: "%{count} دىن كىچىك ياكى تەڭ" + not_a_number: سان ئەمەس + not_an_integer: پۈتۈن سان ئەمەس + odd: تاق سان + other_than: ئىناۋەتسىز ئۇزۇنلۇق (%{count} ھەرىپ بولماسلىقى كېرەك) + present: بوش بولىشى كېرەك + taken: ئىشلىتىپ بولۇنغان + too_long: + one: بەك ئۇزۇن (بىر ھەرىپ) + other: بەك ئۇزۇن (ئەڭ ئۇزۇن بولغاندا %{count} ھەرىپ) + too_short: + one: بەك قىسقا (بىر ھەرىپ) + other: بەك قىسقا (ئەڭ قىسقا بولغاندا %{count} ھەرىپ) + wrong_length: + one: ئىناۋەتسىز ئۇزۇنلۇق (بىر ھەرىپ) + other: ئىناۋەتسىز ئۇزۇنلۇق (چوقۇم %{count} ھەرىپ) + template: + body: تۆۋەندىكى سۆز بۆلەكلىرىدە خاتالىق بار + header: + one: بىر خاتالىق تۈپەيلىدىن 「%{model}」 ساقلاش مەغلۇب بولدى + other: "%{count} خاتالىق تۈپەيلىدىن 「%{model}」ساقلاش مەغلۇب بولدى" + helpers: + select: + prompt: تاللاڭ + submit: + create: "%{model} قوشۇش" + submit: "%{model} ساقلاش" + update: "%{model} يېڭىلاش" + number: + currency: + format: + delimiter: "," + format: "%u %n" + precision: 2 + separator: "." + significant: false + strip_insignificant_zeros: false + unit: CN¥ + format: + delimiter: "," + precision: 3 + separator: "." + significant: false + strip_insignificant_zeros: false + human: + decimal_units: + format: "%n %u" + units: + billion: مىليارد + million: مىليون + quadrillion: گېگابايت + thousand: مىڭ + trillion: مېگا + unit: '' + format: + delimiter: '' + precision: 1 + significant: false + strip_insignificant_zeros: false + storage_units: + format: "%n %u" + units: + byte: + one: بايت + other: بايت + gb: GB + kb: KB + mb: MB + tb: TB + percentage: + format: + delimiter: '' + precision: + format: + delimiter: '' + support: + array: + last_word_connector: " ۋە " + two_words_connector: " ۋە " + words_connector: ", " + time: + am: چۈشتىن بۇرۇن + formats: + default: "%Y %b %d %A %H:%M:%S %Z" + long: "%Y %b %d %H:%M" + short: "%b %d %H:%M" + pm: چۈشتىن كېيىن diff --git a/examples/i18n/data/lang/uk.yml b/examples/i18n/data/lang/uk.yml new file mode 100644 index 0000000..8b29dbb --- /dev/null +++ b/examples/i18n/data/lang/uk.yml @@ -0,0 +1,266 @@ +--- +uk: + activerecord: + errors: + messages: + record_invalid: 'Виникли помилки: %{errors}' + restrict_dependent_destroy: + has_one: 'Неможливо видалити запис, так як існує залежність: %{record}' + has_many: 'Неможливо видалити запис, так як існують залежності: %{record}' + date: + abbr_day_names: + - нд. + - пн. + - вт. + - ср. + - чт. + - пт. + - сб. + abbr_month_names: + - + - січ. + - лют. + - бер. + - квіт. + - трав. + - черв. + - лип. + - серп. + - вер. + - жовт. + - лист. + - груд. + day_names: + - неділя + - понеділок + - вівторок + - середа + - четвер + - п'ятниця + - субота + formats: + default: "%d.%m.%Y" + long: "%d %B %Y" + short: "%d %b" + month_names: + - + - Січня + - Лютого + - Березня + - Квітня + - Травня + - Червня + - Липня + - Серпня + - Вересня + - Жовтня + - Листопада + - Грудня + order: + - :day + - :month + - :year + datetime: + distance_in_words: + about_x_hours: + one: близько %{count} години + few: близько %{count} годин + many: близько %{count} годин + other: близько %{count} години + about_x_months: + one: близько %{count} місяця + few: близько %{count} місяців + many: близько %{count} місяців + other: близько %{count} місяця + about_x_years: + one: близько %{count} року + few: близько %{count} років + many: близько %{count} років + other: близько %{count} року + almost_x_years: + one: майже %{count} рік + few: майже %{count} роки + many: майже %{count} років + other: майже %{count} років + half_a_minute: пів хвилини + less_than_x_seconds: + one: менше %{count} секунди + few: менше %{count} секунд + many: менше %{count} секунд + other: менше %{count} секунди + less_than_x_minutes: + one: менше %{count} хвилини + few: менше %{count} хвилин + many: менше %{count} хвилин + other: менше %{count} хвилини + over_x_years: + one: більше %{count} року + few: більше %{count} років + many: більше %{count} років + other: більше %{count} року + x_seconds: + one: "%{count} секунда" + few: "%{count} секунди" + many: "%{count} секунд" + other: "%{count} секунди" + x_minutes: + one: "%{count} хвилина" + few: "%{count} хвилини" + many: "%{count} хвилин" + other: "%{count} хвилини" + x_days: + one: "%{count} день" + few: "%{count} дні" + many: "%{count} днів" + other: "%{count} дня" + x_months: + one: "%{count} місяць" + few: "%{count} місяці" + many: "%{count} місяців" + other: "%{count} місяця" + x_years: + one: "%{count} рік" + few: "%{count} роки" + many: "%{count} років" + other: "%{count} року" + prompts: + second: Секунда + minute: Хвилина + hour: Година + day: День + month: Місяць + year: Рік + errors: + format: "%{attribute} %{message}" + messages: + accepted: має бути прийнятий + blank: не може бути пустим + confirmation: не збігається з підтвердженням + empty: не може бути порожнім + equal_to: має дорівнювати %{count} + even: має бути парним + exclusion: зарезервовано + greater_than: має бути більше ніж %{count} + greater_than_or_equal_to: має бути більше ніж або дорівнювати %{count} + inclusion: не включено до переліку + invalid: недійсний + less_than: має бути менше ніж %{count} + less_than_or_equal_to: має бути менше ніж або дорівнювати %{count} + model_invalid: 'Виникли помилки: %{errors}' + not_a_number: не число + not_an_integer: не є цілим числом + odd: має бути непарним + other_than: має відрізнятись від %{count} + present: має бути пустим + required: не може бути порожнім + taken: вже зайнятий + 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} знаку) + template: + body: 'Помилки виявлено в таких полях:' + header: + one: "%{model} не збережено через %{count} помилку" + few: "%{model} не збережено через %{count} помилки" + many: "%{model} не збережено через %{count} помилок" + other: "%{model} не збережено через %{count} помилки" + helpers: + select: + prompt: 'Оберіть: ' + submit: + create: Створити %{model} + submit: Зберегти %{model} + update: Зберегти %{model} + number: + currency: + format: + delimiter: " " + format: "%n %u" + precision: 2 + separator: "," + significant: false + strip_insignificant_zeros: false + unit: грн. + format: + delimiter: " " + precision: 3 + separator: "," + significant: false + strip_insignificant_zeros: false + human: + decimal_units: + format: "%n %u" + units: + billion: + one: Мільярд + few: Мільярдів + many: Мільярдів + other: Мільярдів + million: + one: Мільйон + few: Мільйонів + many: Мільйонів + other: Мільйонів + quadrillion: + one: Квадрильйон + few: Квадрильйонів + many: Квадрильйонів + other: Квадрильйонів + thousand: + one: Тисяча + few: Тисяч + many: Тисяч + other: Тисяч + trillion: + one: Трильйон + few: Трильйонів + many: Трильйонів + other: Трильйонів + unit: '' + format: + delimiter: '' + precision: 1 + significant: false + strip_insignificant_zeros: false + storage_units: + format: "%n %u" + units: + byte: + one: байт + few: байти + many: байтів + other: байту + gb: ГБ + kb: кБ + mb: МБ + tb: ТБ + percentage: + format: + delimiter: '' + precision: + format: + delimiter: '' + support: + array: + last_word_connector: " та " + two_words_connector: " і " + words_connector: ", " + time: + am: до полудня + formats: + default: "%a, %d %b %Y, %H:%M:%S %z" + long: "%d %B %Y, %H:%M" + short: "%d %b, %H:%M" + pm: по полудні diff --git a/examples/i18n/data/lang/ur.yml b/examples/i18n/data/lang/ur.yml new file mode 100644 index 0000000..555219a --- /dev/null +++ b/examples/i18n/data/lang/ur.yml @@ -0,0 +1,210 @@ +--- +ur: + activerecord: + errors: + messages: + record_invalid: 'توثیق میں نا کا می: %{errors}' + restrict_dependent_destroy: + has_one: ایک منحصر %{record} کی موجودگی کے باعث اس ریکارڈ کو حذف نہیں کیا + جا سکتا + has_many: چند منحصر %{record} کی موجودگی کے باعث اس ریکارڈ کو حذف نہیں + کیا جا سکتا + date: + abbr_day_names: + - اتوار + - سوموار + - منگل + - بدھ + - جمعرات + - جمعہ + - ہفتہ + abbr_month_names: + - + - جنوری + - فروری + - مارچ + - اپریل + - مئی + - جون + - جولائی + - اگست + - ستمبر + - اکتوبر + - نومبر + - دسمبر + day_names: + - اتوار + - سوموار + - منگل + - بدھ + - جمعرات + - جمعہ + - ہفتہ + formats: + default: "%d %B %Y" + long: "%d %B، %Y" + short: "%d %b" + month_names: + - + - جنوری + - فروری + - مارچ + - اپریل + - مئی + - جون + - جولائی + - اگست + - ستمبر + - اکتوبر + - نومبر + - دسمبر + order: + - :day + - :month + - :year + datetime: + distance_in_words: + about_x_hours: + one: تقریبا ایک گھنٹہ + other: تقریبا %{count} گھنٹے + about_x_months: + one: تقریبا ایک مہینہ + other: تقریبا %{count} مہینہ + about_x_years: + one: تقریبا ایک سال + other: تقریبا %{count} سال + almost_x_years: + one: تقریبا ایک سال + other: تقریبا %{count} سال + half_a_minute: آدھا منٹ + less_than_x_seconds: + one: ایک سیکنڈ سے کم + other: "%{count} سیکنڈوں سے کم" + less_than_x_minutes: + one: ایک مںٹ سے کم + other: "%{count} مںٹوں سے کم" + over_x_years: + one: ایک سال سے زیادہ + other: "%{count} سالوں سے زیادہ" + x_seconds: + one: ایک سیکنڈ + other: "%{count} سیکنڈ" + x_minutes: + one: ایک منٹ + other: "%{count} منٹ" + x_days: + one: ایک دن + other: "%{count} دن" + x_months: + one: ایک ماہ + other: "%{count} ماہ" + prompts: + second: سیکنڈ + minute: منٹ + hour: گھنٹہ + day: دن + month: ماہ + year: سال + errors: + format: "%{attribute} %{message}" + messages: + accepted: قبول ہونا ضروری ہے + blank: لازم ہے + confirmation: "%{attribute} میل نہیں رکھتا" + empty: لازم ہے + equal_to: "%{count} کے برابر ہونا چاہیے" + even: جفت ہونا ضروری ہے + exclusion: مخصوص ہے + greater_than: "%{count} سے زیادہ ہونا چاہیے" + greater_than_or_equal_to: "%{count} سے بڑا یا برابر ہونا چاہیے" + inclusion: فہرست میں شامل نہیں ہے + invalid: باطل ہے + less_than: "%{count} سے کم ہونا چاہیے" + less_than_or_equal_to: "%{count} سے کم یا اس کے برابر ہونا چاہیے" + not_a_number: ایک نمبر نہیں ہے + not_an_integer: ایک عدد صحیح ہونا ضروری ہے + odd: طاق ہونا ضروری ہے + other_than: "%{count} کے علاوہ کسی اور کا ہونا لازمی ہے" + present: خالی ہونا ضروری ہے + taken: پہلے سے ہی استعمال میں ہے + too_long: + one: بہت طویل ہے (زیادہ سے زیادہ ایک حرف) + other: iبہت طویل ہے (زیادہ سے زیادہ %{count} حروف) + too_short: + one: بہت چھوٹا ہے (کم از کم اکی حرف) + other: بہت چھوٹا ہے (کم از کم %{count} حروف) + wrong_length: + one: غلط طوالت (ایک حرف ہونا چاہئے) + other: غلط طوالت (%{count} حروف ہونے چاہئے) + template: + body: 'مندرجہ ذیل متن کے ساتھ مسائل ہیں:' + header: + one: ایک خرابی کے باعث یہ %{model} محفوظ نہیں کیا جا سکا + other: "%{count} خرابیوں کے باعث یہ %{model} محفوظ نہیں کیا جا سکا" + helpers: + select: + prompt: منتخب کیجیے + submit: + create: "%{model} تشکیل دیں" + submit: "%{model} محفوظ کریں" + update: اپ ڈیٹ %{model} + number: + currency: + format: + delimiter: "," + format: "%n %u" + precision: 2 + separator: "." + significant: false + strip_insignificant_zeros: false + unit: Rs + format: + delimiter: "," + precision: 0 + separator: "." + significant: false + strip_insignificant_zeros: false + human: + decimal_units: + format: "%n %u" + units: + billion: بلین + million: ملین + quadrillion: کواڈریلن + thousand: ہزار + trillion: ٹریلن + unit: Rs + format: + delimiter: '' + precision: 0 + significant: true + strip_insignificant_zeros: true + storage_units: + format: "%n %u" + units: + byte: + one: Byte + other: Bytes + gb: GB + kb: KB + mb: MB + tb: TB + percentage: + format: + delimiter: '' + format: "%n فیصد" + precision: + format: + delimiter: '' + support: + array: + last_word_connector: "، اور " + two_words_connector: " اور " + words_connector: "، " + time: + am: صبح + formats: + default: "%a، %d %b %Y، %p %l:%M %Z" + long: "%d %B، %Y %p %H:%M" + short: "%d %b، %H:%M" + pm: شام diff --git a/examples/i18n/data/lang/uz.yml b/examples/i18n/data/lang/uz.yml new file mode 100644 index 0000000..890492f --- /dev/null +++ b/examples/i18n/data/lang/uz.yml @@ -0,0 +1,254 @@ +--- +uz: + activerecord: + errors: + messages: + record_invalid: "%{errors}ta hato bor." + date: + abbr_day_names: + - Ya + - Du + - Sh + - Ch + - Pa + - Ju + - Sh + abbr_month_names: + - + - yan. + - fev. + - mart + - apr. + - may + - iyun + - iyul + - avg. + - sen. + - okt. + - noy. + - dek. + day_names: + - yakshanba + - dushanba + - seshanba + - chorshanba + - payshanba + - juma + - shanba + formats: + default: "%d.%m.%Y" + long: "%d %B %Y" + short: "%d %b" + month_names: + - + - yanvar + - fevral + - mart + - aprel + - may + - iyun + - iyul + - avgust + - sentyabr + - oktyabr + - noyabr + - dekabr + order: + - :day + - :month + - :year + datetime: + distance_in_words: + about_x_hours: + one: chamasi %{count} soat + few: chamasi %{count} soat + many: chamasi %{count} soat + other: chamasi %{count} soat + about_x_months: + one: chamasi %{count} oy + few: chamasi %{count} oy + many: chamasi %{count} oy + other: chamasi %{count} oy + about_x_years: + one: chamasi %{count} yil + few: chamasi %{count} yil + many: chamasi %{count} yil + other: chamasi %{count} yil + almost_x_years: + one: deyarli %{count} yil + few: deyarli %{count} yil + many: deyarli %{count} yil + other: deyarli %{count} yil + half_a_minute: bir daqiqadan kam + less_than_x_seconds: + one: "%{count} soniyadan kam" + few: "%{count} soniyadan kam" + many: "%{count} soniyadan kam" + other: "%{count} soniyadan kam" + less_than_x_minutes: + one: "%{count} daqiqadan kam" + few: "%{count} daqiqadan kam" + many: "%{count} daqiqadan kam" + other: "%{count} daqiqadan kam" + over_x_years: + one: "%{count} yildan ziyod" + few: "%{count} yildan ziyod" + many: "%{count} yildan ziyod" + other: "%{count} yildan ziyod" + x_seconds: + one: "%{count} soniya" + few: "%{count} soniya" + many: "%{count} soniya" + other: "%{count} soniya" + x_minutes: + one: "%{count} daqiqa" + few: "%{count} daqiqa" + many: "%{count} daqiqa" + other: "%{count} daqiqa" + x_days: + one: "%{count} kun" + few: "%{count} kun" + many: "%{count} kun" + other: "%{count} kun" + x_months: + one: "%{count} oy" + few: "%{count} oy" + many: "%{count} oy" + other: "%{count} oy" + prompts: + second: soniya + minute: daqiqa + hour: soat + day: kun + month: oy + year: yil + errors: + format: "%{attribute} %{message}" + messages: + accepted: tasdiqlash kerak + blank: bosh bo'lishi mumkin emas + confirmation: tasdiq bilan mos emas + empty: bosh bo'lishi mumkin emas + equal_to: "%{count} ga teng" + even: juft sonlar mumkin + exclusion: mumkin emas + greater_than: "%{count} dan yuqori" + greater_than_or_equal_to: "%{count} ga teng yoki yuqori" + inclusion: kutilmagan natija + invalid: noto'gri + less_than: "%{count} dan kam" + less_than_or_equal_to: "%{count} ga teng yoki kam" + not_a_number: son emas + not_an_integer: butun son emas + odd: toq sonlar mumkin + taken: band + too_long: + one: uzunligi yetarligidan ortiq (%{count} ta simvoldan yuqori mumkin emas) + few: uzunligi yetarligidan ortiq (%{count} ta simvoldan yuqori mumkin emas) + many: uzunligi yetarligidan ortiq (%{count} ta simvoldan yuqori mumkin emas) + other: uzunligi yetarligidan ortiq (%{count} ta simvoldan yuqori mumkin emas) + too_short: + one: uzunligi yetarli emas (%{count} ta simvoldan kam mumkin emas) + few: uzunligi yetarli emas (%{count} ta simvoldan kam mumkin emas) + many: uzunligi yetarli emas (%{count} ta simvoldan kam mumkin emas) + other: uzunligi yetarli emas (%{count} ta simvoldan kam mumkin emas) + wrong_length: + one: uzunligi noto'gri (uzunligi %{count} simvolga teng bulishi kerak) + few: uzunligi noto'gri (uzunligi %{count} simvolga teng bulishi kerak) + many: uzunligi noto'gri (uzunligi %{count} simvolga teng bulishi kerak) + other: uzunligi noto'gri (uzunligi %{count} simvolga teng bulishi kerak) + template: + body: 'Quyidagilarda hatolar mavjud:' + header: + one: "%{count} ta hato sababli %{model}:ni saqlab bulmadi" + few: "%{count} ta hatolar sababli %{model}:ni saqlab bulmadi" + many: "%{count} ta hatolar sababli %{model}:ni saqlab bulmadi" + other: "%{count} ta hatolar sababli %{model}:ni saqlab bulmadi" + helpers: + select: + prompt: 'Tanlang: ' + submit: + create: Yarat %{model} + submit: Saqla %{model} + update: Saqla %{model} + number: + currency: + format: + delimiter: " " + format: "%n %u" + precision: 2 + separator: "." + significant: false + strip_insignificant_zeros: false + unit: so'm. + format: + delimiter: " " + precision: 3 + separator: "." + significant: false + strip_insignificant_zeros: false + human: + decimal_units: + format: "%n %u" + units: + billion: + one: milliard + few: milliard + many: milliard + other: milliard + million: + one: million + few: million + many: million + other: million + quadrillion: + one: kvadrillion + few: kvadrillion + many: kvadrillion + other: kvadrillion + thousand: + one: ming + few: ming + many: ming + other: ming + trillion: + one: trillion + few: trillion + many: trillion + other: trillion + unit: '' + format: + delimiter: '' + precision: 1 + significant: false + strip_insignificant_zeros: false + storage_units: + format: "%n %u" + units: + byte: + one: bayt + few: bayt + many: bayt + other: bayt + gb: GB + kb: KB + mb: MB + tb: TB + percentage: + format: + delimiter: '' + precision: + format: + delimiter: '' + support: + array: + last_word_connector: " va " + two_words_connector: " va " + words_connector: ", " + time: + am: ertalab + formats: + default: "%a, %d %b %Y, %H:%M:%S %z" + long: "%d %B %Y, %H:%M" + short: "%d %b, %H:%M" + pm: kechasi diff --git a/examples/i18n/data/lang/vi.yml b/examples/i18n/data/lang/vi.yml new file mode 100644 index 0000000..eb660dc --- /dev/null +++ b/examples/i18n/data/lang/vi.yml @@ -0,0 +1,179 @@ +--- +vi: + activerecord: + errors: + messages: + record_invalid: 'Có các lỗi sau: %{errors}' + restrict_dependent_destroy: + has_one: Không thể xóa do tồn tại đối tượng phụ thuộc %{record} + has_many: Không thể xóa do tồn tại một số đối tượng phụ thuộc %{record} + date: + abbr_day_names: + - CN + - Thứ 2 + - Thứ 3 + - Thứ 4 + - Thứ 5 + - Thứ 6 + - Thứ 7 + abbr_month_names: + - + - Thg 1 + - Thg 2 + - Thg 3 + - Thg 4 + - Thg 5 + - Thg 6 + - Thg 7 + - Thg 8 + - Thg 9 + - Thg 10 + - Thg 11 + - Thg 12 + day_names: + - Chủ nhật + - Thứ hai + - Thứ ba + - Thứ tư + - Thứ năm + - Thứ sáu + - Thứ bảy + formats: + default: "%d-%m-%Y" + long: "%d %B, %Y" + short: "%d %b" + 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 + order: + - :day + - :month + - :year + datetime: + distance_in_words: + about_x_hours: khoảng %{count} giờ + about_x_months: khoảng %{count} tháng + about_x_years: khoảng %{count} năm + almost_x_years: gần %{count} năm + half_a_minute: 30 giây + less_than_x_seconds: chưa tới %{count} giây + less_than_x_minutes: chưa tới %{count} phút + over_x_years: hơn %{count} năm + x_seconds: "%{count} giây" + x_minutes: "%{count} phút" + x_days: "%{count} ngày" + x_months: "%{count} tháng" + prompts: + second: Giây + minute: Phút + hour: Giờ + day: Ngày + month: Tháng + year: Năm + errors: + format: "%{attribute} %{message}" + messages: + accepted: phải được đồng ý + blank: không thể để trắng + confirmation: không khớp với xác nhận + empty: không thể rỗng + equal_to: phải bằng %{count} + even: phải là số chẵn + exclusion: đã được giành trước + 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} + inclusion: không có trong danh sách + invalid: không hợp lệ + less_than: phải nhỏ hơn %{count} + less_than_or_equal_to: phải nhỏ hơn hoặc bằng %{count} + not_a_number: không phải là số + not_an_integer: phải là một số nguyên + odd: phải là số lẻ + other_than: cần phải khác %{count} + present: cần phải để trắng + taken: đã tồn tại + 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ự) + required: "phải có" + template: + body: 'Có lỗi với các mục sau:' + header: "%{count} lỗi ngăn không cho lưu %{model} này" + helpers: + select: + prompt: Vui lòng chọn + submit: + create: Tạo %{model} + submit: Lưu %{model} + update: Cập nhật %{model} + number: + currency: + format: + delimiter: "." + format: "%n %u" + precision: 0 + separator: "," + significant: false + strip_insignificant_zeros: false + unit: VNĐ + format: + delimiter: "." + precision: 3 + separator: "," + significant: false + strip_insignificant_zeros: false + human: + decimal_units: + format: "%n %u" + units: + billion: Tỷ + million: Triệu + quadrillion: Triệu tỷ + thousand: Nghìn + trillion: Nghìn tỷ + unit: '' + format: + delimiter: '' + precision: 1 + significant: true + strip_insignificant_zeros: true + storage_units: + format: "%n %u" + units: + byte: + one: Byte + other: Byte + gb: GB + kb: KB + mb: MB + tb: TB + percentage: + format: + delimiter: '' + format: "%n%" + precision: + format: + delimiter: '' + support: + array: + last_word_connector: ", và " + two_words_connector: " và " + words_connector: ", " + time: + am: sáng + formats: + default: "%a, %d %b %Y %H:%M:%S %z" + long: "%d %B, %Y %H:%M" + short: "%d %b %H:%M" + pm: chiều diff --git a/examples/i18n/data/lang/wo.yml b/examples/i18n/data/lang/wo.yml new file mode 100644 index 0000000..8bf2ffe --- /dev/null +++ b/examples/i18n/data/lang/wo.yml @@ -0,0 +1,208 @@ +--- +wo: + activerecord: + errors: + messages: + record_invalid: 'Validation failed: %{errors}' + restrict_dependent_destroy: + has_one: Cannot delete record because a dependent %{record} exists + has_many: Cannot delete record because dependent %{record} exist + date: + abbr_day_names: + - Dib + - Alt + - Tal + - All + - Alx + - Ajj + - Gaw + abbr_month_names: + - + - Jan + - Feb + - Mar + - Apr + - May + - Jun + - Jul + - Aug + - Sep + - Oct + - Nov + - Dec + day_names: + - Dibèer + - Altine + - Talaata + - Allarba + - Alxamess + - Ajjouma + - Gaawu + formats: + default: "%Y-%m-%d" + long: "%d %B, %Y" + short: "%d %b" + month_names: + - + - Tamkharit + - Digui Gamou + - Gamou + - Raki Gamou + - Rakati Gamou + - Mamou Kor + - Ndeyou Kor + - Baraxlou + - Kor + - Kori + - Digui Tabaski + - Tabaski + order: + - :year + - :month + - :day + datetime: + distance_in_words: + about_x_hours: + one: about %{count} hour + other: about %{count} hours + about_x_months: + one: about %{count} month + other: about %{count} months + about_x_years: + one: about %{count} year + other: about %{count} years + almost_x_years: + one: almost %{count} year + other: almost %{count} years + half_a_minute: half a minute + less_than_x_seconds: + one: less than %{count} second + other: less than %{count} seconds + less_than_x_minutes: + one: less than a minute + other: less than %{count} minutes + over_x_years: + one: over %{count} year + other: over %{count} years + x_seconds: + one: "%{count} second" + other: "%{count} seconds" + x_minutes: + one: "%{count} minute" + other: "%{count} minutes" + x_days: + one: "%{count} day" + other: "%{count} days" + x_months: + one: "%{count} month" + other: "%{count} months" + x_years: + one: "%{count} year" + other: "%{count} years" + prompts: + second: Second + minute: Minute + hour: Hour + day: Day + month: Month + year: Year + errors: + format: "%{attribute} %{message}" + messages: + accepted: must be accepted + blank: can't be blank + confirmation: doesn't match %{attribute} + empty: can't be empty + equal_to: must be equal to %{count} + even: must be even + exclusion: is reserved + greater_than: must be greater than %{count} + greater_than_or_equal_to: must be greater than or equal to %{count} + inclusion: is not included in the list + invalid: is invalid + less_than: must be less than %{count} + less_than_or_equal_to: must be less than or equal to %{count} + not_a_number: is not a number + not_an_integer: must be an integer + odd: must be odd + taken: has already been taken + too_long: + one: is too long (maximum is %{count} character) + other: is too long (maximum is %{count} characters) + too_short: + one: is too short (minimum is %{count} character) + other: is too short (minimum is %{count} characters) + wrong_length: + one: is the wrong length (should be %{count} character) + other: is the wrong length (should be %{count} characters) + template: + body: 'There were problems with the following fields:' + header: + one: "%{count} error prohibited this %{model} from being saved" + other: "%{count} errors prohibited this %{model} from being saved" + helpers: + select: + prompt: Please select + submit: + create: Create %{model} + submit: Save %{model} + update: Update %{model} + number: + currency: + format: + delimiter: "," + format: "%u%n" + precision: 2 + separator: "." + significant: false + strip_insignificant_zeros: false + unit: "$" + format: + delimiter: "," + precision: 3 + separator: "." + significant: false + strip_insignificant_zeros: false + human: + decimal_units: + format: "%n %u" + units: + billion: Billion + million: Million + quadrillion: Quadrillion + thousand: Thousand + trillion: Trillion + unit: '' + format: + delimiter: '' + precision: 3 + significant: true + strip_insignificant_zeros: true + storage_units: + format: "%n %u" + units: + byte: + one: Byte + other: Bytes + gb: GB + kb: KB + mb: MB + tb: TB + percentage: + format: + delimiter: '' + precision: + format: + delimiter: '' + support: + array: + last_word_connector: ", and " + two_words_connector: " and " + words_connector: ", " + time: + am: am + formats: + default: "%a, %d %b %Y %H:%M:%S %z" + long: "%d %B, %Y %H:%M" + short: "%d %b %H:%M" + pm: pm diff --git a/examples/i18n/data/lang/zh-CN.yml b/examples/i18n/data/lang/zh-CN.yml new file mode 100644 index 0000000..d2e1bbe --- /dev/null +++ b/examples/i18n/data/lang/zh-CN.yml @@ -0,0 +1,181 @@ +--- +zh-CN: + activerecord: + errors: + messages: + record_invalid: 验证失败:%{errors} + restrict_dependent_destroy: + has_one: 由于%{record}需要此记录,所以无法移除记录 + has_many: 由于%{record}需要此记录,所以无法移除记录 + date: + abbr_day_names: + - 周日 + - 周一 + - 周二 + - 周三 + - 周四 + - 周五 + - 周六 + abbr_month_names: + - + - 1月 + - 2月 + - 3月 + - 4月 + - 5月 + - 6月 + - 7月 + - 8月 + - 9月 + - 10月 + - 11月 + - 12月 + day_names: + - 星期日 + - 星期一 + - 星期二 + - 星期三 + - 星期四 + - 星期五 + - 星期六 + formats: + default: "%Y-%m-%d" + long: "%Y年%m月%d日" + short: "%m月%d日" + month_names: + - + - 一月 + - 二月 + - 三月 + - 四月 + - 五月 + - 六月 + - 七月 + - 八月 + - 九月 + - 十月 + - 十一月 + - 十二月 + order: + - :year + - :month + - :day + datetime: + distance_in_words: + about_x_hours: 大约%{count}小时 + about_x_months: 大约%{count}个月 + about_x_years: 大约%{count}年 + almost_x_years: 接近%{count}年 + half_a_minute: 半分钟 + less_than_x_seconds: 不到%{count}秒 + less_than_x_minutes: 不到%{count}分钟 + over_x_years: "%{count}年多" + x_seconds: "%{count}秒" + x_minutes: "%{count}分钟" + x_days: "%{count}天" + x_months: "%{count}个月" + x_years: "%{count}年" + prompts: + second: 秒 + minute: 分 + hour: 时 + day: 日 + month: 月 + year: 年 + errors: + format: "%{attribute}%{message}" + messages: + accepted: 必须是可被接受的 + blank: 不能为空字符 + confirmation: 与%{attribute}不匹配 + empty: 不能留空 + equal_to: 必须等于%{count} + even: 必须为双数 + exclusion: 是保留关键字 + greater_than: 必须大于%{count} + greater_than_or_equal_to: 必须大于或等于%{count} + inclusion: 不包含于列表中 + invalid: 是无效的 + less_than: 必须小于%{count} + less_than_or_equal_to: 必须小于或等于%{count} + model_invalid: 验证失败:%{errors} + not_a_number: 不是数字 + not_an_integer: 必须是整数 + odd: 必须为单数 + other_than: 长度非法(不可为%{count}个字符) + present: 必须是空白 + required: 必须存在 + taken: 已经被使用 + too_long: 过长(最长为%{count}个字符) + too_short: 过短(最短为%{count}个字符) + wrong_length: 长度非法(必须为%{count}个字符) + template: + body: 如下字段出现错误: + header: 有%{count}个错误发生导致“%{model}”无法被保存。 + helpers: + select: + prompt: 请选择 + submit: + create: 新增%{model} + submit: 储存%{model} + update: 更新%{model} + number: + currency: + format: + delimiter: "," + format: "%u %n" + precision: 2 + separator: "." + significant: false + strip_insignificant_zeros: false + unit: CN¥ + format: + delimiter: "," + precision: 3 + separator: "." + significant: false + strip_insignificant_zeros: false + human: + decimal_units: + format: "%n %u" + units: + billion: 十亿 + million: 百万 + quadrillion: 千兆 + thousand: 千 + trillion: 兆 + unit: '' + format: + delimiter: '' + precision: 1 + significant: false + strip_insignificant_zeros: false + storage_units: + format: "%n %u" + units: + byte: 字节 + eb: EB + gb: GB + kb: KB + mb: MB + pb: PB + tb: TB + percentage: + format: + delimiter: '' + format: "%n%" + precision: + format: + delimiter: '' + support: + array: + last_word_connector: "、" + two_words_connector: 和 + words_connector: "、" + time: + am: 上午 + formats: + default: "%Y年%m月%d日 %A %H:%M:%S %Z" + long: "%Y年%m月%d日 %H:%M" + short: "%m月%d日 %H:%M" + pm: 下午 diff --git a/examples/i18n/data/lang/zh-HK.yml b/examples/i18n/data/lang/zh-HK.yml new file mode 100644 index 0000000..eb11d77 --- /dev/null +++ b/examples/i18n/data/lang/zh-HK.yml @@ -0,0 +1,181 @@ +--- +zh-HK: + activerecord: + errors: + messages: + record_invalid: 驗證失敗:%{errors} + restrict_dependent_destroy: + has_one: 由於%{record}依賴此記錄,無法移除 + has_many: 由於%{record}依賴此記錄,無法移除 + date: + abbr_day_names: + - 周日 + - 周一 + - 周二 + - 周三 + - 周四 + - 周五 + - 周六 + abbr_month_names: + - + - 1月 + - 2月 + - 3月 + - 4月 + - 5月 + - 6月 + - 7月 + - 8月 + - 9月 + - 10月 + - 11月 + - 12月 + day_names: + - 星期日 + - 星期一 + - 星期二 + - 星期三 + - 星期四 + - 星期五 + - 星期六 + formats: + default: "%Y-%m-%d" + long: "%Y年%m月%d日" + short: "%m月%d日" + month_names: + - + - 一月 + - 二月 + - 三月 + - 四月 + - 五月 + - 六月 + - 七月 + - 八月 + - 九月 + - 十月 + - 十一月 + - 十二月 + order: + - :year + - :month + - :day + datetime: + distance_in_words: + about_x_hours: 約%{count}小時 + about_x_months: 約%{count}個月 + about_x_years: 約%{count}年 + almost_x_years: 接近%{count}年 + half_a_minute: 半分鐘 + less_than_x_seconds: 不到%{count}秒 + less_than_x_minutes: 不到%{count}分鐘 + over_x_years: 超過%{count}年 + x_seconds: "%{count}秒" + x_minutes: "%{count}分鐘" + x_days: "%{count}天" + x_months: "%{count}個月" + x_years: "%{count}年" + prompts: + second: 秒 + minute: 分 + hour: 時 + day: 日 + month: 月 + year: 年 + errors: + format: "%{attribute}%{message}" + messages: + accepted: 必定要被接受 + blank: 不可以是空白 + confirmation: 與%{attribute}不一致 + empty: 不可以留空 + equal_to: 必須等於%{count} + even: 必須要是雙數 + exclusion: 是被保留的關鍵字 + greater_than: 必須大於%{count} + greater_than_or_equal_to: 必須大於或等於%{count} + inclusion: 並非可被接受的內容 + invalid: 是無效的 + less_than: 必須小於%{count} + less_than_or_equal_to: 必須小於或等於%{count} + model_invalid: 驗證失敗:%{errors} + not_a_number: 必須是數字 + not_an_integer: 必須是整數 + odd: 必須是單數 + other_than: 不可以是%{count}個字 + present: 必定要是空白 + required: 必須存在 + taken: 已被使用 + too_long: 太長(最長為%{count}個字元) + too_short: 太短(最少為%{count}個字元) + wrong_length: 字數錯誤(應為%{count}個字元) + template: + body: 以下欄位發生問題: + header: 發生%{count}項錯誤,以致%{model}未能儲存。 + helpers: + select: + prompt: 請選擇 + submit: + create: 新增%{model} + submit: 儲存%{model} + update: 更新%{model} + number: + currency: + format: + delimiter: "," + format: "%u %n" + precision: 2 + separator: "." + significant: false + strip_insignificant_zeros: false + unit: HK$ + format: + delimiter: "," + precision: 3 + separator: "." + significant: false + strip_insignificant_zeros: false + human: + decimal_units: + format: "%n %u" + units: + billion: 十億 + million: 百萬 + quadrillion: 千兆 + thousand: 千 + trillion: 兆 + unit: '' + format: + delimiter: '' + precision: 1 + significant: false + strip_insignificant_zeros: false + storage_units: + format: "%n %u" + units: + byte: + one: Byte + other: Bytes + gb: GB + kb: KB + mb: MB + tb: TB + percentage: + format: + delimiter: '' + format: "%n%" + precision: + format: + delimiter: '' + support: + array: + last_word_connector: "、" + two_words_connector: 和 + words_connector: "、" + time: + am: 上午 + formats: + default: "%Y年%m月%d日 %A %H:%M:%S %Z" + long: "%Y年%m月%d日 %H:%M" + short: "%m月%d日 %H:%M" + pm: 下午 diff --git a/examples/i18n/data/lang/zh-TW.yml b/examples/i18n/data/lang/zh-TW.yml new file mode 100644 index 0000000..7ae4f80 --- /dev/null +++ b/examples/i18n/data/lang/zh-TW.yml @@ -0,0 +1,181 @@ +--- +zh-TW: + activerecord: + errors: + messages: + record_invalid: 校驗失敗:%{errors} + restrict_dependent_destroy: + has_one: 由於%{record}需要此記錄,所以無法移除記錄 + has_many: 由於%{record}需要此記錄,所以無法移除記錄 + date: + abbr_day_names: + - 周日 + - 周一 + - 周二 + - 周三 + - 周四 + - 周五 + - 周六 + abbr_month_names: + - + - 1月 + - 2月 + - 3月 + - 4月 + - 5月 + - 6月 + - 7月 + - 8月 + - 9月 + - 10月 + - 11月 + - 12月 + day_names: + - 星期日 + - 星期一 + - 星期二 + - 星期三 + - 星期四 + - 星期五 + - 星期六 + formats: + default: "%Y-%m-%d" + long: "%Y年%m月%d日" + short: "%m月%d日" + month_names: + - + - 一月 + - 二月 + - 三月 + - 四月 + - 五月 + - 六月 + - 七月 + - 八月 + - 九月 + - 十月 + - 十一月 + - 十二月 + order: + - :year + - :month + - :day + datetime: + distance_in_words: + about_x_hours: 大約%{count}小時 + about_x_months: 大約%{count}個月 + about_x_years: 大約%{count}年 + almost_x_years: 接近%{count}年 + half_a_minute: 半分鐘 + less_than_x_seconds: 不到%{count}秒 + less_than_x_minutes: 不到%{count}分鐘 + over_x_years: "%{count}年多" + x_seconds: "%{count}秒" + x_minutes: "%{count}分鐘" + x_days: "%{count}天" + x_months: "%{count}個月" + x_years: "%{count}年" + prompts: + second: 秒 + minute: 分 + hour: 時 + day: 日 + month: 月 + year: 年 + errors: + format: "%{attribute}%{message}" + messages: + accepted: 必須是可被接受的 + blank: 不能為空白 + confirmation: 與%{attribute}須一致 + empty: 不能留空 + equal_to: 必須等於%{count} + even: 必須是偶數 + exclusion: 是被保留的關鍵字 + greater_than: 必須大於%{count} + greater_than_or_equal_to: 必須大於或等於%{count} + inclusion: 沒有包含在列表中 + invalid: 是無效的 + less_than: 必須小於%{count} + less_than_or_equal_to: 必須小於或等於%{count} + model_invalid: 校驗失敗:%{errors} + not_a_number: 不是數字 + not_an_integer: 必須是整數 + odd: 必須是奇數 + other_than: 不可以是%{count}個字 + present: 必須是空白 + required: 必須存在 + taken: 已經被使用 + too_long: 過長(最長是%{count}個字) + too_short: 過短(最短是%{count}個字) + wrong_length: 字數錯誤(必須是%{count}個字) + template: + body: 以下欄位發生問題: + header: 有%{count}個錯誤發生使得「%{model}」無法被儲存。 + helpers: + select: + prompt: 請選擇 + submit: + create: 新增%{model} + submit: 儲存%{model} + update: 更新%{model} + number: + currency: + format: + delimiter: "," + format: "%u%n" + precision: 2 + separator: "." + significant: false + strip_insignificant_zeros: false + unit: NT$ + format: + delimiter: "," + precision: 3 + separator: "." + significant: false + strip_insignificant_zeros: false + human: + decimal_units: + format: "%n %u" + units: + billion: 十億 + million: 百萬 + quadrillion: 千兆 + thousand: 千 + trillion: 兆 + unit: '' + format: + delimiter: '' + precision: 1 + significant: false + strip_insignificant_zeros: false + storage_units: + format: "%n %u" + units: + byte: + one: 位元組 + other: 位元組 + gb: GB + kb: KB + mb: MB + tb: TB + percentage: + format: + delimiter: '' + format: "%n%" + precision: + format: + delimiter: '' + support: + array: + last_word_connector: "、" + two_words_connector: 和 + words_connector: "、" + time: + am: 上午 + formats: + default: "%Y年%m月%d日 %A %H:%M:%S %Z" + long: "%Y年%m月%d日 %H:%M" + short: "%m月%d日 %H:%M" + pm: 下午 diff --git a/examples/i18n/data/lang/zh-YUE.yml b/examples/i18n/data/lang/zh-YUE.yml new file mode 100644 index 0000000..d60105d --- /dev/null +++ b/examples/i18n/data/lang/zh-YUE.yml @@ -0,0 +1,181 @@ +--- +zh-YUE: + activerecord: + errors: + messages: + record_invalid: 驗證失敗:%{errors} + restrict_dependent_destroy: + has_one: 唔可以刪除,因為%{record}要用佢 + has_many: 唔可以刪除,因為%{record}要用佢 + date: + abbr_day_names: + - 周日 + - 周一 + - 周二 + - 周三 + - 周四 + - 周五 + - 周六 + abbr_month_names: + - + - 1月 + - 2月 + - 3月 + - 4月 + - 5月 + - 6月 + - 7月 + - 8月 + - 9月 + - 10月 + - 11月 + - 12月 + day_names: + - 星期日 + - 星期一 + - 星期二 + - 星期三 + - 星期四 + - 星期五 + - 星期六 + formats: + default: "%Y-%m-%d" + long: "%Y年%b%d日" + short: "%b%d日" + month_names: + - + - 一月 + - 二月 + - 三月 + - 四月 + - 五月 + - 六月 + - 七月 + - 八月 + - 九月 + - 十月 + - 十一月 + - 十二月 + order: + - :year + - :month + - :day + datetime: + distance_in_words: + about_x_hours: 大概%{count}個鐘 + about_x_months: 大概%{count}個月 + about_x_years: 大概%{count}年 + almost_x_years: 差唔多%{count}年 + half_a_minute: 半分鐘 + less_than_x_seconds: 唔夠%{count}秒 + less_than_x_minutes: 唔夠%{count}分鐘 + over_x_years: 超過%{count}年 + x_seconds: "%{count}秒" + x_minutes: "%{count}分鐘" + x_days: "%{count}日" + x_months: "%{count}個月" + x_years: "%{count}年" + prompts: + second: 秒 + minute: 分 + hour: 點 + day: 日 + month: 月 + year: 年 + errors: + format: "%{attribute}%{message}" + messages: + accepted: 一定要被接受 + blank: 唔可以空白 + confirmation: 與%{attribute}唔夾 + empty: 唔可以漏空 + equal_to: 要等於%{count} + even: 要係雙數 + exclusion: 唔用得 + greater_than: 要大過%{count} + greater_than_or_equal_to: 要大過或者等於%{count} + inclusion: 唔係可被接受嘅內容 + invalid: 無效 + less_than: 要細過%{count} + less_than_or_equal_to: 要細過或者等於%{count} + model_invalid: 驗證失敗:%{errors} + not_a_number: 唔係一個數字 + not_an_integer: 要係整數 + odd: 要係單數 + other_than: 唔可以係%{count} 個字 + present: 一定要空白 + required: 必須存在 + taken: 已經用緊 + too_long: 太長(最多%{count}個字) + too_short: 太短(最少%{count}個字) + wrong_length: 唔啱字數(要係%{count}個字) + template: + body: 呢啲有問題: + header: 有%{count}個問題,%{model}儲存唔到。 + helpers: + select: + prompt: 請喺度揀 + submit: + create: 新增%{model} + submit: 儲存%{model} + update: 更新%{model} + number: + currency: + format: + delimiter: "," + format: "%u %n" + precision: 2 + separator: "." + significant: false + strip_insignificant_zeros: false + unit: HK$ + format: + delimiter: "," + precision: 3 + separator: "." + significant: false + strip_insignificant_zeros: false + human: + decimal_units: + format: "%n %u" + units: + billion: 十億 + million: 百萬 + quadrillion: 千兆 + thousand: 千 + trillion: 兆 + unit: '' + format: + delimiter: '' + precision: 1 + significant: false + strip_insignificant_zeros: false + storage_units: + format: "%n %u" + units: + byte: + one: Byte + other: Bytes + gb: GB + kb: KB + mb: MB + tb: TB + percentage: + format: + delimiter: '' + format: "%n%" + precision: + format: + delimiter: '' + support: + array: + last_word_connector: "、" + two_words_connector: 同 + words_connector: "、" + time: + am: 上晝 + formats: + default: "%Y年%m月%d號 %A %H:%M:%S %Z" + long: "%Y年%m月%d號 %H:%M" + short: "%m月%d號 %H:%M" + pm: 下晝 diff --git a/examples/i18n/i18n.ino b/examples/i18n/i18n.ino new file mode 100644 index 0000000..8773f0b --- /dev/null +++ b/examples/i18n/i18n.ino @@ -0,0 +1,35 @@ +#include +#include +#define YAML_DISABLE_CJSON // not needed here +#include +#include + + +void setup() +{ + Serial.begin(115200); + + Serial.printf( "[%d] %s\n", ESP.getFreeHeap(), "Hello i18n test"); + + LittleFS.begin(); + + i18n.setFS( &LittleFS ); + + if(! i18n.setLocale("fr-FR") ) { + + Serial.printf( "[%d] %s\n", ESP.getFreeHeap(), "Error loading locale, halting"); + + while(1) vTaskDelay(1); + } + + Serial.printf( "[%d] %s\n", ESP.getFreeHeap(), "Locale loaded"); +} + + +void loop() +{ + Serial.printf( "[%d] %s\n", ESP.getFreeHeap(), i18n.gettext("activerecord:errors:messages:record_invalid" ) ); // "La validation a échoué : %{errors}" + Serial.printf( "[%d] %s\n", ESP.getFreeHeap(), i18n.gettext("date:abbr_day_names:2" ) ); // "mar" + Serial.printf( "[%d] %s\n", ESP.getFreeHeap(), i18n.gettext("time:pm" ) ); // "pm", last element + delay(1000); +} diff --git a/src/i18n/i18n.cpp b/src/i18n/i18n.cpp new file mode 100644 index 0000000..949d719 --- /dev/null +++ b/src/i18n/i18n.cpp @@ -0,0 +1,249 @@ +/*\ + * + * YAMLDuino + * Project Page: https://github.com/tobozo/YAMLDuino + * + * Copyright 2022 tobozo http://github.com/tobozo + * + * Permission is hereby granted, free of charge, to any person + * obtaining a copy of this software and associated documentation + * files ("YAMLDuino"), to deal in the Software without + * restriction, including without limitation the rights to use, + * copy, modify, merge, publish, distribute, sublicense, and/or + * sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following + * conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES + * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT + * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, + * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR + * OTHER DEALINGS IN THE SOFTWARE. + * +\*/ + +#include "./i18n.hpp" + +#include + +// count occurences of a char in a string +size_t strchr_count(const char* s, char c) +{ + size_t r = 0; + for (; *s; ++s) + r += *s == c; + return r; +} + + +// return localized string when given a path e.g. 'blah:some:property:count:1' +const char* l10n_t::gettext(const char* l10npath, char delim ) +{ + if( !l10npath ) return ""; + const char delimStr[2] = {delim,0}; + char* l10npath_cstr = strdup( l10npath ); + char *found = NULL; + size_t depth = 0; + JsonVariantConst _variant = variant; // copy ref to language root node + + if( _variant.isNull()) goto _not_found; // uh-oh, language not loaded + + depth = strchr_count( l10npath, delim ); // how many delimiters found? + + if( depth == 0 ) { + if( _variant[l10npath].isNull() ) goto _not_found; // no property under this name + _variant = _variant[l10npath]; // ini file style + goto _success; + } + + // walk through delimited properties + + found = strtok( l10npath_cstr, delimStr ); + + while( found != NULL ) { + if( !_variant[found].isNull() ) { // map key->val + _variant = _variant[found]; + } else { + int idx = atoi( found ); + if( idx >= 0 && !_variant[idx].isNull() ) { // array index->val + _variant = _variant[idx]; + } else { + goto _not_found; // not even a number + } + } + found = strtok( NULL, delimStr ); + } + + if( _variant.isNull() ) goto _not_found; // no match + + _success: + free( l10npath_cstr ); + return _variant.as(); + + _not_found: + free( l10npath_cstr ); + return l10npath; // not found +} + + + +void i18n_t::setFS( fs::FS *_fs ) +{ + assert( _fs ); + fs = _fs; +} + + +void i18n_t::setPath( const char* path ) +{ + localesPath = path; + if( localesPath[localesPath.size()-1]!='/' ) { + localesPath +="/"; + } +} + + +void i18n_t::setExtension( const char* ext ) +{ + assert( ext ); + fileExtension = ext; +} + + +const char* i18n_t::gettext( const char* l10npath ) +{ + return l10n.gettext( l10npath ); +} + + +const char* i18n_t::gettext( String l10npath ) +{ + return gettext( l10npath.c_str() ); +} + + +const std::string i18n_t::getLocale() +{ + assert( locale.language[0] != 0 ); + std::string ret = ""; + ret += locale.language; + if( locale.country[0] != 0 ) { + ret += locale.delimiter; + ret += locale.country; + } + if( locale.variant[0] != 0 ) { + ret += locale.delimiter; + ret += locale.variant; + } + return ret; +} + + +bool i18n_t::setLocale( i18n_locale_t l ) +{ + locale = l; return loadLocale(); +} + + +bool i18n_t::setLocale( const char* localeStr ) +{ + assert( localeStr ); + size_t len = strlen( localeStr ); + assert( len >= 2 && len <=sizeof(i18n_locale_t) ); + + char* localeCopy = strdup( localeStr ); + + l10n.variant = NULL; + memset( locale.language, 0, sizeof(locale.language) ); + memset( locale.country, 0, sizeof(locale.country) ); + memset( locale.variant, 0, sizeof(locale.variant) ); + + char delimiters[3] = {'-', '_'}; // guess delimiter + char *found = NULL; + size_t tokenlen = 0; + + for( int i=0;i= sizeof( locale.language ) ) goto _error; // lame ISO-639 validation + memcpy( locale.language, localeCopy, len ); + goto _success; + } + + // a delimiter was found, assume it's at least language+country, and at most language+country+variant + found = strtok( localeCopy, locale.delimiter ); + if( found == NULL ) goto _error; // this should not happen as the delimiter was found earlier + tokenlen = strlen( found ); + if( tokenlen !=2 && tokenlen != 3 ) goto _error; // bad language value, should be 2 or three letters + memcpy( locale.language, found, strlen(found) ); + + found = strtok( NULL, locale.delimiter ); + if( found == NULL ) goto _error; // missing country value ? + tokenlen = strlen( found ); + if( tokenlen !=2 && tokenlen != 3 ) goto _error; // bad country value, should be 2 or three letters + memcpy( locale.country, found, strlen(found) ); + + found = strtok( NULL, locale.delimiter ); + if( found == NULL ) goto _success; // no variant provided + tokenlen = strlen( found ); + if( tokenlen >= sizeof( locale.variant ) ) goto _error; // bad variant value, should be 2 to 15 letters + memcpy( locale.variant, found, strlen(found) ); + + _success: + free(localeCopy); + return loadLocale(); + + _error: + printf("Error, malformed locale: %s", localeStr ); + free(localeCopy); + return false; +} + + +bool i18n_t::loadLocale() +{ + if( fs == nullptr ) { + log_n("No filesystem attached, use setFS() e.g. i18n.setFS( &LiffleFS );"); + return false; + } + std::string localeStr = getLocale(); + std::string fileName = localesPath + localeStr + "." + fileExtension; + if( ! fs->exists( fileName.c_str() ) ) return false; // this test is useless with SPIFFS + fs::File localeFile = fs->open( fileName.c_str() ); + if( ! localeFile ) return false; + size_t localeSize = localeFile.size(); + + if( l10n.doc != nullptr ) delete l10n.doc; + l10n.doc = new DynamicJsonDocument( localeSize ); + JsonVariantConst rootvar = *l10n.doc; + + auto err = deserializeYml( *l10n.doc, localeFile ); // deserialize yaml stream to JsonDocument + + localeFile.close(); + + if( err ) { + YAML_LOG_n("Unable to deserialize demo YAML to JsonObject: %s", err.c_str() ); + return false; + } + + // standard i18n files use the locale string as root key + if( !rootvar[localeStr].isNull() ) l10n.variant = rootvar[localeStr]; + // some only use the language + else if( !rootvar[locale.language].isNull() ) l10n.variant = rootvar[locale.language]; + // some just don't care + else l10n.variant = rootvar; + + return true; +} diff --git a/src/i18n/i18n.hpp b/src/i18n/i18n.hpp new file mode 100644 index 0000000..9b6f1c7 --- /dev/null +++ b/src/i18n/i18n.hpp @@ -0,0 +1,87 @@ +/*\ + * + * YAMLDuino + * Project Page: https://github.com/tobozo/YAMLDuino + * + * Copyright 2022 tobozo http://github.com/tobozo + * + * Permission is hereby granted, free of charge, to any person + * obtaining a copy of this software and associated documentation + * files ("YAMLDuino"), to deal in the Software without + * restriction, including without limitation the rights to use, + * copy, modify, merge, publish, distribute, sublicense, and/or + * sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following + * conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES + * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT + * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, + * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR + * OTHER DEALINGS IN THE SOFTWARE. + * +\*/ + +#pragma once + +#include +#include +#include "../ArduinoYaml.hpp" + +#if !defined HAS_ARDUINOJSON + #error "i18n feature requires ArduinoJson" +#endif + +// localized strings holder +struct l10n_t +{ + DynamicJsonDocument *doc = nullptr; + JsonVariantConst variant = NULL; + const char* gettext(const char* l10npath, char delim=':' ); +}; + + +// locale name holder +struct i18n_locale_t +{ + char language[4] {"en"}; // ISO-639 + char country[4] { 0 }; // ISO-3166 + char variant[16] { 0 }; // ISO-3166 + char delimiter[2] { "_" }; + i18n_locale_t() = default; +}; + + +// setlocale and gettext +struct i18n_t +{ +private: + fs::FS *fs { nullptr }; + i18n_locale_t locale; + l10n_t l10n; + std::string localesPath = "/lang/"; // locales folder where the l10n files reside + std::string fileExtension = "yml"; // l10n file extension, .yml .yaml or .json, must be yaml-parsable! + bool loadLocale(); + +public: + bool setLocale( i18n_locale_t l ); + bool setLocale( const char* localeStr ); + + const char* gettext( const char* l10npath ); + const char* gettext( String l10npath ); + + const std::string getLocale(); + + void setFS( fs::FS *_fs ); // set filesystem + void setPath( const char* path ); // set folder name + void setExtension( const char* ext ); // set extension (yml, yaml, json) +}; + + +static i18n_t i18n; From 10217893b0e157ca746d3d6666a0e1914735675e Mon Sep 17 00:00:00 2001 From: tobozo Date: Wed, 14 Dec 2022 22:03:45 +0100 Subject: [PATCH 3/8] updated license --- License | 6 +++--- src/ArduinoYaml.cpp | 8 ++++---- src/ArduinoYaml.hpp | 20 ++++++++++++++++---- src/logger.hpp | 22 +++++++++++++++++----- 4 files changed, 40 insertions(+), 16 deletions(-) diff --git a/License b/License index 51a2c45..390f9f4 100644 --- a/License +++ b/License @@ -1,11 +1,11 @@ -ESP32-yaml +YAMLDuino ------------------------------------------------------------------------------- Project Page: https://github.com/tobozo/YAMLDuino Copyright 2022 tobozo http://github.com/tobozo Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation -files ("ESP32-yaml"), to deal in the Software without +files ("YAMLDuino"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the @@ -26,7 +26,7 @@ OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------- -ESP32-yaml is bundled with libyaml and cJSON +YAMLDuino is bundled with libyaml and cJSON ------------------------------------------------------------------------------- diff --git a/src/ArduinoYaml.cpp b/src/ArduinoYaml.cpp index 836ff23..1a4814a 100644 --- a/src/ArduinoYaml.cpp +++ b/src/ArduinoYaml.cpp @@ -1,13 +1,13 @@ -/* +/*\ * - * ESP32-yaml + * YAMLDuino * Project Page: https://github.com/tobozo/YAMLDuino * * Copyright 2022 tobozo http://github.com/tobozo * * Permission is hereby granted, free of charge, to any person * obtaining a copy of this software and associated documentation - * files ("ESP32-yaml"), to deal in the Software without + * files ("YAMLDuino"), to deal in the Software without * restriction, including without limitation the rights to use, * copy, modify, merge, publish, distribute, sublicense, and/or * sell copies of the Software, and to permit persons to whom the @@ -26,7 +26,7 @@ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR * OTHER DEALINGS IN THE SOFTWARE. * - */ +\*/ #include "ArduinoYaml.hpp" diff --git a/src/ArduinoYaml.hpp b/src/ArduinoYaml.hpp index 10f1ba9..886762f 100644 --- a/src/ArduinoYaml.hpp +++ b/src/ArduinoYaml.hpp @@ -1,14 +1,14 @@ #pragma once -/* +/*\ * - * ESP32-yaml + * YAMLDuino * Project Page: https://github.com/tobozo/YAMLDuino * * Copyright 2022 tobozo http://github.com/tobozo * * Permission is hereby granted, free of charge, to any person * obtaining a copy of this software and associated documentation - * files ("ESP32-yaml"), to deal in the Software without + * files ("YAMLDuino"), to deal in the Software without * restriction, including without limitation the rights to use, * copy, modify, merge, publish, distribute, sublicense, and/or * sell copies of the Software, and to permit persons to whom the @@ -27,7 +27,7 @@ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR * OTHER DEALINGS IN THE SOFTWARE. * - */ +\*/ #include "logger.hpp" @@ -173,6 +173,18 @@ size_t serializeYml( Stream &json_src_stream, Stream &yml_dest_stream, OutputFor #include + // recursion helpers for json variant + // https://github.com/bblanchon/ArduinoJson/issues/1505#issuecomment-782825946 + template + JsonVariantConst resolvePath(JsonVariantConst variant, Key key) { + return variant[key]; + } + + template + JsonVariantConst resolvePath(JsonVariantConst variant, Key key, Tail... tail) { + return resolvePath(variant[key], tail...); + } + // default name for the topmost temporary JsonObject #define ROOT_NODE "_root_" // deconstructors diff --git a/src/logger.hpp b/src/logger.hpp index 67d248d..379f728 100644 --- a/src/logger.hpp +++ b/src/logger.hpp @@ -1,14 +1,14 @@ #pragma once -/* +/*\ * - * ESP32-yaml + * YAMLDuino * Project Page: https://github.com/tobozo/YAMLDuino * * Copyright 2022 tobozo http://github.com/tobozo * * Permission is hereby granted, free of charge, to any person * obtaining a copy of this software and associated documentation - * files ("ESP32-yaml"), to deal in the Software without + * files ("YAMLDuino"), to deal in the Software without * restriction, including without limitation the rights to use, * copy, modify, merge, publish, distribute, sublicense, and/or * sell copies of the Software, and to permit persons to whom the @@ -27,7 +27,7 @@ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR * OTHER DEALINGS IN THE SOFTWARE. * - */ +\*/ // Emit logs in arduino style at software level rather than firmware level @@ -59,6 +59,18 @@ #include #define LOG_PRINTF Serial.printf #define HEAP_AVAILABLE() rp2040.getFreeHeap() +#elif defined CORE_TEENSY + #include + #include + #define LOG_PRINTF Serial.printf + extern unsigned long _heap_start; + extern unsigned long _heap_end; + extern char *__brkval; + static int getFreeRam() + { + return (char *)&_heap_end - __brkval; + } + #define HEAP_AVAILABLE() getFreeRam() #elif defined ARDUINO_ARCH_SAMD #include #include @@ -74,7 +86,7 @@ char top; #ifdef __arm__ return &top - reinterpret_cast(sbrk(0)); - #elif defined(CORE_TEENSY) || (ARDUINO > 103 && ARDUINO != 151) + #elif (ARDUINO > 103 && ARDUINO != 151) return &top - __brkval; #else // __arm__ return __brkval ? &top - __brkval : &top - __malloc_heap_start; From 220a5647faa2e41ae0305f674e68118505a6944c Mon Sep 17 00:00:00 2001 From: tobozo Date: Wed, 14 Dec 2022 22:14:07 +0100 Subject: [PATCH 4/8] fix for c++03 --- src/i18n/i18n.cpp | 2 +- src/i18n/i18n.hpp | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/i18n/i18n.cpp b/src/i18n/i18n.cpp index 949d719..06f86b0 100644 --- a/src/i18n/i18n.cpp +++ b/src/i18n/i18n.cpp @@ -221,7 +221,7 @@ bool i18n_t::loadLocale() std::string localeStr = getLocale(); std::string fileName = localesPath + localeStr + "." + fileExtension; if( ! fs->exists( fileName.c_str() ) ) return false; // this test is useless with SPIFFS - fs::File localeFile = fs->open( fileName.c_str() ); + fs::File localeFile = fs->open( fileName.c_str(), "r" ); if( ! localeFile ) return false; size_t localeSize = localeFile.size(); diff --git a/src/i18n/i18n.hpp b/src/i18n/i18n.hpp index 9b6f1c7..5d7fc62 100644 --- a/src/i18n/i18n.hpp +++ b/src/i18n/i18n.hpp @@ -50,10 +50,10 @@ struct l10n_t // locale name holder struct i18n_locale_t { - char language[4] {"en"}; // ISO-639 - char country[4] { 0 }; // ISO-3166 - char variant[16] { 0 }; // ISO-3166 - char delimiter[2] { "_" }; + char language[4] {0}; // ISO-639 + char country[4] {0}; // ISO-3166 + char variant[16] {0}; // ISO-3166 + char delimiter[2] {0}; i18n_locale_t() = default; }; From 13d6efcc52e3db8de2251db37a92c05a1b51d02d Mon Sep 17 00:00:00 2001 From: tobozo Date: Wed, 14 Dec 2022 22:35:50 +0100 Subject: [PATCH 5/8] fix jsondocument alloc size --- src/i18n/i18n.cpp | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/src/i18n/i18n.cpp b/src/i18n/i18n.cpp index 06f86b0..49313e5 100644 --- a/src/i18n/i18n.cpp +++ b/src/i18n/i18n.cpp @@ -164,13 +164,13 @@ bool i18n_t::setLocale( const char* localeStr ) memset( locale.country, 0, sizeof(locale.country) ); memset( locale.variant, 0, sizeof(locale.variant) ); - char delimiters[3] = {'-', '_'}; // guess delimiter + char delimiters[2] = {'-', '_'}; // guess delimiter char *found = NULL; size_t tokenlen = 0; for( int i=0;i Date: Wed, 14 Dec 2022 22:43:40 +0100 Subject: [PATCH 6/8] wio terminal fix? --- src/i18n/i18n.hpp | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/i18n/i18n.hpp b/src/i18n/i18n.hpp index 5d7fc62..82ccfbe 100644 --- a/src/i18n/i18n.hpp +++ b/src/i18n/i18n.hpp @@ -30,7 +30,15 @@ #pragma once -#include + +#if defined WIO_TERMINAL + #include +#else + #include +#endif + + + #include #include "../ArduinoYaml.hpp" From ce32b4e76c72c1edd98e7e9431274b3b0452219c Mon Sep 17 00:00:00 2001 From: tobozo Date: Wed, 14 Dec 2022 23:21:18 +0100 Subject: [PATCH 7/8] disabling wio terminal (basic core too crappy) --- ReadMe.md | 54 +++++++++++++++++++++++++++++++++++++++++++++++ src/i18n/i18n.cpp | 4 ++++ src/i18n/i18n.hpp | 10 ++++----- 3 files changed, 63 insertions(+), 5 deletions(-) diff --git a/ReadMe.md b/ReadMe.md index 3f7e04e..66d6e95 100644 --- a/ReadMe.md +++ b/ReadMe.md @@ -252,6 +252,60 @@ YAML::setYAMLIndent( 3 ); ---------------------------- +## I18N and L10N + + +Sample example `/lang/en-GB.yml` stored in LittleFS: + +```yml +en-GB: + hello: world + blah: + my_array: + - first + - second + - third + +``` + +Load the module with `#include `, assign a filesystem with `i18n.setFS()` +and a locale with `i18n.setLocale()`, then use `i18n.gettext()` to access localized strings. + + +```cpp + +#include +#include +#define YAML_DISABLE_CJSON // not needed here +#include +#include + + +void setup() +{ + Serial.begin(115200); + LittleFS.begin(); + + i18n.setFS( &LittleFS ); + i18n.setLocale("en-GB"); // loads "/lang/en-GB.yml" file from LittleFS + + Serial.println( i18n.gettext("hello" ) ); // prints "world" + Serial.println( i18n.gettext("blah:my_array:2" ) ); // prints "third" +} + + +void loop() +{ + + delay(1000); +} +``` + + +---------------------------- + + + ## Debug diff --git a/src/i18n/i18n.cpp b/src/i18n/i18n.cpp index 49313e5..28add7e 100644 --- a/src/i18n/i18n.cpp +++ b/src/i18n/i18n.cpp @@ -28,6 +28,8 @@ * \*/ +#if !defined WIO_TERMINAL + #include "./i18n.hpp" #include @@ -249,3 +251,5 @@ bool i18n_t::loadLocale() return true; } + +#endif // defined WIO_TERMINAL diff --git a/src/i18n/i18n.hpp b/src/i18n/i18n.hpp index 82ccfbe..d79f0ea 100644 --- a/src/i18n/i18n.hpp +++ b/src/i18n/i18n.hpp @@ -31,12 +31,10 @@ #pragma once -#if defined WIO_TERMINAL - #include -#else - #include -#endif +#if !defined WIO_TERMINAL + +#include #include @@ -93,3 +91,5 @@ struct i18n_t static i18n_t i18n; + +#endif // defined WIO_TERMINAL From a9b06982140b2e5b3084cc90040984a8715115df Mon Sep 17 00:00:00 2001 From: tobozo Date: Wed, 14 Dec 2022 23:28:50 +0100 Subject: [PATCH 8/8] doc update --- ReadMe.md | 34 +++++++++++++++++----------------- 1 file changed, 17 insertions(+), 17 deletions(-) diff --git a/ReadMe.md b/ReadMe.md index 66d6e95..464a31d 100644 --- a/ReadMe.md +++ b/ReadMe.md @@ -254,22 +254,12 @@ YAML::setYAMLIndent( 3 ); ## I18N and L10N +Note: Support is disabled with WIO Terminal (needs a proper fs::FS implementation). -Sample example `/lang/en-GB.yml` stored in LittleFS: - -```yml -en-GB: - hello: world - blah: - my_array: - - first - - second - - third - -``` - -Load the module with `#include `, assign a filesystem with `i18n.setFS()` -and a locale with `i18n.setLocale()`, then use `i18n.gettext()` to access localized strings. +* Load the module with `#include `. +* Assign a filesystem with `i18n.setFS()`. +* Load a locale with `i18n.setLocale()`. +* Use `i18n.gettext()` to access localized strings. ```cpp @@ -280,14 +270,24 @@ and a locale with `i18n.setLocale()`, then use `i18n.gettext()` to access locali #include #include +// Sample example `/lang/en-GB.yml` stored in LittleFS: +// +// en-GB: +// hello: world +// blah: +// my_array: +// - first +// - second +// - third + void setup() { Serial.begin(115200); LittleFS.begin(); - i18n.setFS( &LittleFS ); - i18n.setLocale("en-GB"); // loads "/lang/en-GB.yml" file from LittleFS + i18n.setFS( &LittleFS ); // assign LittleFS + i18n.setLocale("en-GB"); // will load "/lang/en-GB.yml" language file Serial.println( i18n.gettext("hello" ) ); // prints "world" Serial.println( i18n.gettext("blah:my_array:2" ) ); // prints "third"