french_rails 0.4.0 → 0.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: 60fdd01b4e5f2170cafeb958e98d4536742c134f
4
- data.tar.gz: 9a907977d729dca513f7e883d29659e564cdb433
2
+ SHA256:
3
+ metadata.gz: 3e2888ca30f9ed939389c3282c756567fba7997cdde2db4814e8b495944d4e13
4
+ data.tar.gz: 3ff345ce4eb02147ae4e260dad0acecd7cecb8cf31c9c494cf30f9c8968a6904
5
5
  SHA512:
6
- metadata.gz: dd236513977e995bbac409215faf18e90a4e9e39e2998a7c11ac2c75d0d65a9e11805c4121b65416fef761b8305ecb9555df79804fb15b2535f4f087e2577d39
7
- data.tar.gz: b63bdedc9a6a74c43d5713250f4369d80ecf2606a6c34e458d19818f475509ce3489a1b9cec27c592295ee10a7c2034a9f6f042508b480b60a4c7a2700027bc3
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 (ie 0 is singular).
8
+ # to the french grammar rules (i.e. absolute value < 2 is singular).
9
9
  #
10
10
  # Example:
11
- # pluralize(0, 'image') => 0 image
12
- # pluralize(1, 'image') => 1 image
13
- # pluralize(2, 'image') => 2 images
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.to_i <= 1) ? singular : (plural || singular.pluralize))
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 french grammar rules are not the same that for english.
7
- # For our concern, the main difference is 0:
8
- # in english, 0 is plural, but in french, it's singular.
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 <= 1 ? :one : :other
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
@@ -1,3 +1,3 @@
1
1
  module FrenchRails
2
- Version = "0.4.0"
2
+ Version = "0.4.1"
3
3
  end
@@ -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 %u"
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 %u"
32
+ format: "%n%u"
33
33
  units:
34
34
  byte:
35
- one: "Octet"
36
- other: "Octets"
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 %u"
44
+ format: "%n %u"
43
45
  units:
44
46
  unit: ""
45
- thousand: "Millier"
46
- million: "Million"
47
- billion: "Milliard"
48
- trillion: "Mille milliard"
49
- quadrillion: "Million de milliard"
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-minute"
55
+ half_a_minute: "une demiminute"
54
56
  less_than_x_seconds:
55
- zero: "moins d'une seconde"
56
- one: "moins d'une seconde"
57
+ zero: "moins dune seconde"
58
+ one: "moins dune 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'une minute"
63
- one: "moins d'une minute"
64
+ zero: "moins dune minute"
65
+ one: "moins dune 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 heure"
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 mois"
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 an"
83
+ one: "environ un an"
82
84
  other: "environ %{count} ans"
83
85
  over_x_years:
84
- one: "plus d'un an"
86
+ one: "plus dun an"
85
87
  other: "plus de %{count} ans"
86
88
  almost_x_years:
87
- one: "presqu'un an"
88
- other: "presque %{count} ans"
89
+ one: "presquun 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"
@@ -1,25 +1,25 @@
1
1
  fr:
2
2
  errors:
3
- format: "Le %{attribute} %{message}"
3
+ format: "« %{attribute} » %{message}"
4
4
  messages:
5
- inclusion: "n'est pas inclus(e) dans la liste"
6
- exclusion: "n'est pas disponible"
7
- invalid: "n'est pas valide"
5
+ inclusion: "nest pas inclus(e) dans la liste"
6
+ exclusion: "nest pas disponible"
7
+ invalid: "nest 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} 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"
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: "nest pas un nombre"
17
17
  not_an_integer: "doit être un nombre entier"
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}"
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"
@@ -1,14 +1,14 @@
1
1
  fr:
2
2
  attributes:
3
- created_at: "Créé le"
4
- updated_at: "Modifié le"
3
+ created_at: "Créé le"
4
+ updated_at: "Modifié le"
5
5
  errors:
6
6
  messages:
7
- taken: "n'est pas disponible"
7
+ taken: "nest pas disponible"
8
8
  activerecord:
9
9
  errors:
10
10
  messages:
11
- record_invalid: "Échec de la validation : %{errors}"
11
+ record_invalid: "Échec de la validation : %{errors}"
12
12
  restrict_dependent_destroy:
13
- one: "Suppression impossible : un autre enregistrement est lié"
14
- many: "Suppression impossible : d'autres enregistrements sont liés"
13
+ one: "Suppression impossible : un autre enregistrement est lié"
14
+ many: "Suppression impossible : dautres enregistrements sont liés"
@@ -2,8 +2,8 @@ fr:
2
2
  date:
3
3
  formats:
4
4
  default: "%d/%m/%Y"
5
- short: "%e %b"
6
- long: "%e %B %Y"
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 %B %Y %H:%M:%S"
19
- short: "%d %b %H:%M"
20
- long: "%A %d %B %Y %H:%M"
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.0
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: 2017-08-20 00:00:00.000000000 Z
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.5.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