Browse Source

- credit & document Turkish translation
- remove plural indicators
- add plural logic and enable Turkish translation

El RIDO 4 years ago
parent
commit
f717334ee0
7 changed files with 58 additions and 54 deletions
  1. 1 0
      CHANGELOG.md
  2. 1 0
      CREDITS.md
  3. 51 51
      i18n/tr.json
  4. 2 1
      js/privatebin.js
  5. 1 0
      lib/I18n.php
  6. 1 1
      tpl/bootstrap.php
  7. 1 1
      tpl/page.php

+ 1 - 0
CHANGELOG.md

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

+ 1 - 0
CREDITS.md

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

+ 51 - 51
i18n/tr.json

@@ -8,10 +8,10 @@
     "%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.",
     "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. (1st plural)",
-        "Lütfen paylaşımlar arasında %d saniye bekleyiniz. (2nd plural)",
-        "Lütfen paylaşımlar arasında %d saniye bekleyiniz. (3rd plural)"
+        "Lütfen paylaşımlar arasında %d saniye bekleyiniz.",
+        "Lütfen paylaşımlar arasında %d saniye bekleyiniz.",
+        "Lütfen paylaşımlar arasında %d saniye bekleyiniz.",
+        "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.",
     "Invalid data.": "Geçersiz veri.",
@@ -35,78 +35,78 @@
     "Discussion": "Tartışma",
     "Toggle navigation": "Gezinmeyi değiştir",
     "%d seconds": [
-        "%d saniye (singular)",
-        "%d saniye (1st plural)",
-        "%d saniye (2nd plural)",
-        "%d saniye (3rd plural)"
+        "%d saniye",
+        "%d saniye",
+        "%d saniye",
+        "%d saniye"
     ],
     "%d minutes": [
-        "%d dakika (singular)",
-        "%d dakika (1st plural)",
-        "%d dakika (2nd plural)",
-        "%d dakika (3rd plural)"
+        "%d dakika",
+        "%d dakika",
+        "%d dakika",
+        "%d dakika"
     ],
     "%d hours": [
-        "%d saat (singular)",
-        "%d saat (1st plural)",
-        "%d saat (2nd plural)",
-        "%d saat (3rd plural)"
+        "%d saat",
+        "%d saat",
+        "%d saat",
+        "%d saat"
     ],
     "%d days": [
-        "%d gün (singular)",
-        "%d gün (1st plural)",
-        "%d gün (2nd plural)",
-        "%d gün (3rd plural)"
+        "%d gün",
+        "%d gün",
+        "%d gün",
+        "%d gün"
     ],
     "%d weeks": [
-        "%d hafta (tekil)",
-        "%d hafta (çoğul)",
-        "%d hafta (2nd plural)",
-        "%d hafta (3rd plural)"
+        "%d hafta",
+        "%d hafta",
+        "%d hafta",
+        "%d hafta"
     ],
     "%d months": [
-        "%d ay (singular)",
-        "%d ay (1st plural)",
-        "%d ay (2nd plural)",
-        "%d ay (3rd plural)"
+        "%d ay",
+        "%d ay",
+        "%d ay",
+        "%d ay"
     ],
     "%d years": [
-        "%d yıl (singular)",
-        "%d yıl (1st plural)",
-        "%d yıl (2nd plural)",
-        "%d yıl (3rd plural)"
+        "%d yıl",
+        "%d yıl",
+        "%d yıl",
+        "%d yıl"
     ],
     "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.",
     "This document will expire in %d seconds.": [
-        "Bu belge %s saniyede silinecektir. (singular)",
-        "Bu belge %s saniyede silinecektir. (1st plural)",
-        "Bu belge %s saniyede silinecektir. (2nd plural)",
-        "Bu belge %s saniyede silinecektir. (3rd plural)"
+        "Bu belge %s saniyede silinecektir.",
+        "Bu belge %s saniyede silinecektir.",
+        "Bu belge %s saniyede silinecektir.",
+        "Bu belge %s saniyede silinecektir."
     ],
     "This document will expire in %d minutes.": [
-        "Bu belge %s dakikada silinecektir. (singular)",
-        "Bu belge %s dakikada silinecektir. (1st plural)",
-        "Bu belge %s dakikada silinecektir. (2nd plural)",
-        "Bu belge %s dakikada silinecektir. (3rd plural)"
+        "Bu belge %s dakikada silinecektir.",
+        "Bu belge %s dakikada silinecektir.",
+        "Bu belge %s dakikada silinecektir.",
+        "Bu belge %s dakikada silinecektir."
     ],
     "This document will expire in %d hours.": [
-        "Bu belge %s saatte silinecektir. (singular)",
-        "Bu belge %s saatte silinecektir. (1st plural)",
-        "Bu belge %s saatte silinecektir. (2nd plural)",
-        "Bu belge %s saatte silinecektir.. (3rd plural)"
+        "Bu belge %s saatte silinecektir.",
+        "Bu belge %s saatte silinecektir.",
+        "Bu belge %s saatte silinecektir.",
+        "Bu belge %s saatte silinecektir.."
     ],
     "This document will expire in %d days.": [
-        "Bu belge %s günde silinecektir. (singular)",
-        "Bu belge %s günde silinecektir. (1st plural)",
-        "Bu belge %s günde silinecektir. (2nd plural)",
+        "Bu belge %s günde silinecektir.",
+        "Bu belge %s günde silinecektir.",
+        "Bu belge %s günde silinecektir.",
         "Bu belge %s günde silinecektir.(3rd plural)"
     ],
     "This document will expire in %d months.": [
-        "Bu belge %s ayda silinecektir. (singular)",
-        "Bu belge %s ayda silinecektir (1st plural)",
-        "Bu belge %s ayda silinecektir (2nd plural)",
-        "Bu belge %s ayda silinecektir (3rd plural)"
+        "Bu belge %s ayda silinecektir.",
+        "Bu belge %s ayda silinecektir",
+        "Bu belge %s ayda silinecektir",
+        "Bu belge %s ayda silinecektir"
     ],
     "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?)",

+ 2 - 1
js/privatebin.js

@@ -627,7 +627,7 @@ jQuery.PrivateBin = (function($, RawDeflate) {
          * @prop   {string[]}
          * @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
@@ -807,6 +807,7 @@ jQuery.PrivateBin = (function($, RawDeflate) {
                 case 'co':
                 case 'fr':
                 case 'oc':
+                case 'tr':
                 case 'zh':
                     return n > 1 ? 1 : 0;
                 case 'he':

+ 1 - 0
lib/I18n.php

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

+ 1 - 1
tpl/bootstrap.php

@@ -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/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 -->
 		<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" />

+ 1 - 1
tpl/page.php

@@ -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/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 -->
 		<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" />