translations_ennder 0.9.0
Sign up to get free protection for your applications and to get access to all the features.
- data/.bnsignore +18 -0
- data/.gitignore +8 -0
- data/History.txt +4 -0
- data/README.md +61 -0
- data/Rakefile +17 -0
- data/app/.directory +3 -0
- data/app/helpers/.directory +3 -0
- data/app/helpers/application_helper.rb +12 -0
- data/bin/translations_ennder +7 -0
- data/lib/.directory +3 -0
- data/lib/tasks/translations_ennder_tasks.rake +4 -0
- data/lib/translations_ennder/.directory +3 -0
- data/lib/translations_ennder/conversions_with_i18n_label.rb +31 -0
- data/lib/translations_ennder/conversions_with_i18n_to_s.rb +30 -0
- data/lib/translations_ennder/locales/.directory +3 -0
- data/lib/translations_ennder/locales/en.yml +23 -0
- data/lib/translations_ennder/locales/fr.yml +173 -0
- data/lib/translations_ennder/rails.rb +13 -0
- data/lib/translations_ennder.rb +65 -0
- data/spec/spec_helper.rb +15 -0
- data/spec/translations_ennder_spec.rb +6 -0
- data/test/.directory +3 -0
- data/test/integration/.directory +3 -0
- data/test/integration/translations_test.rb +13 -0
- data/test/test_translations_ennder.rb +0 -0
- data/version.txt +1 -0
- metadata +117 -0
data/.bnsignore
ADDED
@@ -0,0 +1,18 @@
|
|
1
|
+
# The list of files that should be ignored by Mr Bones.
|
2
|
+
# Lines that start with '#' are comments.
|
3
|
+
#
|
4
|
+
# A .gitignore file can be used instead by setting it as the ignore
|
5
|
+
# file in your Rakefile:
|
6
|
+
#
|
7
|
+
# Bones {
|
8
|
+
# ignore_file '.gitignore'
|
9
|
+
# }
|
10
|
+
#
|
11
|
+
# For a project with a C extension, the following would be a good set of
|
12
|
+
# exclude patterns (uncomment them if you want to use them):
|
13
|
+
# *.[oa]
|
14
|
+
# *~
|
15
|
+
announcement.txt
|
16
|
+
coverage
|
17
|
+
doc
|
18
|
+
pkg
|
data/.gitignore
ADDED
data/History.txt
ADDED
data/README.md
ADDED
@@ -0,0 +1,61 @@
|
|
1
|
+
translations_ennder
|
2
|
+
===========
|
3
|
+
|
4
|
+
Ce plugin apporte des traductions standard en français et anglais.
|
5
|
+
This plugin brings translations in french and english.
|
6
|
+
|
7
|
+
Features
|
8
|
+
--------
|
9
|
+
|
10
|
+
Apporte des translations françaises et anglaises
|
11
|
+
permet la traduction automatique des labels pour Rails 2 comme avec Rails 3
|
12
|
+
|
13
|
+
Examples
|
14
|
+
--------
|
15
|
+
|
16
|
+
t('Update')
|
17
|
+
|
18
|
+
Requirements
|
19
|
+
------------
|
20
|
+
|
21
|
+
None
|
22
|
+
|
23
|
+
Install
|
24
|
+
-------
|
25
|
+
|
26
|
+
Works as-is
|
27
|
+
|
28
|
+
Author
|
29
|
+
------
|
30
|
+
|
31
|
+
Original author: Ennder
|
32
|
+
|
33
|
+
Contributors:
|
34
|
+
|
35
|
+
None
|
36
|
+
|
37
|
+
License
|
38
|
+
-------
|
39
|
+
|
40
|
+
(The MIT License)
|
41
|
+
|
42
|
+
Copyright (c) 2010-2011 [Ennder (mel@ennder.fr)]
|
43
|
+
|
44
|
+
Permission is hereby granted, free of charge, to any person obtaining
|
45
|
+
a copy of this software and associated documentation files (the
|
46
|
+
'Software'), to deal in the Software without restriction, including
|
47
|
+
without limitation the rights to use, copy, modify, merge, publish,
|
48
|
+
distribute, sublicense, and/or sell copies of the Software, and to
|
49
|
+
permit persons to whom the Software is furnished to do so, subject to
|
50
|
+
the following conditions:
|
51
|
+
|
52
|
+
The above copyright notice and this permission notice shall be
|
53
|
+
included in all copies or substantial portions of the Software.
|
54
|
+
|
55
|
+
THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
|
56
|
+
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
57
|
+
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
58
|
+
IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
|
59
|
+
CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
|
60
|
+
TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
|
61
|
+
SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
data/Rakefile
ADDED
@@ -0,0 +1,17 @@
|
|
1
|
+
|
2
|
+
begin
|
3
|
+
require 'bones'
|
4
|
+
rescue LoadError
|
5
|
+
abort '### Please install the "bones" gem ###'
|
6
|
+
end
|
7
|
+
|
8
|
+
task :default => 'test:run'
|
9
|
+
task 'gem:release' => 'test:run'
|
10
|
+
|
11
|
+
Bones {
|
12
|
+
name 'translations_ennder'
|
13
|
+
authors 'Ennder'
|
14
|
+
email 'mel@ennder.fr'
|
15
|
+
url 'http://www.ennder.fr'
|
16
|
+
}
|
17
|
+
|
data/app/.directory
ADDED
@@ -0,0 +1,12 @@
|
|
1
|
+
# Methods added to this helper will be available to all templates in the application.
|
2
|
+
module ApplicationHelper
|
3
|
+
#Label de la forme : "<b><nom_colonne></b>: "
|
4
|
+
def label_bold_and_colon(object_name, method, text = nil, options = {})
|
5
|
+
Rails.logger.debug "DEBUG JBA : #{self.class.name}.label_bold_and_colon(#{object_name}, #{method}, #{text}, #{options})"
|
6
|
+
if text.blank?
|
7
|
+
label(true, object_name, method, method.humanize, true, options)
|
8
|
+
else
|
9
|
+
label(true, object_name, method, "<b>#{text}</b> :", true, options)
|
10
|
+
end
|
11
|
+
end
|
12
|
+
end
|
data/lib/.directory
ADDED
@@ -0,0 +1,31 @@
|
|
1
|
+
# Pour que label prenne en compte les formats localisés
|
2
|
+
module ConversionsWithI18nLabel
|
3
|
+
#Constructeur de module
|
4
|
+
def self.included(base)
|
5
|
+
base.instance_eval do
|
6
|
+
# puts "#{base.name}.instance_eval"
|
7
|
+
alias_method_chain :label, :i18n
|
8
|
+
end
|
9
|
+
|
10
|
+
end
|
11
|
+
|
12
|
+
def label_with_i18n(object_name, method, text = nil, options = {})
|
13
|
+
# Rails.logger.debug "DEBUG JBA : #{self.class.name}.label_with_i18n(#{object_name}, #{method}, #{text}, #{options})"
|
14
|
+
|
15
|
+
if !text.blank?
|
16
|
+
#PAS de changement du comportement si un libellé a été fournir
|
17
|
+
return label_without_i18n(object_name, method, text, options)
|
18
|
+
end
|
19
|
+
|
20
|
+
begin
|
21
|
+
_label_trans = I18n.t("activerecord.attributes.#{object_name.to_s.tableize.singularize}.#{method}", :raise => true)
|
22
|
+
rescue I18n::MissingTranslationData
|
23
|
+
# Rails.logger.debug "DEBUG JBA : traduction PAS trouvée(activerecord.attributes.#{object_name.to_s.tableize.singularize}.#{method})"
|
24
|
+
#PAS de changement du comportement si aucune traduction trouvée
|
25
|
+
_label_trans = text
|
26
|
+
end
|
27
|
+
|
28
|
+
# Rails.logger.debug "DEBUG JBA : traduction =[#{_label_trans}]"
|
29
|
+
label_without_i18n(object_name, method, _label_trans, options)
|
30
|
+
end
|
31
|
+
end
|
@@ -0,0 +1,30 @@
|
|
1
|
+
# Pour que to_s prenne en compte les formats localisés
|
2
|
+
module ConversionsWithI18nToS
|
3
|
+
def self.included(base)
|
4
|
+
base.instance_eval do
|
5
|
+
# to_formatted_s
|
6
|
+
# devient :
|
7
|
+
# to_formatted_s_without_i18n
|
8
|
+
# et :
|
9
|
+
# to_formatted_s_with_i18n
|
10
|
+
# devient :
|
11
|
+
# to_formatted_s
|
12
|
+
# alias_method_chain :to_formatted_s, :i18n
|
13
|
+
alias_method_chain :to_s, :i18n
|
14
|
+
|
15
|
+
# alias_method :to_s, :to_formatted_s
|
16
|
+
end
|
17
|
+
end
|
18
|
+
|
19
|
+
# def to_formatted_s_with_i18n(format = :default)
|
20
|
+
def to_s_with_i18n(p_format = :default)
|
21
|
+
begin
|
22
|
+
_format = I18n.t("time.formats.#{p_format}", :raise => true)
|
23
|
+
rescue I18n::MissingTranslationData
|
24
|
+
return to_s_without_i18n(p_format)
|
25
|
+
end
|
26
|
+
|
27
|
+
# Rails.logger.debug "DEBUG JBA : #{self.class.name} : format.#{p_format}=[#{_format}]"
|
28
|
+
I18n.l( self, :format => _format )
|
29
|
+
end
|
30
|
+
end
|
@@ -0,0 +1,23 @@
|
|
1
|
+
# Sample localization file for English. Add more files in this directory for other locales.
|
2
|
+
# See http://github.com/svenfuchs/rails-i18n/tree/master/rails%2Flocale for starting points.
|
3
|
+
|
4
|
+
en:
|
5
|
+
untitled: "Untitled"
|
6
|
+
|
7
|
+
Show: 'Show'
|
8
|
+
Create: 'Create'
|
9
|
+
Add: 'Add'
|
10
|
+
Edit: 'Edit'
|
11
|
+
Delete: 'Delete'
|
12
|
+
|
13
|
+
Update: 'Update'
|
14
|
+
Cancel: 'Cancel'
|
15
|
+
|
16
|
+
time:
|
17
|
+
formats:
|
18
|
+
short_nbsp: "%Y/%m/%d %H:%M"
|
19
|
+
|
20
|
+
confirmation:
|
21
|
+
successfully_updated: '%{model} was successfully updated.'
|
22
|
+
successfully_created: '%{model} was successfully created.'
|
23
|
+
are_you_sure: 'Are you sure?'
|
@@ -0,0 +1,173 @@
|
|
1
|
+
# French translations for Ruby on Rails
|
2
|
+
# by Christian Lescuyer (christian@flyingcoders.com)
|
3
|
+
# contributor: Sebastien Grosjean - ZenCocoon.com
|
4
|
+
|
5
|
+
fr:
|
6
|
+
#1) Traductions communes
|
7
|
+
untitled: "Sans titre"
|
8
|
+
|
9
|
+
Show: 'Voir'
|
10
|
+
Add: 'Ajoute'
|
11
|
+
Create: 'Crée'
|
12
|
+
Edit: 'Éditer'
|
13
|
+
Delete: 'Supprimer'
|
14
|
+
|
15
|
+
Update: 'Met-à-jour'
|
16
|
+
Cancel: 'Annuler'
|
17
|
+
|
18
|
+
#2) Messages de confirmations
|
19
|
+
confirmation:
|
20
|
+
successfully_updated: '%{model} a été mis(e)-à-jour avec succès.'
|
21
|
+
successfully_created: '%{model} a été créé(e) avec succès.'
|
22
|
+
are_you_sure: 'Êtes-vous sur(e)?'
|
23
|
+
|
24
|
+
#3) ActiveRecord
|
25
|
+
activerecord:
|
26
|
+
models:
|
27
|
+
user: "Utilisateur"
|
28
|
+
attributes:
|
29
|
+
session:
|
30
|
+
password: 'Mot de passe 1'
|
31
|
+
sessions:
|
32
|
+
password: 'Mot de passe 2'
|
33
|
+
user:
|
34
|
+
password: 'Mot de passe 3'
|
35
|
+
users:
|
36
|
+
password: 'Mot de passe 4'
|
37
|
+
errors:
|
38
|
+
template:
|
39
|
+
header:
|
40
|
+
one: "Impossible d'enregistrer %{model}: 1 erreur"
|
41
|
+
other: "Impossible d'enregistrer %{model}: %{count} erreurs."
|
42
|
+
body: "Veuillez vérifier les champs suivants :"
|
43
|
+
messages:
|
44
|
+
inclusion: "n'est pas inclus(e) dans la liste"
|
45
|
+
exclusion: "n'est pas disponible"
|
46
|
+
invalid: "n'est pas valide"
|
47
|
+
confirmation: "ne concorde pas avec la confirmation"
|
48
|
+
accepted: "doit être accepté(e)"
|
49
|
+
empty: "doit être rempli(e)"
|
50
|
+
blank: "doit être rempli(e)"
|
51
|
+
too_long: "est trop long (pas plus de %{count} caractères)"
|
52
|
+
too_short: "est trop court (au moins %{count} caractères)"
|
53
|
+
wrong_length: "ne fait pas la bonne longueur (doit comporter %{count} caractères)"
|
54
|
+
taken: "n'est pas disponible"
|
55
|
+
not_a_number: "n'est pas un nombre"
|
56
|
+
greater_than: "doit être supérieur à %{count}"
|
57
|
+
greater_than_or_equal_to: "doit être supérieur ou égal à %{count}"
|
58
|
+
equal_to: "doit être égal à %{count}"
|
59
|
+
less_than: "doit être inférieur à %{count}"
|
60
|
+
less_than_or_equal_to: "doit être inférieur ou égal à %{count}"
|
61
|
+
odd: "doit être impair"
|
62
|
+
even: "doit être pair"
|
63
|
+
record_invalid: "La validation a échoué : %{errors}"
|
64
|
+
|
65
|
+
#4) Formats de Date et d'Heure
|
66
|
+
date:
|
67
|
+
formats:
|
68
|
+
default: "%d/%m/%Y"
|
69
|
+
short: "%e %b"
|
70
|
+
long: "%e %b %Y"
|
71
|
+
long_ordinal: "%e %B %Y"
|
72
|
+
only_day: "%e"
|
73
|
+
|
74
|
+
day_names: [dimanche, lundi, mardi, mercredi, jeudi, vendredi, samedi]
|
75
|
+
abbr_day_names: [dim, lun, mar, mer, jeu, ven, sam]
|
76
|
+
month_names: [~, janvier, février, mars, avril, mai, juin, juillet, août, septembre, octobre, novembre, décembre]
|
77
|
+
abbr_month_names: [~, jan., fév., mar., avr., mai, juin, juil., août, sept., oct., nov., déc.]
|
78
|
+
order: [ :day, :month, :year ]
|
79
|
+
|
80
|
+
time:
|
81
|
+
formats:
|
82
|
+
default: "%d %b %Y %H:%M"
|
83
|
+
time: "%H:%M"
|
84
|
+
short: "%d/%m/%Y %H:%M"
|
85
|
+
short_nbsp: "%Y/%m/%d %Hh%M"
|
86
|
+
long: "%A %d %b %Y %H:%M:%S %Z"
|
87
|
+
long_ordinal: "%A %d %B %Y %H:%M:%S %Z"
|
88
|
+
only_second: "%S"
|
89
|
+
am: 'am'
|
90
|
+
pm: 'pm'
|
91
|
+
|
92
|
+
datetime:
|
93
|
+
distance_in_words:
|
94
|
+
half_a_minute: "une demi-minute"
|
95
|
+
less_than_x_seconds:
|
96
|
+
zero: "moins d'une seconde"
|
97
|
+
one: "moins de 1 seconde"
|
98
|
+
other: "moins de %{count} secondes"
|
99
|
+
x_seconds:
|
100
|
+
one: "1 seconde"
|
101
|
+
other: "%{count} secondes"
|
102
|
+
less_than_x_minutes:
|
103
|
+
zero: "moins d'une minute"
|
104
|
+
one: "moins de 1 minute"
|
105
|
+
other: "moins de %{count} minutes"
|
106
|
+
x_minutes:
|
107
|
+
one: "1 minute"
|
108
|
+
other: "%{count} minutes"
|
109
|
+
about_x_hours:
|
110
|
+
one: "environ une heure"
|
111
|
+
other: "environ %{count} heures"
|
112
|
+
x_days:
|
113
|
+
one: "1 jour"
|
114
|
+
other: "%{count} jours"
|
115
|
+
about_x_months:
|
116
|
+
one: "environ un mois"
|
117
|
+
other: "environ %{count} mois"
|
118
|
+
x_months:
|
119
|
+
one: "1 mois"
|
120
|
+
other: "%{count} mois"
|
121
|
+
about_x_years:
|
122
|
+
one: "environ un an"
|
123
|
+
other: "environ %{count} ans"
|
124
|
+
over_x_years:
|
125
|
+
one: "plus d'un an"
|
126
|
+
other: "plus de %{count} ans"
|
127
|
+
prompts:
|
128
|
+
year: "Année"
|
129
|
+
month: "Mois"
|
130
|
+
day: "Jour"
|
131
|
+
hour: "Heure"
|
132
|
+
minute: "Minute"
|
133
|
+
second: "Seconde"
|
134
|
+
|
135
|
+
#5) Nombres
|
136
|
+
number:
|
137
|
+
format:
|
138
|
+
precision: 3
|
139
|
+
separator: ','
|
140
|
+
delimiter: ' '
|
141
|
+
currency:
|
142
|
+
format:
|
143
|
+
unit: '€'
|
144
|
+
precision: 2
|
145
|
+
format: '%n %u'
|
146
|
+
human:
|
147
|
+
format:
|
148
|
+
# These three are to override number.format and are optional
|
149
|
+
# separator:
|
150
|
+
delimiter: ""
|
151
|
+
precision: 2
|
152
|
+
# Rails <= v2.2.2
|
153
|
+
# storage_units: [octet, kb, Mb, Gb, Tb]
|
154
|
+
# Rails >= v2.3
|
155
|
+
storage_units:
|
156
|
+
format: "%n %u"
|
157
|
+
units:
|
158
|
+
byte:
|
159
|
+
one: "octet"
|
160
|
+
other: "octets"
|
161
|
+
kb: "ko"
|
162
|
+
mb: "Mo"
|
163
|
+
gb: "Go"
|
164
|
+
tb: "To"
|
165
|
+
|
166
|
+
#7) Tableaux
|
167
|
+
support:
|
168
|
+
array:
|
169
|
+
sentence_connector: 'et'
|
170
|
+
skip_last_comma: true
|
171
|
+
words_connector: ", "
|
172
|
+
two_words_connector: " et "
|
173
|
+
last_word_connector: " et "
|
@@ -0,0 +1,13 @@
|
|
1
|
+
# -*- coding: utf-8 -*-
|
2
|
+
|
3
|
+
Rails.configuration.after_initialize do
|
4
|
+
I18n.load_path.unshift File.expand_path(File.join(File.dirname(__FILE__), 'locales', 'en.yml'))
|
5
|
+
I18n.load_path.unshift File.expand_path(File.join(File.dirname(__FILE__), 'locales', 'fr.yml'))
|
6
|
+
|
7
|
+
#JBA 2010-09-19, sera caduque avec Rails 3
|
8
|
+
#pour que to_s prenne en compte les formats localisés
|
9
|
+
# Date.send :include, ConversionsWithI18nToS
|
10
|
+
# Time.send :include, ConversionsWithI18nToS
|
11
|
+
ActiveSupport::TimeWithZone.send :include, ConversionsWithI18nToS
|
12
|
+
ActionView::Helpers::FormHelper.send :include, ConversionsWithI18nLabel
|
13
|
+
end
|
@@ -0,0 +1,65 @@
|
|
1
|
+
|
2
|
+
module TranslationsEnnder
|
3
|
+
|
4
|
+
# :stopdoc:
|
5
|
+
LIBPATH = ::File.expand_path(::File.dirname(__FILE__)) + ::File::SEPARATOR
|
6
|
+
PATH = ::File.dirname(LIBPATH) + ::File::SEPARATOR
|
7
|
+
# :startdoc:
|
8
|
+
|
9
|
+
# Returns the version string for the library.
|
10
|
+
#
|
11
|
+
def self.version
|
12
|
+
@version ||= File.read(path('version.txt')).strip
|
13
|
+
end
|
14
|
+
|
15
|
+
# Returns the library path for the module. If any arguments are given,
|
16
|
+
# they will be joined to the end of the libray path using
|
17
|
+
# <tt>File.join</tt>.
|
18
|
+
#
|
19
|
+
def self.libpath( *args, &block )
|
20
|
+
rv = args.empty? ? LIBPATH : ::File.join(LIBPATH, args.flatten)
|
21
|
+
if block
|
22
|
+
begin
|
23
|
+
$LOAD_PATH.unshift LIBPATH
|
24
|
+
rv = block.call
|
25
|
+
ensure
|
26
|
+
$LOAD_PATH.shift
|
27
|
+
end
|
28
|
+
end
|
29
|
+
return rv
|
30
|
+
end
|
31
|
+
|
32
|
+
# Returns the lpath for the module. If any arguments are given,
|
33
|
+
# they will be joined to the end of the path using
|
34
|
+
# <tt>File.join</tt>.
|
35
|
+
#
|
36
|
+
def self.path( *args, &block )
|
37
|
+
rv = args.empty? ? PATH : ::File.join(PATH, args.flatten)
|
38
|
+
if block
|
39
|
+
begin
|
40
|
+
$LOAD_PATH.unshift PATH
|
41
|
+
rv = block.call
|
42
|
+
ensure
|
43
|
+
$LOAD_PATH.shift
|
44
|
+
end
|
45
|
+
end
|
46
|
+
return rv
|
47
|
+
end
|
48
|
+
|
49
|
+
# Utility method used to require all files ending in .rb that lie in the
|
50
|
+
# directory below this file that has the same name as the filename passed
|
51
|
+
# in. Optionally, a specific _directory_ name can be passed in such that
|
52
|
+
# the _filename_ does not have to be equivalent to the directory.
|
53
|
+
#
|
54
|
+
def self.require_all_libs_relative_to( fname, dir = nil )
|
55
|
+
dir ||= ::File.basename(fname, '.*')
|
56
|
+
search_me = ::File.expand_path(
|
57
|
+
::File.join(::File.dirname(fname), dir, '**', '*.rb'))
|
58
|
+
|
59
|
+
Dir.glob(search_me).sort.each {|rb| require rb}
|
60
|
+
end
|
61
|
+
|
62
|
+
end # module TranslationsEnnder
|
63
|
+
|
64
|
+
TranslationsEnnder.require_all_libs_relative_to(__FILE__)
|
65
|
+
|
data/spec/spec_helper.rb
ADDED
@@ -0,0 +1,15 @@
|
|
1
|
+
|
2
|
+
require File.expand_path(
|
3
|
+
File.join(File.dirname(__FILE__), %w[.. lib translations_ennder]))
|
4
|
+
|
5
|
+
Spec::Runner.configure do |config|
|
6
|
+
# == Mock Framework
|
7
|
+
#
|
8
|
+
# RSpec uses it's own mocking framework by default. If you prefer to
|
9
|
+
# use mocha, flexmock or RR, uncomment the appropriate line:
|
10
|
+
#
|
11
|
+
# config.mock_with :mocha
|
12
|
+
# config.mock_with :flexmock
|
13
|
+
# config.mock_with :rr
|
14
|
+
end
|
15
|
+
|
data/test/.directory
ADDED
@@ -0,0 +1,13 @@
|
|
1
|
+
# -*- coding: undecided -*-
|
2
|
+
require 'test_helper'
|
3
|
+
|
4
|
+
puts "Version de Rails : [#{Rails::VERSION::STRING}]"
|
5
|
+
|
6
|
+
class TranslationTest < ActionController::IntegrationTest
|
7
|
+
fixtures :all
|
8
|
+
|
9
|
+
# TODO à tester (sans contrôleur !!!, alors que ce test est un test de contrôleur => jamais activé )
|
10
|
+
test "the truth" do
|
11
|
+
assert ( Time.utc(2011,"jan",1,16,0,0).to_s(:short) == '2011/12/01 16:01' )
|
12
|
+
end
|
13
|
+
end
|
File without changes
|
data/version.txt
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
0.9.0
|
metadata
ADDED
@@ -0,0 +1,117 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: translations_ennder
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
hash: 59
|
5
|
+
prerelease: false
|
6
|
+
segments:
|
7
|
+
- 0
|
8
|
+
- 9
|
9
|
+
- 0
|
10
|
+
version: 0.9.0
|
11
|
+
platform: ruby
|
12
|
+
authors:
|
13
|
+
- Ennder
|
14
|
+
autorequire:
|
15
|
+
bindir: bin
|
16
|
+
cert_chain: []
|
17
|
+
|
18
|
+
date: 2011-01-07 00:00:00 +01:00
|
19
|
+
default_executable:
|
20
|
+
dependencies:
|
21
|
+
- !ruby/object:Gem::Dependency
|
22
|
+
name: bones
|
23
|
+
prerelease: false
|
24
|
+
requirement: &id001 !ruby/object:Gem::Requirement
|
25
|
+
none: false
|
26
|
+
requirements:
|
27
|
+
- - ">="
|
28
|
+
- !ruby/object:Gem::Version
|
29
|
+
hash: 27
|
30
|
+
segments:
|
31
|
+
- 3
|
32
|
+
- 5
|
33
|
+
- 4
|
34
|
+
version: 3.5.4
|
35
|
+
type: :development
|
36
|
+
version_requirements: *id001
|
37
|
+
description: "Ce plugin apporte des traductions standard en fran\xC3\xA7ais et anglais.\n\
|
38
|
+
This plugin brings translations in french and english."
|
39
|
+
email: mel@ennder.fr
|
40
|
+
executables:
|
41
|
+
- translations_ennder
|
42
|
+
extensions: []
|
43
|
+
|
44
|
+
extra_rdoc_files:
|
45
|
+
- History.txt
|
46
|
+
- bin/translations_ennder
|
47
|
+
- lib/.directory
|
48
|
+
- lib/tasks/translations_ennder_tasks.rake
|
49
|
+
- lib/translations_ennder/.directory
|
50
|
+
- lib/translations_ennder/locales/.directory
|
51
|
+
- lib/translations_ennder/locales/en.yml
|
52
|
+
- lib/translations_ennder/locales/fr.yml
|
53
|
+
- version.txt
|
54
|
+
files:
|
55
|
+
- .bnsignore
|
56
|
+
- .gitignore
|
57
|
+
- History.txt
|
58
|
+
- README.md
|
59
|
+
- Rakefile
|
60
|
+
- app/.directory
|
61
|
+
- app/helpers/.directory
|
62
|
+
- app/helpers/application_helper.rb
|
63
|
+
- bin/translations_ennder
|
64
|
+
- lib/.directory
|
65
|
+
- lib/tasks/translations_ennder_tasks.rake
|
66
|
+
- lib/translations_ennder.rb
|
67
|
+
- lib/translations_ennder/.directory
|
68
|
+
- lib/translations_ennder/conversions_with_i18n_label.rb
|
69
|
+
- lib/translations_ennder/conversions_with_i18n_to_s.rb
|
70
|
+
- lib/translations_ennder/locales/.directory
|
71
|
+
- lib/translations_ennder/locales/en.yml
|
72
|
+
- lib/translations_ennder/locales/fr.yml
|
73
|
+
- lib/translations_ennder/rails.rb
|
74
|
+
- spec/spec_helper.rb
|
75
|
+
- spec/translations_ennder_spec.rb
|
76
|
+
- test/.directory
|
77
|
+
- test/integration/.directory
|
78
|
+
- test/integration/translations_test.rb
|
79
|
+
- test/test_translations_ennder.rb
|
80
|
+
- version.txt
|
81
|
+
has_rdoc: true
|
82
|
+
homepage: http://www.ennder.fr
|
83
|
+
licenses: []
|
84
|
+
|
85
|
+
post_install_message:
|
86
|
+
rdoc_options:
|
87
|
+
- --main
|
88
|
+
- README.md
|
89
|
+
require_paths:
|
90
|
+
- lib
|
91
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
92
|
+
none: false
|
93
|
+
requirements:
|
94
|
+
- - ">="
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
hash: 3
|
97
|
+
segments:
|
98
|
+
- 0
|
99
|
+
version: "0"
|
100
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
101
|
+
none: false
|
102
|
+
requirements:
|
103
|
+
- - ">="
|
104
|
+
- !ruby/object:Gem::Version
|
105
|
+
hash: 3
|
106
|
+
segments:
|
107
|
+
- 0
|
108
|
+
version: "0"
|
109
|
+
requirements: []
|
110
|
+
|
111
|
+
rubyforge_project: translations_ennder
|
112
|
+
rubygems_version: 1.3.7
|
113
|
+
signing_key:
|
114
|
+
specification_version: 3
|
115
|
+
summary: "Ce plugin apporte des traductions standard en fran\xC3\xA7ais et anglais."
|
116
|
+
test_files:
|
117
|
+
- test/test_translations_ennder.rb
|