Skip to content

Commit 3bb7f51

Browse files
authored
Update lang.js
1 parent 0904574 commit 3bb7f51

1 file changed

Lines changed: 94 additions & 155 deletions

File tree

lang.js

Lines changed: 94 additions & 155 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
================================================================ */
55

66
var LANG = {
7+
78
/* ============================
89
INTERFACE GÉNÉRALE
910
============================ */
@@ -48,7 +49,7 @@ var LANG = {
4849
wo: 'Ñaanal yi'
4950
},
5051
card_duas_desc: {
51-
fr: 'Duas et Adhkar du matin, soir, prière, repas...',
52+
fr: 'Duas du matin, soir, prière, repas...',
5253
wo: 'Ñaan yi ci suba, ngoon, julli, lekk...'
5354
},
5455
card_dhikr_title: {
@@ -79,46 +80,14 @@ var LANG = {
7980
fr: 'Récitateur',
8081
wo: 'Kiy jàng Alkuraan bi'
8182
},
82-
settings_reciter_choose: {
83-
fr: 'Choisir le récitateur',
84-
wo: 'Tànn kiy jàng bi'
85-
},
8683
settings_translation: {
87-
fr: 'Traduction',
88-
wo: 'Tekki'
89-
},
90-
settings_translation_choose: {
91-
fr: 'Langue de traduction',
92-
wo: 'Làkku tekki bi'
84+
fr: 'Traduction du Coran',
85+
wo: 'Tekki Alkuraan bi'
9386
},
9487
settings_language: {
9588
fr: 'Langue de l\'application',
9689
wo: 'Làkku jëfandikukaay bi'
9790
},
98-
test_reciter: {
99-
fr: '🔊 Tester le récitateur',
100-
wo: '🔊 Siiwal kiy jàng bi'
101-
},
102-
test_stop: {
103-
fr: '⏹ Stop',
104-
wo: '⏹ Taxaw'
105-
},
106-
test_listening: {
107-
fr: '🔊 En cours d\'écoute...',
108-
wo: '🔊 Yaa ngi déglu...'
109-
},
110-
test_loading: {
111-
fr: '⏳ Chargement...',
112-
wo: '⏳ Yaa ngi yab...'
113-
},
114-
test_done: {
115-
fr: '✅ Test terminé',
116-
wo: '✅ Siiwal bi jeex na'
117-
},
118-
test_unavailable: {
119-
fr: '⚠️ Ce récitateur n\'est pas disponible',
120-
wo: '⚠️ Kiy jàng bii amul'
121-
},
12291
close: {
12392
fr: '✓ Fermer',
12493
wo: '✓ Tëj'
@@ -129,7 +98,7 @@ var LANG = {
12998
============================ */
13099
stat_juz_read: {
131100
fr: 'Juz lus',
132-
wo: 'Juz yi nga jàng'
101+
wo: 'Juz yi jàng'
133102
},
134103
stat_surahs: {
135104
fr: 'Sourates',
@@ -207,18 +176,6 @@ var LANG = {
207176
fr: '🕌 Médinoise',
208177
wo: '🕌 Madiina'
209178
},
210-
211-
/* ============================
212-
READER
213-
============================ */
214-
resume_reading: {
215-
fr: 'Reprendre la lecture',
216-
wo: 'Gunni jàng bi'
217-
},
218-
continue: {
219-
fr: 'Continuer →',
220-
wo: 'Kontaan →'
221-
},
222179
verse: {
223180
fr: 'Verset',
224181
wo: 'Aaya'
@@ -227,14 +184,6 @@ var LANG = {
227184
fr: 'Taille',
228185
wo: 'Dayoo'
229186
},
230-
prev_juz: {
231-
fr: '← Juz préc.',
232-
wo: '← Juz bi jiitu'
233-
},
234-
next_juz: {
235-
fr: 'Juz suiv. →',
236-
wo: 'Juz bi toftal →'
237-
},
238187
prev_surah: {
239188
fr: '← Sourate préc.',
240189
wo: '← Surat bi jiitu'
@@ -245,11 +194,11 @@ var LANG = {
245194
},
246195

247196
/* ============================
248-
AUDIO PLAYER
197+
AUDIO
249198
============================ */
250199
repeat_on: {
251200
fr: '🔁 Répétition activée',
252-
wo: '🔁 Wàññi dees ko jéema'
201+
wo: '🔁 Wàññi jàng'
253202
},
254203
repeat_off: {
255204
fr: '🔁 Désactivée',
@@ -260,12 +209,8 @@ var LANG = {
260209
SHARE
261210
============================ */
262211
share_verse: {
263-
fr: '📤 Partager ce verset',
264-
wo: '📤 Séddoo aaya bii'
265-
},
266-
share_copy: {
267-
fr: '📋 Copier',
268-
wo: '📋 Duppi'
212+
fr: '📤 Partager',
213+
wo: '📤 Séddoo'
269214
},
270215
share_copied: {
271216
fr: '📋 Verset copié !',
@@ -291,30 +236,6 @@ var LANG = {
291236
fr: '🔄 Réessayer',
292237
wo: '🔄 Jéemaat'
293238
},
294-
audio_error: {
295-
fr: '⚠️ Erreur audio',
296-
wo: '⚠️ Njuumte ci audio bi'
297-
},
298-
reciter_changed: {
299-
fr: '🎙️ Récitateur changé',
300-
wo: '🎙️ Kiy jàng bi soppiku na'
301-
},
302-
translation_changed: {
303-
fr: '🌍 Traduction changée',
304-
wo: '🌍 Tekki bi soppiku na'
305-
},
306-
translation_show: {
307-
fr: '🌍 Traduction affichée',
308-
wo: '🌍 Tekki bi fénn na'
309-
},
310-
translation_hide: {
311-
fr: '🌍 Masquée',
312-
wo: '🌍 Nëbb na'
313-
},
314-
juz_marked: {
315-
fr: '✓ Juz {n} marqué lu',
316-
wo: '✓ Juz {n} jàng nañu ko'
317-
},
318239

319240
/* ============================
320241
DUAS PAGE
@@ -337,57 +258,13 @@ var LANG = {
337258
},
338259

339260
/* ============================
340-
DHIKR PAGE
341-
============================ */
342-
dhikr_title: {
343-
fr: 'Dhikr & Tasbih',
344-
wo: 'Dikr ak Tasbih'
345-
},
346-
completed: {
347-
fr: 'terminés',
348-
wo: 'jeex nañu'
349-
},
350-
reset: {
351-
fr: '🔄 Réinitialiser',
352-
wo: '🔄 Dooraat'
353-
},
354-
reset_all: {
355-
fr: '🔄 Réinitialiser tous les compteurs',
356-
wo: '🔄 Dooraat waaraange yi yépp'
357-
},
358-
reset_confirm: {
359-
fr: 'Réinitialiser tous les compteurs ?',
360-
wo: 'Dooraat waaraange yi yépp ?'
361-
},
362-
dhikr_done: {
363-
fr: '✅ BarakAllahu fik !',
364-
wo: '✅ BarakAllahu fiik !'
365-
},
366-
all_done_title: {
367-
fr: 'Tous les dhikr sont terminés !',
368-
wo: 'Dikr yi yépp jeex nañu !'
369-
},
370-
all_done_sub: {
371-
fr: 'Qu\'Allah accepte de nous et de vous.',
372-
wo: 'Yàlla nanu ko nangu ci nun ak yéen.'
373-
},
374-
375-
/* ============================
376-
FOOTER
261+
DUAS CATEGORIES
377262
============================ */
378-
footer_credit: {
379-
fr: 'Sadaqa Jariya',
380-
wo: 'Sarax bu sore'
381-
},
382-
383-
/* ============================
384-
DUAS CATEGORIES (Names)
385-
============================ */
386-
cat_morning_adhkar: {
263+
cat_morning: {
387264
fr: 'Adhkar du Matin',
388265
wo: 'Dikru suba si'
389266
},
390-
cat_evening_adhkar: {
267+
cat_evening: {
391268
fr: 'Adhkar du Soir',
392269
wo: 'Dikru ngoon si'
393270
},
@@ -419,48 +296,69 @@ var LANG = {
419296
fr: 'Pour les Parents',
420297
wo: 'Ndey ak Baay'
421298
},
422-
cat_general: {
299+
cat_quran_duas: {
423300
fr: 'Duas du Coran',
424301
wo: 'Ñaanu Alkuraan'
425302
},
426303

427304
/* ============================
428-
DUAS TRANSLATIONS (Wolof)
305+
DHIKR PAGE
429306
============================ */
430-
dua_morning_1: {
431-
fr: 'Ô Allah, c\'est par Toi que nous arrivons au matin...',
432-
wo: 'Yàlla, yaa nu suba, yaa nu ngoon, yaa nu dundal, yaa nu dee, te yaa nu ko dellu.'
307+
dhikr_title: {
308+
fr: 'Dhikr & Tasbih',
309+
wo: 'Dikr ak Tasbih'
433310
},
434-
dua_morning_2: {
435-
fr: 'Nous voilà au matin et le royaume appartient à Allah...',
436-
wo: 'Subaatu Yàlla la, te ñu ngi ko sant. Amul Yàlla ku dul Yàlla kenn, moom rekk, amul ay bokk, moom mooy Boroom nguuru bi, te moom mooy ñu sant...'
311+
completed: {
312+
fr: 'terminés',
313+
wo: 'jeex nañu'
314+
},
315+
reset: {
316+
fr: '🔄 Réinitialiser',
317+
wo: '🔄 Dooraat'
318+
},
319+
reset_all: {
320+
fr: '🔄 Tout réinitialiser',
321+
wo: '🔄 Dooraat lépp'
322+
},
323+
reset_confirm: {
324+
fr: 'Réinitialiser tous les compteurs ?',
325+
wo: 'Dooraat waaraange yi yépp ?'
437326
},
438-
dua_protection_1: {
439-
fr: 'Ô Allah, je cherche refuge auprès de Toi contre les soucis...',
440-
wo: 'Yàlla, dama la di ñaan nga aar ma ci xel-xuul ak naqar, ak bañ-ci-mën ak naaxari yaram, ak ñaax ak ragal, ak bor ak njël ak ay nit ñu ma dàq.'
327+
dhikr_done: {
328+
fr: '✅ BarakAllahu fik !',
329+
wo: '✅ BarakAllahu fiik !'
441330
},
442-
dua_parents: {
443-
fr: 'Seigneur, fais-leur miséricorde comme ils m\'ont élevé petit.',
444-
wo: 'Boroom bi, yërëmal leen ni ñu ma toggaloon bi ma woon tuuti.'
331+
all_done_title: {
332+
fr: 'Tous les dhikr sont terminés !',
333+
wo: 'Dikr yi yépp jeex nañu !'
445334
},
446-
dua_forgiveness: {
447-
fr: 'Je demande pardon à Allah le Très Grand...',
448-
wo: 'Damay ñaan Yàlla mu baal ma, mu jot ma, moom mi nit amul, mooy dund gi ak taxawal gi...'
335+
336+
/* ============================
337+
FOOTER
338+
============================ */
339+
footer_credit: {
340+
fr: 'Sadaqa Jariya',
341+
wo: 'Sarax bu sore'
449342
}
450343
};
451344

345+
452346
/* ================================================================
453-
LANGUAGE SYSTEM
347+
FONCTIONS DU SYSTÈME DE LANGUE
454348
================================================================ */
349+
350+
/* Lire la langue actuelle */
455351
function getCurrentLang() {
456352
return localStorage.getItem('q_lang') || 'fr';
457353
}
458354

355+
/* Changer la langue */
459356
function setLang(lang) {
460357
localStorage.setItem('q_lang', lang);
461358
return lang;
462359
}
463360

361+
/* Traduire une clé */
464362
function t(key) {
465363
var lang = getCurrentLang();
466364
if (LANG[key]) {
@@ -469,11 +367,52 @@ function t(key) {
469367
return key;
470368
}
471369

472-
/* Get greeting based on time and language */
370+
/* Salutation selon l'heure */
473371
function getGreeting() {
474372
var h = new Date().getHours();
475-
if (h >= 5 && h < 12) return t('home_greeting_morning');
373+
if (h >= 5 && h < 12) return t('home_greeting_morning');
476374
if (h >= 12 && h < 17) return t('home_greeting_afternoon');
477375
if (h >= 17 && h < 21) return t('home_greeting_evening');
478376
return t('home_greeting_night');
479377
}
378+
379+
/* ================================================================
380+
RAFRAÎCHIR TOUS LES TEXTES DE LA PAGE
381+
Fonctionne sur TOUTES les pages (index, quran, duas, dhikr)
382+
================================================================ */
383+
function refreshLang() {
384+
/* 1. Mettre à jour tous les éléments avec data-i18n */
385+
document.querySelectorAll('[data-i18n]').forEach(function(el) {
386+
var key = el.getAttribute('data-i18n');
387+
if (LANG[key]) {
388+
/* Pour les inputs (placeholder) */
389+
if (el.tagName === 'INPUT') {
390+
el.placeholder = t(key);
391+
} else {
392+
el.textContent = t(key);
393+
}
394+
}
395+
});
396+
397+
/* 2. Mettre à jour le greeting si présent */
398+
var greetEl = document.getElementById('greeting');
399+
if (greetEl) greetEl.textContent = getGreeting();
400+
401+
/* 3. Mettre à jour les boutons de langue */
402+
var btnFr = document.getElementById('langFr');
403+
var btnWo = document.getElementById('langWo');
404+
var lang = getCurrentLang();
405+
if (btnFr) btnFr.classList.toggle('active', lang === 'fr');
406+
if (btnWo) btnWo.classList.toggle('active', lang === 'wo');
407+
408+
/* 4. Appeler le callback spécifique à la page si défini */
409+
if (typeof onLangChanged === 'function') {
410+
onLangChanged();
411+
}
412+
}
413+
414+
/* Changer de langue (appelé par les boutons) */
415+
function switchLang(lang) {
416+
setLang(lang);
417+
refreshLang();
418+
}

0 commit comments

Comments
 (0)