nelumba-i18n 0.0.2
Sign up to get free protection for your applications and to get access to all the features.
- data/Gemfile +15 -0
- data/Gemfile.lock +49 -0
- data/LICENSE +127 -0
- data/Rakefile +7 -0
- data/lib/nelumba-i18n.rb +11 -0
- data/lib/nelumba-i18n/i18n.rb +166 -0
- data/lib/nelumba-i18n/locales.rb +122 -0
- data/lib/nelumba-i18n/locales/en/grammar.yml +230 -0
- data/lib/nelumba-i18n/locales/en/lexicon.yml +135 -0
- data/lib/nelumba-i18n/locales/es/grammar.yml +202 -0
- data/lib/nelumba-i18n/locales/es/lexicon.yml +312 -0
- data/lib/nelumba-i18n/version.rb +3 -0
- data/nelumba-i18n.gemspec +24 -0
- data/spec/en/post_spec.rb +144 -0
- data/spec/helper.rb +20 -0
- data/test/LAYOUT +6 -0
- data/test/en/favorite/object.yml +403 -0
- data/test/en/post/actor_object.yml +10 -0
- data/test/en/post/object.yml +495 -0
- metadata +120 -0
@@ -0,0 +1,312 @@
|
|
1
|
+
es:
|
2
|
+
action:
|
3
|
+
favorite: "apreciar"
|
4
|
+
unfavorite: "eliminar la apreciación"
|
5
|
+
follow: "seguir"
|
6
|
+
unfollow: "dejar de seguir"
|
7
|
+
like: "me gusta"
|
8
|
+
unlike: "no me gusta"
|
9
|
+
mention: "mencionar"
|
10
|
+
reply: "respondar"
|
11
|
+
save: "guardar"
|
12
|
+
share: "compartir"
|
13
|
+
unshare: "dejar de compartir"
|
14
|
+
subscribe: "suscribir"
|
15
|
+
unsubscribe: "dejar de suscribirse"
|
16
|
+
tag: "etiquetar"
|
17
|
+
untag: "eliminar la etiqueta"
|
18
|
+
|
19
|
+
category:
|
20
|
+
activities: "actividades"
|
21
|
+
mentions: "menciones"
|
22
|
+
replies: "respuestas"
|
23
|
+
timeline: "cronología"
|
24
|
+
|
25
|
+
field:
|
26
|
+
title: "titulo"
|
27
|
+
password: "contraseña"
|
28
|
+
username: "nombre de usuario"
|
29
|
+
avatar: "avatar"
|
30
|
+
|
31
|
+
possessive_pronoun:
|
32
|
+
our:
|
33
|
+
inclusive:
|
34
|
+
singular: "nuestra/o"
|
35
|
+
plural: "nuestras/os"
|
36
|
+
masculine:
|
37
|
+
singular: "nuestro"
|
38
|
+
plural: "nuestros"
|
39
|
+
feminine:
|
40
|
+
singular: "nuestra"
|
41
|
+
plural: "nuestras"
|
42
|
+
their:
|
43
|
+
singular: "su"
|
44
|
+
plural: "sus"
|
45
|
+
your:
|
46
|
+
singular: "tu"
|
47
|
+
plural: "tus"
|
48
|
+
his:
|
49
|
+
singular: "su"
|
50
|
+
plural: "sus"
|
51
|
+
her:
|
52
|
+
singular: "su"
|
53
|
+
plural: "sus"
|
54
|
+
em:
|
55
|
+
singular: "su"
|
56
|
+
plural: "sus"
|
57
|
+
Thor:
|
58
|
+
singular: "su"
|
59
|
+
plural: "sus"
|
60
|
+
hum:
|
61
|
+
singular: "su"
|
62
|
+
plural: "sus"
|
63
|
+
per:
|
64
|
+
singular: "su"
|
65
|
+
plural: "sus"
|
66
|
+
thon:
|
67
|
+
singular: "su"
|
68
|
+
plural: "sus"
|
69
|
+
jem:
|
70
|
+
singular: "su"
|
71
|
+
plural: "sus"
|
72
|
+
ver:
|
73
|
+
singular: "su"
|
74
|
+
plural: "sus"
|
75
|
+
xem:
|
76
|
+
singular: "su"
|
77
|
+
plural: "sus"
|
78
|
+
zir:
|
79
|
+
singular: "su"
|
80
|
+
plural: "sus"
|
81
|
+
zem:
|
82
|
+
singular: "su"
|
83
|
+
plural: "sus"
|
84
|
+
hir:
|
85
|
+
singular: "su"
|
86
|
+
plural: "sus"
|
87
|
+
mer:
|
88
|
+
singular: "su"
|
89
|
+
plural: "sus"
|
90
|
+
zhim:
|
91
|
+
singular: "su"
|
92
|
+
plural: "sus"
|
93
|
+
|
94
|
+
pronoun:
|
95
|
+
you: "tú"
|
96
|
+
he: "el"
|
97
|
+
she: "ella"
|
98
|
+
they:
|
99
|
+
singular:
|
100
|
+
inclusive: "el o ella"
|
101
|
+
feminine: "ella"
|
102
|
+
masculine: "ello"
|
103
|
+
plural:
|
104
|
+
inclusive: "ella/os"
|
105
|
+
feminine: "ellas"
|
106
|
+
masculine: "ellos"
|
107
|
+
e: "e"
|
108
|
+
ey: "ey"
|
109
|
+
Tho: "Tho"
|
110
|
+
hu: "hu"
|
111
|
+
per: "per"
|
112
|
+
thon: "thon"
|
113
|
+
jee: "jee"
|
114
|
+
ve: "ve"
|
115
|
+
xe: "xe"
|
116
|
+
ze: "ze"
|
117
|
+
zhe: "zhe"
|
118
|
+
|
119
|
+
verb:
|
120
|
+
mention:
|
121
|
+
past_participle: "mencionado"
|
122
|
+
first_person_singular: "mencioné"
|
123
|
+
second_person_singular: "mencionaste"
|
124
|
+
third_person_singular: "mencionó"
|
125
|
+
first_person_plural: "mencionamos"
|
126
|
+
second_person_plural: "mencionaron"
|
127
|
+
third_person_plural: "mencionaron"
|
128
|
+
reply:
|
129
|
+
past_participle: "respondido"
|
130
|
+
first_person_singular: "respondí"
|
131
|
+
second_person_singular: "respondiste"
|
132
|
+
third_person_singular: "respondó"
|
133
|
+
first_person_plural: "respondimos"
|
134
|
+
second_person_plural: "respondieron"
|
135
|
+
third_person_plural: "respondieron"
|
136
|
+
favorite:
|
137
|
+
past_participle: "apreciando"
|
138
|
+
first_person_singular: "aprecié"
|
139
|
+
second_person_singular: "apreciaste"
|
140
|
+
third_person_singular: "apreció"
|
141
|
+
first_person_plural: "apreciamos"
|
142
|
+
second_person_plural: "apreciaron"
|
143
|
+
third_person_plural: "apreciaron"
|
144
|
+
share:
|
145
|
+
past_participle: "compartido"
|
146
|
+
first_person_singular: "compartí"
|
147
|
+
second_person_singular: "compartiste"
|
148
|
+
third_person_singular: "compartió"
|
149
|
+
first_person_plural: "compartimos"
|
150
|
+
second_person_plural: "compartieron"
|
151
|
+
third_person_plural: "compartieron"
|
152
|
+
post:
|
153
|
+
past_participle: "publicado"
|
154
|
+
first_person_singular: "publiqué"
|
155
|
+
second_person_singular: "publicaste"
|
156
|
+
third_person_singular: "publicó"
|
157
|
+
first_person_plural: "publicamos"
|
158
|
+
second_person_plural: "publicaron"
|
159
|
+
third_person_plural: "publicaron"
|
160
|
+
follow:
|
161
|
+
past_participle: "seguiendo"
|
162
|
+
first_person_singular: "seguí"
|
163
|
+
second_person_singular: "seguiste"
|
164
|
+
third_person_singular: "siguió"
|
165
|
+
first_person_plural: "seguimos"
|
166
|
+
second_person_plural: "seguieron"
|
167
|
+
third_person_plural: "seguieron"
|
168
|
+
subscribe:
|
169
|
+
past_participle: "suscripto"
|
170
|
+
first_person_singular: "suscribí"
|
171
|
+
second_person_singular: "suscribiste"
|
172
|
+
third_person_singular: "suscribió"
|
173
|
+
first_person_plural: "suscribimos"
|
174
|
+
second_person_plural: "suscribieron"
|
175
|
+
third_person_plural: "suscribieron"
|
176
|
+
like:
|
177
|
+
past_participle: "gustado"
|
178
|
+
first_person_singular: "me gustó"
|
179
|
+
second_person_singular: "te gustó"
|
180
|
+
third_person_singular: "le gustó"
|
181
|
+
first_person_plural: "nos gustó"
|
182
|
+
second_person_plural: "les gustó"
|
183
|
+
third_person_plural: "les gustó"
|
184
|
+
join:
|
185
|
+
past_participle: "juntado"
|
186
|
+
first_person_singular: "junté"
|
187
|
+
second_person_singular: "juntaste"
|
188
|
+
third_person_singular: "juntó"
|
189
|
+
first_person_plural: "juntamos"
|
190
|
+
second_person_plural: "juntaron"
|
191
|
+
third_person_plural: "juntaron"
|
192
|
+
play:
|
193
|
+
past_participle: "jugado"
|
194
|
+
first_person_singular: "jugué"
|
195
|
+
second_person_singular: "jugaste"
|
196
|
+
third_person_singular: "jugó"
|
197
|
+
first_person_plural: "jugamos"
|
198
|
+
second_person_plural: "jugaron"
|
199
|
+
third_person_plural: "jugaron"
|
200
|
+
listen:
|
201
|
+
past_participle: "escuchado"
|
202
|
+
first_person_singular: "escuché"
|
203
|
+
second_person_singular: "escuchaste"
|
204
|
+
third_person_singular: "escuchó"
|
205
|
+
first_person_plural: "escuchamos"
|
206
|
+
second_person_plural: "escucharon"
|
207
|
+
third_person_plural: "escucharon"
|
208
|
+
update:
|
209
|
+
past_participle: "actualizado"
|
210
|
+
first_person_singular: "actualicé"
|
211
|
+
second_person_singular: "actualizaste"
|
212
|
+
third_person_singular: "actualizó"
|
213
|
+
first_person_plural: "actualizamos"
|
214
|
+
second_person_plural: "actualizaron"
|
215
|
+
third_person_plural: "actualizaron"
|
216
|
+
tag:
|
217
|
+
past_participle: "etiquetado"
|
218
|
+
first_person_singular: "etiqueté"
|
219
|
+
second_person_singular: "etiquetaste"
|
220
|
+
third_person_singular: "etiquetó"
|
221
|
+
first_person_plural: "etiquetamos"
|
222
|
+
second_person_plural: "etiquetaron"
|
223
|
+
third_person_plural: "etiquetaron"
|
224
|
+
save:
|
225
|
+
past_participle: "guardado"
|
226
|
+
first_person_singular: "guardé"
|
227
|
+
second_person_singular: "guardaste"
|
228
|
+
third_person_singular: "guardó"
|
229
|
+
first_person_plural: "guardamos"
|
230
|
+
second_person_plural: "guardaron"
|
231
|
+
third_person_plural: "guardaron"
|
232
|
+
make-friend:
|
233
|
+
past-participle: "hecho amigos"
|
234
|
+
first_person_singular: "me hice amigo"
|
235
|
+
second_person_singular: "te has convierten en amigos"
|
236
|
+
third_person_singular: "se hicieron amigos"
|
237
|
+
first_person_plural: "nos hicimos amigos"
|
238
|
+
second_person_plural: "hicieron amigos"
|
239
|
+
third_person_plural: "hicieron amigos"
|
240
|
+
|
241
|
+
object:
|
242
|
+
article: "artículo"
|
243
|
+
singular_article: "un artículo"
|
244
|
+
plural_article: "artículos"
|
245
|
+
many_article: "unos artículos"
|
246
|
+
some_article: "algunos artículos"
|
247
|
+
|
248
|
+
audio: "audio"
|
249
|
+
singular_audio: "un audio"
|
250
|
+
plural_audio: "audios"
|
251
|
+
many_audio: "unos audios"
|
252
|
+
some_audio: "algunos audios"
|
253
|
+
|
254
|
+
video: "vídeo"
|
255
|
+
singular_video: "un vídeo"
|
256
|
+
plural_video: "vídeos"
|
257
|
+
many_video: "unos videos"
|
258
|
+
some_video: "algunos videos"
|
259
|
+
|
260
|
+
image: "imagen"
|
261
|
+
singular_image: "una imagen"
|
262
|
+
plural_image: "imagenes"
|
263
|
+
many_video: "unas imagen"
|
264
|
+
some_video: "algunas imagen"
|
265
|
+
|
266
|
+
place: "lugar"
|
267
|
+
singular_place: "un lugar"
|
268
|
+
plural_place: "lugares"
|
269
|
+
many_place: "unos lugares"
|
270
|
+
some_place: "algunos lugares"
|
271
|
+
|
272
|
+
activity: "actividad"
|
273
|
+
singular_activity: "un actividad"
|
274
|
+
plural_activity: "actividades"
|
275
|
+
many_activity: "unos actividades"
|
276
|
+
some_activity: "algunos actividades"
|
277
|
+
|
278
|
+
list: "lista"
|
279
|
+
singular_list: "una lista"
|
280
|
+
plural_list: "listas"
|
281
|
+
many_list: "unas listas"
|
282
|
+
some_list: "algunas listas"
|
283
|
+
|
284
|
+
status: "estado"
|
285
|
+
singular_status: "un estado"
|
286
|
+
plural_status: "estados"
|
287
|
+
many_status: "unos estados"
|
288
|
+
some_status: "algunos estados"
|
289
|
+
|
290
|
+
note: "nota"
|
291
|
+
singular_note: "una nota"
|
292
|
+
plural_note: "notas"
|
293
|
+
many_note: "unas notas"
|
294
|
+
some_note: "algunas notas"
|
295
|
+
|
296
|
+
comment: "comentario"
|
297
|
+
singular_comment: "un comentario"
|
298
|
+
plural_comment: "comentarios"
|
299
|
+
many_comment: "unos comentarios"
|
300
|
+
some_comment: "algunos comentarios"
|
301
|
+
|
302
|
+
file: "archivo"
|
303
|
+
singular_file: "un archivo"
|
304
|
+
plural_files: "archivos"
|
305
|
+
many_file: "unos archivos"
|
306
|
+
some_file: "algunos archivos"
|
307
|
+
|
308
|
+
album: "álbum"
|
309
|
+
singular_album: "un álbum"
|
310
|
+
plural_album: "álbumes"
|
311
|
+
many_album: "unos álbumes"
|
312
|
+
some_album: "algunos álbumes"
|
@@ -0,0 +1,24 @@
|
|
1
|
+
# -*- encoding: utf-8 -*-
|
2
|
+
$:.push File.expand_path("../lib", __FILE__)
|
3
|
+
require "nelumba-i18n/version"
|
4
|
+
|
5
|
+
Gem::Specification.new do |s|
|
6
|
+
s.name = "nelumba-i18n"
|
7
|
+
s.version = Nelumba::I18N_VERSION
|
8
|
+
s.platform = Gem::Platform::RUBY
|
9
|
+
s.authors = ['Hackers of the Severed Hand']
|
10
|
+
s.email = ['hotsh@xomb.org']
|
11
|
+
s.homepage = "http://github.com/hotsh/nelumba-i18n"
|
12
|
+
s.summary = %q{Localization strings for nelumba, a generalized federated system backend for social networks with ActivityStreams/OStatus/pump.io.}
|
13
|
+
s.description = %q{This gem contains localization effort for nelumba, a gem which allows easier implementation and utilization of distributed, federated social networks.}
|
14
|
+
|
15
|
+
s.add_dependency "i18n"
|
16
|
+
|
17
|
+
s.add_development_dependency "rspec", "~> 2.10.0"
|
18
|
+
s.add_development_dependency "rake", "~> 0.9.2"
|
19
|
+
|
20
|
+
s.files = `git ls-files`.split("\n")
|
21
|
+
s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
|
22
|
+
s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
|
23
|
+
s.require_paths = ["lib"]
|
24
|
+
end
|
@@ -0,0 +1,144 @@
|
|
1
|
+
require_relative '../helper.rb'
|
2
|
+
|
3
|
+
describe Nelumba::I18n do
|
4
|
+
describe "sentence" do
|
5
|
+
describe "for post objects" do
|
6
|
+
describe "with just objects" do
|
7
|
+
language_yaml(:en, :post)["object"].each do |k,v|
|
8
|
+
hash = {:verb => :post,
|
9
|
+
:locale => :en,
|
10
|
+
:object => k.intern}
|
11
|
+
it "should translate #{hash} to '#{v}'" do
|
12
|
+
Nelumba::I18n.sentence(hash).must_equal v
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
16
|
+
|
17
|
+
describe "with objects and actors" do
|
18
|
+
language_yaml(:en, :post)["actor_object"].each do |k,v|
|
19
|
+
hash = {:verb => :post,
|
20
|
+
:locale => :en,
|
21
|
+
:actor => "wilkie",
|
22
|
+
:object => k.intern}
|
23
|
+
it "should translate #{hash} to '#{v}'" do
|
24
|
+
Nelumba::I18n.sentence(hash).must_equal v
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
28
|
+
|
29
|
+
describe "with objects and object owners and actors" do
|
30
|
+
language_yaml(:en, :post)["actor_owner_object"].each do |k,v|
|
31
|
+
hash = {:verb => :post,
|
32
|
+
:locale => :en,
|
33
|
+
:actor => "wilkie",
|
34
|
+
:object_owner => "carol",
|
35
|
+
:object => k.intern}
|
36
|
+
it "should translate #{hash} to '#{v}'" do
|
37
|
+
Nelumba::I18n.sentence(hash).must_equal v
|
38
|
+
end
|
39
|
+
end
|
40
|
+
end
|
41
|
+
|
42
|
+
describe "with objects and object owner pronouns and actors" do
|
43
|
+
language_yaml(:en, :post)["actor_owner_pronoun_object"].each do |pronoun, hash_1|
|
44
|
+
pronoun = pronoun.intern
|
45
|
+
hash_1.each do |k, v|
|
46
|
+
hash = {:verb => :post,
|
47
|
+
:locale => :en,
|
48
|
+
:actor => "wilkie",
|
49
|
+
:object_owner => pronoun,
|
50
|
+
:object => k.intern}
|
51
|
+
it "should translate #{hash} to '#{v}'" do
|
52
|
+
Nelumba::I18n.sentence(hash).must_equal v
|
53
|
+
end
|
54
|
+
end
|
55
|
+
end
|
56
|
+
end
|
57
|
+
|
58
|
+
describe "with objects and actors with pronouns" do
|
59
|
+
language_yaml(:en, :post)["actor_pronoun_object"].each do |pronoun, hash_1|
|
60
|
+
pronoun = pronoun.intern
|
61
|
+
hash_1.each do |k, v|
|
62
|
+
hash = {:verb => :post,
|
63
|
+
:locale => :en,
|
64
|
+
:actor => pronoun,
|
65
|
+
:object => k.intern}
|
66
|
+
it "should translate #{hash} to '#{v}'" do
|
67
|
+
Nelumba::I18n.sentence(hash).must_equal v
|
68
|
+
end
|
69
|
+
end
|
70
|
+
end
|
71
|
+
end
|
72
|
+
|
73
|
+
describe "with objects and targets" do
|
74
|
+
language_yaml(:en, :post)["object_target"].each do |target, hash_1|
|
75
|
+
target = target.intern
|
76
|
+
hash_1.each do |k, v|
|
77
|
+
hash = {:verb => :post,
|
78
|
+
:locale => :en,
|
79
|
+
:target => target,
|
80
|
+
:object => k.intern}
|
81
|
+
it "should translate #{hash} to '#{v}'" do
|
82
|
+
Nelumba::I18n.sentence(hash).must_equal v
|
83
|
+
end
|
84
|
+
end
|
85
|
+
end
|
86
|
+
end
|
87
|
+
|
88
|
+
describe "actors with objects and targets" do
|
89
|
+
language_yaml(:en, :post)["actor_object_target"].each do |target, hash_1|
|
90
|
+
target = target.intern
|
91
|
+
hash_1.each do |k, v|
|
92
|
+
hash = {:verb => :post,
|
93
|
+
:locale => :en,
|
94
|
+
:actor => "wilkie",
|
95
|
+
:target => target,
|
96
|
+
:object => k.intern}
|
97
|
+
it "should translate #{hash} to '#{v}'" do
|
98
|
+
Nelumba::I18n.sentence(hash).must_equal v
|
99
|
+
end
|
100
|
+
end
|
101
|
+
end
|
102
|
+
end
|
103
|
+
|
104
|
+
describe "with objects and target owner pronouns" do
|
105
|
+
language_yaml(:en, :post)["object_target_owner_pronoun"].each do |target, hash_1|
|
106
|
+
target = target.intern
|
107
|
+
hash_1.each do |pronoun, hash_2|
|
108
|
+
pronoun = pronoun.intern
|
109
|
+
hash_2.each do |k, v|
|
110
|
+
hash = {:verb => :post,
|
111
|
+
:locale => :en,
|
112
|
+
:target => target,
|
113
|
+
:target_owner => pronoun,
|
114
|
+
:object => k.intern}
|
115
|
+
it "should translate #{hash} to '#{v}'" do
|
116
|
+
Nelumba::I18n.sentence(hash).must_equal v
|
117
|
+
end
|
118
|
+
end
|
119
|
+
end
|
120
|
+
end
|
121
|
+
end
|
122
|
+
|
123
|
+
describe "actors with objects and target owner pronouns" do
|
124
|
+
language_yaml(:en, :post)["actor_object_target_owner_pronoun"].each do |target, hash_1|
|
125
|
+
target = target.intern
|
126
|
+
hash_1.each do |pronoun, hash_2|
|
127
|
+
pronoun = pronoun.intern
|
128
|
+
hash_2.each do |k, v|
|
129
|
+
hash = {:verb => :post,
|
130
|
+
:locale => :en,
|
131
|
+
:actor => "wilkie",
|
132
|
+
:target => target,
|
133
|
+
:target_owner => pronoun,
|
134
|
+
:object => k.intern}
|
135
|
+
it "should translate #{hash} to '#{v}'" do
|
136
|
+
Nelumba::I18n.sentence(hash).must_equal v
|
137
|
+
end
|
138
|
+
end
|
139
|
+
end
|
140
|
+
end
|
141
|
+
end
|
142
|
+
end
|
143
|
+
end
|
144
|
+
end
|