- credit & document Turkish translation

- remove plural indicators
- add plural logic and enable Turkish translation
This commit is contained in:
El RIDO 2022-04-28 20:05:57 +02:00
parent 2c01892ee1
commit f717334ee0
No known key found for this signature in database
GPG Key ID: 0F5C940A6BD81F92
7 changed files with 58 additions and 54 deletions

View File

@ -1,6 +1,7 @@
# PrivateBin version history # PrivateBin version history
* **1.4.1 (not yet released)** * **1.4.1 (not yet released)**
* ADDED: Translations for Turkish
* CHANGED: Avoid `SUPER` privilege for setting the `sql_mode` for MariaDB/MySQL (#919) * CHANGED: Avoid `SUPER` privilege for setting the `sql_mode` for MariaDB/MySQL (#919)
* **1.4 (2022-04-09)** * **1.4 (2022-04-09)**
* ADDED: Translations for Corsican, Estonian, Finnish and Lojban * ADDED: Translations for Corsican, Estonian, Finnish and Lojban

View File

@ -56,3 +56,4 @@
* foxsouns - Lojban * foxsouns - Lojban
* Patriccollu di Santa Maria è Sichè - Corsican * Patriccollu di Santa Maria è Sichè - Corsican
* Markus Mikkonen - Finnish * Markus Mikkonen - Finnish
* Emir Ensar Rahmanlar - Turkish

View File

@ -8,10 +8,10 @@
"%s requires php %s or above to work. Sorry.": "%s PHP %s veya daha üstünü gerektirir.", "%s requires php %s or above to work. Sorry.": "%s PHP %s veya daha üstünü gerektirir.",
"%s requires configuration section [%s] to be present in configuration file.": "%s konfigürasyon bölümünün [%s] bulunmasını gerektir.", "%s requires configuration section [%s] to be present in configuration file.": "%s konfigürasyon bölümünün [%s] bulunmasını gerektir.",
"Please wait %d seconds between each post.": [ "Please wait %d seconds between each post.": [
"Lütfen paylaşımlar arasında %d saniye bekleyiniz. (singular)", "Lütfen paylaşımlar arasında %d saniye bekleyiniz.",
"Lütfen paylaşımlar arasında %d saniye bekleyiniz. (1st plural)", "Lütfen paylaşımlar arasında %d saniye bekleyiniz.",
"Lütfen paylaşımlar arasında %d saniye bekleyiniz. (2nd plural)", "Lütfen paylaşımlar arasında %d saniye bekleyiniz.",
"Lütfen paylaşımlar arasında %d saniye bekleyiniz. (3rd plural)" "Lütfen paylaşımlar arasında %d saniye bekleyiniz."
], ],
"Paste is limited to %s of encrypted data.": "Yazılar %s şifreli veriyle sınırlıdır.", "Paste is limited to %s of encrypted data.": "Yazılar %s şifreli veriyle sınırlıdır.",
"Invalid data.": "Geçersiz veri.", "Invalid data.": "Geçersiz veri.",
@ -35,78 +35,78 @@
"Discussion": "Tartışma", "Discussion": "Tartışma",
"Toggle navigation": "Gezinmeyi değiştir", "Toggle navigation": "Gezinmeyi değiştir",
"%d seconds": [ "%d seconds": [
"%d saniye (singular)", "%d saniye",
"%d saniye (1st plural)", "%d saniye",
"%d saniye (2nd plural)", "%d saniye",
"%d saniye (3rd plural)" "%d saniye"
], ],
"%d minutes": [ "%d minutes": [
"%d dakika (singular)", "%d dakika",
"%d dakika (1st plural)", "%d dakika",
"%d dakika (2nd plural)", "%d dakika",
"%d dakika (3rd plural)" "%d dakika"
], ],
"%d hours": [ "%d hours": [
"%d saat (singular)", "%d saat",
"%d saat (1st plural)", "%d saat",
"%d saat (2nd plural)", "%d saat",
"%d saat (3rd plural)" "%d saat"
], ],
"%d days": [ "%d days": [
"%d gün (singular)", "%d gün",
"%d gün (1st plural)", "%d gün",
"%d gün (2nd plural)", "%d gün",
"%d gün (3rd plural)" "%d gün"
], ],
"%d weeks": [ "%d weeks": [
"%d hafta (tekil)", "%d hafta",
"%d hafta (çoğul)", "%d hafta",
"%d hafta (2nd plural)", "%d hafta",
"%d hafta (3rd plural)" "%d hafta"
], ],
"%d months": [ "%d months": [
"%d ay (singular)", "%d ay",
"%d ay (1st plural)", "%d ay",
"%d ay (2nd plural)", "%d ay",
"%d ay (3rd plural)" "%d ay"
], ],
"%d years": [ "%d years": [
"%d yıl (singular)", "%d yıl",
"%d yıl (1st plural)", "%d yıl",
"%d yıl (2nd plural)", "%d yıl",
"%d yıl (3rd plural)" "%d yıl"
], ],
"Never": "Asla", "Never": "Asla",
"Note: This is a test service: Data may be deleted anytime. Kittens will die if you abuse this service.": "Note: This is a test service: Data may be deleted anytime. Kittens will die if you abuse this service.", "Note: This is a test service: Data may be deleted anytime. Kittens will die if you abuse this service.": "Note: This is a test service: Data may be deleted anytime. Kittens will die if you abuse this service.",
"This document will expire in %d seconds.": [ "This document will expire in %d seconds.": [
"Bu belge %s saniyede silinecektir. (singular)", "Bu belge %s saniyede silinecektir.",
"Bu belge %s saniyede silinecektir. (1st plural)", "Bu belge %s saniyede silinecektir.",
"Bu belge %s saniyede silinecektir. (2nd plural)", "Bu belge %s saniyede silinecektir.",
"Bu belge %s saniyede silinecektir. (3rd plural)" "Bu belge %s saniyede silinecektir."
], ],
"This document will expire in %d minutes.": [ "This document will expire in %d minutes.": [
"Bu belge %s dakikada silinecektir. (singular)", "Bu belge %s dakikada silinecektir.",
"Bu belge %s dakikada silinecektir. (1st plural)", "Bu belge %s dakikada silinecektir.",
"Bu belge %s dakikada silinecektir. (2nd plural)", "Bu belge %s dakikada silinecektir.",
"Bu belge %s dakikada silinecektir. (3rd plural)" "Bu belge %s dakikada silinecektir."
], ],
"This document will expire in %d hours.": [ "This document will expire in %d hours.": [
"Bu belge %s saatte silinecektir. (singular)", "Bu belge %s saatte silinecektir.",
"Bu belge %s saatte silinecektir. (1st plural)", "Bu belge %s saatte silinecektir.",
"Bu belge %s saatte silinecektir. (2nd plural)", "Bu belge %s saatte silinecektir.",
"Bu belge %s saatte silinecektir.. (3rd plural)" "Bu belge %s saatte silinecektir.."
], ],
"This document will expire in %d days.": [ "This document will expire in %d days.": [
"Bu belge %s günde silinecektir. (singular)", "Bu belge %s günde silinecektir.",
"Bu belge %s günde silinecektir. (1st plural)", "Bu belge %s günde silinecektir.",
"Bu belge %s günde silinecektir. (2nd plural)", "Bu belge %s günde silinecektir.",
"Bu belge %s günde silinecektir.(3rd plural)" "Bu belge %s günde silinecektir.(3rd plural)"
], ],
"This document will expire in %d months.": [ "This document will expire in %d months.": [
"Bu belge %s ayda silinecektir. (singular)", "Bu belge %s ayda silinecektir.",
"Bu belge %s ayda silinecektir (1st plural)", "Bu belge %s ayda silinecektir",
"Bu belge %s ayda silinecektir (2nd plural)", "Bu belge %s ayda silinecektir",
"Bu belge %s ayda silinecektir (3rd plural)" "Bu belge %s ayda silinecektir"
], ],
"Please enter the password for this paste:": "Lütfen bu yazı için şifrenizi girin:", "Please enter the password for this paste:": "Lütfen bu yazı için şifrenizi girin:",
"Could not decrypt data (Wrong key?)": "Şifre çözülemedi (Yanlış anahtar mı kullandınız?)", "Could not decrypt data (Wrong key?)": "Şifre çözülemedi (Yanlış anahtar mı kullandınız?)",

View File

@ -627,7 +627,7 @@ jQuery.PrivateBin = (function($, RawDeflate) {
* @prop {string[]} * @prop {string[]}
* @readonly * @readonly
*/ */
const supportedLanguages = ['bg', 'ca', 'co', 'cs', 'de', 'es', 'et', 'fi', 'fr', 'he', 'hu', 'id', 'it', 'jbo', 'lt', 'no', 'nl', 'pl', 'pt', 'oc', 'ru', 'sl', 'uk', 'zh']; const supportedLanguages = ['bg', 'ca', 'co', 'cs', 'de', 'es', 'et', 'fi', 'fr', 'he', 'hu', 'id', 'it', 'jbo', 'lt', 'no', 'nl', 'pl', 'pt', 'oc', 'ru', 'sl', 'tr', 'uk', 'zh'];
/** /**
* built in language * built in language
@ -807,6 +807,7 @@ jQuery.PrivateBin = (function($, RawDeflate) {
case 'co': case 'co':
case 'fr': case 'fr':
case 'oc': case 'oc':
case 'tr':
case 'zh': case 'zh':
return n > 1 ? 1 : 0; return n > 1 ? 1 : 0;
case 'he': case 'he':

View File

@ -320,6 +320,7 @@ class I18n
case 'co': case 'co':
case 'fr': case 'fr':
case 'oc': case 'oc':
case 'tr':
case 'zh': case 'zh':
return $n > 1 ? 1 : 0; return $n > 1 ? 1 : 0;
case 'he': case 'he':

View File

@ -73,7 +73,7 @@ endif;
?> ?>
<script type="text/javascript" data-cfasync="false" src="js/purify-2.3.6.js" integrity="sha512-N1GGPjbqLbwK821ZN7C925WuTwU4aDxz2CEEOXQ6/s6m6MBwVj8fh5fugiE2hzsm0xud3q7jpjZQ4ILnpMREYQ==" crossorigin="anonymous"></script> <script type="text/javascript" data-cfasync="false" src="js/purify-2.3.6.js" integrity="sha512-N1GGPjbqLbwK821ZN7C925WuTwU4aDxz2CEEOXQ6/s6m6MBwVj8fh5fugiE2hzsm0xud3q7jpjZQ4ILnpMREYQ==" crossorigin="anonymous"></script>
<script type="text/javascript" data-cfasync="false" src="js/legacy.js?<?php echo rawurlencode($VERSION); ?>" integrity="sha512-LYos+qXHIRqFf5ZPNphvtTB0cgzHUizu2wwcOwcwz/VIpRv9lpcBgPYz4uq6jx0INwCAj6Fbnl5HoKiLufS2jg==" crossorigin="anonymous"></script> <script type="text/javascript" data-cfasync="false" src="js/legacy.js?<?php echo rawurlencode($VERSION); ?>" integrity="sha512-LYos+qXHIRqFf5ZPNphvtTB0cgzHUizu2wwcOwcwz/VIpRv9lpcBgPYz4uq6jx0INwCAj6Fbnl5HoKiLufS2jg==" crossorigin="anonymous"></script>
<script type="text/javascript" data-cfasync="false" src="js/privatebin.js?<?php echo rawurlencode($VERSION); ?>" integrity="sha512-/F0+9bIbFUC8mKQzrcAjIs2Jg92w1DMcczT2Y/KqHVkFEXH1ZSrqtUX7QjLH6RgVR0YhTxhmWkZ2c8scGCwpkQ==" crossorigin="anonymous"></script> <script type="text/javascript" data-cfasync="false" src="js/privatebin.js?<?php echo rawurlencode($VERSION); ?>" integrity="sha512-CbXFfxyGfdXnwMumt2sMdPs/Pxnk3Ahkpw8JulqRIGYZPq7O/hM0YT/xjHG9IcaigdKC0aL42uzlxoBXLI11gw==" crossorigin="anonymous"></script>
<!-- icon --> <!-- icon -->
<link rel="apple-touch-icon" href="<?php echo I18n::encode($BASEPATH); ?>img/apple-touch-icon.png" sizes="180x180" /> <link rel="apple-touch-icon" href="<?php echo I18n::encode($BASEPATH); ?>img/apple-touch-icon.png" sizes="180x180" />
<link rel="icon" type="image/png" href="img/favicon-32x32.png" sizes="32x32" /> <link rel="icon" type="image/png" href="img/favicon-32x32.png" sizes="32x32" />

View File

@ -51,7 +51,7 @@ endif;
?> ?>
<script type="text/javascript" data-cfasync="false" src="js/purify-2.3.6.js" integrity="sha512-N1GGPjbqLbwK821ZN7C925WuTwU4aDxz2CEEOXQ6/s6m6MBwVj8fh5fugiE2hzsm0xud3q7jpjZQ4ILnpMREYQ==" crossorigin="anonymous"></script> <script type="text/javascript" data-cfasync="false" src="js/purify-2.3.6.js" integrity="sha512-N1GGPjbqLbwK821ZN7C925WuTwU4aDxz2CEEOXQ6/s6m6MBwVj8fh5fugiE2hzsm0xud3q7jpjZQ4ILnpMREYQ==" crossorigin="anonymous"></script>
<script type="text/javascript" data-cfasync="false" src="js/legacy.js?<?php echo rawurlencode($VERSION); ?>" integrity="sha512-LYos+qXHIRqFf5ZPNphvtTB0cgzHUizu2wwcOwcwz/VIpRv9lpcBgPYz4uq6jx0INwCAj6Fbnl5HoKiLufS2jg==" crossorigin="anonymous"></script> <script type="text/javascript" data-cfasync="false" src="js/legacy.js?<?php echo rawurlencode($VERSION); ?>" integrity="sha512-LYos+qXHIRqFf5ZPNphvtTB0cgzHUizu2wwcOwcwz/VIpRv9lpcBgPYz4uq6jx0INwCAj6Fbnl5HoKiLufS2jg==" crossorigin="anonymous"></script>
<script type="text/javascript" data-cfasync="false" src="js/privatebin.js?<?php echo rawurlencode($VERSION); ?>" integrity="sha512-/F0+9bIbFUC8mKQzrcAjIs2Jg92w1DMcczT2Y/KqHVkFEXH1ZSrqtUX7QjLH6RgVR0YhTxhmWkZ2c8scGCwpkQ==" crossorigin="anonymous"></script> <script type="text/javascript" data-cfasync="false" src="js/privatebin.js?<?php echo rawurlencode($VERSION); ?>" integrity="sha512-CbXFfxyGfdXnwMumt2sMdPs/Pxnk3Ahkpw8JulqRIGYZPq7O/hM0YT/xjHG9IcaigdKC0aL42uzlxoBXLI11gw==" crossorigin="anonymous"></script>
<!-- icon --> <!-- icon -->
<link rel="apple-touch-icon" href="img/apple-touch-icon.png?<?php echo rawurlencode($VERSION); ?>" sizes="180x180" /> <link rel="apple-touch-icon" href="img/apple-touch-icon.png?<?php echo rawurlencode($VERSION); ?>" sizes="180x180" />
<link rel="icon" type="image/png" href="img/favicon-32x32.png?<?php echo rawurlencode($VERSION); ?>" sizes="32x32" /> <link rel="icon" type="image/png" href="img/favicon-32x32.png?<?php echo rawurlencode($VERSION); ?>" sizes="32x32" />