quby-compiler 0.2.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (107) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +13 -0
  3. data/.gitlab-ci.yml +5 -0
  4. data/.rspec +3 -0
  5. data/.ruby-version +1 -0
  6. data/CODE_OF_CONDUCT.md +74 -0
  7. data/Dockerfile +11 -0
  8. data/Gemfile +8 -0
  9. data/Gemfile.lock +133 -0
  10. data/LICENSE.txt +21 -0
  11. data/README.md +44 -0
  12. data/Rakefile +6 -0
  13. data/bin/console +14 -0
  14. data/bin/rspec +29 -0
  15. data/bin/setup +8 -0
  16. data/config/locales/de.yml +58 -0
  17. data/config/locales/en.yml +57 -0
  18. data/config/locales/nl.yml +57 -0
  19. data/config/locales/rails-i18n/README.md +4 -0
  20. data/config/locales/rails-i18n/de.yml +223 -0
  21. data/config/locales/rails-i18n/en.yml +216 -0
  22. data/config/locales/rails-i18n/nl.yml +214 -0
  23. data/exe/quby-compile +56 -0
  24. data/lib/quby/array_attribute_valid_validator.rb +15 -0
  25. data/lib/quby/attribute_valid_validator.rb +14 -0
  26. data/lib/quby/compiler.rb +50 -0
  27. data/lib/quby/compiler/dsl.rb +29 -0
  28. data/lib/quby/compiler/dsl/base.rb +20 -0
  29. data/lib/quby/compiler/dsl/calls_custom_methods.rb +29 -0
  30. data/lib/quby/compiler/dsl/charting/bar_chart_builder.rb +14 -0
  31. data/lib/quby/compiler/dsl/charting/chart_builder.rb +95 -0
  32. data/lib/quby/compiler/dsl/charting/line_chart_builder.rb +34 -0
  33. data/lib/quby/compiler/dsl/charting/overview_chart_builder.rb +31 -0
  34. data/lib/quby/compiler/dsl/charting/radar_chart_builder.rb +14 -0
  35. data/lib/quby/compiler/dsl/helpers.rb +53 -0
  36. data/lib/quby/compiler/dsl/panel_builder.rb +80 -0
  37. data/lib/quby/compiler/dsl/question_builder.rb +40 -0
  38. data/lib/quby/compiler/dsl/questionnaire_builder.rb +279 -0
  39. data/lib/quby/compiler/dsl/questions/base.rb +180 -0
  40. data/lib/quby/compiler/dsl/questions/checkbox_question_builder.rb +20 -0
  41. data/lib/quby/compiler/dsl/questions/date_question_builder.rb +18 -0
  42. data/lib/quby/compiler/dsl/questions/deprecated_question_builder.rb +18 -0
  43. data/lib/quby/compiler/dsl/questions/float_question_builder.rb +21 -0
  44. data/lib/quby/compiler/dsl/questions/integer_question_builder.rb +21 -0
  45. data/lib/quby/compiler/dsl/questions/radio_question_builder.rb +20 -0
  46. data/lib/quby/compiler/dsl/questions/select_question_builder.rb +18 -0
  47. data/lib/quby/compiler/dsl/questions/string_question_builder.rb +20 -0
  48. data/lib/quby/compiler/dsl/questions/text_question_builder.rb +22 -0
  49. data/lib/quby/compiler/dsl/score_builder.rb +22 -0
  50. data/lib/quby/compiler/dsl/score_schema_builder.rb +53 -0
  51. data/lib/quby/compiler/dsl/standardized_panel_generators.rb +33 -0
  52. data/lib/quby/compiler/dsl/table_builder.rb +48 -0
  53. data/lib/quby/compiler/entities.rb +38 -0
  54. data/lib/quby/compiler/entities/charting/bar_chart.rb +17 -0
  55. data/lib/quby/compiler/entities/charting/chart.rb +101 -0
  56. data/lib/quby/compiler/entities/charting/charts.rb +42 -0
  57. data/lib/quby/compiler/entities/charting/line_chart.rb +38 -0
  58. data/lib/quby/compiler/entities/charting/overview_chart.rb +20 -0
  59. data/lib/quby/compiler/entities/charting/plottable.rb +20 -0
  60. data/lib/quby/compiler/entities/charting/radar_chart.rb +17 -0
  61. data/lib/quby/compiler/entities/definition.rb +26 -0
  62. data/lib/quby/compiler/entities/fields.rb +119 -0
  63. data/lib/quby/compiler/entities/flag.rb +55 -0
  64. data/lib/quby/compiler/entities/item.rb +40 -0
  65. data/lib/quby/compiler/entities/lookup_tables.rb +71 -0
  66. data/lib/quby/compiler/entities/outcome_table.rb +31 -0
  67. data/lib/quby/compiler/entities/panel.rb +82 -0
  68. data/lib/quby/compiler/entities/question.rb +365 -0
  69. data/lib/quby/compiler/entities/question_option.rb +96 -0
  70. data/lib/quby/compiler/entities/questionnaire.rb +440 -0
  71. data/lib/quby/compiler/entities/questions/checkbox_question.rb +82 -0
  72. data/lib/quby/compiler/entities/questions/date_question.rb +84 -0
  73. data/lib/quby/compiler/entities/questions/deprecated_question.rb +19 -0
  74. data/lib/quby/compiler/entities/questions/float_question.rb +15 -0
  75. data/lib/quby/compiler/entities/questions/integer_question.rb +15 -0
  76. data/lib/quby/compiler/entities/questions/radio_question.rb +19 -0
  77. data/lib/quby/compiler/entities/questions/select_question.rb +19 -0
  78. data/lib/quby/compiler/entities/questions/string_question.rb +15 -0
  79. data/lib/quby/compiler/entities/questions/text_question.rb +15 -0
  80. data/lib/quby/compiler/entities/score_calculation.rb +35 -0
  81. data/lib/quby/compiler/entities/score_schema.rb +25 -0
  82. data/lib/quby/compiler/entities/subscore_schema.rb +23 -0
  83. data/lib/quby/compiler/entities/table.rb +143 -0
  84. data/lib/quby/compiler/entities/text.rb +71 -0
  85. data/lib/quby/compiler/entities/textvar.rb +23 -0
  86. data/lib/quby/compiler/entities/validation.rb +17 -0
  87. data/lib/quby/compiler/entities/version.rb +23 -0
  88. data/lib/quby/compiler/entities/visibility_rule.rb +71 -0
  89. data/lib/quby/compiler/instance.rb +72 -0
  90. data/lib/quby/compiler/output.rb +13 -0
  91. data/lib/quby/compiler/outputs.rb +4 -0
  92. data/lib/quby/compiler/outputs/quby_frontend_v1_serializer.rb +362 -0
  93. data/lib/quby/compiler/outputs/quby_frontend_v2_serializer.rb +15 -0
  94. data/lib/quby/compiler/outputs/roqua_serializer.rb +108 -0
  95. data/lib/quby/compiler/outputs/seed_serializer.rb +34 -0
  96. data/lib/quby/compiler/services/definition_validator.rb +330 -0
  97. data/lib/quby/compiler/services/quby_proxy.rb +405 -0
  98. data/lib/quby/compiler/services/seed_diff.rb +116 -0
  99. data/lib/quby/compiler/services/text_transformation.rb +30 -0
  100. data/lib/quby/compiler/version.rb +5 -0
  101. data/lib/quby/markdown_parser.rb +38 -0
  102. data/lib/quby/range_categories.rb +38 -0
  103. data/lib/quby/settings.rb +86 -0
  104. data/lib/quby/text_transformation.rb +26 -0
  105. data/lib/quby/type_validator.rb +12 -0
  106. data/quby-compiler.gemspec +39 -0
  107. metadata +277 -0
