cmdx 0.5.0 → 1.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (151) hide show
  1. checksums.yaml +4 -4
  2. data/.DS_Store +0 -0
  3. data/.cursor/rules/cursor-instructions.mdc +6 -0
  4. data/.rubocop.yml +19 -1
  5. data/.ruby-version +1 -1
  6. data/CHANGELOG.md +95 -28
  7. data/README.md +73 -25
  8. data/docs/ai_prompts.md +319 -0
  9. data/docs/basics/call.md +234 -14
  10. data/docs/basics/chain.md +280 -0
  11. data/docs/basics/context.md +241 -33
  12. data/docs/basics/setup.md +85 -12
  13. data/docs/callbacks.md +283 -0
  14. data/docs/configuration.md +155 -30
  15. data/docs/getting_started.md +145 -22
  16. data/docs/internationalization.md +148 -0
  17. data/docs/interruptions/exceptions.md +198 -11
  18. data/docs/interruptions/faults.md +196 -44
  19. data/docs/interruptions/halt.md +188 -35
  20. data/docs/logging.md +204 -53
  21. data/docs/middlewares.md +745 -0
  22. data/docs/outcomes/result.md +305 -10
  23. data/docs/outcomes/states.md +212 -31
  24. data/docs/outcomes/statuses.md +284 -30
  25. data/docs/parameters/coercions.md +411 -29
  26. data/docs/parameters/defaults.md +258 -25
  27. data/docs/parameters/definitions.md +247 -72
  28. data/docs/parameters/namespacing.md +259 -27
  29. data/docs/parameters/validations.md +173 -168
  30. data/docs/testing.md +560 -0
  31. data/docs/tips_and_tricks.md +103 -42
  32. data/docs/workflows.md +329 -0
  33. data/lib/cmdx/.DS_Store +0 -0
  34. data/lib/cmdx/callback.rb +69 -0
  35. data/lib/cmdx/callback_registry.rb +106 -0
  36. data/lib/cmdx/chain.rb +190 -0
  37. data/lib/cmdx/chain_inspector.rb +149 -0
  38. data/lib/cmdx/chain_serializer.rb +175 -0
  39. data/lib/cmdx/coercions/array.rb +37 -0
  40. data/lib/cmdx/coercions/big_decimal.rb +33 -0
  41. data/lib/cmdx/coercions/boolean.rb +41 -1
  42. data/lib/cmdx/coercions/complex.rb +31 -0
  43. data/lib/cmdx/coercions/date.rb +39 -0
  44. data/lib/cmdx/coercions/date_time.rb +39 -0
  45. data/lib/cmdx/coercions/float.rb +31 -0
  46. data/lib/cmdx/coercions/hash.rb +42 -0
  47. data/lib/cmdx/coercions/integer.rb +32 -0
  48. data/lib/cmdx/coercions/rational.rb +31 -0
  49. data/lib/cmdx/coercions/string.rb +31 -0
  50. data/lib/cmdx/coercions/time.rb +39 -0
  51. data/lib/cmdx/coercions/virtual.rb +31 -0
  52. data/lib/cmdx/configuration.rb +217 -9
  53. data/lib/cmdx/context.rb +173 -2
  54. data/lib/cmdx/core_ext/hash.rb +72 -0
  55. data/lib/cmdx/core_ext/module.rb +94 -0
  56. data/lib/cmdx/core_ext/object.rb +105 -0
  57. data/lib/cmdx/correlator.rb +217 -0
  58. data/lib/cmdx/error.rb +210 -8
  59. data/lib/cmdx/errors.rb +256 -1
  60. data/lib/cmdx/fault.rb +177 -2
  61. data/lib/cmdx/faults.rb +158 -2
  62. data/lib/cmdx/immutator.rb +121 -2
  63. data/lib/cmdx/lazy_struct.rb +261 -18
  64. data/lib/cmdx/log_formatters/json.rb +46 -0
  65. data/lib/cmdx/log_formatters/key_value.rb +46 -0
  66. data/lib/cmdx/log_formatters/line.rb +54 -0
  67. data/lib/cmdx/log_formatters/logstash.rb +64 -0
  68. data/lib/cmdx/log_formatters/pretty_json.rb +57 -0
  69. data/lib/cmdx/log_formatters/pretty_key_value.rb +51 -0
  70. data/lib/cmdx/log_formatters/pretty_line.rb +60 -0
  71. data/lib/cmdx/log_formatters/raw.rb +54 -0
  72. data/lib/cmdx/logger.rb +85 -0
  73. data/lib/cmdx/logger_ansi.rb +93 -7
  74. data/lib/cmdx/logger_serializer.rb +116 -0
  75. data/lib/cmdx/middleware.rb +74 -0
  76. data/lib/cmdx/middleware_registry.rb +106 -0
  77. data/lib/cmdx/middlewares/correlate.rb +266 -0
  78. data/lib/cmdx/middlewares/timeout.rb +232 -0
  79. data/lib/cmdx/parameter.rb +228 -1
  80. data/lib/cmdx/parameter_inspector.rb +61 -0
  81. data/lib/cmdx/parameter_registry.rb +125 -0
  82. data/lib/cmdx/parameter_serializer.rb +83 -0
  83. data/lib/cmdx/parameter_validator.rb +62 -0
  84. data/lib/cmdx/parameter_value.rb +109 -1
  85. data/lib/cmdx/parameters_inspector.rb +59 -0
  86. data/lib/cmdx/parameters_serializer.rb +102 -0
  87. data/lib/cmdx/railtie.rb +123 -3
  88. data/lib/cmdx/result.rb +367 -25
  89. data/lib/cmdx/result_ansi.rb +105 -9
  90. data/lib/cmdx/result_inspector.rb +76 -0
  91. data/lib/cmdx/result_logger.rb +90 -3
  92. data/lib/cmdx/result_serializer.rb +137 -0
  93. data/lib/cmdx/rspec/result_matchers.rb +917 -0
  94. data/lib/cmdx/rspec/task_matchers.rb +570 -0
  95. data/lib/cmdx/task.rb +405 -37
  96. data/lib/cmdx/task_serializer.rb +74 -2
  97. data/lib/cmdx/utils/ansi_color.rb +95 -0
  98. data/lib/cmdx/utils/log_timestamp.rb +48 -0
  99. data/lib/cmdx/utils/monotonic_runtime.rb +71 -4
  100. data/lib/cmdx/utils/name_affix.rb +78 -0
  101. data/lib/cmdx/validators/custom.rb +82 -0
  102. data/lib/cmdx/validators/exclusion.rb +94 -0
  103. data/lib/cmdx/validators/format.rb +102 -8
  104. data/lib/cmdx/validators/inclusion.rb +104 -0
  105. data/lib/cmdx/validators/length.rb +128 -0
  106. data/lib/cmdx/validators/numeric.rb +128 -0
  107. data/lib/cmdx/validators/presence.rb +93 -7
  108. data/lib/cmdx/version.rb +7 -1
  109. data/lib/cmdx/workflow.rb +394 -0
  110. data/lib/cmdx.rb +25 -64
  111. data/lib/generators/cmdx/install_generator.rb +37 -1
  112. data/lib/generators/cmdx/task_generator.rb +69 -1
  113. data/lib/generators/cmdx/templates/install.rb +43 -15
  114. data/lib/generators/cmdx/workflow_generator.rb +109 -0
  115. data/lib/locales/ar.yml +36 -0
  116. data/lib/locales/cs.yml +36 -0
  117. data/lib/locales/da.yml +36 -0
  118. data/lib/locales/de.yml +36 -0
  119. data/lib/locales/el.yml +36 -0
  120. data/lib/locales/en.yml +20 -20
  121. data/lib/locales/es.yml +20 -20
  122. data/lib/locales/fi.yml +36 -0
  123. data/lib/locales/fr.yml +36 -0
  124. data/lib/locales/he.yml +36 -0
  125. data/lib/locales/hi.yml +36 -0
  126. data/lib/locales/it.yml +36 -0
  127. data/lib/locales/ja.yml +36 -0
  128. data/lib/locales/ko.yml +36 -0
  129. data/lib/locales/nl.yml +36 -0
  130. data/lib/locales/no.yml +36 -0
  131. data/lib/locales/pl.yml +36 -0
  132. data/lib/locales/pt.yml +36 -0
  133. data/lib/locales/ru.yml +36 -0
  134. data/lib/locales/sv.yml +36 -0
  135. data/lib/locales/th.yml +36 -0
  136. data/lib/locales/tr.yml +36 -0
  137. data/lib/locales/vi.yml +36 -0
  138. data/lib/locales/zh.yml +36 -0
  139. metadata +77 -15
  140. data/docs/basics/run.md +0 -34
  141. data/docs/batch.md +0 -53
  142. data/docs/example.md +0 -82
  143. data/docs/hooks.md +0 -62
  144. data/lib/cmdx/batch.rb +0 -43
  145. data/lib/cmdx/parameters.rb +0 -35
  146. data/lib/cmdx/run.rb +0 -39
  147. data/lib/cmdx/run_inspector.rb +0 -26
  148. data/lib/cmdx/run_serializer.rb +0 -20
  149. data/lib/cmdx/task_hook.rb +0 -18
  150. data/lib/generators/cmdx/batch_generator.rb +0 -30
  151. /data/lib/generators/cmdx/templates/{batch.rb.tt → workflow.rb.tt} +0 -0
