active_storage_validations 1.4.0 → 2.0.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +619 -213
- data/config/locales/da.yml +50 -30
- data/config/locales/de.yml +50 -30
- data/config/locales/en.yml +50 -30
- data/config/locales/es.yml +50 -30
- data/config/locales/fr.yml +50 -30
- data/config/locales/it.yml +50 -30
- data/config/locales/ja.yml +50 -30
- data/config/locales/nl.yml +50 -30
- data/config/locales/pl.yml +50 -30
- data/config/locales/pt-BR.yml +50 -30
- data/config/locales/ru.yml +50 -30
- data/config/locales/sv.yml +50 -30
- data/config/locales/tr.yml +50 -30
- data/config/locales/uk.yml +50 -30
- data/config/locales/vi.yml +50 -30
- data/config/locales/zh-CN.yml +50 -30
- data/lib/active_storage_validations/analyzer/audio_analyzer.rb +58 -0
- data/lib/active_storage_validations/analyzer/content_type_analyzer.rb +60 -0
- data/lib/active_storage_validations/analyzer/image_analyzer/image_magick.rb +4 -4
- data/lib/active_storage_validations/analyzer/image_analyzer/vips.rb +11 -12
- data/lib/active_storage_validations/analyzer/image_analyzer.rb +9 -53
- data/lib/active_storage_validations/analyzer/null_analyzer.rb +2 -2
- data/lib/active_storage_validations/analyzer/shared/asv_ff_probable.rb +61 -0
- data/lib/active_storage_validations/analyzer/video_analyzer.rb +130 -0
- data/lib/active_storage_validations/analyzer.rb +54 -1
- data/lib/active_storage_validations/aspect_ratio_validator.rb +15 -11
- data/lib/active_storage_validations/{base_size_validator.rb → base_comparison_validator.rb} +18 -16
- data/lib/active_storage_validations/content_type_validator.rb +56 -23
- data/lib/active_storage_validations/dimension_validator.rb +20 -19
- data/lib/active_storage_validations/duration_validator.rb +55 -0
- data/lib/active_storage_validations/extensors/asv_blob_metadatable.rb +49 -0
- data/lib/active_storage_validations/{marcel_extensor.rb → extensors/asv_marcelable.rb} +3 -0
- data/lib/active_storage_validations/limit_validator.rb +14 -2
- data/lib/active_storage_validations/matchers/aspect_ratio_validator_matcher.rb +1 -1
- data/lib/active_storage_validations/matchers/{base_size_validator_matcher.rb → base_comparison_validator_matcher.rb} +31 -25
- data/lib/active_storage_validations/matchers/content_type_validator_matcher.rb +7 -3
- data/lib/active_storage_validations/matchers/dimension_validator_matcher.rb +1 -1
- data/lib/active_storage_validations/matchers/duration_validator_matcher.rb +39 -0
- data/lib/active_storage_validations/matchers/{processable_image_validator_matcher.rb → processable_file_validator_matcher.rb} +5 -5
- data/lib/active_storage_validations/matchers/size_validator_matcher.rb +18 -2
- data/lib/active_storage_validations/matchers/total_size_validator_matcher.rb +18 -2
- data/lib/active_storage_validations/matchers.rb +5 -3
- data/lib/active_storage_validations/{processable_image_validator.rb → processable_file_validator.rb} +4 -3
- data/lib/active_storage_validations/railtie.rb +5 -0
- data/lib/active_storage_validations/shared/asv_analyzable.rb +38 -3
- data/lib/active_storage_validations/shared/asv_attachable.rb +36 -15
- data/lib/active_storage_validations/size_validator.rb +11 -3
- data/lib/active_storage_validations/total_size_validator.rb +9 -3
- data/lib/active_storage_validations/version.rb +1 -1
- data/lib/active_storage_validations.rb +7 -3
- metadata +14 -8
- data/lib/active_storage_validations/content_type_spoof_detector.rb +0 -96
data/config/locales/da.yml
CHANGED
@@ -1,33 +1,53 @@
|
|
1
1
|
da:
|
2
2
|
errors:
|
3
3
|
messages:
|
4
|
-
content_type_invalid:
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
4
|
+
content_type_invalid:
|
5
|
+
one: "har en ugyldig indholdstype (autoriseret indholdstype er %{authorized_human_content_types})"
|
6
|
+
other: "har en ugyldig indholdstype (autoriserede indholdstyper er %{authorized_human_content_types})"
|
7
|
+
content_type_spoofed:
|
8
|
+
one: "har en indholdstype, der ikke svarer til den, der registreres gennem dens indhold (autoriseret indholdstype er %{authorized_human_content_types})"
|
9
|
+
other: "har en indholdstype, der ikke svarer til den, der registreres gennem dens indhold (autoriserede indholdstyper er %{authorized_human_content_types})"
|
10
|
+
file_size_not_less_than: "filstørrelsen skal være mindre end %{max} (den nuværende størrelse er %{file_size})"
|
11
|
+
file_size_not_less_than_or_equal_to: "filstørrelsen skal være mindre end eller lig med %{max} (den nuværende størrelse er %{file_size})"
|
12
|
+
file_size_not_greater_than: "filstørrelsen skal være større end %{min} (den nuværende størrelse er %{file_size})"
|
13
|
+
file_size_not_greater_than_or_equal_to: "filstørrelsen skal være større end eller lig med %{min} (den nuværende størrelse er %{file_size})"
|
14
|
+
file_size_not_between: "filstørrelsen skal være mellem %{min} og %{max} (den nuværende størrelse er %{file_size})"
|
15
|
+
total_file_size_not_less_than: "den samlede filstørrelse skal være mindre end %{max} (aktuel størrelse er %{total_file_size})"
|
16
|
+
total_file_size_not_less_than_or_equal_to: "den samlede filstørrelse skal være mindre end eller lig med %{max} (aktuel størrelse er %{total_file_size})"
|
17
|
+
total_file_size_not_greater_than: "den samlede filstørrelse skal være større end %{min} (aktuel størrelse er %{total_file_size})"
|
18
|
+
total_file_size_not_greater_than_or_equal_to: "den samlede filstørrelse skal være større end eller lig med %{min} (aktuel størrelse er %{total_file_size})"
|
19
|
+
total_file_size_not_between: "den samlede filstørrelse skal være mellem %{min} og %{max} (aktuel størrelse er %{total_file_size})"
|
20
|
+
duration_not_less_than: "varighed skal være mindre end %{max} (nuværende varighed er %{duration})"
|
21
|
+
duration_not_less_than_or_equal_to: "varighed skal være mindre end eller lig med %{max} (nuværende varighed er %{duration})"
|
22
|
+
duration_not_greater_than: "varigheden skal være større end %{min} (den aktuelle varighed er %{duration})"
|
23
|
+
duration_not_greater_than_or_equal_to: "varigheden skal være større end eller lig med %{min} (den aktuelle varighed er %{duration})"
|
24
|
+
duration_not_between: "varighed skal være mellem %{min} og %{max} (den aktuelle varighed er %{duration})"
|
25
|
+
limit_out_of_range:
|
26
|
+
zero: "ingen filer vedhæftet (skal have mellem %{min} og %{max} filer)"
|
27
|
+
one: "kun 1 fil vedhæftet (skal have mellem %{min} og %{max} filer)"
|
28
|
+
other: "det samlede antal filer skal være mellem %{min} og %{max} filer (der er %{count} filer vedhæftet)"
|
29
|
+
limit_min_not_reached:
|
30
|
+
zero: "ingen filer vedhæftet (skal have mindst %{min} filer)"
|
31
|
+
one: "kun 1 fil vedhæftet (skal have mindst %{min} filer)"
|
32
|
+
other: "%{count} filer vedhæftet (skal have mindst %{min} filer)"
|
33
|
+
limit_max_exceeded:
|
34
|
+
zero: "ingen filer vedhæftet (maks. er %{max} filer)"
|
35
|
+
one: "for mange vedhæftede filer (maks. er %{max} filer, fik %{count})"
|
36
|
+
other: "for mange vedhæftede filer (maks. er %{max} filer, fik %{count})"
|
37
|
+
media_metadata_missing: "er ikke en gyldig mediefil"
|
38
|
+
dimension_min_not_included_in: "skal være større end eller lig med %{width} x %{height} pixel"
|
39
|
+
dimension_max_not_included_in: "skal være mindre end eller lig med %{width} x %{height} pixel"
|
40
|
+
dimension_width_not_included_in: "bredden er ikke inkluderet mellem %{min} og %{max} pixel"
|
41
|
+
dimension_height_not_included_in: "højden er ikke inkluderet mellem %{min} og %{max} pixel"
|
42
|
+
dimension_width_not_greater_than_or_equal_to: "bredden skal være større end eller lig med %{length} pixel"
|
43
|
+
dimension_height_not_greater_than_or_equal_to: "højden skal være større end eller lig med %{length} pixel"
|
44
|
+
dimension_width_not_less_than_or_equal_to: "bredden skal være mindre end eller lig med %{length} pixel"
|
45
|
+
dimension_height_not_less_than_or_equal_to: "højden skal være mindre end eller lig med %{length} pixel"
|
46
|
+
dimension_width_not_equal_to: "bredden skal være lig med %{length} pixel"
|
47
|
+
dimension_height_not_equal_to: "højden skal være lig med %{length} pixel"
|
48
|
+
aspect_ratio_not_square: "skal være firkantet (nuværende fil er %{width}x%{height}px)"
|
49
|
+
aspect_ratio_not_portrait: "skal være portræt (nuværende fil er %{width}x%{height}px)"
|
50
|
+
aspect_ratio_not_landscape: "skal være landskab (nuværende fil er %{width}x%{height}px)"
|
51
|
+
aspect_ratio_not_x_y: "skal være %{authorized_aspect_ratios} (nuværende fil er %{width}x%{height}px)"
|
52
|
+
aspect_ratio_invalid: "har et ugyldigt aspektforhold (gyldige aspektforhold er %{authorized_aspect_ratios})"
|
53
|
+
file_not_processable: "identificeres ikke som en gyldig mediefil"
|
data/config/locales/de.yml
CHANGED
@@ -1,33 +1,53 @@
|
|
1
1
|
de:
|
2
2
|
errors:
|
3
3
|
messages:
|
4
|
-
content_type_invalid:
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
4
|
+
content_type_invalid:
|
5
|
+
one: "hat einen ungültigen Inhaltstyp (autorisierter Inhaltstyp ist %{authorized_human_content_types})"
|
6
|
+
other: "hat einen ungültigen Inhaltstyp (autorisierte Inhaltstypen sind %{authorized_human_content_types})"
|
7
|
+
content_type_spoofed:
|
8
|
+
one: "hat einen Inhaltstyp, der nicht dem entspricht, der durch seinen Inhalt erkannt wird (autorisierter Inhaltstyp ist %{authorized_human_content_types})"
|
9
|
+
other: "hat einen Inhaltstyp, der nicht dem entspricht, der durch seinen Inhalt erkannt wird (autorisierte Inhaltstypen sind %{authorized_human_content_types})"
|
10
|
+
file_size_not_less_than: "Dateigröße muss kleiner als %{max} sein (aktuelle Dateigröße ist %{file_size})"
|
11
|
+
file_size_not_less_than_or_equal_to: "Dateigröße muss kleiner oder gleich %{max} sein (aktuelle Dateigröße ist %{file_size})"
|
12
|
+
file_size_not_greater_than: "Dateigröße muss größer als %{min} sein (aktuelle Dateigröße ist %{file_size})"
|
13
|
+
file_size_not_greater_than_or_equal_to: "Dateigröße muss größer oder gleich %{min} sein (aktuelle Dateigröße ist %{file_size})"
|
14
|
+
file_size_not_between: "Dateigröße muss zwischen %{min} und %{max} liegen (aktuelle Dateigröße ist %{file_size})"
|
15
|
+
total_file_size_not_less_than: "Die gesamte Dateigröße muss kleiner als %{max} sein (aktuelle Dateigröße ist %{total_file_size})"
|
16
|
+
total_file_size_not_less_than_or_equal_to: "Die gesamte Dateigröße muss kleiner oder gleich %{max} sein (aktuelle Dateigröße ist %{total_file_size})"
|
17
|
+
total_file_size_not_greater_than: "Die gesamte Dateigröße muss größer als %{min} sein (aktuelle Dateigröße ist %{total_file_size})"
|
18
|
+
total_file_size_not_greater_than_or_equal_to: "Die gesamte Dateigröße muss größer oder gleich %{min} sein (aktuelle Dateigröße ist %{total_file_size})"
|
19
|
+
total_file_size_not_between: "Die gesamte Dateigröße muss zwischen %{min} und %{max} liegen (aktuelle Dateigröße ist %{total_file_size})"
|
20
|
+
duration_not_less_than: "Die Dauer muss kleiner als %{max} sein (die aktuelle Dauer beträgt %{duration})"
|
21
|
+
duration_not_less_than_or_equal_to: "Die Dauer muss kleiner oder gleich %{max} sein (die aktuelle Dauer beträgt %{duration})"
|
22
|
+
duration_not_greater_than: "Die Dauer muss größer als %{min} sein (die aktuelle Dauer beträgt %{duration})"
|
23
|
+
duration_not_greater_than_or_equal_to: "Die Dauer muss größer oder gleich %{min} sein (die aktuelle Dauer beträgt %{duration})"
|
24
|
+
duration_not_between: "Die Dauer muss zwischen %{min} und %{max} liegen (die aktuelle Dauer beträgt %{duration})"
|
25
|
+
limit_out_of_range:
|
26
|
+
zero: "Keine Dateien angehängt (müssen zwischen %{min} und %{max} Dateien haben)"
|
27
|
+
one: "Nur 1 Datei ist angehängt (müssen zwischen %{min} und %{max} Dateien haben)"
|
28
|
+
other: "Die Gesamtzahl der Dateien muss zwischen %{min} und %{max} liegen (es sind Dateien mit %{count} angehängt)."
|
29
|
+
limit_min_not_reached:
|
30
|
+
zero: "Keine Dateien angehängt (müssen mindestens %{min} Dateien haben)"
|
31
|
+
one: "Nur 1 Datei ist angehängt (müssen mindestens %{min} Dateien haben)"
|
32
|
+
other: "%{count} Dateien angehängt (müssen mindestens %{min} Dateien haben)"
|
33
|
+
limit_max_exceeded:
|
34
|
+
zero: "Keine Dateien angehängt (maximal %{max} Dateien)"
|
35
|
+
one: "zu viele angehängte Dateien (maximal %{max} Dateien, %{count})"
|
36
|
+
other: "Zu viele angehängte Dateien (maximal %{max} Dateien, %{count})"
|
37
|
+
media_metadata_missing: "ist keine gültige Mediendatei"
|
38
|
+
dimension_min_not_included_in: "muss größer oder gleich %{width} x %{height} Pixel sein"
|
39
|
+
dimension_max_not_included_in: "muss kleiner oder gleich %{width} x %{height} Pixel sein"
|
40
|
+
dimension_width_not_included_in: "Bildbreite muss zwischen %{min} und %{max} Pixel liegen"
|
41
|
+
dimension_height_not_included_in: "Bildhöhe muss zwischen %{min} und %{max} Pixel liegen"
|
42
|
+
dimension_width_not_greater_than_or_equal_to: "Bildbreite muss größer oder gleich %{length} Pixel sein"
|
43
|
+
dimension_height_not_greater_than_or_equal_to: "Bildhöhe muss größer oder gleich %{length} Pixel sein"
|
44
|
+
dimension_width_not_less_than_or_equal_to: "Breite muss kleiner oder gleich %{length} Pixel sein"
|
45
|
+
dimension_height_not_less_than_or_equal_to: "Höhe muss kleiner oder gleich %{length} Pixel sein"
|
46
|
+
dimension_width_not_equal_to: "Bildbreite muss genau %{length} Pixel sein"
|
47
|
+
dimension_height_not_equal_to: "Bildhöhe muss genau %{length} Pixel sein"
|
48
|
+
aspect_ratio_not_square: "muss quadratisch sein (aktuelle Datei ist %{width}x%{height}px)"
|
49
|
+
aspect_ratio_not_portrait: "muss Porträt sein (aktuelle Datei ist %{width}x%{height}px)"
|
50
|
+
aspect_ratio_not_landscape: "muss landschaftlich sein (aktuelle Datei ist %{width}x%{height}px)"
|
51
|
+
aspect_ratio_not_x_y: "muss %{authorized_aspect_ratios} sein (aktuelle Datei ist %{width}x%{height}px)"
|
52
|
+
aspect_ratio_invalid: "hat ein ungültiges Seitenverhältnis (gültige Seitenverhältnisse sind %{authorized_aspect_ratios})"
|
53
|
+
file_not_processable: "wird nicht als gültige Mediendatei identifiziert"
|
data/config/locales/en.yml
CHANGED
@@ -1,33 +1,53 @@
|
|
1
1
|
en:
|
2
2
|
errors:
|
3
3
|
messages:
|
4
|
-
content_type_invalid:
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
4
|
+
content_type_invalid:
|
5
|
+
one: "has an invalid content type (authorized content type is %{authorized_human_content_types})"
|
6
|
+
other: "has an invalid content type (authorized content types are %{authorized_human_content_types})"
|
7
|
+
content_type_spoofed:
|
8
|
+
one: "has a content type that is not equivalent to the one that is detected through its content (authorized content type is %{authorized_human_content_types})"
|
9
|
+
other: "has a content type that is not equivalent to the one that is detected through its content (authorized content types are %{authorized_human_content_types})"
|
10
|
+
file_size_not_less_than: "file size must be less than %{max} (current size is %{file_size})"
|
11
|
+
file_size_not_less_than_or_equal_to: "file size must be less than or equal to %{max} (current size is %{file_size})"
|
12
|
+
file_size_not_greater_than: "file size must be greater than %{min} (current size is %{file_size})"
|
13
|
+
file_size_not_greater_than_or_equal_to: "file size must be greater than or equal to %{min} (current size is %{file_size})"
|
14
|
+
file_size_not_between: "file size must be between %{min} and %{max} (current size is %{file_size})"
|
15
|
+
total_file_size_not_less_than: "total file size must be less than %{max} (current size is %{total_file_size})"
|
16
|
+
total_file_size_not_less_than_or_equal_to: "total file size must be less than or equal to %{max} (current size is %{total_file_size})"
|
17
|
+
total_file_size_not_greater_than: "total file size must be greater than %{min} (current size is %{total_file_size})"
|
18
|
+
total_file_size_not_greater_than_or_equal_to: "total file size must be greater than or equal to %{min} (current size is %{total_file_size})"
|
19
|
+
total_file_size_not_between: "total file size must be between %{min} and %{max} (current size is %{total_file_size})"
|
20
|
+
duration_not_less_than: "duration must be less than %{max} (current duration is %{duration})"
|
21
|
+
duration_not_less_than_or_equal_to: "duration must be less than or equal to %{max} (current duration is %{duration})"
|
22
|
+
duration_not_greater_than: "duration must be greater than %{min} (current duration is %{duration})"
|
23
|
+
duration_not_greater_than_or_equal_to: "duration must be greater than or equal to %{min} (current duration is %{duration})"
|
24
|
+
duration_not_between: "duration must be between %{min} and %{max} (current duration is %{duration})"
|
25
|
+
limit_out_of_range:
|
26
|
+
zero: "no files attached (must have between %{min} and %{max} files)"
|
27
|
+
one: "only 1 file attached (must have between %{min} and %{max} files)"
|
28
|
+
other: "total number of files must be between %{min} and %{max} files (there are %{count} files attached)"
|
29
|
+
limit_min_not_reached:
|
30
|
+
zero: "no files attached (must have at least %{min} files)"
|
31
|
+
one: "only 1 file attached (must have at least %{min} files)"
|
32
|
+
other: "%{count} files attached (must have at least %{min} files)"
|
33
|
+
limit_max_exceeded:
|
34
|
+
zero: "no files attached (maximum is %{max} files)"
|
35
|
+
one: "too many files attached (maximum is %{max} files, got %{count})"
|
36
|
+
other: "too many files attached (maximum is %{max} files, got %{count})"
|
37
|
+
media_metadata_missing: "is not a valid media file"
|
38
|
+
dimension_min_not_included_in: "must be greater than or equal to %{width} x %{height} pixel"
|
39
|
+
dimension_max_not_included_in: "must be less than or equal to %{width} x %{height} pixel"
|
40
|
+
dimension_width_not_included_in: "width is not included between %{min} and %{max} pixel"
|
41
|
+
dimension_height_not_included_in: "height is not included between %{min} and %{max} pixel"
|
42
|
+
dimension_width_not_greater_than_or_equal_to: "width must be greater than or equal to %{length} pixel"
|
43
|
+
dimension_height_not_greater_than_or_equal_to: "height must be greater than or equal to %{length} pixel"
|
44
|
+
dimension_width_not_less_than_or_equal_to: "width must be less than or equal to %{length} pixel"
|
45
|
+
dimension_height_not_less_than_or_equal_to: "height must be less than or equal to %{length} pixel"
|
46
|
+
dimension_width_not_equal_to: "width must be equal to %{length} pixel"
|
47
|
+
dimension_height_not_equal_to: "height must be equal to %{length} pixel"
|
48
|
+
aspect_ratio_not_square: "must be square (current file is %{width}x%{height}px)"
|
49
|
+
aspect_ratio_not_portrait: "must be portrait (current file is %{width}x%{height}px)"
|
50
|
+
aspect_ratio_not_landscape: "must be landscape (current file is %{width}x%{height}px)"
|
51
|
+
aspect_ratio_not_x_y: "must be %{authorized_aspect_ratios} (current file is %{width}x%{height}px)"
|
52
|
+
aspect_ratio_invalid: "has an invalid aspect ratio (valid aspect ratios are %{authorized_aspect_ratios})"
|
53
|
+
file_not_processable: "is not identified as a valid media file"
|
data/config/locales/es.yml
CHANGED
@@ -1,33 +1,53 @@
|
|
1
1
|
es:
|
2
2
|
errors:
|
3
3
|
messages:
|
4
|
-
content_type_invalid:
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
4
|
+
content_type_invalid:
|
5
|
+
one: "tiene un tipo de contenido no válido (el tipo de contenido autorizado es %{authorized_human_content_types})"
|
6
|
+
other: "tiene un tipo de contenido no válido (los tipos de contenido autorizados son %{authorized_human_content_types})"
|
7
|
+
content_type_spoofed:
|
8
|
+
one: "tiene un tipo de contenido que no es equivalente al que se detecta a través de su contenido (el tipo de contenido autorizado es %{authorized_human_content_types})"
|
9
|
+
other: "tiene un tipo de contenido que no es equivalente al que se detecta a través de su contenido (los tipos de contenido autorizados son %{authorized_human_content_types})"
|
10
|
+
file_size_not_less_than: "el tamaño del archivo debe ser inferior a %{max} (el tamaño actual es %{file_size})"
|
11
|
+
file_size_not_less_than_or_equal_to: "el tamaño del archivo debe ser menor o igual a %{max} (el tamaño actual es %{file_size})"
|
12
|
+
file_size_not_greater_than: "el tamaño del archivo debe ser mayor que %{min} (el tamaño actual es %{file_size})"
|
13
|
+
file_size_not_greater_than_or_equal_to: "el tamaño del archivo debe ser mayor o igual a %{min} (el tamaño actual es %{file_size})"
|
14
|
+
file_size_not_between: "el tamaño del archivo debe estar entre %{min} y %{max} (el tamaño actual es %{file_size})"
|
15
|
+
total_file_size_not_less_than: "el tamaño total del archivo debe ser inferior a %{max} (el tamaño actual es %{total_file_size})"
|
16
|
+
total_file_size_not_less_than_or_equal_to: "el tamaño total del archivo debe ser menor o igual a %{max} (el tamaño actual es %{total_file_size})"
|
17
|
+
total_file_size_not_greater_than: "el tamaño total del archivo debe ser mayor que %{min} (el tamaño actual es %{total_file_size})"
|
18
|
+
total_file_size_not_greater_than_or_equal_to: "el tamaño total del archivo debe ser mayor o igual a %{min} (el tamaño actual es %{total_file_size})"
|
19
|
+
total_file_size_not_between: "el tamaño total del archivo debe estar entre %{min} y %{max} (el tamaño actual es %{total_file_size})"
|
20
|
+
duration_not_less_than: "la duración debe ser inferior a %{max} (la duración actual es %{duration})"
|
21
|
+
duration_not_less_than_or_equal_to: "la duración debe ser menor o igual a %{max} (la duración actual es %{duration})"
|
22
|
+
duration_not_greater_than: "la duración debe ser mayor que %{min} (la duración actual es %{duration})"
|
23
|
+
duration_not_greater_than_or_equal_to: "la duración debe ser mayor o igual a %{min} (la duración actual es %{duration})"
|
24
|
+
duration_not_between: "la duración debe estar entre %{min} y %{max} (la duración actual es %{duration})"
|
25
|
+
limit_out_of_range:
|
26
|
+
zero: "no hay archivos adjuntos (debe tener entre %{min} y %{max} archivos)"
|
27
|
+
one: "solo 1 archivo adjunto (debe tener entre %{min} y %{max} archivos)"
|
28
|
+
other: "el número total de archivos debe estar entre %{min} y %{max} archivos (hay %{count} archivos adjuntos)"
|
29
|
+
limit_min_not_reached:
|
30
|
+
zero: "no hay archivos adjuntos (debe tener al menos %{min} archivos)"
|
31
|
+
one: "solo 1 archivo adjunto (debe tener al menos %{min} archivos)"
|
32
|
+
other: "%{count} archivos adjuntos (debe tener al menos %{min} archivos)"
|
33
|
+
limit_max_exceeded:
|
34
|
+
zero: "no hay archivos adjuntos (máximo es %{max} archivos)"
|
35
|
+
one: "demasiados archivos adjuntos (máximo es %{max} archivos, got %{count})"
|
36
|
+
other: "demasiados archivos adjuntos (máximo es %{max} archivos, got %{count})"
|
37
|
+
media_metadata_missing: "no es un archivo multimedia válido"
|
38
|
+
dimension_min_not_included_in: "debe ser mayor o igual a %{width} x %{height} pixel"
|
39
|
+
dimension_max_not_included_in: "debe ser menor o igual a %{width} x %{height} pixel"
|
40
|
+
dimension_width_not_included_in: "el ancho no se incluye entre %{min} y %{max} pixel"
|
41
|
+
dimension_height_not_included_in: "la altura no se incluye entre %{min} y %{max} pixel"
|
42
|
+
dimension_width_not_greater_than_or_equal_to: "el ancho debe ser mayor o igual a %{length} pixel"
|
43
|
+
dimension_height_not_greater_than_or_equal_to: "la altura debe ser mayor o igual a %{length} pixel"
|
44
|
+
dimension_width_not_less_than_or_equal_to: "el ancho debe ser menor o igual a %{length} pixel"
|
45
|
+
dimension_height_not_less_than_or_equal_to: "la altura debe ser menor o igual a %{length} pixel"
|
46
|
+
dimension_width_not_equal_to: "el ancho debe ser igual a %{length} pixel"
|
47
|
+
dimension_height_not_equal_to: "la altura debe ser igual a %{length} pixel"
|
48
|
+
aspect_ratio_not_square: "debe ser cuadrado (el archivo actual es %{width}x%{height}px)"
|
49
|
+
aspect_ratio_not_portrait: "debe ser retrato (el archivo actual es %{width}x%{height}px)"
|
50
|
+
aspect_ratio_not_landscape: "debe ser paisaje (el archivo actual es %{width}x%{height}px)"
|
51
|
+
aspect_ratio_not_x_y: "debe ser %{authorized_aspect_ratios} (el archivo actual es %{width}x%{height}px)"
|
52
|
+
aspect_ratio_invalid: "tiene una relación de aspecto inválida (las relaciones de aspecto válidas son %{authorized_aspect_ratios})"
|
53
|
+
file_not_processable: "no se identifica como un archivo multimedia válido"
|
data/config/locales/fr.yml
CHANGED
@@ -1,33 +1,53 @@
|
|
1
1
|
fr:
|
2
2
|
errors:
|
3
3
|
messages:
|
4
|
-
content_type_invalid:
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
4
|
+
content_type_invalid:
|
5
|
+
one: "a un type de contenu invalide (le type de contenu autorisé est %{authorized_human_content_types})"
|
6
|
+
other: "a un type de contenu invalide (les types de contenu autorisés sont %{authorized_human_content_types})"
|
7
|
+
content_type_spoofed:
|
8
|
+
one: "a un type de contenu qui n'est pas équivalent à celui qui est détecté par son contenu (le type de contenu autorisé est %{authorized_human_content_types})"
|
9
|
+
other: "a un type de contenu qui n'est pas équivalent à celui qui est détecté par son contenu (les types de contenu autorisés sont %{authorized_human_content_types})"
|
10
|
+
file_size_not_less_than: "la taille du fichier doit être inférieure à %{max} (la taille actuelle est %{file_size})"
|
11
|
+
file_size_not_less_than_or_equal_to: "la taille du fichier doit être inférieure ou égale à %{max} (la taille actuelle est %{file_size})"
|
12
|
+
file_size_not_greater_than: "la taille du fichier doit être supérieure à %{min} (la taille actuelle est %{file_size})"
|
13
|
+
file_size_not_greater_than_or_equal_to: "la taille du fichier doit être supérieure ou égale à %{min} (la taille actuelle est %{file_size})"
|
14
|
+
file_size_not_between: "la taille du fichier doit être comprise entre %{min} et %{max} (la taille actuelle est %{file_size})"
|
15
|
+
total_file_size_not_less_than: "la taille totale des fichiers doit être inférieure à %{max} (la taille actuelle est %{total_file_size})"
|
16
|
+
total_file_size_not_less_than_or_equal_to: "la taille totale des fichiers doit être inférieure ou égale à %{max} (la taille actuelle est %{total_file_size})"
|
17
|
+
total_file_size_not_greater_than: "la taille totale des fichiers doit être supérieure à %{min} (la taille actuelle est %{total_file_size})"
|
18
|
+
total_file_size_not_greater_than_or_equal_to: "la taille totale des fichiers doit être supérieure ou égale à %{min} (la taille actuelle est %{total_file_size})"
|
19
|
+
total_file_size_not_between: "la taille totale des fichiers doit être comprise entre %{min} et %{max} (la taille actuelle est %{total_file_size})"
|
20
|
+
duration_not_less_than: "la durée doit être inférieure à %{max} (la durée actuelle est %{duration})"
|
21
|
+
duration_not_less_than_or_equal_to: "la durée doit être inférieure ou égale à %{max} (la durée actuelle est %{duration})"
|
22
|
+
duration_not_greater_than: "la durée doit être supérieure à %{min} (la durée actuelle est %{duration})"
|
23
|
+
duration_not_greater_than_or_equal_to: "la durée doit être supérieure ou égale à %{min} (la durée actuelle est %{duration})"
|
24
|
+
duration_not_between: "la durée doit être comprise entre %{min} et %{max} (la durée actuelle est %{duration})"
|
25
|
+
limit_out_of_range:
|
26
|
+
zero: "pas de fichiers joints (doit avoir entre %{min} et %{max} fichiers)"
|
27
|
+
one: "seulement 1 fichier joint (doit avoir entre %{min} et %{max} fichiers)"
|
28
|
+
other: "le nombre total de fichiers doit être compris entre %{min} et %{max} fichiers (il y a %{count} fichiers attachés)"
|
29
|
+
limit_min_not_reached:
|
30
|
+
zero: "pas de fichiers joints (doit avoir au moins %{min} fichiers)"
|
31
|
+
one: "seulement 1 fichier joint (doit avoir au moins %{min} fichiers)"
|
32
|
+
other: "%{count} fichiers attachés (doit avoir au moins %{min} fichiers)"
|
33
|
+
limit_max_exceeded:
|
34
|
+
zero: "pas de fichiers joints (le maximum autorisé est %{max} fichiers)"
|
35
|
+
one: "trop de fichiers joints (le maximum autorisé est %{max} fichiers, obtenu %{count})"
|
36
|
+
other: "trop de fichiers joints (le maximum autorisé est %{max} fichiers, obtenu %{count})"
|
37
|
+
media_metadata_missing: "n'est pas un fichier média valide"
|
38
|
+
dimension_min_not_included_in: "doit être supérieur ou égal à %{width} x %{height} pixels"
|
39
|
+
dimension_max_not_included_in: "doit être inférieur ou égal à %{width} x %{height} pixels"
|
40
|
+
dimension_width_not_included_in: "la largeur n'est pas comprise entre %{min} et %{max} pixels"
|
41
|
+
dimension_height_not_included_in: "la hauteur n'est pas comprise entre %{min} et %{max} pixels"
|
42
|
+
dimension_width_not_greater_than_or_equal_to: "la largeur doit être supérieure ou égale à %{length} pixels"
|
43
|
+
dimension_height_not_greater_than_or_equal_to: "la hauteur doit être supérieure ou égale à %{length} pixels"
|
44
|
+
dimension_width_not_less_than_or_equal_to: "la largeur doit être inférieure ou égale à %{length} pixels"
|
45
|
+
dimension_height_not_less_than_or_equal_to: "la hauteur doit être inférieure ou égale à %{length} pixels"
|
46
|
+
dimension_width_not_equal_to: "la largeur doit être égale à %{length} pixels"
|
47
|
+
dimension_height_not_equal_to: "la hauteur doit être égale à %{length} pixels"
|
48
|
+
aspect_ratio_not_square: "doit être carré (le fichier actuel est %{width}x%{height}px)"
|
49
|
+
aspect_ratio_not_portrait: "doit être portrait (le fichier actuel est %{width}x%{height}px)"
|
50
|
+
aspect_ratio_not_landscape: "doit être paysage (le fichier actuel est %{width}x%{height}px)"
|
51
|
+
aspect_ratio_not_x_y: "doit être %{authorized_aspect_ratios} (le fichier actuel est %{width}x%{height}px)"
|
52
|
+
aspect_ratio_invalid: "a un rapport d'aspect invalide (les rapports d'aspect valides sont %{authorized_aspect_ratios})"
|
53
|
+
file_not_processable: "n'est pas identifié comme un fichier média valide"
|
data/config/locales/it.yml
CHANGED
@@ -1,33 +1,53 @@
|
|
1
1
|
it:
|
2
2
|
errors:
|
3
3
|
messages:
|
4
|
-
content_type_invalid:
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
4
|
+
content_type_invalid:
|
5
|
+
one: "ha un tipo di contenuto non valido (il tipo di contenuto autorizzato è %{authorized_human_content_types})"
|
6
|
+
other: "ha un tipo di contenuto non valido (i tipi di contenuto autorizzati sono %{authorized_human_content_types})"
|
7
|
+
content_type_spoofed:
|
8
|
+
one: "ha un tipo di contenuto non equivalente a quello rilevato attraverso il suo contenuto (il tipo di contenuto autorizzato è %{authorized_human_content_types})"
|
9
|
+
other: "ha un tipo di contenuto non equivalente a quello rilevato attraverso il suo contenuto (i tipi di contenuto autorizzati sono %{authorized_human_content_types})"
|
10
|
+
file_size_not_less_than: "la dimensione del file deve essere inferiore a %{max} (la dimensione attuale è %{file_size})"
|
11
|
+
file_size_not_less_than_or_equal_to: "la dimensione del file deve essere minore o uguale a %{max} (la dimensione attuale è %{file_size})"
|
12
|
+
file_size_not_greater_than: "la dimensione del file deve essere maggiore di %{min} (la dimensione attuale è %{file_size})"
|
13
|
+
file_size_not_greater_than_or_equal_to: "la dimensione del file deve essere maggiore o uguale a %{min} (la dimensione attuale è %{file_size})"
|
14
|
+
file_size_not_between: "la dimensione del file deve essere compresa tra %{min} e %{max} (la dimensione attuale è %{file_size})"
|
15
|
+
total_file_size_not_less_than: "la dimensione totale dei file deve essere inferiore a %{max} (la dimensione attuale è %{total_file_size})"
|
16
|
+
total_file_size_not_less_than_or_equal_to: "la dimensione totale dei file deve essere minore o uguale a %{max} (la dimensione attuale è %{total_file_size})"
|
17
|
+
total_file_size_not_greater_than: "la dimensione totale dei file deve essere maggiore di %{min} (la dimensione attuale è %{total_file_size})"
|
18
|
+
total_file_size_not_greater_than_or_equal_to: "la dimensione totale dei file deve essere maggiore o uguale a %{min} (la dimensione attuale è %{total_file_size})"
|
19
|
+
total_file_size_not_between: "la dimensione totale dei file deve essere compresa tra %{min} e %{max} (la dimensione attuale è %{total_file_size})"
|
20
|
+
duration_not_less_than: "la durata deve essere inferiore a %{max} (la durata corrente è %{duration})"
|
21
|
+
duration_not_less_than_or_equal_to: "la durata deve essere inferiore o uguale a %{max} (la durata corrente è %{duration})"
|
22
|
+
duration_not_greader_than: "la durata deve essere superiore a %{min} (la durata corrente è %{duration})"
|
23
|
+
duration_not_greater_than_or_equal_to: "la durata deve essere maggiore o uguale a %{min} (la durata corrente è %{duration})"
|
24
|
+
duration_not_between: "la durata deve essere compresa tra %{min} e %{max} (la durata corrente è %{duration})"
|
25
|
+
limit_out_of_range:
|
26
|
+
zero: "nessun file allegato (deve avere tra %{min} e %{max} file)"
|
27
|
+
one: "solo 1 file allegato (deve avere tra %{min} e %{max} file)"
|
28
|
+
other: "il numero totale di file deve essere compreso tra %{min} e %{max} file (ci sono %{count} file allegati)"
|
29
|
+
limit_min_not_reached:
|
30
|
+
zero: "nessun file allegato (deve avere almeno %{min} file)"
|
31
|
+
one: "solo 1 file allegato (deve avere almeno %{min} file)"
|
32
|
+
other: "%{count} file allegati (deve avere almeno %{min} file)"
|
33
|
+
limit_max_exceeded:
|
34
|
+
zero: "nessun file allegato (massimo è %{max} file)"
|
35
|
+
one: "troppi file allegati (massimo è %{max} file, ottenuto %{count})"
|
36
|
+
other: "troppi file allegati (massimo è %{max} file, ottenuto %{count})"
|
37
|
+
media_metadata_missing: "non è un file multimediale valido"
|
38
|
+
dimension_min_not_included_in: "deve essere maggiore o uguale a %{width} x %{height} pixel"
|
39
|
+
dimension_max_not_included_in: "deve essere minore o uguale a %{width} x %{height} pixel"
|
40
|
+
dimension_width_not_included_in: "la larghezza deve essere compresa tra %{min} e %{max} pixel"
|
41
|
+
dimension_height_not_included_in: "l’altezza deve essere compresa tra %{min} e %{max} pixel"
|
42
|
+
dimension_width_not_greater_than_or_equal_to: "la larghezza deve essere maggiore o uguale a %{length} pixel"
|
43
|
+
dimension_height_not_greater_than_or_equal_to: "l’altezza deve essere maggiore o uguale a %{length} pixel"
|
44
|
+
dimension_width_not_less_than_or_equal_to: "la larghezza deve essere minore o uguale a %{length} pixel"
|
45
|
+
dimension_height_not_less_than_or_equal_to: "l’altezza deve essere minore o uguale a %{length} pixel"
|
46
|
+
dimension_width_not_equal_to: "la larghezza deve essere pari a %{length} pixel"
|
47
|
+
dimension_height_not_equal_to: "l’altezza deve essere pari a %{length} pixel"
|
48
|
+
aspect_ratio_not_square: "deve essere quadrato (il file corrente è %{width}x%{height}px)"
|
49
|
+
aspect_ratio_not_portrait: "deve essere ritratto (il file corrente è %{width}x%{height}px)"
|
50
|
+
aspect_ratio_not_landscape: "deve essere orizzontale (il file corrente è %{width}x%{height}px)"
|
51
|
+
aspect_ratio_not_x_y: "deve essere %{authorized_aspect_ratios} (il file corrente è %{width}x%{height}px)"
|
52
|
+
aspect_ratio_invalid: "ha un formato non valido (i rapporti di aspetto validi sono %{authorized_aspect_ratios})"
|
53
|
+
file_not_processable: "non è identificato come file multimediale valido"
|