@@ -0,0 +1,57 @@
1
+ en:
2
+ date:
3
+ formats:
4
+ friendly_date: '%-d %B %Y (%-d-%-m-%Y)'
5
+ step_i_of_n: "Step %{i} of %{n}"
6
+ previous: Previous
7
+ next: Next
8
+ abort: Save for later
9
+ previous_questionnaire: Previous questionnaire
10
+ done: Done
11
+ print_answers: Print answers
12
+ download_answers_pdf: Download as PDF
13
+ pdf_download_failed_message: An error occurred preparing the download.
14
+ questionnaire_not_completed:
15
+ heading: "This questionnaire hasn't been filled out completely!"
16
+ explanation: "If you decide to save the questionnaire anyway, it could be that scale scores can't be calculated because we don't have all the required answers. You may complete the questionnaire below."
17
+ save_anyway: Save anyway
18
+ thanks_for_filling_out: Thank you for filling out the questionnaire.
19
+ ios_download_instruction: "Your download will open in a new tab.\n\nSave the file in Books/iBooks. Return to the browser using the '< Safari' button in the top left.\n\nBack in the browser, press the back '<' button and press 'Done' to complete your questionnaire."
20
+ validations:
21
+ maximum:
22
+ date: "Entered date must be on or before %{friendly_date}."
23
+ number: "Enter a number of at most %{value}."
24
+ minimum:
25
+ date: "Entered date must be on or after %{friendly_date}."
26
+ number: "Enter a number of at least %{value}."
27
+ requires_answer: "Please fill out this question."
28
+ regexp: "Please enter an answer in the format %{matcher}."
29
+ valid_integer: "Enter a valid integer number"
30
+ valid_float: "Enter a number. Use a period (.) for decimals."
31
+ valid_date:
32
+ valid_date_year: "Enter a valid year in the format YYYY, for example 2015."
33
+ valid_date_month_year: "Enter a valid date in the format MM-YYYY, for example 08-2015."
34
+ valid_date_day_hour_minute_month_year: "Enter a valid date in the format DD-MM-YYYY hh:mm, for example 12-08-2015 13:05."
35
+ valid_date_day_month_year: "Enter a valid date in the format DD-MM-YYYY, for example 12-08-2015."
36
+ valid_date_hour_minute: "Enter a valid time in the format hh:mm, for example 13:05."
37
+ too_many_checked: "You chose too many options"
38
+ not_all_checked: "You chose too few options"
39
+ maximum_checked_allowed:
40
+ one: "Choose up to %{maximum_checked_value} options."
41
+ other: "Choose up to %{maximum_checked_value} options."
42
+ minimum_checked_required:
43
+ one: "Choose at least %{minimum_checked_value} options."
44
+ other: "Choose at least %{minimum_checked_value} options."
45
+ answer_group_minimum: "Answer at least %{value} of these questions"
46
+ answer_group_maximum: "Answer up to %{value} of these questions"
47
+ video_not_supported: Your browser does not support playing this video. Try using a different browser.
48
+ DD: DD
49
+ MM: MM
50
+ YYYY: YYYY
51
+ hh: hh
52
+ mm: mm
53
+ day: day
54
+ month: month
55
+ year: year
56
+ hour: hour
57
+ minute: minute
@@ -0,0 +1,57 @@
1
+ nl:
2
+ date:
3
+ formats:
4
+ friendly_date: '%-d %B %Y (%-d-%-m-%Y)'
5
+ step_i_of_n: "Stap %{i} van %{n}"
6
+ previous: Terug
7
+ next: Verder
8
+ abort: Later afmaken
9
+ previous_questionnaire: Vorige vragenlijst
10
+ done: Klaar
11
+ print_answers: Print antwoorden
12
+ download_answers_pdf: Download als PDF
13
+ pdf_download_failed_message: Het aanmaken van de download is helaas mislukt.
14
+ questionnaire_not_completed:
15
+ heading: Deze vragenlijst is nog niet volledig ingevuld!
16
+ explanation: Als u de vragenlijst toch opslaat, kan het zijn dat er geen schaalscores berekend worden omdat hiervoor onvoldoende informatie voorhanden is. U kunt uw antwoorden hieronder alsnog aanvullen. Vragen die nog niet volledig zijn beantwoord, worden rood gemarkeerd.
17
+ save_anyway: Toch opslaan
18
+ thanks_for_filling_out: Bedankt voor het invullen van deze vragenlijst. Uw antwoorden zijn opgeslagen.
19
+ ios_download_instruction: "Er opent een nieuw tabblad waarop de download wordt gestart.\n\nSla het bestand op in Boeken/iBooks. Keer dan terug naar de browser met de knop '< Safari' geheel linksboven.\n\nGa in de browser terug met de terug knop '<' en druk op 'Klaar' om je invulling vast te leggen."
20
+ validations:
21
+ maximum:
22
+ date: "De datum moet op of voor de dag %{friendly_date} liggen."
23
+ number: "Uw antwoord moet een getal kleiner dan of gelijk aan %{value} zijn."
24
+ minimum:
25
+ date: "De datum moet op of na de dag %{friendly_date} liggen."
26
+ number: "Uw antwoord moet een getal groter dan of gelijk aan %{value} zijn."
27
+ requires_answer: "Deze vraag moet beantwoord worden."
28
+ regexp: "Uw antwoord moet voldoen aan de vorm %{matcher}."
29
+ valid_integer: "Uw antwoord moet een afgerond getal zijn."
30
+ valid_float: "Uw antwoord moet een getal zijn (gebruik een punt voor decimale getallen, geen komma)."
31
+ valid_date:
32
+ valid_date_year: "Vul een geldig jaar in met formaat JJJJ, bijvoorbeeld 2015."
33
+ valid_date_month_year: "Vul een geldige datum in met formaat MM-JJJJ, bijvoorbeeld 08-2015."
34
+ valid_date_day_hour_minute_month_year: "Vul een geldige datum in met formaat DD-MM-JJJJ uu:mm, bijvoorbeeld 13-08-2015 13:05."
35
+ valid_date_day_month_year: "Vul een geldige datum in met formaat DD-MM-JJJJ, bijvoorbeeld 13-08-2015."
36
+ valid_date_hour_minute: "Vul een geldige tijd in met formaat uu:mm, bijvoorbeeld 13:05"
37
+ too_many_checked: "U heeft te veel opties gekozen."
38
+ not_all_checked: "U heeft te weinig opties gekozen."
39
+ maximum_checked_allowed:
40
+ one: "U mag maximaal %{maximum_checked_value} optie kiezen."
41
+ other: "U mag maximaal %{maximum_checked_value} opties kiezen."
42
+ minimum_checked_required:
43
+ one: "U moet minstens %{minimum_checked_value} optie kiezen."
44
+ other: "U moet minstens %{minimum_checked_value} opties kiezen."
45
+ answer_group_minimum: "Beantwoord minstens %{value} van deze vragen"
46
+ answer_group_maximum: "Beantwoord hoogstens %{value} van deze vragen"
47
+ video_not_supported: Helaas kan je browser dit filmpje niet afspelen. Probeer een andere browser te gebruiken.
48
+ DD: DD
49
+ MM: MM
50
+ YYYY: JJJJ
51
+ hh: uu
52
+ mm: mm
53
+ day: dag
54
+ month: maand
55
+ year: jaar
56
+ hour: uur
57
+ minute: minuut
@@ -0,0 +1,4 @@
1
+ These files in this directory come from https://github.com/svenfuchs/rails-i18n/
2
+
3
+ Unfortunately, that's set up to be a Railtie, which means it won't load files unless a Rails application initializes.
4
+ Thus, we've followed the "Manual" installation from the readme, and copied the files over to here.
@@ -0,0 +1,223 @@
1
+ ---
2
+ de:
3
+ activerecord:
4
+ errors:
5
+ messages:
6
+ record_invalid: 'Gültigkeitsprüfung ist fehlgeschlagen: %{errors}'
7
+ restrict_dependent_destroy:
8
+ has_one: Datensatz kann nicht gelöscht werden, da ein abhängiger %{record}-Datensatz
9
+ existiert.
10
+ has_many: Datensatz kann nicht gelöscht werden, da abhängige %{record} existieren.
11
+ date:
12
+ abbr_day_names:
13
+ - So
14
+ - Mo
15
+ - Di
16
+ - Mi
17
+ - Do
18
+ - Fr
19
+ - Sa
20
+ abbr_month_names:
21
+ -
22
+ - Jan
23
+ - Feb
24
+ - Mär
25
+ - Apr
26
+ - Mai
27
+ - Jun
28
+ - Jul
29
+ - Aug
30
+ - Sep
31
+ - Okt
32
+ - Nov
33
+ - Dez
34
+ day_names:
35
+ - Sonntag
36
+ - Montag
37
+ - Dienstag
38
+ - Mittwoch
39
+ - Donnerstag
40
+ - Freitag
41
+ - Samstag
42
+ formats:
43
+ default: "%d.%m.%Y"
44
+ long: "%e. %B %Y"
45
+ short: "%e. %b"
46
+ month_names:
47
+ -
48
+ - Januar
49
+ - Februar
50
+ - März
51
+ - April
52
+ - Mai
53
+ - Juni
54
+ - Juli
55
+ - August
56
+ - September
57
+ - Oktober
58
+ - November
59
+ - Dezember
60
+ order:
61
+ - :day
62
+ - :month
63
+ - :year
64
+ datetime:
65
+ distance_in_words:
66
+ about_x_hours:
67
+ one: etwa eine Stunde
68
+ other: etwa %{count} Stunden
69
+ about_x_months:
70
+ one: etwa ein Monat
71
+ other: etwa %{count} Monate
72
+ about_x_years:
73
+ one: etwa ein Jahr
74
+ other: etwa %{count} Jahre
75
+ almost_x_years:
76
+ one: fast ein Jahr
77
+ other: fast %{count} Jahre
78
+ half_a_minute: eine halbe Minute
79
+ less_than_x_seconds:
80
+ one: weniger als eine Sekunde
81
+ other: weniger als %{count} Sekunden
82
+ less_than_x_minutes:
83
+ one: weniger als eine Minute
84
+ other: weniger als %{count} Minuten
85
+ over_x_years:
86
+ one: mehr als ein Jahr
87
+ other: mehr als %{count} Jahre
88
+ x_seconds:
89
+ one: eine Sekunde
90
+ other: "%{count} Sekunden"
91
+ x_minutes:
92
+ one: eine Minute
93
+ other: "%{count} Minuten"
94
+ x_days:
95
+ one: ein Tag
96
+ other: "%{count} Tage"
97
+ x_months:
98
+ one: ein Monat
99
+ other: "%{count} Monate"
100
+ x_years:
101
+ one: ein Jahr
102
+ other: "%{count} Jahre"
103
+ prompts:
104
+ second: Sekunde
105
+ minute: Minute
106
+ hour: Stunde
107
+ day: Tag
108
+ month: Monat
109
+ year: Jahr
110
+ errors:
111
+ format: "%{attribute} %{message}"
112
+ messages:
113
+ accepted: muss akzeptiert werden
114
+ blank: muss ausgefüllt werden
115
+ confirmation: stimmt nicht mit %{attribute} überein
116
+ empty: muss ausgefüllt werden
117
+ equal_to: muss genau %{count} sein
118
+ even: muss gerade sein
119
+ exclusion: ist nicht verfügbar
120
+ greater_than: muss größer als %{count} sein
121
+ greater_than_or_equal_to: muss größer oder gleich %{count} sein
122
+ inclusion: ist kein gültiger Wert
123
+ invalid: ist nicht gültig
124
+ less_than: muss kleiner als %{count} sein
125
+ less_than_or_equal_to: muss kleiner oder gleich %{count} sein
126
+ model_invalid: 'Gültigkeitsprüfung ist fehlgeschlagen: %{errors}'
127
+ not_a_number: ist keine Zahl
128
+ not_an_integer: muss ganzzahlig sein
129
+ odd: muss ungerade sein
130
+ other_than: darf nicht gleich %{count} sein
131
+ present: darf nicht ausgefüllt werden
132
+ required: muss ausgefüllt werden
133
+ taken: ist bereits vergeben
134
+ too_long:
135
+ one: ist zu lang (mehr als 1 Zeichen)
136
+ other: ist zu lang (mehr als %{count} Zeichen)
137
+ too_short:
138
+ one: ist zu kurz (weniger als 1 Zeichen)
139
+ other: ist zu kurz (weniger als %{count} Zeichen)
140
+ wrong_length:
141
+ one: hat die falsche Länge (muss genau 1 Zeichen haben)
142
+ other: hat die falsche Länge (muss genau %{count} Zeichen haben)
143
+ template:
144
+ body: 'Bitte überprüfen Sie die folgenden Felder:'
145
+ header:
146
+ one: 'Konnte %{model} nicht speichern: ein Fehler.'
147
+ other: 'Konnte %{model} nicht speichern: %{count} Fehler.'
148
+ helpers:
149
+ select:
150
+ prompt: Bitte wählen
151
+ submit:
152
+ create: "%{model} erstellen"
153
+ submit: "%{model} speichern"
154
+ update: "%{model} aktualisieren"
155
+ number:
156
+ currency:
157
+ format:
158
+ delimiter: "."
159
+ format: "%n %u"
160
+ precision: 2
161
+ separator: ","
162
+ significant: false
163
+ strip_insignificant_zeros: false
164
+ unit: "€"
165
+ format:
166
+ delimiter: "."
167
+ precision: 2
168
+ separator: ","
169
+ significant: false
170
+ strip_insignificant_zeros: false
171
+ human:
172
+ decimal_units:
173
+ format: "%n %u"
174
+ units:
175
+ billion:
176
+ one: Milliarde
177
+ other: Milliarden
178
+ million:
179
+ one: Million
180
+ other: Millionen
181
+ quadrillion:
182
+ one: Billiarde
183
+ other: Billiarden
184
+ thousand: Tausend
185
+ trillion:
186
+ one: Billion
187
+ other: Billionen
188
+ unit: ''
189
+ format:
190
+ delimiter: ''
191
+ precision: 3
192
+ significant: true
193
+ strip_insignificant_zeros: true
194
+ storage_units:
195
+ format: "%n %u"
196
+ units:
197
+ byte:
198
+ one: Byte
199
+ other: Bytes
200
+ gb: GB
201
+ kb: KB
202
+ mb: MB
203
+ tb: TB
204
+ percentage:
205
+ format:
206
+ delimiter: ''
207
+ format: "%n %"
208
+ precision:
209
+ format:
210
+ delimiter: ''
211
+ support:
212
+ array:
213
+ last_word_connector: " und "
214
+ two_words_connector: " und "
215
+ words_connector: ", "
216
+ time:
217
+ am: vormittags
218
+ formats:
219
+ default: "%A, %d. %B %Y, %H:%M Uhr"
220
+ long: "%A, %d. %B %Y, %H:%M Uhr"
221
+ short: "%d. %B, %H:%M Uhr"
222
+ pm: nachmittags
223
+
@@ -0,0 +1,216 @@
1
+ ---
2
+ en:
3
+ activerecord:
4
+ errors:
5
+ messages:
6
+ record_invalid: 'Validation failed: %{errors}'
7
+ restrict_dependent_destroy:
8
+ has_one: Cannot delete record because a dependent %{record} exists
9
+ has_many: Cannot delete record because dependent %{record} exist
10
+ date:
11
+ abbr_day_names:
12
+ - Sun
13
+ - Mon
14
+ - Tue
15
+ - Wed
16
+ - Thu
17
+ - Fri
18
+ - Sat
19
+ abbr_month_names:
20
+ -
21
+ - Jan
22
+ - Feb
23
+ - Mar
24
+ - Apr
25
+ - May
26
+ - Jun
27
+ - Jul
28
+ - Aug
29
+ - Sep
30
+ - Oct
31
+ - Nov
32
+ - Dec
33
+ day_names:
34
+ - Sunday
35
+ - Monday
36
+ - Tuesday
37
+ - Wednesday
38
+ - Thursday
39
+ - Friday
40
+ - Saturday
41
+ formats:
42
+ default: "%Y-%m-%d"
43
+ long: "%B %d, %Y"
44
+ short: "%b %d"
45
+ month_names:
46
+ -
47
+ - January
48
+ - February
49
+ - March
50
+ - April
51
+ - May
52
+ - June
53
+ - July
54
+ - August
55
+ - September
56
+ - October
57
+ - November
58
+ - December
59
+ order:
60
+ - :year
61
+ - :month
62
+ - :day
63
+ datetime:
64
+ distance_in_words:
65
+ about_x_hours:
66
+ one: about 1 hour
67
+ other: about %{count} hours
68
+ about_x_months:
69
+ one: about 1 month
70
+ other: about %{count} months
71
+ about_x_years:
72
+ one: about 1 year
73
+ other: about %{count} years
74
+ almost_x_years:
75
+ one: almost 1 year
76
+ other: almost %{count} years
77
+ half_a_minute: half a minute
78
+ less_than_x_seconds:
79
+ one: less than 1 second
80
+ other: less than %{count} seconds
81
+ less_than_x_minutes:
82
+ one: less than a minute
83
+ other: less than %{count} minutes
84
+ over_x_years:
85
+ one: over 1 year
86
+ other: over %{count} years
87
+ x_seconds:
88
+ one: 1 second
89
+ other: "%{count} seconds"
90
+ x_minutes:
91
+ one: 1 minute
92
+ other: "%{count} minutes"
93
+ x_days:
94
+ one: 1 day
95
+ other: "%{count} days"
96
+ x_months:
97
+ one: 1 month
98
+ other: "%{count} months"
99
+ x_years:
100
+ one: 1 year
101
+ other: "%{count} years"
102
+ prompts:
103
+ second: Second
104
+ minute: Minute
105
+ hour: Hour
106
+ day: Day
107
+ month: Month
108
+ year: Year
109
+ errors:
110
+ format: "%{attribute} %{message}"
111
+ messages:
112
+ accepted: must be accepted
113
+ blank: can't be blank
114
+ confirmation: doesn't match %{attribute}
115
+ empty: can't be empty
116
+ equal_to: must be equal to %{count}
117
+ even: must be even
118
+ exclusion: is reserved
119
+ greater_than: must be greater than %{count}
120
+ greater_than_or_equal_to: must be greater than or equal to %{count}
121
+ inclusion: is not included in the list
122
+ invalid: is invalid
123
+ less_than: must be less than %{count}
124
+ less_than_or_equal_to: must be less than or equal to %{count}
125
+ model_invalid: 'Validation failed: %{errors}'
126
+ not_a_number: is not a number
127
+ not_an_integer: must be an integer
128
+ odd: must be odd
129
+ other_than: must be other than %{count}
130
+ present: must be blank
131
+ required: must exist
132
+ taken: has already been taken
133
+ too_long:
134
+ one: is too long (maximum is 1 character)
135
+ other: is too long (maximum is %{count} characters)
136
+ too_short:
137
+ one: is too short (minimum is 1 character)
138
+ other: is too short (minimum is %{count} characters)
139
+ wrong_length:
140
+ one: is the wrong length (should be 1 character)
141
+ other: is the wrong length (should be %{count} characters)
142
+ template:
143
+ body: 'There were problems with the following fields:'
144
+ header:
145
+ one: 1 error prohibited this %{model} from being saved
146
+ other: "%{count} errors prohibited this %{model} from being saved"
147
+ helpers:
148
+ select:
149
+ prompt: Please select
150
+ submit:
151
+ create: Create %{model}
152
+ submit: Save %{model}
153
+ update: Update %{model}
154
+ number:
155
+ currency:
156
+ format:
157
+ delimiter: ","
158
+ format: "%u%n"
159
+ precision: 2
160
+ separator: "."
161
+ significant: false
162
+ strip_insignificant_zeros: false
163
+ unit: "$"
164
+ format:
165
+ delimiter: ","
166
+ precision: 3
167
+ separator: "."
168
+ significant: false
169
+ strip_insignificant_zeros: false
170
+ human:
171
+ decimal_units:
172
+ format: "%n %u"
173
+ units:
174
+ billion: Billion
175
+ million: Million
176
+ quadrillion: Quadrillion
177
+ thousand: Thousand
178
+ trillion: Trillion
179
+ unit: ''
180
+ format:
181
+ delimiter: ''
182
+ precision: 3
183
+ significant: true
184
+ strip_insignificant_zeros: true
185
+ storage_units:
186
+ format: "%n %u"
187
+ units:
188
+ byte:
189
+ one: Byte
190
+ other: Bytes
191
+ eb: EB
192
+ gb: GB
193
+ kb: KB
194
+ mb: MB
195
+ pb: PB
196
+ tb: TB
197
+ percentage:
198
+ format:
199
+ delimiter: ''
200
+ format: "%n%"
201
+ precision:
202
+ format:
203
+ delimiter: ''
204
+ support:
205
+ array:
206
+ last_word_connector: ", and "
207
+ two_words_connector: " and "
208
+ words_connector: ", "
209
+ time:
210
+ am: am
211
+ formats:
212
+ default: "%a, %d %b %Y %H:%M:%S %z"
213
+ long: "%B %d, %Y %H:%M"
214
+ short: "%d %b %H:%M"
215
+ pm: pm
216
+