@@ -0,0 +1,36 @@
1
+ he:
2
+ cmdx:
3
+ coercions:
4
+ into_a: "לא ניתן להמיר ל%{type}"
5
+ into_an: "לא ניתן להמיר ל%{type}"
6
+ into_any: "לא ניתן להמיר לאחד מהבאים: %{values}"
7
+ unknown: "סוג המרה %{type} לא ידוע"
8
+ faults:
9
+ unspecified: "לא ניתנה סיבה"
10
+ parameters:
11
+ required: "הוא פרמטר חובה"
12
+ undefined: "מאציל למתודה לא מוגדרת %{source}"
13
+ validators:
14
+ custom: "לא תקין"
15
+ exclusion:
16
+ of: "לא יכול להיות אחד מהבאים: %{values}"
17
+ within: "לא יכול להיות בין %{min} ל%{max}"
18
+ format: "בפורמט לא תקין"
19
+ inclusion:
20
+ of: "חייב להיות אחד מהבאים: %{values}"
21
+ within: "חייב להיות בין %{min} ל%{max}"
22
+ length:
23
+ is: "האורך חייב להיות %{is}"
24
+ is_not: "האורך לא יכול להיות %{is_not}"
25
+ min: "האורך חייב להיות לפחות %{min}"
26
+ max: "האורך יכול להיות לכל היותר %{max}"
27
+ not_within: "האורך לא יכול להיות בין %{min} ל%{max}"
28
+ within: "האורך חייב להיות בין %{min} ל%{max}"
29
+ numeric:
30
+ is: "חייב להיות %{is}"
31
+ is_not: "לא יכול להיות %{is_not}"
32
+ min: "חייב להיות לפחות %{min}"
33
+ max: "יכול להיות לכל היותר %{max}"
34
+ not_within: "לא יכול להיות בין %{min} ל%{max}"
35
+ within: "חייב להיות בין %{min} ל%{max}"
36
+ presence: "לא יכול להיות ריק"
@@ -0,0 +1,36 @@
1
+ hi:
2
+ cmdx:
3
+ coercions:
4
+ into_a: "%{type} में रूपांतरित नहीं हो सका"
5
+ into_an: "%{type} में रूपांतरित नहीं हो सका"
6
+ into_any: "इनमें से किसी में रूपांतरित नहीं हो सका: %{values}"
7
+ unknown: "अज्ञात %{type} रूपांतरण प्रकार"
8
+ faults:
9
+ unspecified: "कोई कारण नहीं दिया गया"
10
+ parameters:
11
+ required: "एक आवश्यक पैरामीटर है"
12
+ undefined: "अपरिभाषित मेथड %{source} को प्रत्यायोजित करता है"
13
+ validators:
14
+ custom: "मान्य नहीं है"
15
+ exclusion:
16
+ of: "इनमें से एक नहीं होना चाहिए: %{values}"
17
+ within: "%{min} और %{max} के बीच नहीं होना चाहिए"
18
+ format: "अमान्य प्रारूप है"
19
+ inclusion:
20
+ of: "इनमें से एक होना चाहिए: %{values}"
21
+ within: "%{min} और %{max} के बीच होना चाहिए"
22
+ length:
23
+ is: "लंबाई %{is} होनी चाहिए"
24
+ is_not: "लंबाई %{is_not} नहीं होनी चाहिए"
25
+ min: "लंबाई कम से कम %{min} होनी चाहिए"
26
+ max: "लंबाई अधिकतम %{max} होनी चाहिए"
27
+ not_within: "लंबाई %{min} और %{max} के बीच नहीं होनी चाहिए"
28
+ within: "लंबाई %{min} और %{max} के बीच होनी चाहिए"
29
+ numeric:
30
+ is: "%{is} होना चाहिए"
31
+ is_not: "%{is_not} नहीं होना चाहिए"
32
+ min: "कम से कम %{min} होना चाहिए"
33
+ max: "अधिकतम %{max} होना चाहिए"
34
+ not_within: "%{min} और %{max} के बीच नहीं होना चाहिए"
35
+ within: "%{min} और %{max} के बीच होना चाहिए"
36
+ presence: "खाली नहीं हो सकता"
@@ -0,0 +1,36 @@
1
+ it:
2
+ cmdx:
3
+ coercions:
4
+ into_a: "impossibile convertire in un %{type}"
5
+ into_an: "impossibile convertire in un %{type}"
6
+ into_any: "impossibile convertire in uno di: %{values}"
7
+ unknown: "tipo di conversione %{type} sconosciuto"
8
+ faults:
9
+ unspecified: "nessuna ragione fornita"
10
+ parameters:
11
+ required: "è un parametro obbligatorio"
12
+ undefined: "delega al metodo indefinito %{source}"
13
+ validators:
14
+ custom: "non è valido"
15
+ exclusion:
16
+ of: "non deve essere uno di: %{values}"
17
+ within: "non deve essere tra %{min} e %{max}"
18
+ format: "ha un formato non valido"
19
+ inclusion:
20
+ of: "deve essere uno di: %{values}"
21
+ within: "deve essere tra %{min} e %{max}"
22
+ length:
23
+ is: "la lunghezza deve essere %{is}"
24
+ is_not: "la lunghezza non deve essere %{is_not}"
25
+ min: "la lunghezza deve essere almeno %{min}"
26
+ max: "la lunghezza deve essere al massimo %{max}"
27
+ not_within: "la lunghezza non deve essere tra %{min} e %{max}"
28
+ within: "la lunghezza deve essere tra %{min} e %{max}"
29
+ numeric:
30
+ is: "deve essere %{is}"
31
+ is_not: "non deve essere %{is_not}"
32
+ min: "deve essere almeno %{min}"
33
+ max: "deve essere al massimo %{max}"
34
+ not_within: "non deve essere tra %{min} e %{max}"
35
+ within: "deve essere tra %{min} e %{max}"
36
+ presence: "non può essere vuoto"
@@ -0,0 +1,36 @@
1
+ ja:
2
+ cmdx:
3
+ coercions:
4
+ into_a: "%{type}に変換できませんでした"
5
+ into_an: "%{type}に変換できませんでした"
6
+ into_any: "次のいずれかに変換できませんでした: %{values}"
7
+ unknown: "不明な%{type}変換タイプ"
8
+ faults:
9
+ unspecified: "理由が指定されていません"
10
+ parameters:
11
+ required: "必須パラメータです"
12
+ undefined: "未定義メソッド%{source}に委譲します"
13
+ validators:
14
+ custom: "無効です"
15
+ exclusion:
16
+ of: "次のいずれかであってはいけません: %{values}"
17
+ within: "%{min}と%{max}の間であってはいけません"
18
+ format: "無効な形式です"
19
+ inclusion:
20
+ of: "次のいずれかでなければなりません: %{values}"
21
+ within: "%{min}と%{max}の間でなければなりません"
22
+ length:
23
+ is: "長さは%{is}でなければなりません"
24
+ is_not: "長さは%{is_not}であってはいけません"
25
+ min: "長さは最低%{min}でなければなりません"
26
+ max: "長さは最大%{max}でなければなりません"
27
+ not_within: "長さは%{min}と%{max}の間であってはいけません"
28
+ within: "長さは%{min}と%{max}の間でなければなりません"
29
+ numeric:
30
+ is: "%{is}でなければなりません"
31
+ is_not: "%{is_not}であってはいけません"
32
+ min: "最低%{min}でなければなりません"
33
+ max: "最大%{max}でなければなりません"
34
+ not_within: "%{min}と%{max}の間であってはいけません"
35
+ within: "%{min}と%{max}の間でなければなりません"
36
+ presence: "空であってはいけません"
@@ -0,0 +1,36 @@
1
+ ko:
2
+ cmdx:
3
+ coercions:
4
+ into_a: "%{type}으로 변환할 수 없습니다"
5
+ into_an: "%{type}으로 변환할 수 없습니다"
6
+ into_any: "다음 중 하나로 변환할 수 없습니다: %{values}"
7
+ unknown: "알 수 없는 %{type} 변환 유형"
8
+ faults:
9
+ unspecified: "이유가 지정되지 않음"
10
+ parameters:
11
+ required: "필수 매개변수입니다"
12
+ undefined: "정의되지 않은 메서드 %{source}에 위임합니다"
13
+ validators:
14
+ custom: "유효하지 않습니다"
15
+ exclusion:
16
+ of: "다음 중 하나가 아니어야 합니다: %{values}"
17
+ within: "%{min}과 %{max} 사이에 있지 않아야 합니다"
18
+ format: "유효하지 않은 형식입니다"
19
+ inclusion:
20
+ of: "다음 중 하나여야 합니다: %{values}"
21
+ within: "%{min}과 %{max} 사이에 있어야 합니다"
22
+ length:
23
+ is: "길이는 %{is}이어야 합니다"
24
+ is_not: "길이는 %{is_not}이 아니어야 합니다"
25
+ min: "길이는 최소 %{min}이어야 합니다"
26
+ max: "길이는 최대 %{max}이어야 합니다"
27
+ not_within: "길이는 %{min}과 %{max} 사이에 있지 않아야 합니다"
28
+ within: "길이는 %{min}과 %{max} 사이에 있어야 합니다"
29
+ numeric:
30
+ is: "%{is}이어야 합니다"
31
+ is_not: "%{is_not}이 아니어야 합니다"
32
+ min: "최소 %{min}이어야 합니다"
33
+ max: "최대 %{max}이어야 합니다"
34
+ not_within: "%{min}과 %{max} 사이에 있지 않아야 합니다"
35
+ within: "%{min}과 %{max} 사이에 있어야 합니다"
36
+ presence: "비어있을 수 없습니다"
@@ -0,0 +1,36 @@
1
+ nl:
2
+ cmdx:
3
+ coercions:
4
+ into_a: "kon niet converteren naar een %{type}"
5
+ into_an: "kon niet converteren naar een %{type}"
6
+ into_any: "kon niet converteren naar een van: %{values}"
7
+ unknown: "onbekend %{type} conversie type"
8
+ faults:
9
+ unspecified: "geen reden gegeven"
10
+ parameters:
11
+ required: "is een vereiste parameter"
12
+ undefined: "delegeert naar ongedefinieerde methode %{source}"
13
+ validators:
14
+ custom: "is niet geldig"
15
+ exclusion:
16
+ of: "mag niet een van zijn: %{values}"
17
+ within: "mag niet tussen %{min} en %{max} liggen"
18
+ format: "heeft een ongeldig formaat"
19
+ inclusion:
20
+ of: "moet een van zijn: %{values}"
21
+ within: "moet tussen %{min} en %{max} liggen"
22
+ length:
23
+ is: "lengte moet %{is} zijn"
24
+ is_not: "lengte mag niet %{is_not} zijn"
25
+ min: "lengte moet minstens %{min} zijn"
26
+ max: "lengte mag maximaal %{max} zijn"
27
+ not_within: "lengte mag niet tussen %{min} en %{max} liggen"
28
+ within: "lengte moet tussen %{min} en %{max} liggen"
29
+ numeric:
30
+ is: "moet %{is} zijn"
31
+ is_not: "mag niet %{is_not} zijn"
32
+ min: "moet minstens %{min} zijn"
33
+ max: "mag maximaal %{max} zijn"
34
+ not_within: "mag niet tussen %{min} en %{max} liggen"
35
+ within: "moet tussen %{min} en %{max} liggen"
36
+ presence: "kan niet leeg zijn"
@@ -0,0 +1,36 @@
1
+ "no":
2
+ cmdx:
3
+ coercions:
4
+ into_a: "kunne ikke konvertere til en %{type}"
5
+ into_an: "kunne ikke konvertere til en %{type}"
6
+ into_any: "kunne ikke konvertere til en av: %{values}"
7
+ unknown: "ukjent %{type} konverteringstype"
8
+ faults:
9
+ unspecified: "ingen grunn oppgitt"
10
+ parameters:
11
+ required: "er en påkrevd parameter"
12
+ undefined: "delegerer til udefinert metode %{source}"
13
+ validators:
14
+ custom: "er ikke gyldig"
15
+ exclusion:
16
+ of: "må ikke være en av: %{values}"
17
+ within: "må ikke være mellom %{min} og %{max}"
18
+ format: "har et ugyldig format"
19
+ inclusion:
20
+ of: "må være en av: %{values}"
21
+ within: "må være mellom %{min} og %{max}"
22
+ length:
23
+ is: "lengde må være %{is}"
24
+ is_not: "lengde må ikke være %{is_not}"
25
+ min: "lengde må være minst %{min}"
26
+ max: "lengde må være maksimalt %{max}"
27
+ not_within: "lengde må ikke være mellom %{min} og %{max}"
28
+ within: "lengde må være mellom %{min} og %{max}"
29
+ numeric:
30
+ is: "må være %{is}"
31
+ is_not: "må ikke være %{is_not}"
32
+ min: "må være minst %{min}"
33
+ max: "må være maksimalt %{max}"
34
+ not_within: "må ikke være mellom %{min} og %{max}"
35
+ within: "må være mellom %{min} og %{max}"
36
+ presence: "kan ikke være tom"
@@ -0,0 +1,36 @@
1
+ pl:
2
+ cmdx:
3
+ coercions:
4
+ into_a: "nie można przekonwertować na %{type}"
5
+ into_an: "nie można przekonwertować na %{type}"
6
+ into_any: "nie można przekonwertować na jeden z: %{values}"
7
+ unknown: "nieznany typ konwersji %{type}"
8
+ faults:
9
+ unspecified: "nie podano powodu"
10
+ parameters:
11
+ required: "jest wymaganym parametrem"
12
+ undefined: "deleguje do niezdefiniowanej metody %{source}"
13
+ validators:
14
+ custom: "jest nieprawidłowy"
15
+ exclusion:
16
+ of: "nie może być jednym z: %{values}"
17
+ within: "nie może być między %{min} a %{max}"
18
+ format: "ma nieprawidłowy format"
19
+ inclusion:
20
+ of: "musi być jednym z: %{values}"
21
+ within: "musi być między %{min} a %{max}"
22
+ length:
23
+ is: "długość musi wynosić %{is}"
24
+ is_not: "długość nie może wynosić %{is_not}"
25
+ min: "długość musi wynosić co najmniej %{min}"
26
+ max: "długość może wynosić co najwyżej %{max}"
27
+ not_within: "długość nie może być między %{min} a %{max}"
28
+ within: "długość musi być między %{min} a %{max}"
29
+ numeric:
30
+ is: "musi wynosić %{is}"
31
+ is_not: "nie może wynosić %{is_not}"
32
+ min: "musi wynosić co najmniej %{min}"
33
+ max: "może wynosić co najwyżej %{max}"
34
+ not_within: "nie może być między %{min} a %{max}"
35
+ within: "musi być między %{min} a %{max}"
36
+ presence: "nie może być pusty"
@@ -0,0 +1,36 @@
1
+ pt:
2
+ cmdx:
3
+ coercions:
4
+ into_a: "não foi possível converter em um %{type}"
5
+ into_an: "não foi possível converter em um %{type}"
6
+ into_any: "não foi possível converter em um de: %{values}"
7
+ unknown: "tipo de conversão %{type} desconhecido"
8
+ faults:
9
+ unspecified: "nenhuma razão fornecida"
10
+ parameters:
11
+ required: "é um parâmetro obrigatório"
12
+ undefined: "delega para método indefinido %{source}"
13
+ validators:
14
+ custom: "não é válido"
15
+ exclusion:
16
+ of: "não deve ser um de: %{values}"
17
+ within: "não deve estar entre %{min} e %{max}"
18
+ format: "tem um formato inválido"
19
+ inclusion:
20
+ of: "deve ser um de: %{values}"
21
+ within: "deve estar entre %{min} e %{max}"
22
+ length:
23
+ is: "comprimento deve ser %{is}"
24
+ is_not: "comprimento não deve ser %{is_not}"
25
+ min: "comprimento deve ser pelo menos %{min}"
26
+ max: "comprimento deve ser no máximo %{max}"
27
+ not_within: "comprimento não deve estar entre %{min} e %{max}"
28
+ within: "comprimento deve estar entre %{min} e %{max}"
29
+ numeric:
30
+ is: "deve ser %{is}"
31
+ is_not: "não deve ser %{is_not}"
32
+ min: "deve ser pelo menos %{min}"
33
+ max: "deve ser no máximo %{max}"
34
+ not_within: "não deve estar entre %{min} e %{max}"
35
+ within: "deve estar entre %{min} e %{max}"
36
+ presence: "não pode estar vazio"
@@ -0,0 +1,36 @@
1
+ ru:
2
+ cmdx:
3
+ coercions:
4
+ into_a: "невозможно преобразовать в %{type}"
5
+ into_an: "невозможно преобразовать в %{type}"
6
+ into_any: "невозможно преобразовать в один из: %{values}"
7
+ unknown: "неизвестный тип преобразования %{type}"
8
+ faults:
9
+ unspecified: "причина не указана"
10
+ parameters:
11
+ required: "обязательный параметр"
12
+ undefined: "делегирует неопределенному методу %{source}"
13
+ validators:
14
+ custom: "недействительный"
15
+ exclusion:
16
+ of: "не должен быть одним из: %{values}"
17
+ within: "не должен быть между %{min} и %{max}"
18
+ format: "имеет недопустимый формат"
19
+ inclusion:
20
+ of: "должен быть одним из: %{values}"
21
+ within: "должен быть между %{min} и %{max}"
22
+ length:
23
+ is: "длина должна быть %{is}"
24
+ is_not: "длина не должна быть %{is_not}"
25
+ min: "длина должна быть не менее %{min}"
26
+ max: "длина должна быть не более %{max}"
27
+ not_within: "длина не должна быть между %{min} и %{max}"
28
+ within: "длина должна быть между %{min} и %{max}"
29
+ numeric:
30
+ is: "должно быть %{is}"
31
+ is_not: "не должно быть %{is_not}"
32
+ min: "должно быть не менее %{min}"
33
+ max: "должно быть не более %{max}"
34
+ not_within: "не должно быть между %{min} и %{max}"
35
+ within: "должно быть между %{min} и %{max}"
36
+ presence: "не может быть пустым"
@@ -0,0 +1,36 @@
1
+ sv:
2
+ cmdx:
3
+ coercions:
4
+ into_a: "kunde inte konvertera till en %{type}"
5
+ into_an: "kunde inte konvertera till en %{type}"
6
+ into_any: "kunde inte konvertera till en av: %{values}"
7
+ unknown: "okänd %{type} konverteringstyp"
8
+ faults:
9
+ unspecified: "ingen anledning angiven"
10
+ parameters:
11
+ required: "är en obligatorisk parameter"
12
+ undefined: "delegerar till odefinierad metod %{source}"
13
+ validators:
14
+ custom: "är inte giltig"
15
+ exclusion:
16
+ of: "får inte vara en av: %{values}"
17
+ within: "får inte vara mellan %{min} och %{max}"
18
+ format: "har ett ogiltigt format"
19
+ inclusion:
20
+ of: "måste vara en av: %{values}"
21
+ within: "måste vara mellan %{min} och %{max}"
22
+ length:
23
+ is: "längd måste vara %{is}"
24
+ is_not: "längd får inte vara %{is_not}"
25
+ min: "längd måste vara minst %{min}"
26
+ max: "längd får vara högst %{max}"
27
+ not_within: "längd får inte vara mellan %{min} och %{max}"
28
+ within: "längd måste vara mellan %{min} och %{max}"
29
+ numeric:
30
+ is: "måste vara %{is}"
31
+ is_not: "får inte vara %{is_not}"
32
+ min: "måste vara minst %{min}"
33
+ max: "får vara högst %{max}"
34
+ not_within: "får inte vara mellan %{min} och %{max}"
35
+ within: "måste vara mellan %{min} och %{max}"
36
+ presence: "kan inte vara tom"
@@ -0,0 +1,36 @@
1
+ th:
2
+ cmdx:
3
+ coercions:
4
+ into_a: "ไม่สามารถแปลงเป็น %{type} ได้"
5
+ into_an: "ไม่สามารถแปลงเป็น %{type} ได้"
6
+ into_any: "ไม่สามารถแปลงเป็นหนึ่งใน: %{values}"
7
+ unknown: "ประเภทการแปลง %{type} ที่ไม่รู้จัก"
8
+ faults:
9
+ unspecified: "ไม่ได้ระบุเหตุผล"
10
+ parameters:
11
+ required: "เป็นพารามิเตอร์ที่จำเป็น"
12
+ undefined: "ส่งต่อไปยังเมธอดที่ไม่ได้กำหนด %{source}"
13
+ validators:
14
+ custom: "ไม่ถูกต้อง"
15
+ exclusion:
16
+ of: "ต้องไม่เป็นหนึ่งใน: %{values}"
17
+ within: "ต้องไม่อยู่ระหว่าง %{min} และ %{max}"
18
+ format: "มีรูปแบบที่ไม่ถูกต้อง"
19
+ inclusion:
20
+ of: "ต้องเป็นหนึ่งใน: %{values}"
21
+ within: "ต้องอยู่ระหว่าง %{min} และ %{max}"
22
+ length:
23
+ is: "ความยาวต้องเป็น %{is}"
24
+ is_not: "ความยาวต้องไม่เป็น %{is_not}"
25
+ min: "ความยาวต้องมีอย่างน้อย %{min}"
26
+ max: "ความยาวต้องมีมากที่สุด %{max}"
27
+ not_within: "ความยาวต้องไม่อยู่ระหว่าง %{min} และ %{max}"
28
+ within: "ความยาวต้องอยู่ระหว่าง %{min} และ %{max}"
29
+ numeric:
30
+ is: "ต้องเป็น %{is}"
31
+ is_not: "ต้องไม่เป็น %{is_not}"
32
+ min: "ต้องมีอย่างน้อย %{min}"
33
+ max: "ต้องมีมากที่สุด %{max}"
34
+ not_within: "ต้องไม่อยู่ระหว่าง %{min} และ %{max}"
35
+ within: "ต้องอยู่ระหว่าง %{min} และ %{max}"
36
+ presence: "ไม่สามารถเป็นค่าว่างได้"
@@ -0,0 +1,36 @@
1
+ tr:
2
+ cmdx:
3
+ coercions:
4
+ into_a: "%{type} türüne dönüştürülemedi"
5
+ into_an: "%{type} türüne dönüştürülemedi"
6
+ into_any: "şunlardan birine dönüştürülemedi: %{values}"
7
+ unknown: "bilinmeyen %{type} dönüşüm türü"
8
+ faults:
9
+ unspecified: "sebep belirtilmedi"
10
+ parameters:
11
+ required: "gerekli bir parametredir"
12
+ undefined: "tanımsız metoda %{source} yetki verir"
13
+ validators:
14
+ custom: "geçerli değil"
15
+ exclusion:
16
+ of: "şunlardan biri olmamalı: %{values}"
17
+ within: "%{min} ve %{max} arasında olmamalı"
18
+ format: "geçersiz biçime sahip"
19
+ inclusion:
20
+ of: "şunlardan biri olmalı: %{values}"
21
+ within: "%{min} ve %{max} arasında olmalı"
22
+ length:
23
+ is: "uzunluk %{is} olmalı"
24
+ is_not: "uzunluk %{is_not} olmamalı"
25
+ min: "uzunluk en az %{min} olmalı"
26
+ max: "uzunluk en fazla %{max} olmalı"
27
+ not_within: "uzunluk %{min} ve %{max} arasında olmamalı"
28
+ within: "uzunluk %{min} ve %{max} arasında olmalı"
29
+ numeric:
30
+ is: "%{is} olmalı"
31
+ is_not: "%{is_not} olmamalı"
32
+ min: "en az %{min} olmalı"
33
+ max: "en fazla %{max} olmalı"
34
+ not_within: "%{min} ve %{max} arasında olmamalı"
35
+ within: "%{min} ve %{max} arasında olmalı"
36
+ presence: "boş olamaz"
@@ -0,0 +1,36 @@
1
+ vi:
2
+ cmdx:
3
+ coercions:
4
+ into_a: "không thể chuyển đổi thành %{type}"
5
+ into_an: "không thể chuyển đổi thành %{type}"
6
+ into_any: "không thể chuyển đổi thành một trong: %{values}"
7
+ unknown: "loại chuyển đổi %{type} không rõ"
8
+ faults:
9
+ unspecified: "không có lý do được đưa ra"
10
+ parameters:
11
+ required: "là một tham số bắt buộc"
12
+ undefined: "ủy quyền cho phương thức không xác định %{source}"
13
+ validators:
14
+ custom: "không hợp lệ"
15
+ exclusion:
16
+ of: "không được là một trong: %{values}"
17
+ within: "không được nằm giữa %{min} và %{max}"
18
+ format: "có định dạng không hợp lệ"
19
+ inclusion:
20
+ of: "phải là một trong: %{values}"
21
+ within: "phải nằm giữa %{min} và %{max}"
22
+ length:
23
+ is: "độ dài phải là %{is}"
24
+ is_not: "độ dài không được là %{is_not}"
25
+ min: "độ dài phải ít nhất %{min}"
26
+ max: "độ dài tối đa %{max}"
27
+ not_within: "độ dài không được nằm giữa %{min} và %{max}"
28
+ within: "độ dài phải nằm giữa %{min} và %{max}"
29
+ numeric:
30
+ is: "phải là %{is}"
31
+ is_not: "không được là %{is_not}"
32
+ min: "phải ít nhất %{min}"
33
+ max: "tối đa %{max}"
34
+ not_within: "không được nằm giữa %{min} và %{max}"
35
+ within: "phải nằm giữa %{min} và %{max}"
36
+ presence: "không thể để trống"
@@ -0,0 +1,36 @@
1
+ zh:
2
+ cmdx:
3
+ coercions:
4
+ into_a: "无法转换为%{type}"
5
+ into_an: "无法转换为%{type}"
6
+ into_any: "无法转换为以下任一类型: %{values}"
7
+ unknown: "未知的%{type}转换类型"
8
+ faults:
9
+ unspecified: "未提供原因"
10
+ parameters:
11
+ required: "是必需参数"
12
+ undefined: "委托给未定义的方法%{source}"
13
+ validators:
14
+ custom: "无效"
15
+ exclusion:
16
+ of: "不能是以下任一值: %{values}"
17
+ within: "不能在%{min}和%{max}之间"
18
+ format: "格式无效"
19
+ inclusion:
20
+ of: "必须是以下任一值: %{values}"
21
+ within: "必须在%{min}和%{max}之间"
22
+ length:
23
+ is: "长度必须是%{is}"
24
+ is_not: "长度不能是%{is_not}"
25
+ min: "长度至少为%{min}"
26
+ max: "长度最多为%{max}"
27
+ not_within: "长度不能在%{min}和%{max}之间"
28
+ within: "长度必须在%{min}和%{max}之间"
29
+ numeric:
30
+ is: "必须是%{is}"
31
+ is_not: "不能是%{is_not}"
32
+ min: "至少为%{min}"
33
+ max: "最多为%{max}"
34
+ not_within: "不能在%{min}和%{max}之间"
35
+ within: "必须在%{min}和%{max}之间"
36
+ presence: "不能为空"