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/ja.yml
CHANGED
@@ -1,33 +1,53 @@
|
|
1
1
|
ja:
|
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: "無効なコンテンツタイプがあります(許可されたコンテンツタイプは%{authorized_human_content_types}です)"
|
6
|
+
other: "無効なコンテンツタイプがあります(許可されたコンテンツタイプは%{authorized_human_content_types}です)"
|
7
|
+
content_type_spoofed:
|
8
|
+
one: "コンテンツを通じて検出されたものと同等ではないコンテンツタイプがあります(許可されたコンテンツタイプは%{authorized_human_content_types}です)"
|
9
|
+
other: "コンテンツを通じて検出されたものと同等ではないコンテンツタイプがあります(承認されたコンテンツタイプは%{authorized_human_content_types}です)"
|
10
|
+
file_size_not_less_than: "ファイル サイズは %{max} 未満にする必要があります (現在のサイズは %{file_size})"
|
11
|
+
file_size_not_less_than_or_equal_to: "ファイル サイズは %{max} 以下である必要があります (現在のサイズは %{file_size})"
|
12
|
+
file_size_not_greater_than: "ファイル サイズは %{min} より大きい必要があります (現在のサイズは %{file_size} です)"
|
13
|
+
file_size_not_greater_than_or_equal_to: "ファイル サイズは %{min} 以上である必要があります (現在のサイズは %{file_size})"
|
14
|
+
file_size_not_between: "ファイル サイズは %{min} から %{max} の間でなければなりません (現在のサイズは %{file_size} です)"
|
15
|
+
total_file_size_not_less_than: "ファイルの合計サイズは %{max} 未満である必要があります (現在のサイズは %{total_file_size})"
|
16
|
+
total_file_size_not_less_than_or_equal_to: "ファイルの合計サイズは %{max} 以下である必要があります (現在のサイズは %{total_file_size})"
|
17
|
+
total_file_size_not_greater_than: "ファイルの合計サイズは %{min} より大きくなければなりません (現在のサイズは %{total_file_size} です)"
|
18
|
+
total_file_size_not_greater_than_or_equal_to: "ファイルの合計サイズは %{min} 以上である必要があります (現在のサイズは %{total_file_size})"
|
19
|
+
total_file_size_not_between: "ファイルの合計サイズは %{min} から %{max} までである必要があります (現在のサイズは %{total_file_size})"
|
20
|
+
duration_not_less_than: "期間は%{max}未満である必要があります(現在の期間は%{duration})"
|
21
|
+
duration_not_less_than_or_equal_to: "期間は%{max}以下でなければなりません(現在の期間は%{duration})"
|
22
|
+
duration_not_greater_than: "期間は%{min}より大きくなければなりません(現在の期間は%{duration}です)"
|
23
|
+
duration_not_greater_than_or_equal_to: "期間は%{min}以上である必要があります(現在の期間は%{duration})"
|
24
|
+
duration_not_between: "期間は%{min}と%{max}の間でなければなりません(現在の期間は%{duration})"
|
25
|
+
limit_out_of_range:
|
26
|
+
zero: "添付されたファイルはありません(%{min}と%{max}ファイルの間にある必要があります)"
|
27
|
+
one: "1つのファイルのみが添付されています(%{min}と%{max}ファイルの間にある必要があります)"
|
28
|
+
other: "ファイルの総数は、%{min}と%{max}ファイルの間でなければなりません(%{count}ファイルが添付されています)"
|
29
|
+
limit_min_not_reached:
|
30
|
+
zero: "添付されたファイルはありません(少なくとも%{min}ファイルが必要です)"
|
31
|
+
one: "1つのファイルのみが添付されています(少なくとも%{min}ファイルが必要です)"
|
32
|
+
other: "%{count}添付ファイル(少なくとも%{min}ファイルが必要です)"
|
33
|
+
limit_max_exceeded:
|
34
|
+
zero: "添付されたファイルはありません(最大は%{max}ファイル)"
|
35
|
+
one: "添付されているファイルが多すぎます(最大は%{max}ファイル、%{count})"
|
36
|
+
other: "添付されているファイルが多すぎます(最大は%{max}ファイル、%{count})"
|
37
|
+
media_metadata_missing: "有効なメディアファイルではありません"
|
38
|
+
dimension_min_not_included_in: "は %{width} x %{height} ピクセル以上の大きさにしてください"
|
39
|
+
dimension_max_not_included_in: "は %{width} x %{height} ピクセル以下の大きさにしてください"
|
40
|
+
dimension_width_not_included_in: "の横幅は %{min} ピクセル以上 %{max} ピクセル以下にしてください"
|
41
|
+
dimension_height_not_included_in: "の縦幅は %{min} ピクセル以上 %{max} ピクセル以下にしてください"
|
42
|
+
dimension_width_not_greater_than_or_equal_to: "の横幅は %{length} ピクセル以上にしてください"
|
43
|
+
dimension_height_not_greater_than_or_equal_to: "の縦幅は %{length} ピクセル以上にしてください"
|
44
|
+
dimension_width_not_less_than_or_equal_to: "の横幅は %{length} ピクセル以下にしてください"
|
45
|
+
dimension_height_not_less_than_or_equal_to: "の縦幅は %{length} ピクセル以下にしてください"
|
46
|
+
dimension_width_not_equal_to: "の横幅は %{length} ピクセルにしてください"
|
47
|
+
dimension_height_not_equal_to: "の縦幅は %{length} ピクセルにしてください"
|
48
|
+
aspect_ratio_not_square: "は正方形である必要があります(現在のファイルは%{width}x%{height})"
|
49
|
+
aspect_ratio_not_portrait: "は縦長である必要があります(現在のファイルは%{width}x%{height})"
|
50
|
+
aspect_ratio_not_landscape: "は横長である必要があります(現在のファイルは%{width}x%{height})"
|
51
|
+
aspect_ratio_not_x_y: "は%{authorized_aspect_ratios}である必要があります(現在のファイルは%{width}x%{height})"
|
52
|
+
aspect_ratio_invalid: "は無効なアスペクト比です(有効なアスペクト比は%{authorized_aspect_ratios}です)"
|
53
|
+
file_not_processable: "は無効なメディアファイルです"
|
data/config/locales/nl.yml
CHANGED
@@ -1,33 +1,53 @@
|
|
1
1
|
nl:
|
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: "heeft een ongeldig inhoudstype (toegestaan inhoudstype is %{authorized_human_content_types})"
|
6
|
+
other: "heeft een ongeldig inhoudstype (toegestane inhoudstypen zijn %{authorized_human_content_types})"
|
7
|
+
content_type_spoofed:
|
8
|
+
one: "heeft een inhoudstype dat niet gelijk is aan het type dat wordt gedetecteerd door de inhoud (geautoriseerd inhoudstype is %{authorized_human_content_types})"
|
9
|
+
other: "heeft een inhoudstype dat niet gelijk is aan het type dat wordt gedetecteerd door de inhoud (geautoriseerde inhoudstypen zijn %{authorized_human_content_types})"
|
10
|
+
file_size_not_less_than: "bestandsgrootte moet kleiner zijn dan %{max} (huidige grootte is %{file_size})"
|
11
|
+
file_size_not_less_than_or_equal_to: "bestandsgrootte moet kleiner zijn dan of gelijk zijn aan %{max} (huidige grootte is %{file_size})"
|
12
|
+
file_size_not_greater_than: "bestandsgrootte moet groter zijn dan %{min} (huidige grootte is %{file_size})"
|
13
|
+
file_size_not_greater_than_or_equal_to: "bestandsgrootte moet groter zijn dan of gelijk zijn aan %{min} (huidige grootte is %{file_size})"
|
14
|
+
file_size_not_between: "bestandsgrootte moet tussen %{min} en %{max} liggen (huidige grootte is %{file_size})"
|
15
|
+
total_file_size_not_less_than: "totale bestandsgrootte moet kleiner zijn dan %{max} (huidige grootte is %{total_file_size})"
|
16
|
+
total_file_size_not_less_than_or_equal_to: "totale bestandsgrootte moet kleiner zijn dan of gelijk zijn aan %{max} (huidige grootte is %{total_file_size})"
|
17
|
+
total_file_size_not_greater_than: "totale bestandsgrootte moet groter zijn dan %{min} (huidige grootte is %{total_file_size})"
|
18
|
+
total_file_size_not_greater_than_or_equal_to: "totale bestandsgrootte moet groter zijn dan of gelijk zijn aan %{min} (huidige grootte is %{total_file_size})"
|
19
|
+
total_file_size_not_between: "totale bestandsgrootte moet tussen %{min} en %{max} liggen (huidige grootte is %{total_file_size})"
|
20
|
+
duration_not_less_than: "duur moet kleiner zijn dan %{max} (huidige duur is %{duration})"
|
21
|
+
duration_not_less_than_or_equal_to: "duur moet kleiner zijn dan of gelijk zijn aan %{max} (huidige duur is %{duration})"
|
22
|
+
duration_not_greater_than: "duur moet groter zijn dan %{min} (huidige duur is %{duration})"
|
23
|
+
duration_not_greater_than_or_equal_to: "duur moet groter zijn dan of gelijk zijn aan %{min} (huidige duur is %{duration})"
|
24
|
+
duration_not_between: "duur moet tussen %{min} en %{max} zijn (huidige duur is %{duration})"
|
25
|
+
limit_out_of_range:
|
26
|
+
zero: "geen bestanden bijgevoegd (moet tussen %{min} en %{max} bestanden hebben)"
|
27
|
+
one: "slechts 1 bijgevoegd bestand (moet tussen %{min} en %{max} bestanden hebben)"
|
28
|
+
other: "het totale aantal bestanden moet tussen %{min} en %{max} bestanden liggen (er zijn %{count} bestanden bijgevoegd)"
|
29
|
+
limit_min_not_reached:
|
30
|
+
zero: "geen bestanden bijgevoegd (moet ten minste %{min} bestanden hebben)"
|
31
|
+
one: "slechts 1 bijgevoegd bestand (moet ten minste %{min} bestanden hebben)"
|
32
|
+
other: "%{count} bestanden bijgevoegd (moet ten minste %{min} bestanden hebben)"
|
33
|
+
limit_max_exceeded:
|
34
|
+
zero: "geen bestanden bijgevoegd (maximaal is %{max} bestanden)"
|
35
|
+
one: "te veel bijgevoegde bestanden (maximaal is %{max} bestanden, kreeg %{count})"
|
36
|
+
other: "te veel bijgevoegde bestanden (maximum is %{max} bestanden, kreeg %{count})"
|
37
|
+
media_metadata_missing: "is geen geldig mediabestand"
|
38
|
+
dimension_min_not_included_in: "moet groter of gelijk zijn aan %{width} x %{height} pixels"
|
39
|
+
dimension_max_not_included_in: "moet kleiner of gelijk zijn aan %{width} x %{height} pixels"
|
40
|
+
dimension_width_not_included_in: "breedte niet tussen de %{min} en %{max} pixels"
|
41
|
+
dimension_height_not_included_in: "hoogte niet tussen de %{min} en %{max} pixels"
|
42
|
+
dimension_width_not_greater_than_or_equal_to: "breedte moet groter of gelijk zijn aan %{length} pixels"
|
43
|
+
dimension_height_not_greater_than_or_equal_to: "hoogte moet groter of gelijk zijn aan %{length} pixels"
|
44
|
+
dimension_width_not_less_than_or_equal_to: "breedte moet kleiner of gelijk zijn aan %{length} pixels"
|
45
|
+
dimension_height_not_less_than_or_equal_to: "hoogte moet kleiner of gelijk zijn aan %{length} pixels"
|
46
|
+
dimension_width_not_equal_to: "breedte moet gelijk zijn aan %{length} pixels"
|
47
|
+
dimension_height_not_equal_to: "hoogte moet gelijk zijn aan %{length} pixels"
|
48
|
+
aspect_ratio_not_square: "moet vierkant zijn (huidig bestand is %{width}x%{height} px)"
|
49
|
+
aspect_ratio_not_portrait: "moet portret zijn (huidig bestand is %{width}x%{height}px)"
|
50
|
+
aspect_ratio_not_landscape: "moet landschap zijn (huidig bestand is %{width}x%{height}px)"
|
51
|
+
aspect_ratio_not_x_y: "moet %{authorized_aspect_ratios} zijn (huidig bestand is %{width}x%{height}px)"
|
52
|
+
aspect_ratio_invalid: "heeft een ongeldige beeldverhouding (geldige beeldverhoudingen zijn %{authorized_aspect_ratios})"
|
53
|
+
file_not_processable: "wordt niet geïdentificeerd als een geldig mediabestand"
|
data/config/locales/pl.yml
CHANGED
@@ -1,33 +1,53 @@
|
|
1
1
|
pl:
|
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: "ma nieprawidłowy typ zawartości (autoryzowany typ zawartości to %{authorized_human_content_types})"
|
6
|
+
other: "ma nieprawidłowy typ zawartości (autoryzowane typy treści to %{authorized_human_content_types})"
|
7
|
+
content_type_spoofed:
|
8
|
+
one: "ma typ zawartości, który nie jest równoważny z tym, który jest wykrywany przez jego zawartość (autoryzowany typ zawartości to %{authorized_human_content_types})"
|
9
|
+
other: "ma typ zawartości, który nie jest równoważny z tym, który jest wykrywany przez jego zawartość (autoryzowane typy treści to %{authorized_human_content_types})"
|
10
|
+
file_size_not_less_than: "rozmiar pliku musi być mniejszy niż %{max} (obecny rozmiar to %{file_size})"
|
11
|
+
file_size_not_less_than_or_equal_to: "rozmiar pliku musi być mniejszy lub równy %{max} (obecny rozmiar to %{file_size})"
|
12
|
+
file_size_not_greater_than: "rozmiar pliku musi być większy niż %{min} (obecny rozmiar to %{file_size})"
|
13
|
+
file_size_not_greater_than_or_equal_to: "rozmiar pliku musi być większy lub równy %{min} (obecny rozmiar to %{file_size})"
|
14
|
+
file_size_not_between: "rozmiar pliku musi mieścić się w przedziale od %{min} do %{max} (obecny rozmiar to %{file_size})"
|
15
|
+
total_file_size_not_less_than: "całkowity rozmiar pliku musi być mniejszy niż %{max} (obecny rozmiar to %{total_file_size})"
|
16
|
+
total_file_size_not_less_than_or_equal_to: "całkowity rozmiar pliku musi być mniejszy lub równy %{max} (obecny rozmiar to %{total_file_size})"
|
17
|
+
total_file_size_not_greater_than: "całkowity rozmiar pliku musi być większy niż %{min} (obecny rozmiar to %{total_file_size})"
|
18
|
+
total_file_size_not_greater_than_or_equal_to: "całkowity rozmiar pliku musi być większy lub równy %{min} (obecny rozmiar to %{total_file_size})"
|
19
|
+
total_file_size_not_between: "całkowity rozmiar pliku musi mieścić się w przedziale od %{min} do %{max} (obecny rozmiar to %{total_file_size})"
|
20
|
+
duration_not_less_than: "czas trwania musi być mniejszy niż %{max} (obecny czas trwania wynosi %{duration})"
|
21
|
+
duration_not_less_than_or_equal_to: "czas trwania musi być mniejszy lub równy %{max} (obecny czas trwania wynosi %{duration})"
|
22
|
+
duration_not_greater_than: "czas trwania musi być większy niż %{min} (obecny czas trwania wynosi %{duration})"
|
23
|
+
duration_not_greater_than_or_equal_to: "czas trwania musi być większy lub równy %{min} (obecny czas trwania wynosi %{duration})"
|
24
|
+
duration_not_between: "czas trwania musi wynosić między %{min} a %{max} (obecny czas trwania wynosi %{duration})"
|
25
|
+
limit_out_of_range:
|
26
|
+
zero: "brak dołączonych plików (musi mieć między %{min} a %{max} pliki)"
|
27
|
+
one: "załączony tylko 1 plik (musi mieć między %{min} a %{max} pliki)"
|
28
|
+
other: "całkowita liczba plików musi wynosić między %{min} a %{max} pliki (dołączone są %{count} pliki)"
|
29
|
+
limit_min_not_reached:
|
30
|
+
zero: "brak dołączonych plików (musi mieć co najmniej %{min} pliki)"
|
31
|
+
one: "dołączony tylko 1 plik (musi mieć co najmniej %{min} pliki)"
|
32
|
+
other: "%{count} pliki dołączone (musi mieć co najmniej %{min} pliki)"
|
33
|
+
limit_max_exceeded:
|
34
|
+
zero: "brak dołączonych plików (maksymalnie jest to %{max} pliki)"
|
35
|
+
one: "zbyt wiele dołączonych plików (maksymalnie jest to %{max} pliki, otrzymano %{count})"
|
36
|
+
other: "zbyt wiele dołączonych plików (maksymalnie jest to %{max} pliki, otrzymano %{count})"
|
37
|
+
media_metadata_missing: "nie jest prawidłowym plikiem multimedialnym"
|
38
|
+
dimension_min_not_included_in: "musi być równe lub większe od %{width} x %{height} pixeli"
|
39
|
+
dimension_max_not_included_in: "musi być równe lub mniejsze od %{width} x %{height} pixeli"
|
40
|
+
dimension_width_not_included_in: "szerokość musi wynosić od %{min} do %{max} pixeli"
|
41
|
+
dimension_height_not_included_in: "wysokość musi wynosić od %{min} do %{max} pixeli"
|
42
|
+
dimension_width_not_greater_than_or_equal_to: "szerokość musi mieć co najmniej %{length} pixeli"
|
43
|
+
dimension_height_not_greater_than_or_equal_to: "wysokość musi mieć co najmniej %{length} pixeli"
|
44
|
+
dimension_width_not_less_than_or_equal_to: "szerokość musi mieć co najwyżej %{length} pixeli"
|
45
|
+
dimension_height_not_less_than_or_equal_to: "wysokość musi mieć co najwyżej %{length} pixeli"
|
46
|
+
dimension_width_not_equal_to: "szerokość musi wynosić %{length} pixeli"
|
47
|
+
dimension_height_not_equal_to: "wysokość musi wynosić %{length} pixeli"
|
48
|
+
aspect_ratio_not_square: "musi być kwadratowy (bieżący plik to %{width}x%{height}px)"
|
49
|
+
aspect_ratio_not_portrait: "musi być portret (bieżący plik to %{width}x%{height}px)"
|
50
|
+
aspect_ratio_not_landscape: "musi być krajobrazem (bieżący plik to %{width}x%{height}px)"
|
51
|
+
aspect_ratio_not_x_y: "musi być %{authorized_aspect_ratios} (bieżący plik to %{width}x%{height}px)"
|
52
|
+
aspect_ratio_invalid: "ma nieprawidłowy współczynnik kształtu (ważne współczynniki kształtu wynoszą %{authorized_aspect_ratios})"
|
53
|
+
file_not_processable: "nie jest identyfikowany jako prawidłowy plik multimedialny"
|
data/config/locales/pt-BR.yml
CHANGED
@@ -1,33 +1,53 @@
|
|
1
1
|
pt-BR:
|
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: "tem um tipo de conteúdo inválido (o tipo de conteúdo autorizado é %{authorized_human_content_types})"
|
6
|
+
other: "tem um tipo de conteúdo inválido (os tipos de conteúdo autorizados são %{authorized_human_content_types})"
|
7
|
+
content_type_spoofed:
|
8
|
+
one: "tem um tipo de conteúdo que não é equivalente ao que é detectado através do seu conteúdo (tipo de conteúdo autorizado é %{authorized_human_content_types})"
|
9
|
+
other: "tem um tipo de conteúdo que não é equivalente ao que é detectado através do seu conteúdo (tipos de conteúdo autorizados são %{authorized_human_content_types})"
|
10
|
+
file_size_not_less_than: "o tamanho do arquivo deve ser menor que %{max} (o tamanho atual é %{file_size})"
|
11
|
+
file_size_not_less_than_or_equal_to: "o tamanho do arquivo deve ser menor ou igual a %{max} (o tamanho atual é %{file_size})"
|
12
|
+
file_size_not_greater_than: "o tamanho do arquivo deve ser maior que %{min} (o tamanho atual é %{file_size})"
|
13
|
+
file_size_not_greater_than_or_equal_to: "o tamanho do arquivo deve ser maior ou igual a %{min} (o tamanho atual é %{file_size})"
|
14
|
+
file_size_not_between: "o tamanho do arquivo deve estar entre %{min} e %{max} (o tamanho atual é %{file_size})"
|
15
|
+
total_file_size_not_less_than: "o tamanho total do arquivo deve ser menor que %{max} (o tamanho atual é %{total_file_size})"
|
16
|
+
total_file_size_not_less_than_or_equal_to: "o tamanho total do arquivo deve ser menor ou igual a %{max} (o tamanho atual é %{total_file_size})"
|
17
|
+
total_file_size_not_greater_than: "o tamanho total do arquivo deve ser maior que %{min} (o tamanho atual é %{total_file_size})"
|
18
|
+
total_file_size_not_greater_than_or_equal_to: "o tamanho total do arquivo deve ser maior ou igual a %{min} (o tamanho atual é %{total_file_size})"
|
19
|
+
total_file_size_not_between: "o tamanho total do arquivo deve estar entre %{min} e %{max} (o tamanho atual é %{total_file_size})"
|
20
|
+
duration_not_less_than: "a duração deve ser inferior a %{max} (a duração atual é %{duration})"
|
21
|
+
duration_not_less_than_or_equal_to: "a duração deve ser inferior ou igual a %{max} (a duração atual é %{duration})"
|
22
|
+
duration_not_greater_than: "a duração tem de ser superior a %{min} (a duração atual é %{duration})"
|
23
|
+
duration_not_greater_than_or_equal_to: "a duração deve ser maior ou igual a %{min} (a duração atual é %{duration})"
|
24
|
+
duration_not_between: "a duração deve estar entre %{min} e %{max} (a duração atual é %{duration})"
|
25
|
+
limit_out_of_range:
|
26
|
+
zero: "nenhum arquivo anexado (deve ter entre %{min} e %{max})"
|
27
|
+
one: "apenas 1 arquivo anexado (deve ter entre %{min} e %{max})"
|
28
|
+
other: "o número total de arquivos deve estar entre os arquivos %{min} e %{max} (há arquivos %{count} anexados)"
|
29
|
+
limit_min_not_reached:
|
30
|
+
zero: "sem arquivos anexados (deve ter pelo menos %{min})"
|
31
|
+
one: "apenas 1 arquivo anexado (deve ter pelo menos %{min} arquivos)"
|
32
|
+
other: "%{count} arquivos anexados (deve ter pelo menos %{min} arquivos)"
|
33
|
+
limit_max_exceeded:
|
34
|
+
zero: "sem arquivos anexados (o máximo é %{max})"
|
35
|
+
one: "muitos arquivos anexados (o máximo é %{max}, obteve %{count})"
|
36
|
+
other: "muitos arquivos anexados (o máximo é %{max}, obteve %{count})"
|
37
|
+
media_metadata_missing: "não é um arquivo de mídia válido"
|
38
|
+
dimension_min_not_included_in: "deve ser maior ou igual a %{width} x %{height} pixels"
|
39
|
+
dimension_max_not_included_in: "deve ser menor ou igual a %{width} x %{height} pixels"
|
40
|
+
dimension_width_not_included_in: "deve ter largura entre %{min} e %{max} pixels"
|
41
|
+
dimension_height_not_included_in: "deve ter altura entre %{min} e %{max} pixels"
|
42
|
+
dimension_width_not_greater_than_or_equal_to: "deve ter largura maior ou igual a %{length} pixels"
|
43
|
+
dimension_height_not_greater_than_or_equal_to: "deve ter altura maior ou igual a %{length} pixels"
|
44
|
+
dimension_width_not_less_than_or_equal_to: "deve ter largura menor ou igual a %{length} pixels"
|
45
|
+
dimension_height_not_less_than_or_equal_to: "deve ter altura menor ou igual a %{length} pixels"
|
46
|
+
dimension_width_not_equal_to: "deve ter largura igual a %{length} pixels"
|
47
|
+
dimension_height_not_equal_to: "deve ter altura igual a %{length} pixels"
|
48
|
+
aspect_ratio_not_square: "deve ser quadrado (o arquivo atual é %{width}x%{height}px)"
|
49
|
+
aspect_ratio_not_portrait: "deve ser portrait (o arquivo atual é %{width}x%{height}px)"
|
50
|
+
aspect_ratio_not_landscape: "deve ser paisagem (o arquivo atual é %{width}x%{height}px)"
|
51
|
+
aspect_ratio_not_x_y: "deve ser %{authorized_aspect_ratios} (o arquivo atual é %{width}x%{height}px)"
|
52
|
+
aspect_ratio_invalid: "tem uma proporção inválida (as proporções válidas são %{authorized_aspect_ratios})"
|
53
|
+
file_not_processable: "não é identificado como um arquivo de mídia válido"
|
data/config/locales/ru.yml
CHANGED
@@ -1,33 +1,53 @@
|
|
1
1
|
ru:
|
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: "имеет недействительный тип контента (авторизованный тип контента %{authorized_human_content_types})"
|
6
|
+
other: "имеет недействительный тип контента (авторизованные типы контента %{authorized_human_content_types})"
|
7
|
+
content_type_spoofed:
|
8
|
+
one: "имеет тип контента, который не эквивалентен тому, который обнаруживается через его контент (авторизованный тип контента %{authorized_human_content_types})"
|
9
|
+
other: "имеет тип контента, который не эквивалентен тому, который обнаруживается через его контент (авторизованные типы контента %{authorized_human_content_types})"
|
10
|
+
file_size_not_less_than: "размер файла должен быть меньше %{max} (текущий размер %{file_size})"
|
11
|
+
file_size_not_less_than_or_equal_to: "размер файла должен быть меньше или равен %{max} (текущий размер %{file_size})"
|
12
|
+
file_size_not_greater_than: "размер файла должен быть больше %{min} (текущий размер %{file_size})"
|
13
|
+
file_size_not_greater_than_or_equal_to: "размер файла должен быть больше или равен %{min} (текущий размер %{file_size})"
|
14
|
+
file_size_not_between: "размер файла должен быть между %{min} и %{max} (текущий размер %{file_size})"
|
15
|
+
total_file_size_not_less_than: "общий размер файла должен быть меньше %{max} (текущий размер %{total_file_size})"
|
16
|
+
total_file_size_not_less_than_or_equal_to: "общий размер файла должен быть меньше или равен %{max} (текущий размер %{total_file_size})"
|
17
|
+
total_file_size_not_greater_than: "общий размер файла должен быть больше %{min} (текущий размер %{total_file_size})"
|
18
|
+
total_file_size_not_greater_than_or_equal_to: "общий размер файла должен быть больше или равен %{min} (текущий размер %{total_file_size})"
|
19
|
+
total_file_size_not_between: "общий размер файла должен быть между %{min} и %{max} (текущий размер %{total_file_size})"
|
20
|
+
duration_not_less_than: "длительность должна быть меньше %{max} (текущая продолжительность составляет %{duration})"
|
21
|
+
duration_not_less_than_or_equal_to: "длительность должна быть меньше или равна %{max} (текущая продолжительность составляет %{duration})"
|
22
|
+
duration_not_greater_than: "длительность должна быть больше %{min} (текущая продолжительность составляет %{duration})"
|
23
|
+
duration_not_greater_than_or_equal_to: "длительность должна быть больше или равна %{min} (текущая продолжительность составляет %{duration})"
|
24
|
+
duration_not_between: "длительность должна быть между %{min} и %{max} (текущая продолжительность составляет %{duration})"
|
25
|
+
limit_out_of_range:
|
26
|
+
zero: "никаких файлов не прилагается (должно иметь от %{min} до %{max} файлов)"
|
27
|
+
one: "прилагается только 1 файл (должно иметь от %{min} до %{max} файлов)"
|
28
|
+
other: "общее количество файлов должно быть от %{min} до %{max} файлов (прилагается %{count} файлов)"
|
29
|
+
limit_min_not_reached:
|
30
|
+
zero: "не прилагается никаких файлов (должно иметь не менее %{min} файлов)"
|
31
|
+
one: "прилагается только 1 файл (должно иметь не менее %{min} файлов)"
|
32
|
+
other: "%{count} файлы прилагаются (должно иметь не менее %{min} файлов)"
|
33
|
+
limit_max_exceeded:
|
34
|
+
zero: "никаких файлов не прилагается (максимум составляет %{max} файлов)"
|
35
|
+
one: "слишком много файлов прикреплено (максимум составляет %{max} файлов, получил %{count})"
|
36
|
+
other: "слишком много файлов прикреплено (максимум составляет %{max} файлов, получил %{count})"
|
37
|
+
media_metadata_missing: "не является действительным медиафайлом"
|
38
|
+
dimension_min_not_included_in: "должен быть больше или равно %{width} x %{height} пикселям"
|
39
|
+
dimension_max_not_included_in: "должно быть меньше или равно %{width} x %{height} пикселям"
|
40
|
+
dimension_width_not_included_in: "ширина не включена между %{min} и %{max} пикселям"
|
41
|
+
dimension_height_not_included_in: "высота не включена между %{min} и %{max} пикселям"
|
42
|
+
dimension_width_not_greater_than_or_equal_to: "ширина должна быть больше или равна %{length} пикселям"
|
43
|
+
dimension_height_not_greater_than_or_equal_to: "высота должна быть больше или равна %{length} пикселям"
|
44
|
+
dimension_width_not_less_than_or_equal_to: "ширина должна быть меньше или равна %{length} пикселям"
|
45
|
+
dimension_height_not_less_than_or_equal_to: "высота должна быть меньше или равна %{length} пикселям"
|
46
|
+
dimension_width_not_equal_to: "ширина должна быть равна %{length} пикселям"
|
47
|
+
dimension_height_not_equal_to: "высота должна быть равна %{length} пикселям"
|
48
|
+
aspect_ratio_not_square: "должен быть квадратным (текущий файл %{width}x%{height} пикселей)"
|
49
|
+
aspect_ratio_not_portrait: "должен быть портрет (текущий файл %{width}x%{height} пикселей)"
|
50
|
+
aspect_ratio_not_landscape: "должен быть ландшафт (текущий файл %{width}x%{height} пикселей)"
|
51
|
+
aspect_ratio_not_x_y: "должно быть %{authorized_aspect_ratios} (текущий файл %{width}x%{height} пикселей)"
|
52
|
+
aspect_ratio_invalid: "имеет недействительное соотношение сторон (действительные соотношения сторон %{authorized_aspect_ratios})"
|
53
|
+
file_not_processable: "не идентифицируется как действительный медиафайл"
|
data/config/locales/sv.yml
CHANGED
@@ -1,33 +1,53 @@
|
|
1
1
|
sv:
|
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 ogiltig innehållstyp (auktoriserad innehållstyp är %{authorized_human_content_types})"
|
6
|
+
other: "har en ogiltig innehållstyp (auktoriserade innehållstyper är %{authorized_human_content_types})"
|
7
|
+
content_type_spoofed:
|
8
|
+
one: "har en innehållstyp som inte motsvarar den som upptäcks genom dess innehåll (auktoriserad innehållstyp är %{authorized_human_content_types})"
|
9
|
+
other: "har en innehållstyp som inte motsvarar den som upptäcks genom dess innehåll (auktoriserade innehållstyper är %{authorized_human_content_types})"
|
10
|
+
file_size_not_less_than: "filstorleken måste vara mindre än %{max} (nuvarande storlek är %{file_size})"
|
11
|
+
file_size_not_less_than_or_equal_to: "filstorleken måste vara mindre än eller lika med %{max} (nuvarande storlek är %{file_size})"
|
12
|
+
file_size_not_greater_than: "filstorleken måste vara större än %{min} (nuvarande storlek är %{file_size})"
|
13
|
+
file_size_not_greater_than_or_equal_to: "filstorleken måste vara större än eller lika med %{min} (nuvarande storlek är %{file_size})"
|
14
|
+
file_size_not_between: "filstorleken måste vara mellan %{min} och %{max} (nuvarande storlek är %{file_size})"
|
15
|
+
total_file_size_not_less_than: "total filstorlek måste vara mindre än %{max} (nuvarande storlek är %{total_file_size})"
|
16
|
+
total_file_size_not_less_than_or_equal_to: "total filstorlek måste vara mindre än eller lika med %{max} (nuvarande storlek är %{total_file_size})"
|
17
|
+
total_file_size_not_greater_than: "total filstorlek måste vara större än %{min} (nuvarande storlek är %{total_file_size})"
|
18
|
+
total_file_size_not_greater_than_or_equal_to: "total filstorlek måste vara större än eller lika med %{min} (nuvarande storlek är %{total_file_size})"
|
19
|
+
total_file_size_not_between: "total filstorlek måste vara mellan %{min} och %{max} (nuvarande storlek är %{total_file_size})"
|
20
|
+
duration_not_less_than: "varaktigheten måste vara mindre än %{max} (nuvarande varaktighet är %{varaktighet})"
|
21
|
+
duration_not_less_than_or_equal_to: "varaktigheten måste vara mindre än eller lika med %{max} (nuvarande varaktighet är %{varaktighet})"
|
22
|
+
duration_not_greater_than: "varaktigheten måste vara större än %{min} (nuvarande varaktighet är %{varaktighet})"
|
23
|
+
duration_not_greater_than_or_equal_to: "varaktigheten måste vara större än eller lika med %{min} (nuvarande varaktighet är %{varaktighet})"
|
24
|
+
duration_not_between: "varaktighet måste vara mellan %{min} och %{max} (nuvarande varaktighet är %{varaktighet})"
|
25
|
+
limit_out_of_range:
|
26
|
+
zero: "inga filer bifogade (måste ha mellan %{min} och %{max} filer)"
|
27
|
+
one: "endast en fil bifogad (måste ha mellan %{min} och %{max} filer)"
|
28
|
+
other: "totalt antal filer måste vara mellan %{min} och %{max} filer (det finns %{count} filer bifogade)"
|
29
|
+
limit_min_not_reached:
|
30
|
+
zero: "inga filer bifogade (måste ha minst %{min} filer)"
|
31
|
+
one: "endast en fil bifogad (måste ha minst %{min} filer)"
|
32
|
+
other: "%{count} filer bifogade (måste ha minst %{min} filer)"
|
33
|
+
limit_max_exceeded:
|
34
|
+
zero: "inga filer bifogade (maximalt är %{max} filer)"
|
35
|
+
one: "för många filer bifogade (maximalt är %{max} -filer, fick %{count})"
|
36
|
+
other: "för många filer bifogade (maximalt är %{max} -filer, fick %{count})"
|
37
|
+
media_metadata_missing: "är inte en giltig mediefil"
|
38
|
+
dimension_min_not_included_in: "måste minst vara %{width} x %{height} pixlar"
|
39
|
+
dimension_max_not_included_in: "måste vara mindre eller lika med %{width} x %{height} pixlar"
|
40
|
+
dimension_width_not_included_in: "bredden är utanför %{min} till %{max} pixlar"
|
41
|
+
dimension_height_not_included_in: "höjden är utanför %{min} till %{max} pixlar"
|
42
|
+
dimension_width_not_greater_than_or_equal_to: "bredden måste minst vara %{length} pixlar"
|
43
|
+
dimension_height_not_greater_than_or_equal_to: "höjden måste minst vara %{length} pixlar"
|
44
|
+
dimension_width_not_less_than_or_equal_to: "bredden får max vara %{length} pixlar"
|
45
|
+
dimension_height_not_less_than_or_equal_to: "höjden får max vara %{length} pixlar"
|
46
|
+
dimension_width_not_equal_to: "bredden måste vara %{length} pixlar"
|
47
|
+
dimension_height_not_equal_to: "höjden måste vara %{length} pixlar"
|
48
|
+
aspect_ratio_not_square: "måste vara kvadratisk (nuvarande fil är %{width}x%{height} pixlar)"
|
49
|
+
aspect_ratio_not_portrait: "måste vara porträtt (nuvarande fil är %{width}x%{height} pixlar)"
|
50
|
+
aspect_ratio_not_landscape: "måste vara landskap (nuvarande fil är %{width}x%{height} pixlar)"
|
51
|
+
aspect_ratio_not_x_y: "måste vara% { authorized_aspect_ratios } (nuvarande fil är %{width}x%{height} pixlar)"
|
52
|
+
aspect_ratio_invalid: "har ett ogiltigt bildförhållande (giltiga bildförhållanden är %{förväntat_aspect_ratios})"
|
53
|
+
file_not_processable: "identifieras inte som en giltig mediefil"
|