diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/locales/bg.json | 9 | ||||
-rw-r--r-- | src/locales/da.json | 15 | ||||
-rw-r--r-- | src/locales/diq.json | 1 | ||||
-rw-r--r-- | src/locales/eo.json | 4 | ||||
-rw-r--r-- | src/locales/es.json | 2 | ||||
-rw-r--r-- | src/locales/fa.json | 4 | ||||
-rw-r--r-- | src/locales/oc.json | 4 | ||||
-rw-r--r-- | src/locales/sk.json | 4 | ||||
-rw-r--r-- | src/locales/skr-arab.json | 69 | ||||
-rw-r--r-- | src/locales/sl.json | 2 | ||||
-rw-r--r-- | src/locales/tr.json | 12 | ||||
-rw-r--r-- | src/static/js/html10n.js | 87 |
12 files changed, 156 insertions, 57 deletions
diff --git a/src/locales/bg.json b/src/locales/bg.json index d1403fe7..52e424c3 100644 --- a/src/locales/bg.json +++ b/src/locales/bg.json @@ -1,7 +1,8 @@ { "@metadata": { "authors": [ - "Vodnokon4e" + "Vodnokon4e", + "StanProg" ] }, "index.newPad": "Нов пад", @@ -28,8 +29,14 @@ "pad.importExport.exportword": "Microsoft Word", "pad.importExport.exportpdf": "PDF", "pad.importExport.exportopen": "ODF (Open Document Format)", + "pad.modals.cancel": "Отказване", "pad.modals.userdup": "Отворен в друг прозорец", + "pad.modals.userdup.explanation": "Изглежда, че този пад е отворен на повече от един раздел в браузъра на компютъра.", + "pad.modals.looping.explanation": "Има проблеми с комуникацията със сървъра за синхронизация.", + "pad.modals.looping.cause": "Може би сте свързани чрез несъвместима защитна стена или прокси.", "pad.modals.initsocketfail": "Сървърът е недостъпен.", + "pad.modals.initsocketfail.explanation": "Свързването със сървъра за синхронизация е неуспешно.", + "pad.modals.initsocketfail.cause": "Това вероятно се дължи на проблем с браузъра Ви или връзката Ви с Интернет.", "pad.modals.slowcommit.explanation": "Сървърът не отговаря.", "pad.modals.slowcommit.cause": "Това може да се дължи на проблеми с мрежовите връзки.", "pad.modals.deleted": "Изтрито.", diff --git a/src/locales/da.json b/src/locales/da.json index 662e9afb..06280b8e 100644 --- a/src/locales/da.json +++ b/src/locales/da.json @@ -3,7 +3,8 @@ "authors": [ "Christian List", "Peter Alberti", - "Steenth" + "Steenth", + "Joedalton" ] }, "index.newPad": "Ny Pad", @@ -28,12 +29,14 @@ "pad.colorpicker.save": "Gem", "pad.colorpicker.cancel": "Afbryd", "pad.loading": "Indlæser ...", + "pad.noCookie": "Cookie kunne ikke findes. Tillad venligst cookier i din browser!", "pad.passwordRequired": "Du skal bruge en adgangskode for at få adgang til denne pad", "pad.permissionDenied": "Du har ikke tilladelse til at få adgang til denne pad.", "pad.wrongPassword": "Din adgangskode er forkert", "pad.settings.padSettings": "Pad indstillinger", "pad.settings.myView": "Min visning", "pad.settings.stickychat": "Chat altid på skærmen", + "pad.settings.chatandusers": "Vis snak (chat) og brugere", "pad.settings.colorcheck": "Forfatterskabsfarver", "pad.settings.linenocheck": "Linjenumre", "pad.settings.rtlcheck": "Læse indhold fra højre mod venstre?", @@ -46,15 +49,18 @@ "pad.importExport.import": "Uploade en tekstfil eller dokument", "pad.importExport.importSuccessful": "Vellykket!", "pad.importExport.export": "Eksporter aktuelle pad som:", + "pad.importExport.exportetherpad": "Etherpad", "pad.importExport.exporthtml": "HTML", "pad.importExport.exportplain": "Almindelig tekst", "pad.importExport.exportword": "Microsoft Word", "pad.importExport.exportpdf": "PDF", "pad.importExport.exportopen": "ODF (Open Document Format)", - "pad.importExport.abiword.innerHTML": "Du kan kun importere fra almindelig tekst eller HTML-formater. For mere avancerede importfunktioner, <a href=\"https://github.com/ether/etherpad-lite/wiki/How-to-enable-importing-and-exporting-different-file-formats-in-Ubuntu-or-OpenSuse-or-SLES-with-AbiWord\">installer venligst abiword</a>.", + "pad.importExport.abiword.innerHTML": "Du kan kun importere fra almindelig tekst eller HTML-formater. For mere avancerede importfunktioner, <a href=\"https://github.com/ether/etherpad-lite/wiki/How-to-enable-importing-and-exporting-different-file-formats-with-AbiWord\">installer AbiWord</a>.", "pad.modals.connected": "Forbundet.", "pad.modals.reconnecting": "Genopretter forbindelsen til din pad...", "pad.modals.forcereconnect": "Gennemtving genoprettelse af forbindelsen", + "pad.modals.reconnecttimer": "Prøver at tilkoble igen", + "pad.modals.cancel": "Afbryd", "pad.modals.userdup": "Åbnet i et andet vindue", "pad.modals.userdup.explanation": "Denne pad synes at være åbnet i mere end ét browservindue på denne computer.", "pad.modals.userdup.advice": "Tilslut igen for at bruge dette vindue i stedet.", @@ -91,6 +97,9 @@ "timeslider.exportCurrent": "Eksporter aktuelle version som:", "timeslider.version": "Version {{version}}", "timeslider.saved": "Gemt den {{day}}.{{month}} {{year}}", + "timeslider.playPause": "Afspil eller sæt padindhold på pause", + "timeslider.backRevision": "Gå en revision tilbage i denne pad", + "timeslider.forwardRevision": "Gå en revision fremad i denne pad", "timeslider.dateformat": "{{day}}/{{month}}/{{year}} {{hours}}:{{minutes}}:{{seconds}}", "timeslider.month.january": "januar", "timeslider.month.february": "februar", @@ -106,6 +115,7 @@ "timeslider.month.december": "december", "timeslider.unnamedauthors": "{{num}} {[plural(num) one: unavngiven forfatter, other: unavngivne forfattere]}", "pad.savedrevs.marked": "Denne revision er nu markeret som en gemt revision", + "pad.savedrevs.timeslider": "Du kan se gemte revisioner ved at besøge tidslinjen", "pad.userlist.entername": "Indtast dit navn", "pad.userlist.unnamed": "ikke-navngivet", "pad.userlist.guest": "Gæst", @@ -116,6 +126,7 @@ "pad.impexp.importing": "Importerer...", "pad.impexp.confirmimport": "At importere en fil, vil overskrives den aktuelle pad tekst. Er du sikker på du vil fortsætte?", "pad.impexp.convertFailed": "Vi var ikke i stand til at importere denne fil. Brug et andet dokument-format eller kopier og sæt ind manuelt", + "pad.impexp.padHasData": "Vi kunne ikke importere denne fil, da denne pad allerede har haft ændringer; lav venligst import til en ny pad", "pad.impexp.uploadFailed": "Upload mislykkedes, prøv igen", "pad.impexp.importfailed": "Importen mislykkedes", "pad.impexp.copypaste": "Venligst kopier og sæt ind", diff --git a/src/locales/diq.json b/src/locales/diq.json index b0e1af5f..c57284ac 100644 --- a/src/locales/diq.json +++ b/src/locales/diq.json @@ -61,6 +61,7 @@ "pad.modals.connected": "Gırediya.", "pad.modals.reconnecting": "Bloknot da şıma rê fına irtibat kewê no", "pad.modals.forcereconnect": "Mecbur anciya gırê de", + "pad.modals.cancel": "Bıtexelne", "pad.modals.userdup": "Zewbina pençere de bi a", "pad.modals.userdup.explanation": "Ena bloknot ena komputer de yew ra zeder penceran dı akerde asena", "pad.modals.userdup.advice": "Ena pencera ra kar finayışi rê fına irtibat kewê", diff --git a/src/locales/eo.json b/src/locales/eo.json index 786d3bbe..2754eaf7 100644 --- a/src/locales/eo.json +++ b/src/locales/eo.json @@ -55,10 +55,12 @@ "pad.importExport.exportword": "Microsoft Word", "pad.importExport.exportpdf": "PDF", "pad.importExport.exportopen": "ODF (Formato “OpenDocument”)", - "pad.importExport.abiword.innerHTML": "Nur kapablas enporti de plata teksto aŭ HTML. Por pli speciala importkapablo, bonvolu <a href=\"https://github.com/ether/etherpad-lite/wiki/How-to-enable-importing-and-exporting-different-file-formats-in-Ubuntu-or-OpenSuse-or-SLES-with-AbiWord\">instalu la programon, Abiword</a>.", + "pad.importExport.abiword.innerHTML": "Nur kapablas enporti de plata teksto aŭ HTML. Por pli speciala importkapablo, bonvolu <a href=\"https://github.com/ether/etherpad-lite/wiki/How-to-enable-importing-and-exporting-different-file-formats-with-AbiWord\">instalu la programon, Abiword</a>.", "pad.modals.connected": "Konektita.", "pad.modals.reconnecting": "Rekonektanta al via redaktilo..", "pad.modals.forcereconnect": "Perforte rekonekti", + "pad.modals.reconnecttimer": "Provos rekonekti post", + "pad.modals.cancel": "Nuligi", "pad.modals.userdup": "Malfermita en alia fenestro", "pad.modals.userdup.explanation": "Ĉi tiu teksto ŝajne estas malferma en pli ol unu retumilo sur ĉi tiu komputilo.", "pad.modals.userdup.advice": "Rekonekti por anstataŭe uzi ĉi tiun fenestron.", diff --git a/src/locales/es.json b/src/locales/es.json index 321f1549..cc673e09 100644 --- a/src/locales/es.json +++ b/src/locales/es.json @@ -92,7 +92,7 @@ "pad.modals.disconnected.explanation": "Se perdió la conexión con el servidor", "pad.modals.disconnected.cause": "El servidor podría no estar disponible. Contacta al administrador del servicio si esto continúa sucediendo.", "pad.share": "Compatir este pad", - "pad.share.readonly": "Sólo lectura", + "pad.share.readonly": "Solo lectura", "pad.share.link": "Enlace", "pad.share.emebdcode": "Incrustar URL", "pad.chat": "Chat", diff --git a/src/locales/fa.json b/src/locales/fa.json index e1e88418..4b29669e 100644 --- a/src/locales/fa.json +++ b/src/locales/fa.json @@ -58,10 +58,12 @@ "pad.importExport.exportword": "Microsoft Word", "pad.importExport.exportpdf": "PDF", "pad.importExport.exportopen": "ODF (قالب سند باز)", - "pad.importExport.abiword.innerHTML": "شما تنها میتوانید از قالب متن ساده یا اچتیامال درونریزی کنید. برای بیشتر شدن ویژگیهای درونریزی پیشرفته <a href=\"https://github.com/ether/etherpad-lite/wiki/How-to-enable-importing-and-exporting-different-file-formats-in-Ubuntu-or-OpenSuse-or-SLES-with-AbiWord\">AbiWord</a> را نصب کنید.", + "pad.importExport.abiword.innerHTML": "شما تنها میتوانید از قالب متن ساده یا اچتیامال درونریزی کنید. برای بیشتر شدن ویژگیهای درونریزی پیشرفته <a href=\"https://github.com/ether/etherpad-lite/wiki/How-to-enable-importing-and-exporting-different-file-formats-with-AbiWord\">AbiWord</a> را نصب کنید.", "pad.modals.connected": "متصل شد.", "pad.modals.reconnecting": "در حال اتصال دوباره به دفترچه یادداشت شما..", "pad.modals.forcereconnect": "واداشتن به اتصال دوباره", + "pad.modals.reconnecttimer": "تلاش برای اتصال مجدد", + "pad.modals.cancel": "لغو", "pad.modals.userdup": "در پنجرهای دیگر باز شد", "pad.modals.userdup.explanation": "گمان میرود این دفترچه یادداشت در بیش از یک پنجرهی مرورگر باز شدهاست.", "pad.modals.userdup.advice": "برای استفاده از این پنجره دوباره وصل شوید.", diff --git a/src/locales/oc.json b/src/locales/oc.json index 4678de17..5ec80904 100644 --- a/src/locales/oc.json +++ b/src/locales/oc.json @@ -52,10 +52,12 @@ "pad.importExport.exportword": "Microsoft Word", "pad.importExport.exportpdf": "PDF", "pad.importExport.exportopen": "ODF (Open Document Format)", - "pad.importExport.abiword.innerHTML": "Podètz pas importar que de formats tèxte brut o html. Per de foncionalitats d'importacion mai evoluadas, <a href=\"https://github.com/ether/etherpad-lite/wiki/How-to-enable-importing-and-exporting-different-file-formats-in-Ubuntu-or-OpenSuse-or-SLES-with-AbiWord\">installatz abiword</a>.", + "pad.importExport.abiword.innerHTML": "Podètz pas importar que de formats tèxte brut o html. Per de foncionalitats d'importacion mai evoluadas, <a href=\"https://github.com/ether/etherpad-lite/wiki/How-to-enable-importing-and-exporting-different-file-formats-with-AbiWord\">installatz abiword</a>.", "pad.modals.connected": "Connectat.", "pad.modals.reconnecting": "Reconnexion cap a vòstre Pad...", "pad.modals.forcereconnect": "Forçar la reconnexion.", + "pad.modals.reconnecttimer": "Ensag de reconnexion", + "pad.modals.cancel": "Anullar", "pad.modals.userdup": "Dobèrt dins una autra fenèstra", "pad.modals.userdup.explanation": "Sembla qu'aqueste Pad es dobèrt dins mai d'una fenèstra de vòstre navigador sus aqueste ordinator.", "pad.modals.userdup.advice": "Se reconnectar en utilizant aquesta fenèstra.", diff --git a/src/locales/sk.json b/src/locales/sk.json index b1dc0a20..e199945a 100644 --- a/src/locales/sk.json +++ b/src/locales/sk.json @@ -56,10 +56,12 @@ "pad.importExport.exportword": "Microsoft Word", "pad.importExport.exportpdf": "PDF", "pad.importExport.exportopen": "ODF (Open Document Format)", - "pad.importExport.abiword.innerHTML": "Importovať môžete len čistý text alebo HTML. Pre pokročilejšie funkcie importu prosím nainštalujte „<a href=\"https://github.com/ether/etherpad-lite/wiki/How-to-enable-importing-and-exporting-different-file-formats-in-Ubuntu-or-OpenSuse-or-SLES-with-AbiWord\">Abiword</a>“.", + "pad.importExport.abiword.innerHTML": "Importovať môžete len čistý text alebo HTML. Pre pokročilejšie funkcie importu prosím nainštalujte „<a href=\"https://github.com/ether/etherpad-lite/wiki/How-to-enable-importing-and-exporting-different-file-formats-with-AbiWord\">AbiWord</a>“.", "pad.modals.connected": "Pripojené.", "pad.modals.reconnecting": "Opätovné pripájanie k vášmu Padu...", "pad.modals.forcereconnect": "Vynútiť znovupripojenie", + "pad.modals.reconnecttimer": "Skúšam sa pripojiť", + "pad.modals.cancel": "Zrušiť", "pad.modals.userdup": "Otvorené v inom okne", "pad.modals.userdup.explanation": "Zdá sa, že tento Pad je na tomto počítači otvorený vo viacerých oknách prehliadača.", "pad.modals.userdup.advice": "Pre použitie tohoto okna se musíte znovu pripojiť.", diff --git a/src/locales/skr-arab.json b/src/locales/skr-arab.json new file mode 100644 index 00000000..833d341e --- /dev/null +++ b/src/locales/skr-arab.json @@ -0,0 +1,69 @@ +{ + "@metadata": { + "authors": [ + "Saraiki" + ] + }, + "index.newPad": "نواں پیڈ", + "pad.toolbar.bold.title": "بولڈ(Ctrl+B)", + "pad.toolbar.italic.title": "ترچھے (Ctrl+I)", + "pad.toolbar.underline.title": "ہیٹھ لکیر (Ctrl+U)", + "pad.toolbar.savedRevision.title": "رویژن بچاؤ", + "pad.toolbar.settings.title": "ترتیباں", + "pad.colorpicker.save": "بچاؤ", + "pad.colorpicker.cancel": "منسوخ", + "pad.loading": "لوڈ تھیندا پئے۔۔۔", + "pad.wrongPassword": "تہاݙ پاسورڈ غلط ہے", + "pad.settings.padSettings": "پیڈ ترتیباں", + "pad.settings.fontType": "فونٹ قسم:", + "pad.settings.globalView": "عالمی منظر", + "pad.settings.language": "زبان:", + "pad.importExport.importSuccessful": "کامیاب!", + "pad.importExport.exportetherpad": "ایتھرپیڈ", + "pad.importExport.exporthtml": "ایچ ٹی ایم ایل", + "pad.importExport.exportplain": "سادہ متن", + "pad.importExport.exportword": "مائیکروسافٹ ورڈ", + "pad.importExport.exportpdf": "پی ڈی ایف", + "pad.modals.connected": "ڄُڑ ڳیا۔", + "pad.modals.cancel": "منسوخ", + "pad.modals.unauth": "اجازت کائنی", + "pad.modals.initsocketfail": "سرور تائیں پہنچݨ ممکن کائنی", + "pad.modals.slowcommit.explanation": "سرور توں جواب کائنی امدا پیا", + "pad.modals.deleted": "مٹا ݙتے", + "pad.modals.deleted.explanation": "ایہ پیڈ ہٹا ݙتا ڳئے۔", + "pad.modals.disconnected": "تہاݙا کنکشن مُک ڳئے", + "pad.share": "ایہ پیڈ شیئر کرو", + "pad.share.readonly": "صرف پڑھو", + "pad.share.link": "ربط", + "pad.share.emebdcode": "امنیڈ یو آر ایل", + "pad.chat": "چیٹ", + "pad.chat.loadmessages": "ٻئے سنیہے لوڈ کرو", + "timeslider.toolbar.returnbutton": "واپس پیڈ تے ونڄو", + "timeslider.toolbar.authors": "مصنف:", + "timeslider.toolbar.authorsList": "کوئی مصنف کائنی", + "timeslider.toolbar.exportlink.title": "ٻاہر بھیڄو", + "timeslider.version": "ورژن {{version}}", + "timeslider.saved": "محفوظ تھیا {{month}} {{day}}, {{year}}", + "timeslider.dateformat": "{{month}}/{{day}}/{{year}} {{hours}}:{{minutes}}:{{seconds}}", + "timeslider.month.january": "جنوری", + "timeslider.month.february": "فروری", + "timeslider.month.march": "مارچ", + "timeslider.month.april": "اپريل", + "timeslider.month.may": "مئی", + "timeslider.month.june": "جون", + "timeslider.month.july": "جولائی", + "timeslider.month.august": "اگست", + "timeslider.month.september": "ستمبر", + "timeslider.month.october": "اکتوبر", + "timeslider.month.november": "نومبر", + "timeslider.month.december": "دسمبر", + "pad.userlist.entername": "آپݨا ناں درج کرو", + "pad.userlist.unnamed": "بغیر ناں", + "pad.userlist.guest": "پرہاݨاں", + "pad.userlist.deny": "انکار", + "pad.userlist.approve": "منظور", + "pad.impexp.importbutton": "ہݨ ٻاہروں گھن آؤ", + "pad.impexp.importing": "اندر آندا پئے۔۔۔", + "pad.impexp.uploadFailed": "فائل اپ لوڈ نی تھی سڳی، چڑھاوݨ کیتےولدا کوشش کرو", + "pad.impexp.importfailed": "ٻاہروں آ نی سڳے" +} diff --git a/src/locales/sl.json b/src/locales/sl.json index 6e81d9ab..50333132 100644 --- a/src/locales/sl.json +++ b/src/locales/sl.json @@ -55,7 +55,7 @@ "pad.importExport.exportword": "DOC (zapis Microsoft Word)", "pad.importExport.exportpdf": "PDF (zapis Acrobat PDF)", "pad.importExport.exportopen": "ODF (zapis Open Document)", - "pad.importExport.abiword.innerHTML": "Uvoziti je mogoče le običajno neoblikovano besedilo in zapise HTML. Za naprednejše zmožnosti namestite <a href=\\\"https://github.com/ether/etherpad-lite/wiki/How-to-enable-importing-and-exporting-different-file-formats-with-AbiWord\\\">program AbiWord</a>.", + "pad.importExport.abiword.innerHTML": "Uvoziti je mogoče le običajno neoblikovano besedilo in zapise HTML. Za naprednejše zmožnosti namestite <a href=\"https://github.com/ether/etherpad-lite/wiki/How-to-enable-importing-and-exporting-different-file-formats-with-AbiWord\">program AbiWord</a>.", "pad.modals.connected": "Povezano.", "pad.modals.reconnecting": "Poteka povezovanje z dokumentom ...", "pad.modals.forcereconnect": "Vsili ponovno povezavo", diff --git a/src/locales/tr.json b/src/locales/tr.json index deb3f58c..0be2588f 100644 --- a/src/locales/tr.json +++ b/src/locales/tr.json @@ -38,7 +38,7 @@ "pad.wrongPassword": "Parolanız yanlış", "pad.settings.padSettings": "Bloknot Ayarları", "pad.settings.myView": "Görünümüm", - "pad.settings.stickychat": "Ekranda her zaman sohbet edin", + "pad.settings.stickychat": "Sohbeti her zaman ekranda yap", "pad.settings.chatandusers": "Sohbeti ve Kullanıcıları Göster", "pad.settings.colorcheck": "Yazarlık renkleri", "pad.settings.linenocheck": "Satır numaraları", @@ -58,10 +58,12 @@ "pad.importExport.exportword": "Microsoft Word", "pad.importExport.exportpdf": "PDF", "pad.importExport.exportopen": "ODF (Açık Doküman Biçimi)", - "pad.importExport.abiword.innerHTML": "Yalnızca düz metin ya da HTML biçimlerini içe aktarabilirsiniz. Daha fazla gelişmiş içe aktarım özellikleri için <a href=\"https://github.com/ether/etherpad-lite/wiki/How-to-enable-importing-and-exporting-different-file-formats-in-Ubuntu-or-OpenSuse-or-SLES-with-AbiWord\">AbiWord'ü yükleyin</a>.", + "pad.importExport.abiword.innerHTML": "Yalnızca düz metin ya da HTML biçimlerini içe aktarabilirsiniz. Daha fazla gelişmiş içe aktarım özellikleri için lütfen <a href=\"https://github.com/ether/etherpad-lite/wiki/How-to-enable-importing-and-exporting-different-file-formats-with-AbiWord\">AbiWord'ü yükleyin</a>.", "pad.modals.connected": "Bağlandı.", "pad.modals.reconnecting": "Bloknotunuza tekrar bağlanılıyor...", "pad.modals.forcereconnect": "Yeniden bağlanmaya zorla", + "pad.modals.reconnecttimer": "Yeniden bağlanmaya çalışılıyor", + "pad.modals.cancel": "İptal", "pad.modals.userdup": "Başka pencerede açıldı", "pad.modals.userdup.explanation": "Bu bloknot bu bilgisayarda birden fazla tarayıcı penceresinde açılmış gibi görünüyor.", "pad.modals.userdup.advice": "Bu pencereden kullanmak için yeniden bağlanın.", @@ -101,7 +103,7 @@ "timeslider.playPause": "Bloknot İçeriğini Oynat / Durdur", "timeslider.backRevision": "Bu bloknottaki bir revizyona geri git", "timeslider.forwardRevision": "Bu bloknatta sonraki revizyona git", - "timeslider.dateformat": "{{day}}/{{month}}/{{year}} {{hours}}.{{minutes}}.{{seconds}}", + "timeslider.dateformat": "{{day}}/{{month}}/{{year}} {{hours}}:{{minutes}}:{{seconds}}", "timeslider.month.january": "Ocak", "timeslider.month.february": "Şubat", "timeslider.month.march": "Mart", @@ -114,11 +116,11 @@ "timeslider.month.october": "Ekim", "timeslider.month.november": "Kasım", "timeslider.month.december": "Aralık", - "timeslider.unnamedauthors": "{{num}} adsız {[plural(num) one: yazar, other: yazar ]}", + "timeslider.unnamedauthors": "{{num}} isimsiz {[plural(num) one: yazar, other: yazar ]}", "pad.savedrevs.marked": "Bu düzenleme artık kayıtlı bir düzeltme olarak işaretlendi", "pad.savedrevs.timeslider": "Zaman kaydırıcısını ziyaret ederek kaydedilen revizyonları görebilirsiniz", "pad.userlist.entername": "Adınızı girin", - "pad.userlist.unnamed": "Adlandırılmamış", + "pad.userlist.unnamed": "isimsiz", "pad.userlist.guest": "Misafir", "pad.userlist.deny": "Reddet", "pad.userlist.approve": "Onayla", diff --git a/src/static/js/html10n.js b/src/static/js/html10n.js index eecbaa0a..8dea84c2 100644 --- a/src/static/js/html10n.js +++ b/src/static/js/html10n.js @@ -21,7 +21,7 @@ * IN THE SOFTWARE. */ window.html10n = (function(window, document, undefined) { - + // fix console (function() { var noop = function() {}; @@ -80,7 +80,7 @@ window.html10n = (function(window, document, undefined) { return -1; } } - + /** * MicroEvent - to make any js object an event emitter (server or browser) */ @@ -116,7 +116,7 @@ window.html10n = (function(window, document, undefined) { destObject[props[i]] = MicroEvent.prototype[props[i]]; } } - + /** * Loader * The loader is responsible for loading @@ -127,7 +127,7 @@ window.html10n = (function(window, document, undefined) { this.cache = {} // file => contents this.langs = {} // lang => strings } - + Loader.prototype.load = function(lang, cb) { if(this.langs[lang]) return cb() @@ -137,22 +137,22 @@ window.html10n = (function(window, document, undefined) { this.fetch(this.resources[i], lang, function(e) { reqs++; if(e) console.warn(e) - + if (reqs < n) return;// Call back once all reqs are completed cb && cb() }) } } } - + Loader.prototype.fetch = function(href, lang, cb) { var that = this - + if (this.cache[href]) { this.parse(lang, href, this.cache[href], cb) return; } - + var xhr = new XMLHttpRequest() xhr.open('GET', href, /*async: */true) if (xhr.overrideMimeType) { @@ -172,7 +172,7 @@ window.html10n = (function(window, document, undefined) { }; xhr.send(null); } - + Loader.prototype.parse = function(lang, currHref, data, cb) { if ('object' != typeof data) { cb(new Error('A file couldn\'t be parsed as json.')) @@ -192,7 +192,7 @@ window.html10n = (function(window, document, undefined) { } if(lang != l) return cb(new Error(msg)) } - + if ('string' == typeof data[lang]) { // Import rule @@ -200,7 +200,7 @@ window.html10n = (function(window, document, undefined) { var importUrl = data[lang] // relative path - if(data[lang].indexOf("http") != 0 && data[lang].indexOf("/") != 0) { + if(data[lang].indexOf("http") != 0 && data[lang].indexOf("/") != 0) { importUrl = currHref+"/../"+data[lang] } @@ -217,20 +217,20 @@ window.html10n = (function(window, document, undefined) { // TODO: Also store accompanying langs cb() } - - + + /** * The html10n object */ - var html10n = + var html10n = { language : null } MicroEvent.mixin(html10n) - + html10n.macros = {} html10n.rtl = ["ar","dv","fa","ha","he","ks","ku","ps","ur","yi"] - + /** * Get rules for plural forms (shared with JetPack), see: * http://unicode.org/repos/cldr-tmp/trunk/diff/supplemental/language_plural_rules.html @@ -668,7 +668,7 @@ window.html10n = (function(window, document, undefined) { return str; }; - + /** * Localize a document * @param langs An array of lang codes defining fallbacks @@ -710,7 +710,7 @@ window.html10n = (function(window, document, undefined) { // translate element itself if necessary this.translateNode(translations, element) } - + function asyncForEach(list, iterator, cb) { var i = 0 , n = list.length @@ -721,7 +721,7 @@ window.html10n = (function(window, document, undefined) { cb() }) } - + function getTranslatableChildren(element) { if(!document.querySelectorAll) { if (!element) return [] @@ -735,29 +735,29 @@ window.html10n = (function(window, document, undefined) { } return element.querySelectorAll('*[data-l10n-id]') } - + html10n.get = function(id, args) { var translations = html10n.translations if(!translations) return console.warn('No translations available (yet)') if(!translations[id]) return console.warn('Could not find string '+id) - + // apply macros var str = translations[id] - + str = substMacros(id, str, args) - + // apply args str = substArguments(str, args) - + return str } - + // replace {{arguments}} with their values or the // associated translation string (based on its key) function substArguments(str, args) { var reArgs = /\{\{\s*([a-zA-Z\.]+)\s*\}\}/ , match - + while (match = reArgs.exec(str)) { if (!match || match.length < 2) return str // argument key not found @@ -775,15 +775,15 @@ window.html10n = (function(window, document, undefined) { str = str.substring(0, match.index) + sub + str.substr(match.index + match[0].length) } - + return str } - + // replace {[macros]} with their values function substMacros(key, str, args) { var regex = /\{\[\s*([a-zA-Z]+)\(([a-zA-Z]+)\)((\s*([a-zA-Z]+)\: ?([ a-zA-Z{}]+),?)+)*\s*\]\}/ //.exec('{[ plural(n) other: are {{n}}, one: is ]}') , match - + while(match = regex.exec(str)) { // a macro has been found // Note: at the moment, only one parameter is supported @@ -791,9 +791,9 @@ window.html10n = (function(window, document, undefined) { , paramName = match[2] , optv = match[3] , opts = {} - + if (!(macroName in html10n.macros)) continue - + if(optv) { optv.match(/(?=\s*)([a-zA-Z]+)\: ?([ a-zA-Z{}]+)(?=,?)/g).forEach(function(arg) { var parts = arg.split(':') @@ -802,7 +802,7 @@ window.html10n = (function(window, document, undefined) { opts[name] = value }) } - + var param if (args && paramName in args) { param = args[paramName] @@ -814,10 +814,10 @@ window.html10n = (function(window, document, undefined) { var macro = html10n.macros[macroName] str = str.substr(0, match.index) + macro(key, param, opts) + str.substr(match.index+match[0].length) } - + return str } - + /** * Applies translations to a DOM node (recursive) */ @@ -840,9 +840,9 @@ window.html10n = (function(window, document, undefined) { console.warn('Couldn\'t parse args for '+str.id) } } - + str.str = html10n.get(str.id, str.args) - + // get attribute name to apply str to var prop , index = str.id.lastIndexOf('.') @@ -852,6 +852,7 @@ window.html10n = (function(window, document, undefined) { , "alt": 1 , "textContent": 1 , "value": 1 + , "placeholder": 1 } if (index > 0 && str.id.substr(index + 1) in attrList) { // an attribute has been specified prop = str.id.substr(index + 1) @@ -883,7 +884,7 @@ window.html10n = (function(window, document, undefined) { } } } - + /** * Builds a translation object from a list of langs (loads the necessary translations) * @param langs Array - a list of langs sorted by priority (default langs should go last) @@ -898,11 +899,11 @@ window.html10n = (function(window, document, undefined) { }, function() { var lang langs.reverse() - + // loop through the priority array... for (var i=0, n=langs.length; i < n; i++) { lang = langs[i] - + if(!lang) continue; if(!(lang in that.loader.langs)) {// uh, we don't have this lang availbable.. // then check for related langs @@ -915,13 +916,13 @@ window.html10n = (function(window, document, undefined) { } if(lang != l) continue; } - + // ... and apply all strings of the current lang in the list // to our build object for (var string in that.loader.langs[lang]) { build[string] = that.loader.langs[lang][string] } - + // the last applied lang will be exposed as the // lang the page was translated to that.language = lang @@ -929,7 +930,7 @@ window.html10n = (function(window, document, undefined) { cb(null, build) }) } - + /** * Returns the language that was last applied to the translations hash * thus overriding most of the formerly applied langs @@ -962,7 +963,7 @@ window.html10n = (function(window, document, undefined) { this.loader = new Loader(resources) this.trigger('indexed') } - + if (document.addEventListener) // modern browsers and IE9+ document.addEventListener('DOMContentLoaded', function() { html10n.index() |