french_rails 0.4.0 → 0.4.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -5
- data/lib/french_rails/action_view/text_helper.rb +9 -5
- data/lib/french_rails/backend/simple.rb +5 -4
- data/lib/french_rails/version.rb +1 -1
- data/locales/fr_actionpack.yml +34 -24
- data/locales/fr_activemodel.yml +14 -14
- data/locales/fr_activerecord.yml +6 -6
- data/locales/fr_activesupport.yml +5 -5
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 3e2888ca30f9ed939389c3282c756567fba7997cdde2db4814e8b495944d4e13
|
4
|
+
data.tar.gz: 3ff345ce4eb02147ae4e260dad0acecd7cecb8cf31c9c494cf30f9c8968a6904
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 5167fdb710dc6f648eab690a81aa65f73cea356c32764ead5897245fac4d4aadce874a53c3d83ef3b3f3c0ccc4996fa513533967d8c317694cee63f70881bbb0
|
7
|
+
data.tar.gz: 8289a67070e1915000972c206b67f9c7007baa51c891bfe673280a51ea9c19c74a3d2ec8774c279c18382f76324d6a8046cd6a6ea0e0db8839862bf914473fb3
|
@@ -5,15 +5,19 @@ module ActionView
|
|
5
5
|
module TextHelper
|
6
6
|
|
7
7
|
# Monkey-patch the pluralize from ActionView::Helpers::TextHelper
|
8
|
-
# to the french grammar rules (
|
8
|
+
# to the french grammar rules (i.e. absolute value < 2 is singular).
|
9
9
|
#
|
10
10
|
# Example:
|
11
|
-
# pluralize(0, '
|
12
|
-
# pluralize(1, '
|
13
|
-
# pluralize(
|
11
|
+
# pluralize(0, 'euro') => 0 euro
|
12
|
+
# pluralize(1, 'euro') => 1 euro
|
13
|
+
# pluralize(1.99, 'euro') => 1,99 euro
|
14
|
+
# pluralize(2, 'euro') => 2 euros
|
15
|
+
# pluralize(-1, 'euro') => -1 euro
|
16
|
+
# pluralize(-1.99, 'euro') => -1,99 euro
|
17
|
+
# pluralize(-2, 'euro') => 2 euros
|
14
18
|
#
|
15
19
|
def pluralize(count, singular, plural = nil)
|
16
|
-
"#{count || 0} " + ((count.
|
20
|
+
"#{count || 0} " + ((count.abs < 2) ? singular : (plural || singular.pluralize))
|
17
21
|
end
|
18
22
|
|
19
23
|
end
|
@@ -3,14 +3,15 @@ require 'i18n/backend/memoize'
|
|
3
3
|
|
4
4
|
module FrenchRails
|
5
5
|
module Pluralization
|
6
|
-
# The
|
7
|
-
#
|
8
|
-
#
|
6
|
+
# The French grammar rules are not the same that for English.
|
7
|
+
# In english, everything different than 1 is plural.
|
8
|
+
# In French everything strictly above -2 and below 2 is singular
|
9
|
+
# e.g -1.99, -1, 0, 1, 1.99
|
9
10
|
#
|
10
11
|
def pluralize(locale, entry, count)
|
11
12
|
return entry unless entry.is_a?(Hash) and count
|
12
13
|
key = :zero if count == 0 && entry.has_key?(:zero)
|
13
|
-
key ||= count
|
14
|
+
key ||= count.abs < 2 ? :one : :other
|
14
15
|
raise InvalidPluralizationData.new(entry, count) unless entry.has_key?(key)
|
15
16
|
entry[key]
|
16
17
|
end
|
data/lib/french_rails/version.rb
CHANGED
data/locales/fr_actionpack.yml
CHANGED
@@ -2,23 +2,23 @@ fr:
|
|
2
2
|
number:
|
3
3
|
format:
|
4
4
|
separator: ","
|
5
|
-
delimiter: "
|
5
|
+
delimiter: " "
|
6
6
|
precision: 3
|
7
7
|
significant: false
|
8
8
|
strip_insignificant_zeros: false
|
9
9
|
currency:
|
10
10
|
format:
|
11
|
-
format: "%n
|
11
|
+
format: "%n %u"
|
12
12
|
unit: "€"
|
13
13
|
separator: ","
|
14
|
-
delimiter: "
|
14
|
+
delimiter: " "
|
15
15
|
precision: 2
|
16
16
|
significant: false
|
17
17
|
strip_insignificant_zeros: false
|
18
18
|
percentage:
|
19
19
|
format:
|
20
20
|
delimiter: ""
|
21
|
-
format: "%n%"
|
21
|
+
format: "%n %"
|
22
22
|
precision:
|
23
23
|
format:
|
24
24
|
delimiter: ""
|
@@ -29,63 +29,65 @@ fr:
|
|
29
29
|
significant: true
|
30
30
|
strip_insignificant_zeros: true
|
31
31
|
storage_units:
|
32
|
-
format: "%n
|
32
|
+
format: "%n %u"
|
33
33
|
units:
|
34
34
|
byte:
|
35
|
-
one: "
|
36
|
-
other: "
|
35
|
+
one: "octet"
|
36
|
+
other: "octets"
|
37
37
|
kb: "ko"
|
38
38
|
mb: "Mo"
|
39
39
|
gb: "Go"
|
40
40
|
tb: "To"
|
41
|
+
pb: "Po"
|
42
|
+
eb: "Eo"
|
41
43
|
decimal_units:
|
42
|
-
format: "%n
|
44
|
+
format: "%n %u"
|
43
45
|
units:
|
44
46
|
unit: ""
|
45
|
-
thousand: "
|
46
|
-
million: "
|
47
|
-
billion: "
|
48
|
-
trillion: "
|
49
|
-
quadrillion: "
|
47
|
+
thousand: "mille"
|
48
|
+
million: "million(s)"
|
49
|
+
billion: "milliard(s)"
|
50
|
+
trillion: "mille milliard(s)"
|
51
|
+
quadrillion: "million(s) de milliards"
|
50
52
|
|
51
53
|
datetime:
|
52
54
|
distance_in_words:
|
53
|
-
half_a_minute: "une demi
|
55
|
+
half_a_minute: "une demi‑minute"
|
54
56
|
less_than_x_seconds:
|
55
|
-
zero: "moins d
|
56
|
-
one: "moins d
|
57
|
+
zero: "moins d’une seconde"
|
58
|
+
one: "moins d’une seconde"
|
57
59
|
other: "moins de %{count} secondes"
|
58
60
|
x_seconds:
|
59
61
|
one: "1 seconde"
|
60
62
|
other: "%{count} secondes"
|
61
63
|
less_than_x_minutes:
|
62
|
-
zero: "moins d
|
63
|
-
one: "moins d
|
64
|
+
zero: "moins d’une minute"
|
65
|
+
one: "moins d’une minute"
|
64
66
|
other: "moins de %{count} minutes"
|
65
67
|
x_minutes:
|
66
68
|
one: "1 minute"
|
67
69
|
other: "%{count} minutes"
|
68
70
|
about_x_hours:
|
69
|
-
one: "environ une
|
71
|
+
one: "environ une heure"
|
70
72
|
other: "environ %{count} heures"
|
71
73
|
x_days:
|
72
74
|
one: "1 jour"
|
73
75
|
other: "%{count} jours"
|
74
76
|
about_x_months:
|
75
|
-
one: "environ un
|
77
|
+
one: "environ un mois"
|
76
78
|
other: "environ %{count} mois"
|
77
79
|
x_months:
|
78
80
|
one: "1 mois"
|
79
81
|
other: "%{count} mois"
|
80
82
|
about_x_years:
|
81
|
-
one: "environ un
|
83
|
+
one: "environ un an"
|
82
84
|
other: "environ %{count} ans"
|
83
85
|
over_x_years:
|
84
|
-
one: "plus d
|
86
|
+
one: "plus d’un an"
|
85
87
|
other: "plus de %{count} ans"
|
86
88
|
almost_x_years:
|
87
|
-
one: "presqu
|
88
|
-
other: "presque %{count}
|
89
|
+
one: "presqu’un an"
|
90
|
+
other: "presque %{count} ans"
|
89
91
|
prompts:
|
90
92
|
year: "Année"
|
91
93
|
month: "Mois"
|
@@ -94,6 +96,14 @@ fr:
|
|
94
96
|
minute: "Minute"
|
95
97
|
second: "Seconde"
|
96
98
|
|
99
|
+
time:
|
100
|
+
am: am
|
101
|
+
formats:
|
102
|
+
default: "%d %B %Y %H h %M min %S s"
|
103
|
+
long: "%A %d %B %Y %H h %M"
|
104
|
+
short: "%d %b %H h %M"
|
105
|
+
pm: pm
|
106
|
+
|
97
107
|
helpers:
|
98
108
|
select:
|
99
109
|
prompt: "Veuillez sélectionner"
|
data/locales/fr_activemodel.yml
CHANGED
@@ -1,25 +1,25 @@
|
|
1
1
|
fr:
|
2
2
|
errors:
|
3
|
-
format: "
|
3
|
+
format: "« %{attribute} » %{message}"
|
4
4
|
messages:
|
5
|
-
inclusion: "n
|
6
|
-
exclusion: "n
|
7
|
-
invalid: "n
|
5
|
+
inclusion: "n’est pas inclus(e) dans la liste"
|
6
|
+
exclusion: "n’est pas disponible"
|
7
|
+
invalid: "n’est pas valide"
|
8
8
|
confirmation: "ne concorde pas avec la confirmation"
|
9
9
|
accepted: "doit être accepté(e)"
|
10
10
|
empty: "doit être rempli(e)"
|
11
11
|
blank: "doit être rempli(e)"
|
12
12
|
present: "doit être vide"
|
13
|
-
too_long: "est trop long (pas plus de %{count}
|
14
|
-
too_short: "est trop court (au moins %{count}
|
15
|
-
wrong_length: "ne fait pas la bonne longueur (doit comporter %{count}
|
16
|
-
not_a_number: "n
|
13
|
+
too_long: "est trop long (pas plus de %{count} caractères)"
|
14
|
+
too_short: "est trop court (au moins %{count} caractères)"
|
15
|
+
wrong_length: "ne fait pas la bonne longueur (doit comporter %{count} caractères)"
|
16
|
+
not_a_number: "n’est pas un nombre"
|
17
17
|
not_an_integer: "doit être un nombre entier"
|
18
|
-
greater_than: "doit être supérieur à
|
19
|
-
greater_than_or_equal_to: "doit être supérieur ou égal à
|
20
|
-
equal_to: "doit être égal à
|
21
|
-
less_than: "doit être inférieur à
|
22
|
-
less_than_or_equal_to: "doit être inférieur ou égal à
|
23
|
-
other_than: "doit être différent de
|
18
|
+
greater_than: "doit être supérieur à %{count}"
|
19
|
+
greater_than_or_equal_to: "doit être supérieur ou égal à %{count}"
|
20
|
+
equal_to: "doit être égal à %{count}"
|
21
|
+
less_than: "doit être inférieur à %{count}"
|
22
|
+
less_than_or_equal_to: "doit être inférieur ou égal à %{count}"
|
23
|
+
other_than: "doit être différent de %{count}"
|
24
24
|
odd: "doit être impair"
|
25
25
|
even: "doit être pair"
|
data/locales/fr_activerecord.yml
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
fr:
|
2
2
|
attributes:
|
3
|
-
created_at: "Créé
|
4
|
-
updated_at: "Modifié
|
3
|
+
created_at: "Créé le"
|
4
|
+
updated_at: "Modifié le"
|
5
5
|
errors:
|
6
6
|
messages:
|
7
|
-
taken: "n
|
7
|
+
taken: "n’est pas disponible"
|
8
8
|
activerecord:
|
9
9
|
errors:
|
10
10
|
messages:
|
11
|
-
record_invalid: "Échec de la validation
|
11
|
+
record_invalid: "Échec de la validation : %{errors}"
|
12
12
|
restrict_dependent_destroy:
|
13
|
-
one: "Suppression impossible
|
14
|
-
many: "Suppression impossible
|
13
|
+
one: "Suppression impossible : un autre enregistrement est lié"
|
14
|
+
many: "Suppression impossible : d’autres enregistrements sont liés"
|
@@ -2,8 +2,8 @@ fr:
|
|
2
2
|
date:
|
3
3
|
formats:
|
4
4
|
default: "%d/%m/%Y"
|
5
|
-
short: "%e
|
6
|
-
long: "%e
|
5
|
+
short: "%e %b"
|
6
|
+
long: "%e %B %Y"
|
7
7
|
day_names: [lundi, mardi, mercredi, jeudi, vendredi, samedi, dimanche]
|
8
8
|
abbr_day_names: [lun, mar, mer, jeu, ven, sam, dim]
|
9
9
|
month_names: [~, janvier, février, mars, avril, mai, juin, juillet, août, septembre, octobre, novembre, décembre]
|
@@ -15,9 +15,9 @@ fr:
|
|
15
15
|
|
16
16
|
time:
|
17
17
|
formats:
|
18
|
-
default: "%d
|
19
|
-
short: "%d
|
20
|
-
long: "%A %d
|
18
|
+
default: "%d %B %Y %H:%M:%S"
|
19
|
+
short: "%d %b %H:%M"
|
20
|
+
long: "%A %d %B %Y %H:%M"
|
21
21
|
am: "am"
|
22
22
|
pm: "pm"
|
23
23
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: french_rails
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.4.
|
4
|
+
version: 0.4.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Bruno Michel
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2020-02-17 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|
@@ -67,7 +67,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
67
67
|
version: '0'
|
68
68
|
requirements: []
|
69
69
|
rubyforge_project:
|
70
|
-
rubygems_version: 2.
|
70
|
+
rubygems_version: 2.7.6.2
|
71
71
|
signing_key:
|
72
72
|
specification_version: 4
|
73
73
|
summary: Simple french localization for Rails
|