Internationalization support

James Peret 8 years ago
parent
commit
184dd857c1

+ 94 - 0
app/data.json

@@ -12,111 +12,136 @@
12 12
   [
13 13
     {
14 14
       "title"   : "Desenhos",
15
+      "i18n"    : ["Desenhos", "Drawings"],
15 16
       "link"    : "submenu",
16 17
       "submenu" :
17 18
       [
18 19
         {
19 20
           "title"   : "Recentes",
21
+          "i18n"    : ["Recentes", "Recent"],
20 22
           "link"    : "/slideshow/recentes",
21 23
           "slides"  :
22 24
           [
23 25
             {
24 26
               "title" : "Figura 5",
27
+              "i18n"    : ["Figura 5", "Figure 5"],
25 28
               "url"   : "content/images/figuras-05.jpg"
26 29
             },
27 30
             {
28 31
               "title" : "Figura 7",
32
+              "i18n"    : ["Figura 7", "Figure 7"],
29 33
               "url"   : "content/images/figuras-07.jpg"
30 34
             },
31 35
             {
32 36
               "title" : "Figura 11",
37
+              "i18n"    : ["Figura 11", "Figure 11"],
33 38
               "url"   : "content/images/figuras-11.jpg"
34 39
             },
35 40
             {
36 41
               "title" : "Figura 9",
42
+              "i18n"    : ["Figura 9", "Figure 9"],
37 43
               "url"   : "content/images/figuras-09.jpg"
38 44
             },
39 45
             {
40 46
               "title" : "Figura 8",
47
+              "i18n"    : ["Figura 8", "Figure 8"],
41 48
               "url"   : "content/images/figuras-08.jpg"
42 49
             },
43 50
             {
44 51
               "title" : "Figura 12",
52
+              "i18n"    : ["Figura 12", "Figure 12"],
45 53
               "url"   : "content/images/figuras-12.jpg"
46 54
             },
47 55
             {
48 56
               "title" : "Figura 6",
57
+              "i18n"    : ["Figura 6", "Figure 6"],
49 58
               "url"   : "content/images/figuras-06.jpg"
50 59
             },
51 60
             {
52 61
               "title" : "Figura 3",
62
+              "i18n"    : ["Figura 3", "Figure 3"],
53 63
               "url"   : "content/images/figuras-03.jpg"
54 64
             },
55 65
             {
56 66
               "title" : "Figura 2",
67
+              "i18n"    : ["Figura 2", "Figure 2"],
57 68
               "url"   : "content/images/figuras-02.jpg"
58 69
             },
59 70
             {
60 71
               "title" : "Figura 4",
72
+              "i18n"    : ["Figura 4", "Figure 4"],
61 73
               "url"   : "content/images/figuras-04.jpg"
62 74
             },
63 75
             {
64 76
               "title" : "Figura 1",
77
+              "i18n"    : ["Figura 1", "Figure 1"],
65 78
               "url"   : "content/images/figuras-01.jpg"
66 79
             }
67 80
           ]
68 81
         },
69 82
         {
70 83
           "title"   : "Cadernos",
84
+          "i18n"    : ["Cadernos", "Notebooks"],
71 85
           "link"    : "submenu",
72 86
           "submenu" :
73 87
           [
74 88
             {
75 89
               "title"   : "Bologramas",
90
+              "i18n"    : ["Bologramas", "Bolograms"],
76 91
               "link"    : "/slideshow/bologramas",
77 92
               "slides"  :
78 93
               [
79 94
                 {
80 95
                   "title" : "Caderno Bologramas - Página 7",
96
+                  "i18n"    : ["Caderno Bologramas - Página 7", "Bolograms Notebook - page 7"],
81 97
                   "url"   : "content/images/bologramas-07.jpg"
82 98
                 },
83 99
                 {
84 100
                   "title" : "Caderno Bologramas - Página 8",
101
+                  "i18n"    : ["Caderno Bologramas - Página 8", "Bolograms Notebook - page 8"],
85 102
                   "url"   : "content/images/bologramas-08.jpg"
86 103
                 },
87 104
                 {
88 105
                   "title" : "Caderno Bologramas - Página 9",
106
+                  "i18n"    : ["Caderno Bologramas - Página 9", "Bolograms Notebook - page 9"],
89 107
                   "url"   : "content/images/bologramas-09.jpg"
90 108
                 },
91 109
                 {
92 110
                   "title" : "Caderno Bologramas - Página 11",
111
+                  "i18n"    : ["Caderno Bologramas - Página 11", "Bolograms Notebook - page 11"],
93 112
                   "url"   : "content/images/bologramas-11.jpg"
94 113
                 },
95 114
                 {
96 115
                   "title" : "Caderno Bologramas - Página 13",
116
+                  "i18n"    : ["Caderno Bologramas - Página 13", "Bolograms Notebook - page 13"],
97 117
                   "url"   : "content/images/bologramas-13.jpg"
98 118
                 },
99 119
                 {
100 120
                   "title" : "Caderno Bologramas - Página 12",
121
+                  "i18n"    : ["Caderno Bologramas - Página 12", "Bolograms Notebook - page 12"],
101 122
                   "url"   : "content/images/bologramas-12.jpg"
102 123
                 }
103 124
               ]
104 125
             },
105 126
             {
106 127
               "title"   : "York Cathedral",
128
+              "i18n"    : ["York Cathedral", "York Cathedral"],
107 129
               "link"    : "/slideshow/york-cathedral",
108 130
               "slides"  :
109 131
               [
110 132
                 {
111 133
                   "title" : "York Cathedral 1",
134
+                  "i18n"    : ["York Cathedral 1", "York Cathedral 1"],
112 135
                   "url"   : "content/images/york-cathedral-1.jpg"
113 136
                 },
114 137
                 {
115 138
                   "title" : "York Cathedral 2",
139
+                  "i18n"    : ["York Cathedral 2", "York Cathedral 2"],
116 140
                   "url"   : "content/images/york-cathedral-2.jpg"
117 141
                 },
118 142
                 {
119 143
                   "title" : "York Cathedral 3",
144
+                  "i18n"    : ["York Cathedral 3", "York Cathedral 3"],
120 145
                   "url"   : "content/images/york-cathedral-3.jpg"
121 146
                 }
122 147
               ]
@@ -125,23 +150,28 @@
125 150
         },
126 151
         {
127 152
           "title"   : "Metamorfoses - Ovídio",
153
+          "i18n"    : ["Metamorfoses - Ovídio", "Metamorfoses - Ovídio"],
128 154
           "link"    : "/slideshow/metamorfoses",
129 155
           "slides"  :
130 156
           [
131 157
             {
132 158
               "title" : "Tapete",
159
+              "i18n"    : ["Tapete", "Rug"],
133 160
               "url"   : "content/images/tapete.jpg"
134 161
             },
135 162
             {
136 163
               "title" : "cave *",
164
+              "i18n"    : ["caverna *", "cave *"],
137 165
               "url"   : "content/images/cave-1.jpg"
138 166
             },
139 167
             {
140 168
               "title" : "cave ++++",
169
+              "i18n"    : ["caverna ++++", "cave ++++"],
141 170
               "url"   : "content/images/cave-3.jpg"
142 171
             },
143 172
             {
144 173
               "title" : "cave w stalactites",
174
+              "i18n"    : ["caverna com estalactitis", "cave with stalactites"],
145 175
               "url"   : "content/images/cave-2.jpg"
146 176
             }
147 177
 
@@ -149,55 +179,68 @@
149 179
         },
150 180
         {
151 181
           "title"   : "Caligramas",
182
+          "i18n"    : ["Caligramas", "Caligrams"],
152 183
           "link"    : "/slideshow/caligramas",
153 184
           "slides"  :
154 185
           [
155 186
             {
156 187
               "title" : "Caligrama 4",
188
+              "i18n"    : ["Caligrama 4", "Caligrams 4"],
157 189
               "url"   : "content/images/caligramas-4.jpg"
158 190
             },
159 191
             {
160 192
               "title" : "Caligrama 1",
193
+              "i18n"    : ["Caligrama 1", "Caligrams 1"],
161 194
               "url"   : "content/images/caligramas-1.jpg"
162 195
             },
163 196
             {
164 197
               "title" : "Caligrama 3",
198
+              "i18n"    : ["Caligrama 3", "Caligrams 3"],
165 199
               "url"   : "content/images/caligramas-3.jpg"
166 200
             },
167 201
             {
168 202
               "title" : "Caligrama 2",
203
+              "i18n"    : ["Caligrama 2", "Caligrams 2"],
169 204
               "url"   : "content/images/caligramas-2.jpg"
170 205
             },
171 206
             {
172 207
               "title" : "Caligrama 5",
208
+              "i18n"    : ["Caligrama 5", "Caligrams 5"],
173 209
               "url"   : "content/images/caligramas-5.jpg"
174 210
             },
175 211
             {
176 212
               "title" : "Caligrama 6",
213
+              "i18n"    : ["Caligrama 6", "Caligrams 6"],
177 214
               "url"   : "content/images/caligramas-6.jpg"
178 215
             },
179 216
             {
180 217
               "title" : "Caligrama 8",
218
+              "i18n"    : ["Caligrama 8", "Caligrams 8"],
181 219
               "url"   : "content/images/caligramas-8.jpg"
182 220
             },
183 221
             {
184 222
               "title" : "Caligrama 7",
223
+              "i18n"    : ["Caligrama 7", "Caligrams 7"],
185 224
               "url"   : "content/images/caligramas-7.jpg"
186 225
             },
187 226
             {
188 227
               "title" : "Sarrafos & Garranhcos - Página 1",
228
+              "i18n"    : ["Sarrafos & Garranhcos - Página 1", "Sarrafos & Garranhcos - page 1"],
189 229
               "url"   : "content/images/quadrinho-01.jpg"
190 230
             },
191 231
             {
192 232
               "title" : "Sarrafos & Garranhcos - Página 2",
233
+              "i18n"    : ["Sarrafos & Garranhcos - Página 2", "Sarrafos & Garranhcos - page 2"],
193 234
               "url"   : "content/images/quadrinho-02.jpg"
194 235
             },
195 236
             {
196 237
               "title" : "Sarrafos & Garranhcos - Página 3",
238
+              "i18n"    : ["Sarrafos & Garranhcos - Página 3", "Sarrafos & Garranhcos - page 3"],
197 239
               "url"   : "content/images/quadrinho-03.jpg"
198 240
             },
199 241
             {
200 242
               "title" : "Sarrafos & Garranhcos - Página 4",
243
+              "i18n"    : ["Sarrafos & Garranhcos - Página 4", "Sarrafos & Garranhcos - page 4"],
201 244
               "url"   : "content/images/quadrinho-04.jpg"
202 245
             }
203 246
           ]
@@ -207,154 +250,189 @@
207 250
     },
208 251
     {
209 252
       "title"   : "Esculturas",
253
+      "i18n"    : ["Esculturas", "Sculptures"],
210 254
       "link"    : "submenu",
211 255
       "submenu" :
212 256
       [
213 257
         {
214 258
           "title" : "Cut Out & Cut In",
215 259
           "link"  : "/slideshow/cut-out-cut-in",
260
+          "i18n"    : ["Cut Out & Cut In", "Cut Out & Cut In"],
216 261
           "slides"  :
217 262
           [
218 263
             {
219 264
               "title" : "Carbon Blue cut-out + Artista",
265
+              "i18n"    : ["Carbon Blue cut-out + Artista", "Carbon Blue cut-out + Artist"],
220 266
               "url"   : "content/images/sono-03.jpg"
221 267
             },
222 268
             {
223 269
               "title" : "CUT IN (Tríptico)",
270
+              "i18n"    : ["CUT IN (Tríptico)", "CUT IN (Tríptico)"],
224 271
               "url"   : "content/images/triptico.jpg"
225 272
             },
226 273
             {
227 274
               "title" : "Teste Cut Out",
275
+              "i18n"    : ["Teste Cut Out", "Teste Cut Out"],
228 276
               "url"   : "content/images/sono-04.jpg"
229 277
             },
230 278
             {
231 279
               "title" : "Red One",
280
+              "i18n"    : ["Red One", "Red One"],
232 281
               "url"   : "content/images/sono-05.jpg"
233 282
             },
234 283
             {
235 284
               "title" : "Red Two",
285
+              "i18n"    : ["Red Two", "Red Two"],
236 286
               "url"   : "content/images/sono-06.jpg"
237 287
             },
238 288
             {
239 289
               "title" : "Cut-out (verde)",
290
+              "i18n"    : ["Cut-out (verde)", "Cut-out (green)"],
240 291
               "url"   : "content/images/sono-02.jpg"
241 292
             },
242 293
 
243 294
             {
244 295
               "title" : "Sono",
296
+              "i18n"    : ["Sono", "Sleep"],
245 297
               "url"   : "content/images/sono-01.jpg"
246 298
             },
247 299
             {
248 300
               "title" : "Working",
301
+              "i18n"    : ["Trabalhando", "Working"],
249 302
               "url"   : "content/images/sono-11.jpg"
250 303
             }
251 304
           ]
252 305
         },
253 306
         {
254 307
           "title" : "Argila",
308
+          "i18n"    : ["Argila", "Clay"],
255 309
           "link"  : "/slideshow/argila",
256 310
           "slides"  :
257 311
           [
258 312
             {
259 313
               "title" : "Escultura Cabeça (frente)",
314
+              "i18n"    : ["Escultura Cabeça (frente)", "Head Sculpture (front)"],
260 315
               "url"   : "content/images/argila-1.jpg"
261 316
             },
262 317
             {
263 318
               "title" : "Escultura Cabeça (perfil)",
319
+              "i18n"    : ["Escultura Cabeça (perfil)", "Head Sculpture (side)"],
264 320
               "url"   : "content/images/argila-2.jpg"
265 321
             },
266 322
             {
267 323
               "title" : "Escultura Cabeça 2",
324
+              "i18n"    : ["Escultura Cabeça 2", "Head Sculpture 2"],
268 325
               "url"   : "content/images/argila-5.jpg"
269 326
             },
270 327
             {
271 328
               "title" : "Escultura Cabeça 3",
329
+              "i18n"    : ["Escultura Cabeça 3", "Head Sculpture 3"],
272 330
               "url"   : "content/images/argila-6.jpg"
273 331
             },
274 332
             {
275 333
               "title" : "Escultura Tal",
334
+              "i18n"    : ["Escultura Tal", "Tal Sculpture"],
276 335
               "url"   : "content/images/argila-3.jpg"
277 336
             },
278 337
             {
279 338
               "title" : "Escultura Tal (costas)",
339
+              "i18n"    : ["Escultura Tal (costas)", "Tal Sculpture (back)"],
280 340
               "url"   : "content/images/argila-4.jpg"
281 341
             },
282 342
             {
283 343
               "title" : "Relevos 6",
344
+              "i18n"    : ["Relevos 6", "Relevos 6"],
284 345
               "url"   : "content/images/relevos-06.jpg"
285 346
             },
286 347
             {
287 348
               "title" : "Relevos 3",
349
+              "i18n"    : ["Relevos 3", "Relevos 3"],
288 350
               "url"   : "content/images/relevos-03.jpg"
289 351
             },
290 352
             {
291 353
               "title" : "Relevos 7",
354
+              "i18n"    : ["Relevos 7", "Relevos 7"],
292 355
               "url"   : "content/images/relevos-07.jpg"
293 356
             },
294 357
             {
295 358
               "title" : "Relevos 5",
359
+              "i18n"    : ["Relevos 5", "Relevos 5"],
296 360
               "url"   : "content/images/relevos-05.jpg"
297 361
             },
298 362
             {
299 363
               "title" : "Relevos 2",
364
+              "i18n"    : ["Relevos 2", "Relevos 2"],
300 365
               "url"   : "content/images/relevos-02.jpg"
301 366
             },
302 367
             {
303 368
               "title" : "Relevos 1",
369
+              "i18n"    : ["Relevos 1", "Relevos 1"],
304 370
               "url"   : "content/images/relevos-01.jpg"
305 371
             },
306 372
             {
307 373
               "title" : "Relevos 4",
374
+              "i18n"    : ["Relevos 4", "Relevos 4"],
308 375
               "url"   : "content/images/relevos-04.jpg"
309 376
             }
310 377
           ]
311 378
         },
312 379
         {
313 380
           "title" : "Sono",
381
+          "i18n"    : ["Sono", "Sleep"],
314 382
           "link"  : "/slideshow/sono",
315 383
           "slides"  :
316 384
           [
317 385
             {
318 386
               "title" : "Sono",
387
+              "i18n"    : ["Sono", "Sleep"],
319 388
               "url"   : "content/images/sono-10.jpg"
320 389
             },
321 390
             {
322 391
               "title" : "Peça Bibliografica 2",
392
+              "i18n"    : ["Peça Bibliografica 2", "Peça Bibliografica 2"],
323 393
               "url"   : "content/images/sono-12.jpg"
324 394
             },
325 395
             {
326 396
               "title" : "Peça Bibliografica",
397
+              "i18n"    : ["Peça Bibliografica", "Peça Bibliografica"],
327 398
               "url"   : "content/images/sono-08.jpg"
328 399
             },
329 400
             {
330 401
               "title" : "Sono 2",
402
+              "i18n"    : ["Sono 2", "Sleep 2"],
331 403
               "url"   : "content/images/sono-07.jpg"
332 404
             },
333 405
             {
334 406
               "title" : "Sono 2",
407
+              "i18n"    : ["Sono 3", "Sleep 3"],
335 408
               "url"   : "content/images/sono-01.jpg"
336 409
             }
337 410
           ]
338 411
         },
339 412
         {
340 413
           "title" : "Carvão",
414
+          "i18n"    : ["Carvão", "Charcoal"],
341 415
           "link"  : "/slideshow/carvao-e-tule",
342 416
           "slides"  :
343 417
           [
344 418
             {
345 419
               "title" : "Carvão & Tule 2",
420
+              "i18n"    : ["Carvão & Tule 2", "Carvão & Tule 2"],
346 421
               "url"   : "content/images/esculturas-carvao-2.jpg"
347 422
             },
348 423
             {
349 424
               "title" : "Carvão & Tule 3",
425
+              "i18n"    : ["Carvão & Tule 3", "Carvão & Tule 3"],
350 426
               "url"   : "content/images/esculturas-carvao-3.jpg"
351 427
             },
352 428
             {
353 429
               "title" : "Carvão & Tule 4",
430
+              "i18n"    : ["Carvão & Tule 4", "Carvão & Tule 4"],
354 431
               "url"   : "content/images/esculturas-carvao-4.jpg"
355 432
             },
356 433
             {
357 434
               "title" : "Carvão & Tule 1",
435
+              "i18n"    : ["Carvão & Tule 1", "Carvão & Tule 1"],
358 436
               "url"   : "content/images/esculturas-carvao-1.jpg"
359 437
             }
360 438
           ]
@@ -363,32 +441,38 @@
363 441
     },
364 442
     {
365 443
       "title"  : "poemas",
444
+      "i18n"    : ["Poemas", "Poems"],
366 445
       "link"   : "submenu",
367 446
       "submenu" :
368 447
       [
369 448
         {
370 449
           "title"    : "Se a mão lança",
450
+          "i18n"    : ["Se a mão lança", "Se a mão lança"],
371 451
           "link"  : "/textos/se-a-mao-lanca",
372 452
           "content": "<div class=\"white-bg-text-small\"><p><span>Se a mão lança</span><br><span>no ar não fica</span><br><span>se a mão alcança</span><br><span>o que caiu</span></p></p></div>"
373 453
         },
374 454
         {
375 455
           "title"    : "A mínima noite",
456
+          "i18n"    : ["A mínima noite", "A mínima noite"],
376 457
           "link"  : "/textos/a-minima-noite",
377 458
           "content": "<div class=\"white-bg-text-small\"><p><span>A mínima noite</span><br><span>que de cada objeto parte</span><br><span>noite insular</span><br><span>objeto do tempo</span><br><span>pendurada ao momento</span><br><span>como se fosse</span><br><span>a própria sombra</span></p></p><div>"
378 459
         },
379 460
         {
380 461
           "title"    : "O que nos move é o sono",
462
+          "i18n"    : ["O que nos move é o sono", "O que nos move é o sono"],
381 463
           "link"  : "/textos/o-que-nos-move-e-o-sono",
382 464
           "content": "<div class=\"white-bg-text-small\"><p>O que nos move é o sono,<br>o sono distribuído em noites,<br><span class=\"\"></span>as noites,<br><span class=\"\"></span>distribuídas.<br><span class=\"\"></span>Piscar das páginas <br><span class=\"\"></span>no livro de pontos,<br><span class=\"\"></span>onde calco a letra<br><span class=\"\"></span>recombino os ecos.<br><span class=\"\"></span>O que nos move: <br><span class=\"\"></span>a fadiga,<br><span class=\"\"></span>a fábula dos atos,<br><span class=\"\"></span>transmitida,<br><span class=\"\"></span>o girar da chave da noite<br><span class=\"\"></span>quantas noites dure o sono,<br><span class=\"\"></span>Quem respirar?</p></div>"
383 465
         },
384 466
         {
385 467
           "title"    : "Tambores batem",
468
+          "i18n"    : ["Tambores batem", "Tambores batem"],
386 469
           "link"  : "/textos/tambores-batem",
387 470
           "content": "<div class=\"white-bg-text-huge poem\"><p><span>Tambores batem</span><br><span>para que eu chegue à terra manchada alta</span><br><span>para que eu traga a lança manchada alta</span><br><span>e não desprenda os olhos do rio</span><br><span>de onde a história evapora</span></p><p><span>Tambores batem</span><br><span>para que eu ache a pedra manchada alta</span><br><span>para que eu sopre a fumaça manchada alta</span><br><span>e com os braços da fumaça eu lute</span><br><span>e com os dedos da fumaça eu trame</span><br><span>e com os olhos da fumaça mergulhe</span></p><p><span>pois nessa pedra se encaixarão pedras</span><br><span>nessa hora se encaixarão horas</span><br><span>nessas letras se encaixará o sol</span></p><p><span>Tambores batem</span><br><span>embaralham meus passos</span><br><span>com os passos do tigre manchado alto</span><br><span>para que eu caçe</span><br><span>cada vez a mesma caça</span><br><span>cada vez nova caça</span><br><span>cada vez</span></p><p><span>Tambores batem</span><br><span>embaralham meus passos</span><br><span>com os passos da rês manchada alta</span><br><span>para que eu paste</span><br><span>cada vez o mesmo pasto</span><br><span>cada vez novo pasto</span><br><span>cada vez</span></p><p><span>Tambores batem</span><br><span>embaralham meus passos</span><br><span>com os passos da lua manchada alta</span><br><span>para que eu sangre</span><br><span>cada vez o mesmo nome</span><br><span>cada vez novo nome</span><br><span>cada vez</span></p><p><span>Tambores batem</span><br><span>para que nem chamar eu possa</span><br><span>nem voltar eu possa</span><br><span>nem trocar eu possa</span><br><span>e então possa bastar</span></p><p><span>Tambores batem</span><br><span>para que nem soltar eu possa</span><br><span>nem sonhar eu possa</span><br><span>nem acordar eu possa</span><br><span>e então possa livrar</span></p><p><span>Como o salto</span><br><span>como o giro</span><br><span>como a espera</span><br><span>como o riso</span></p><p><span>Tambores batem</span><br><span>pé no passo</span><br><span>mão no gesto</span><br><span>cada vez o mesmo toque</span><br><span>cada vez novo toque</span><br><span>cada vez</span></p></div>"
388 471
         },
389 472
 
390 473
         {
391 474
           "title"    : "Alguém que assim falasse",
475
+          "i18n"    : ["Alguém que assim falasse", "Alguém que assim falasse"],
392 476
           "link"  : "/textos/alguem-que-assim-falasse",
393 477
           "content": "<div class=\"white-bg-text-big\"><p>Alguém que assim falasse, que por anos conversasse como se içado pela voz, como se ao falar trouxesse portas, camas, lanternas e tateando-os, encontrasse o horizonte pontual de suas extremidades e o estendesse. Alguém que assim falasse, de um modo secretamente aberto - as pausas, às vezes, demorando-se como fala, como se crescessem e vibrassem, caudalosas -, não ouvia o que falava como se fosse seu. Falava como se uma onda estourasse na praia e, ao estourar, já outra se formasse por onde aquela passara. Alguém que assim falasse, na densidade dócil de farol e sem enveredar por alguma conclusão, falava como se encontrar a palavra bastasse para continuar, fosse uma conclusão em si, cintilância. Um falante que tanto observasse e permanecesse que sua fala se tornasse praia onde abordassem portas, camas, lanternas, pausas, ecos, canções invertidas, falava… e, provavelmente, não se ouvia.</p></div>"
394 478
         }
@@ -396,17 +480,20 @@
396 480
     },
397 481
     {
398 482
       "title" : "Animações",
483
+      "i18n"    : ["Animações", "Animations"],
399 484
       "link"    : "submenu",
400 485
       "submenu" :
401 486
       [
402 487
         {
403 488
           "title"    : "Trifonia",
489
+          "i18n"    : ["Trifonia", "Trifonia"],
404 490
           "link"     : "/filmes/trifonia",
405 491
           "videoUrl" : "fIEXEIOyh9Q",
406 492
           "videoType": "youtube"
407 493
         },
408 494
         {
409 495
           "title"    : "Video 1",
496
+          "i18n"    : ["Video 1", "Video 1"],
410 497
           "link"     : "/filmes/animacao-01",
411 498
           "videoUrl" : "content/videos/anim_01.mov",
412 499
           "videoType": "file"
@@ -415,11 +502,13 @@
415 502
     },
416 503
     {
417 504
       "title" : "Resenhas Críticas",
505
+      "i18n"    : ["Resenhas Críticas", "Critical Texts"],
418 506
       "link"  : "submenu",
419 507
       "submenu" :
420 508
       [
421 509
         {
422 510
           "title"    : "Go e Arnaldo - Julio Bressane",
511
+          "i18n"    : ["Go e Arnaldo - Julio Bressane", "Go e Arnaldo - Julio Bressane"],
423 512
           "link"     : "/resenhas/go-e-arnaldo",
424 513
           "slides"  :
425 514
           [
@@ -443,6 +532,7 @@
443 532
         },
444 533
         {
445 534
           "title"    : "Dois grafonautas - Antonio Medina",
535
+          "i18n"    : ["Dois grafonautas - Antonio Medina", "Dois grafonautas - Antonio Medina"],
446 536
           "link"     : "/resenhas/dois-grafonautas",
447 537
           "slides"  :
448 538
           [
@@ -454,6 +544,7 @@
454 544
         },
455 545
         {
456 546
           "title"    : "O artesanato literário de Go - Antonio Medina",
547
+          "i18n"    : ["O artesanato literário de Go - Antonio Medina", "O artesanato literário de Go - Antonio Medina"],
457 548
           "link"     : "/resenhas/artesanato-literario",
458 549
           "slides"  :
459 550
           [
@@ -465,6 +556,7 @@
465 556
         },
466 557
         {
467 558
           "title"    : "José. Thomas. Brum",
559
+          "i18n"    : ["José. Thomas. Brum", "José. Thomas. Brum"],
468 560
           "link"     : "/resenhas/jose-thomas-brum",
469 561
           "slides"  :
470 562
           [
@@ -476,6 +568,7 @@
476 568
         },
477 569
         {
478 570
           "title"    : "Coletiva vai do lirismo à ironia - Fernanda Peixoto",
571
+          "i18n"    : ["Coletiva vai do lirismo à ironia - Fernanda Peixoto", "Coletiva vai do lirismo à ironia - Fernanda Peixoto"],
479 572
           "link"     : "/resenhas/coletivo-vai-do-lirismo-a-ironia",
480 573
           "slides"  :
481 574
           [
@@ -489,6 +582,7 @@
489 582
     },
490 583
     {
491 584
       "title"  : "Contato",
585
+      "i18n"    : ["Contato", "Contact"],
492 586
       "link"   : "/contato",
493 587
       "content": "<p><span>Entre em contato através do email <a href=\"mailto:cometogo2@gmail.com\">cometogo2@gmail.com</a> ou deixe uma mensagem:<span></p>"
494 588
     }

+ 6 - 3
app/index.html

@@ -59,20 +59,23 @@
59 59
     </fa-app>
60 60
   </div>
61 61
 
62
+
63
+
62 64
   <div ng-controller='NavigationController' class="layer-menu">
65
+
63 66
     <ul class="nav-menu">
64 67
       <li ng-repeat="item in navigation" class='fx-fade-normal fx-speed-1000'>
65
-        <a ng-click="btnNavclick($index)" class="btn-menu">{{item.title}}</a>
68
+        <a ng-click="btnNavclick($index)" class="btn-menu">{{item.i18n[lang]}}</a>
66 69
       </li>
67 70
     </ul>
68 71
     <ul class="nav-menu submenu">
69 72
       <li ng-repeat="item in subNavigation" class='fx-fade-normal fx-speed-200'>
70
-        <a ng-click="btnSubNavclick($index)" class="btn-menu">{{item.title}}</a>
73
+        <a ng-click="btnSubNavclick($index)" class="btn-menu">{{item.i18n[lang]}}</a>
71 74
       </li>
72 75
     </ul>
73 76
     <ul class="nav-menu submenu">
74 77
       <li ng-repeat="item in sub2Navigation" class='fx-fade-normal fx-speed-200'>
75
-        <a ng-click="btnSub2Navclick($index)" class="btn-menu">{{item.title}}</a>
78
+        <a ng-click="btnSub2Navclick($index)" class="btn-menu">{{item.i18n[lang]}}</a>
76 79
       </li>
77 80
     </ul>
78 81
   </div>

+ 23 - 1
app/scripts/controllers/index.js

@@ -8,9 +8,31 @@
8 8
  * Controller of the domainManagerApp
9 9
  */
10 10
 angular.module('goApp.index', ['famous.angular', 'ngFx', 'ngAnimate'])
11
-  .controller('IndexController',['$scope', '$rootScope', '$famous', '$timeline', '$mixpanel', function ($scope,  $rootScope, $famous, $timeline, $mixpanel) {
11
+  .controller('IndexController',['$scope', '$rootScope', '$famous', '$timeline', '$mixpanel', 'Data', function ($scope,  $rootScope, $famous, $timeline, $mixpanel, Data) {
12 12
 
13 13
     'use strict';
14 14
     $mixpanel.track('Page View', { "Page": "index" });
15 15
 
16
+    $scope.view_set_lang = false;
17
+    if(!Data.isLangSet()) {
18
+      $scope.view_set_lang = true;
19
+    } else {
20
+      $scope.view_set_lang = false;
21
+    }
22
+
23
+    $scope.btnSelectLang = function(lang){
24
+      console.log('btn pressed')
25
+      switch(lang) {
26
+        case 'pt-BR':
27
+          Data.setLang(0);
28
+          console.log("> Selected Portuguese as default language")
29
+          break;
30
+        case 'en':
31
+          Data.setLang(1);
32
+          console.log("> Selected English as default language")
33
+          break;
34
+      }
35
+      $scope.view_set_lang = false;
36
+    }
37
+
16 38
   }]);

+ 17 - 7
app/scripts/controllers/navigation.js

@@ -12,8 +12,24 @@ angular.module('goApp.navigation', ['famous.angular', 'ngRoute', 'ngFx', 'ngAnim
12 12
 
13 13
     'use strict';
14 14
     $mixpanel.track('Index View');
15
+    var bg_loaded = false;
16
+    $scope.lang = 0;
15 17
 
16 18
     $rootScope.$on('background:loaded', function() {
19
+      if(Data.isLangSet()){
20
+        openMenu();
21
+      }
22
+      bg_loaded = true;
23
+    });
24
+
25
+    $rootScope.$on('data:lang_set', function() {
26
+      if(bg_loaded){
27
+        openMenu();
28
+      }
29
+      $scope.lang = Data.getLang();
30
+    });
31
+
32
+    var openMenu = function() {
17 33
       if(!$scope.$$phase) {
18 34
         $scope.$apply(function(){
19 35
           $scope.navigation = Data.getNavigation();
@@ -21,14 +37,8 @@ angular.module('goApp.navigation', ['famous.angular', 'ngRoute', 'ngFx', 'ngAnim
21 37
       } else {
22 38
         $scope.navigation = Data.getNavigation();
23 39
       }
24
-    });
40
+    }
25 41
 
26
-    $timeout(function(){
27
-      if($scope.navigation === undefined){
28
-        $scope.navigation = Data.getNavigation();
29
-      }
30
-    }, 5000);
31
-    
32 42
     $scope.subNavigation = [];
33 43
     $scope.sub2Navigation = [];
34 44
     $scope.last_click = "";

+ 16 - 0
app/scripts/services/data.js

@@ -7,6 +7,8 @@ angular.module('goApp.data', [])
7 7
 
8 8
   var data = [];
9 9
   var data_loaded = false;
10
+  var lang = 0;
11
+  var lang_set = false;
10 12
 
11 13
   $http({
12 14
     method: 'GET',
@@ -18,6 +20,20 @@ angular.module('goApp.data', [])
18 20
     $rootScope.$broadcast('data:loaded', data);
19 21
   });
20 22
 
23
+  this.setLang = function(n){
24
+    lang = n;
25
+    lang_set = true;
26
+    $rootScope.$broadcast('data:lang_set', data);
27
+  }
28
+
29
+  this.getLang = function(){
30
+    return lang;
31
+  }
32
+
33
+  this.isLangSet = function(){
34
+    return lang_set;
35
+  }
36
+
21 37
   this.get = function() {
22 38
     return data;
23 39
   };

+ 15 - 0
app/styles/main.css

@@ -89,6 +89,21 @@ body {
89 89
 
90 90
 .bg-dark { background-color: black;}
91 91
 
92
+/* Lang */
93
+
94
+.center-menu {
95
+    width: 250px;
96
+    height: 17px;
97
+    position: absolute;
98
+    top: 0;
99
+    bottom: 0;
100
+    left: 0;
101
+    right: 0;
102
+    margin: auto;
103
+    z-index: 3;
104
+    text-align: center;
105
+}  
106
+
92 107
 /* Navigation */
93 108
 .nav-menu {
94 109
   list-style: none;

+ 3 - 0
app/views/index.html

@@ -0,0 +1,3 @@
1
+<div class="center-menu" ng-show="view_set_lang">
2
+  <a ng-click="btnSelectLang('pt-BR')" class="btn-menu">Português</a> <a ng-click="btnSelectLang('en')" class="btn-menu">English</a>
3
+</div>