diff --git a/.tx/config b/.tx/config
index bef5fb2eeb8a7771a7f7c1f3e88bde228c181b02..6bcdfc40e9ffb7f3bc3272d6ce73064ff8a39c69 100644
--- a/.tx/config
+++ b/.tx/config
@@ -87,6 +87,7 @@ trans.id = core/locale/messages_in.po
 trans.it = core/locale/messages_it.po
 trans.ja = core/locale/messages_ja.po
 trans.ko = core/locale/messages_ko.po
+trans.ku = core/locale/messages_ku.po
 trans.nb = core/locale/messages_nb.po
 trans.nl = core/locale/messages_nl.po
 trans.pl = core/locale/messages_pl.po
@@ -95,6 +96,7 @@ trans.pt_BR = core/locale/messages_pt_BR.po
 trans.ro = core/locale/messages_ro.po
 trans.ru_RU = core/locale/messages_ru.po
 trans.sv_SE = core/locale/messages_sv.po
+trans.tk = core/locale/messages_tk.po
 trans.tr_TR = core/locale/messages_tr.po
 trans.uk_UA = core/locale/messages_uk.po
 trans.vi = core/locale/messages_vi.po
@@ -130,6 +132,7 @@ trans.pt_BR = router/locale/messages_pt_BR.po
 trans.ro = router/locale/messages_ro.po
 trans.ru_RU = router/locale/messages_ru.po
 trans.sv_SE = router/locale/messages_sv.po
+trans.tk = router/locale/messages_tk.po
 trans.tr_TR = router/locale/messages_tr.po
 trans.uk_UA = router/locale/messages_uk.po
 trans.vi = router/locale/messages_vi.po
@@ -202,6 +205,7 @@ trans.sk = apps/routerconsole/locale-news/messages_sk.po
 trans.sq = apps/routerconsole/locale-news/messages_sq.po
 trans.sr = apps/routerconsole/locale-news/messages_sr.po
 trans.sv_SE = apps/routerconsole/locale-news/messages_sv.po
+trans.tk = apps/routerconsole/locale-news/messages_tk.po
 trans.tr_TR = apps/routerconsole/locale-news/messages_tr.po
 trans.uk_UA = apps/routerconsole/locale-news/messages_uk.po
 trans.zh_CN = apps/routerconsole/locale-news/messages_zh.po
@@ -235,6 +239,7 @@ trans.id = apps/routerconsole/locale-countries/messages_in.po
 trans.it = apps/routerconsole/locale-countries/messages_it.po
 trans.ja = apps/routerconsole/locale-countries/messages_ja.po
 trans.ko = apps/routerconsole/locale-countries/messages_ko.po
+trans.ku = apps/routerconsole/locale-countries/messages_ku.po
 trans.mg = apps/routerconsole/locale-countries/messages_mg.po
 trans.nb = apps/routerconsole/locale-countries/messages_nb.po
 trans.nl = apps/routerconsole/locale-countries/messages_nl.po
@@ -247,6 +252,7 @@ trans.sk = apps/routerconsole/locale-countries/messages_sk.po
 trans.sq = apps/routerconsole/locale-countries/messages_sq.po
 trans.sr = apps/routerconsole/locale-countries/messages_sr.po
 trans.sv_SE = apps/routerconsole/locale-countries/messages_sv.po
+trans.tk = apps/routerconsole/locale-countries/messages_tk.po
 trans.tr_TR = apps/routerconsole/locale-countries/messages_tr.po
 trans.uk_UA = apps/routerconsole/locale-countries/messages_uk.po
 trans.vi = apps/routerconsole/locale-countries/messages_vi.po
@@ -330,6 +336,7 @@ trans.da = apps/desktopgui/locale/messages_da.po
 trans.de = apps/desktopgui/locale/messages_de.po
 trans.el = apps/desktopgui/locale/messages_el.po
 trans.es = apps/desktopgui/locale/messages_es.po
+trans.es_AR = apps/desktopgui/locale/messages_es_AR.po
 trans.fa = apps/desktopgui/locale/messages_fa.po
 trans.fi = apps/desktopgui/locale/messages_fi.po
 trans.fr = apps/desktopgui/locale/messages_fr.po
@@ -353,6 +360,7 @@ trans.sr = apps/desktopgui/locale/messages_sr.po
 trans.sv_SE = apps/desktopgui/locale/messages_sv.po
 trans.sq = apps/desktopgui/locale/messages_sq.po
 trans.uk_UA = apps/desktopgui/locale/messages_uk.po
+trans.tk = apps/desktopgui/locale/messages_tk.po
 trans.tr_TR = apps/desktopgui/locale/messages_tr.po
 trans.vi = apps/desktopgui/locale/messages_vi.po
 trans.zh_CN = apps/desktopgui/locale/messages_zh.po
@@ -428,6 +436,7 @@ trans.ru_RU = debian/po/ru.po
 trans.sk = debian/po/sk.po
 trans.sq = debian/po/sq.po
 trans.sv_SE = debian/po/sv.po
+trans.tk = debian/po/tk.po
 trans.tr_TR = debian/po/tr.po
 trans.uk_UA = debian/po/uk.po
 trans.zh_CN = debian/po/zh.po
@@ -536,6 +545,7 @@ trans.pt_BR = apps/ministreaming/locale/messages_pt_BR.po
 trans.ro = apps/ministreaming/locale/messages_ro.po
 trans.ru_RU = apps/ministreaming/locale/messages_ru.po
 trans.sv_SE = apps/ministreaming/locale/messages_sv.po
+trans.tk = apps/ministreaming/locale/messages_tk.po
 trans.tr_TR = apps/ministreaming/locale/messages_tr.po
 trans.uk_UA = apps/ministreaming/locale/messages_uk.po
 trans.zh_CN = apps/ministreaming/locale/messages_zh.po
diff --git a/apps/desktopgui/locale/messages_es_AR.po b/apps/desktopgui/locale/messages_es_AR.po
new file mode 100644
index 0000000000000000000000000000000000000000..32b657e062cf402bc16b1b77be9b3ab9db479a6f
--- /dev/null
+++ b/apps/desktopgui/locale/messages_es_AR.po
@@ -0,0 +1,94 @@
+# I2P
+# Copyright (C) 2009 The I2P Project
+# This file is distributed under the same license as the desktopgui package.
+# To contribute translations, see http://www.i2p2.de/newdevelopers
+# 
+# Translators:
+# kaze kaze <kaze@rlab.be>, 2017
+msgid ""
+msgstr ""
+"Project-Id-Version: I2P\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2016-05-25 12:29+0000\n"
+"PO-Revision-Date: 2017-11-16 15:29+0000\n"
+"Last-Translator: kaze kaze <kaze@rlab.be>\n"
+"Language-Team: Spanish (Argentina) (http://www.transifex.com/otf/I2P/language/es_AR/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Language: es_AR\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: src/net/i2p/desktopgui/ExternalTrayManager.java:31
+#: src/net/i2p/desktopgui/ExternalTrayManager.java:59
+msgid "Start I2P"
+msgstr "Iniciando I2P..."
+
+#: src/net/i2p/desktopgui/ExternalTrayManager.java:44
+#: src/net/i2p/desktopgui/ExternalTrayManager.java:72
+msgid "I2P is starting!"
+msgstr "I2P esta iniciando!"
+
+#: src/net/i2p/desktopgui/ExternalTrayManager.java:44
+#: src/net/i2p/desktopgui/ExternalTrayManager.java:72
+msgid "Starting"
+msgstr "Iniciando"
+
+#: src/net/i2p/desktopgui/InternalTrayManager.java:55
+#: src/net/i2p/desktopgui/InternalTrayManager.java:207
+msgid "Launch I2P Browser"
+msgstr "Lanzar el Navegador I2P"
+
+#: src/net/i2p/desktopgui/InternalTrayManager.java:76
+#: src/net/i2p/desktopgui/InternalTrayManager.java:228
+msgid "Configure I2P System Tray"
+msgstr "Configurar la Bandeja de Sistema de I2P"
+
+#: src/net/i2p/desktopgui/InternalTrayManager.java:77
+#: src/net/i2p/desktopgui/InternalTrayManager.java:229
+msgid "Disable"
+msgstr "Deshabilitar"
+
+#: src/net/i2p/desktopgui/InternalTrayManager.java:93
+#: src/net/i2p/desktopgui/InternalTrayManager.java:245
+msgid "Restart I2P"
+msgstr "Riniciar I2P"
+
+#: src/net/i2p/desktopgui/InternalTrayManager.java:110
+#: src/net/i2p/desktopgui/InternalTrayManager.java:262
+msgid "Stop I2P"
+msgstr "Detener I2P"
+
+#: src/net/i2p/desktopgui/InternalTrayManager.java:126
+#: src/net/i2p/desktopgui/InternalTrayManager.java:278
+msgid "Restart I2P Immediately"
+msgstr " Reiniciar I2P inmediatamente "
+
+#: src/net/i2p/desktopgui/InternalTrayManager.java:143
+#: src/net/i2p/desktopgui/InternalTrayManager.java:295
+msgid "Stop I2P Immediately"
+msgstr " Detener I2P inmediatamente "
+
+#: src/net/i2p/desktopgui/InternalTrayManager.java:157
+#: src/net/i2p/desktopgui/InternalTrayManager.java:309
+msgid "Cancel I2P Shutdown"
+msgstr "Cancelar el Apagado de I2P"
+
+#: src/net/i2p/desktopgui/InternalTrayManager.java:363
+#, java-format
+msgid "Shutdown in {0}"
+msgstr "Apagar en {0}"
+
+#: src/net/i2p/desktopgui/InternalTrayManager.java:365
+msgid "Shutdown imminent"
+msgstr "Apagado inminente"
+
+#. status translations are in the console bundle
+#: src/net/i2p/desktopgui/InternalTrayManager.java:370
+msgid "Network"
+msgstr "Red"
+
+#. Windows typically has tooltips; Linux (at least Ubuntu) doesn't
+#: src/net/i2p/desktopgui/TrayManager.java:63
+msgid "I2P: Right-click for menu"
+msgstr "I2P Clic derecho para el menú"
diff --git a/apps/desktopgui/locale/messages_tk.po b/apps/desktopgui/locale/messages_tk.po
new file mode 100644
index 0000000000000000000000000000000000000000..da9c34b0ea7d1fb45431f3948270a4a08c6a6585
--- /dev/null
+++ b/apps/desktopgui/locale/messages_tk.po
@@ -0,0 +1,94 @@
+# I2P
+# Copyright (C) 2009 The I2P Project
+# This file is distributed under the same license as the desktopgui package.
+# To contribute translations, see http://www.i2p2.de/newdevelopers
+# 
+# Translators:
+# Alperen Yavuz <mingyu@yaani.com>, 2020
+msgid ""
+msgstr ""
+"Project-Id-Version: I2P\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2016-05-25 12:29+0000\n"
+"PO-Revision-Date: 2020-08-26 20:48+0000\n"
+"Last-Translator: Alperen Yavuz <mingyu@yaani.com>\n"
+"Language-Team: Turkmen (http://www.transifex.com/otf/I2P/language/tk/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Language: tk\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: src/net/i2p/desktopgui/ExternalTrayManager.java:31
+#: src/net/i2p/desktopgui/ExternalTrayManager.java:59
+msgid "Start I2P"
+msgstr "I2P başlaň"
+
+#: src/net/i2p/desktopgui/ExternalTrayManager.java:44
+#: src/net/i2p/desktopgui/ExternalTrayManager.java:72
+msgid "I2P is starting!"
+msgstr "I2P başlaýar!"
+
+#: src/net/i2p/desktopgui/ExternalTrayManager.java:44
+#: src/net/i2p/desktopgui/ExternalTrayManager.java:72
+msgid "Starting"
+msgstr "BaÅŸlamak"
+
+#: src/net/i2p/desktopgui/InternalTrayManager.java:55
+#: src/net/i2p/desktopgui/InternalTrayManager.java:207
+msgid "Launch I2P Browser"
+msgstr "I2P brauzerini işe giriziň"
+
+#: src/net/i2p/desktopgui/InternalTrayManager.java:76
+#: src/net/i2p/desktopgui/InternalTrayManager.java:228
+msgid "Configure I2P System Tray"
+msgstr "I2P ulgam lýubkasyny sazlaň"
+
+#: src/net/i2p/desktopgui/InternalTrayManager.java:77
+#: src/net/i2p/desktopgui/InternalTrayManager.java:229
+msgid "Disable"
+msgstr "Öçüriň"
+
+#: src/net/i2p/desktopgui/InternalTrayManager.java:93
+#: src/net/i2p/desktopgui/InternalTrayManager.java:245
+msgid "Restart I2P"
+msgstr "I2P-i täzeden açyň"
+
+#: src/net/i2p/desktopgui/InternalTrayManager.java:110
+#: src/net/i2p/desktopgui/InternalTrayManager.java:262
+msgid "Stop I2P"
+msgstr "I2P bes et"
+
+#: src/net/i2p/desktopgui/InternalTrayManager.java:126
+#: src/net/i2p/desktopgui/InternalTrayManager.java:278
+msgid "Restart I2P Immediately"
+msgstr "I2P derrew täzeden açyň"
+
+#: src/net/i2p/desktopgui/InternalTrayManager.java:143
+#: src/net/i2p/desktopgui/InternalTrayManager.java:295
+msgid "Stop I2P Immediately"
+msgstr "Derrew I2P duruzyň"
+
+#: src/net/i2p/desktopgui/InternalTrayManager.java:157
+#: src/net/i2p/desktopgui/InternalTrayManager.java:309
+msgid "Cancel I2P Shutdown"
+msgstr "I2P ýapmagy ýatyryň"
+
+#: src/net/i2p/desktopgui/InternalTrayManager.java:363
+#, java-format
+msgid "Shutdown in {0}"
+msgstr "{0} in ýapmak"
+
+#: src/net/i2p/desktopgui/InternalTrayManager.java:365
+msgid "Shutdown imminent"
+msgstr "Öçürmek ýakyn"
+
+#. status translations are in the console bundle
+#: src/net/i2p/desktopgui/InternalTrayManager.java:370
+msgid "Network"
+msgstr "Tor"
+
+#. Windows typically has tooltips; Linux (at least Ubuntu) doesn't
+#: src/net/i2p/desktopgui/TrayManager.java:63
+msgid "I2P: Right-click for menu"
+msgstr "I2P: Menýu üçin sag basyň"
diff --git a/apps/ministreaming/locale/messages_tk.po b/apps/ministreaming/locale/messages_tk.po
new file mode 100644
index 0000000000000000000000000000000000000000..862427dad7f4d902a6d6667854efbd60c93e79c3
--- /dev/null
+++ b/apps/ministreaming/locale/messages_tk.po
@@ -0,0 +1,94 @@
+# I2P
+# Copyright (C) 2014 The I2P Project
+# This file is distributed under the same license as the streaming package.
+# To contribute translations, see http://www.i2p2.de/newdevelopers
+# 
+# Translators:
+# Alperen Yavuz <mingyu@yaani.com>, 2020
+msgid ""
+msgstr ""
+"Project-Id-Version: I2P\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2015-03-29 14:30+0000\n"
+"PO-Revision-Date: 2020-08-26 22:24+0000\n"
+"Last-Translator: Alperen Yavuz <mingyu@yaani.com>\n"
+"Language-Team: Turkmen (http://www.transifex.com/otf/I2P/language/tk/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Language: tk\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: ../java/src/net/i2p/client/streaming/I2PSocketException.java:69
+msgid "Message timeout"
+msgstr "Habaryň gutarmagy"
+
+#: ../java/src/net/i2p/client/streaming/I2PSocketException.java:72
+msgid "Failed delivery to local destination"
+msgstr "Localerli barmaly ýerine ýetirilmedi"
+
+#: ../java/src/net/i2p/client/streaming/I2PSocketException.java:75
+#: ../java/src/net/i2p/client/streaming/I2PSocketException.java:108
+msgid "Local router failure"
+msgstr "Routerli näsazlyk"
+
+#: ../java/src/net/i2p/client/streaming/I2PSocketException.java:78
+msgid "Local network failure"
+msgstr "Networkerli ulgamdaky näsazlyk"
+
+#: ../java/src/net/i2p/client/streaming/I2PSocketException.java:81
+msgid "Session closed"
+msgstr "Sessiýa ýapyldy"
+
+#: ../java/src/net/i2p/client/streaming/I2PSocketException.java:84
+msgid "Invalid message"
+msgstr "Nädogry habar"
+
+#: ../java/src/net/i2p/client/streaming/I2PSocketException.java:87
+msgid "Invalid message options"
+msgstr "Nädogry habar opsiýalary"
+
+#: ../java/src/net/i2p/client/streaming/I2PSocketException.java:90
+msgid "Buffer overflow"
+msgstr "Bufer aÅŸmagy"
+
+#: ../java/src/net/i2p/client/streaming/I2PSocketException.java:93
+msgid "Message expired"
+msgstr "Habaryň möhleti gutardy"
+
+#: ../java/src/net/i2p/client/streaming/I2PSocketException.java:96
+msgid "Local lease set invalid"
+msgstr "Lerli kärende güýji nädogry"
+
+#: ../java/src/net/i2p/client/streaming/I2PSocketException.java:99
+msgid "No local tunnels"
+msgstr "Localerli tuneller ýok"
+
+#: ../java/src/net/i2p/client/streaming/I2PSocketException.java:102
+msgid "Unsupported encryption options"
+msgstr "Goldanmaýan şifrlemek opsiýalary"
+
+#: ../java/src/net/i2p/client/streaming/I2PSocketException.java:105
+msgid "Invalid destination"
+msgstr "Nädogry barmaly ýer"
+
+#: ../java/src/net/i2p/client/streaming/I2PSocketException.java:111
+msgid "Destination lease set expired"
+msgstr "Niýetlenen kärende toplumynyň möhleti gutardy"
+
+#: ../java/src/net/i2p/client/streaming/I2PSocketException.java:114
+msgid "Destination lease set not found"
+msgstr "Niýetlenen kärende toplumy tapylmady"
+
+#: ../java/src/net/i2p/client/streaming/I2PSocketException.java:117
+msgid "Local destination shutdown"
+msgstr "Localerli barmagyň ýapylmagy"
+
+#: ../java/src/net/i2p/client/streaming/I2PSocketException.java:120
+msgid "Connection was reset"
+msgstr "Birikdirmek täzeden düzüldi"
+
+#. Translate this one here, can't do it later
+#: ../java/src/net/i2p/client/streaming/I2PSocketException.java:127
+msgid "Failure code"
+msgstr "Åžowsuzlyk kody"
diff --git a/apps/routerconsole/locale-countries/messages_ku.po b/apps/routerconsole/locale-countries/messages_ku.po
new file mode 100644
index 0000000000000000000000000000000000000000..94d83b4b814752cb69d4c5c9094ae12796ffd0e4
--- /dev/null
+++ b/apps/routerconsole/locale-countries/messages_ku.po
@@ -0,0 +1,779 @@
+# I2P
+# Copyright (C) 2009 The I2P Project
+# This file is distributed under the same license as the routerconsole package.
+# To contribute translations, see http://www.i2p2.de/newdevelopers
+# 
+# Translators:
+# Zagros <zagros21@cmail.nu>, 2020
+msgid ""
+msgstr ""
+"Project-Id-Version: I2P\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2020-08-12 13:39+0000\n"
+"PO-Revision-Date: 2020-09-24 14:05+0000\n"
+"Last-Translator: Zagros <zagros21@cmail.nu>\n"
+"Language-Team: Kurdish (http://www.transifex.com/otf/I2P/language/ku/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Language: ku\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+msgid "Anonymous Proxy"
+msgstr "کرێگرتەی نەناسراو"
+
+msgid "Satellite Provider"
+msgstr ""
+
+msgid "Andorra"
+msgstr "ئەندۆرا"
+
+msgid "United Arab Emirates"
+msgstr "ئیمارات"
+
+msgid "Afghanistan"
+msgstr "ئەفغانستان"
+
+msgid "Antigua and Barbuda"
+msgstr "دوورگەکانی ئەنتیگا و باڕبوودە"
+
+msgid "Anguilla"
+msgstr "ئەنگویلا"
+
+msgid "Albania"
+msgstr "ئەلبانیا"
+
+msgid "Armenia"
+msgstr "ئەرمینیا"
+
+msgid "Netherlands Antilles"
+msgstr "دوورگەکانی ئانتیی هۆڵەندی"
+
+msgid "Angola"
+msgstr "ئەنگۆلا"
+
+msgid "Asia/Pacific Region"
+msgstr "ناوچەی ئاسیاوی زەریای هێمن"
+
+msgid "Antarctica"
+msgstr "ناوچەی جەمسەری باشوور"
+
+msgid "Argentina"
+msgstr "ئەرجەنتین"
+
+msgid "American Samoa"
+msgstr "دوورگەکانی ساموای ئەمریکی"
+
+msgid "Austria"
+msgstr "نەمسا"
+
+msgid "Australia"
+msgstr "ئوستڕالیا"
+
+msgid "Aruba"
+msgstr "دوورگەی ئەروبا"
+
+msgid "Ã…land Islands"
+msgstr "دوورگەکانی ئۆڵاند"
+
+msgid "Azerbaijan"
+msgstr "ئازربایجان"
+
+msgid "Bosnia and Herzegovina"
+msgstr "بۆسنە و هەرسک"
+
+msgid "Barbados"
+msgstr "دوورگەی بەڕبێیدۆس"
+
+msgid "Bangladesh"
+msgstr "بەنگلادیش"
+
+msgid "Belgium"
+msgstr "بەلجیکا"
+
+msgid "Burkina Faso"
+msgstr "بوڕکینا فاسۆ"
+
+msgid "Bulgaria"
+msgstr "بولگاریا"
+
+msgid "Bahrain"
+msgstr "بەحرێن"
+
+msgid "Burundi"
+msgstr "بوروندی"
+
+msgid "Benin"
+msgstr "بێنین"
+
+msgid "Saint Barthélemy"
+msgstr "دوورگەی سانت باختێلینی"
+
+msgid "Bermuda"
+msgstr "بەرمۆدە"
+
+msgid "Brunei Darussalam"
+msgstr "بروونای"
+
+msgid "Bolivia"
+msgstr "بۆڵیڤیا"
+
+msgid "Bonaire"
+msgstr "دوورگەی بۆنێر"
+
+msgid "Brazil"
+msgstr "بەڕازیل"
+
+msgid "Bahamas"
+msgstr "بەهاماس"
+
+msgid "Bhutan"
+msgstr "بۆتان"
+
+msgid "Bouvet Island"
+msgstr "دوورگەی بوڤێی"
+
+msgid "Botswana"
+msgstr "بۆتسوانا"
+
+msgid "Belarus"
+msgstr "بیلارووس"
+
+msgid "Belize"
+msgstr "بێلیز"
+
+msgid "Canada"
+msgstr "کەنەدا"
+
+msgid "Cocos (Keeling) Islands"
+msgstr "دوورگەی کۆکۆس"
+
+msgid "Congo"
+msgstr "Ú©Û†Ù†Ú¯Û†"
+
+msgid "Central African Republic"
+msgstr "کۆماری ئەفریقای ناوەڕاست"
+
+msgid "Switzerland"
+msgstr "سویسڕا"
+
+msgid "Cote D'Ivoire"
+msgstr "كۆتدیڤوار"
+
+msgid "Cook Islands"
+msgstr "دوورگەکانی کووک"
+
+msgid "Chile"
+msgstr "چیللی"
+
+msgid "Cameroon"
+msgstr "کامیڕۆن"
+
+msgid "China"
+msgstr "چین"
+
+msgid "Colombia"
+msgstr "کۆڵۆمبیا"
+
+msgid "Costa Rica"
+msgstr "کۆستەریکا"
+
+msgid "Serbia and Montenegro"
+msgstr "سڕبیا و مۆنتێنێگرۆ"
+
+msgid "Cuba"
+msgstr "کووبا"
+
+msgid "Cape Verde"
+msgstr "دوورگەکانی کەیپ ڤێردی"
+
+msgid "Curaçao"
+msgstr " دوورگەکانی کوغەساو"
+
+msgid "Christmas Island"
+msgstr "دوورگەی کریسمەس"
+
+msgid "Cyprus"
+msgstr "قوبرس"
+
+msgid "Czech Republic"
+msgstr "کۆماری چیک"
+
+msgid "Germany"
+msgstr "ئەڵمانیا"
+
+msgid "Djibouti"
+msgstr "جیبووتی"
+
+msgid "Denmark"
+msgstr "دانیماڕك"
+
+msgid "Dominica"
+msgstr "دۆمینیکا"
+
+msgid "Dominican Republic"
+msgstr "کۆماری دۆمینیکا"
+
+msgid "Algeria"
+msgstr "جەزایر"
+
+msgid "Ecuador"
+msgstr "ئێکوادۆر"
+
+msgid "Estonia"
+msgstr "ئیستۆنیە"
+
+msgid "Egypt"
+msgstr "میسڕ"
+
+msgid "Western Sahara"
+msgstr "ڕۆژئاوای سەحەرا"
+
+msgid "Eritrea"
+msgstr "ئێریتریا"
+
+msgid "Spain"
+msgstr "ئیسپانیا"
+
+msgid "Ethiopia"
+msgstr "ئەسیوپیا"
+
+msgid "European Union"
+msgstr "ئەکێتیی ئەوروپا"
+
+msgid "Finland"
+msgstr "فینلەندا"
+
+msgid "Fiji"
+msgstr "دوورگەکانی فیجی"
+
+msgid "Falkland Islands (Malvinas)"
+msgstr "دوورگەکانی فاڵكلاند"
+
+msgid "Micronesia"
+msgstr "دوورگەکانی میکڕۆنێسیا"
+
+msgid "Faroe Islands"
+msgstr "دوورگەکانی فارەو"
+
+msgid "France"
+msgstr "فەڕەنسا"
+
+msgid "Gabon"
+msgstr "گابۆن"
+
+msgid "United Kingdom"
+msgstr "شانشینی یەکگرتوو"
+
+msgid "Grenada"
+msgstr "گرێنادا"
+
+msgid "Georgia"
+msgstr "جۆرجیا"
+
+msgid "French Guiana"
+msgstr "گیانا (فەڕەنسا)"
+
+msgid "Guernsey"
+msgstr "دوورگەی گێرنزی"
+
+msgid "Ghana"
+msgstr "غانا"
+
+msgid "Gibraltar"
+msgstr "جەبەل تاریق"
+
+msgid "Greenland"
+msgstr "گرینلاند"
+
+msgid "Gambia"
+msgstr "گامبیا"
+
+msgid "Guinea"
+msgstr "گینێ"
+
+msgid "Guadeloupe"
+msgstr "گوادلووپ"
+
+msgid "Equatorial Guinea"
+msgstr "گینێی سەر هێڵی یەکسانی"
+
+msgid "Greece"
+msgstr "یۆنان"
+
+msgid "South Georgia and the South Sandwich Islands"
+msgstr "دوورگەکانی جۆرجایا و ساندویچی باشوور"
+
+msgid "Guatemala"
+msgstr "گواتیمالا"
+
+msgid "Guam"
+msgstr "گوام"
+
+msgid "Guinea-Bissau"
+msgstr "گینێی-بیساو"
+
+msgid "Guyana"
+msgstr "گویانا"
+
+msgid "Hong Kong"
+msgstr "Ù‡Û†Ù†Ú¯ Ú©Û†Ù†Ú¯"
+
+msgid "Honduras"
+msgstr "هیندوڕاس"
+
+msgid "Croatia"
+msgstr "کڕواتیا"
+
+msgid "Haiti"
+msgstr "هایتی"
+
+msgid "Hungary"
+msgstr "هەنگاریا"
+
+msgid "Indonesia"
+msgstr "ئەندەنوسیا"
+
+msgid "Ireland"
+msgstr "ئیرلەندا"
+
+msgid "Israel"
+msgstr "ئیسڕایل"
+
+msgid "Isle of Man"
+msgstr "دوورگەی مان"
+
+msgid "India"
+msgstr "هیندستان"
+
+msgid "British Indian Ocean Territory"
+msgstr "دوورگەکانی بەڕیتانیا لە زەریای هیندی"
+
+msgid "Iraq"
+msgstr "ئێڕاق"
+
+msgid "Iran"
+msgstr "ئێران"
+
+msgid "Iceland"
+msgstr "ئایسلەندا"
+
+msgid "Italy"
+msgstr "ئیتاڵیا"
+
+msgid "Jersey"
+msgstr "دوورگەی جێرزی"
+
+msgid "Jamaica"
+msgstr "جامایکا"
+
+msgid "Jordan"
+msgstr "ئەردەن"
+
+msgid "Japan"
+msgstr "یابان"
+
+msgid "Kenya"
+msgstr "کینیا"
+
+msgid "Kyrgyzstan"
+msgstr "قرقیزستان"
+
+msgid "Cambodia"
+msgstr "کەمبۆدیا"
+
+msgid "Kiribati"
+msgstr "دوورگەی کیریباتی"
+
+msgid "Comoros"
+msgstr "دوورگەکانی قەمەر"
+
+msgid "Saint Kitts and Nevis"
+msgstr "دوورگەکانی سانت کیتس و نێڤیس"
+
+msgid "North Korea"
+msgstr "کۆریای باکوور"
+
+msgid "Republic of Korea"
+msgstr "کۆماری کۆریا"
+
+msgid "Kuwait"
+msgstr "کوێت"
+
+msgid "Cayman Islands"
+msgstr "دوورگەکانی کێمن"
+
+msgid "Kazakhstan"
+msgstr "کازاخستان"
+
+msgid "Lao People's Democratic Republic"
+msgstr "لاوس"
+
+msgid "Lebanon"
+msgstr "لووبنان"
+
+msgid "Saint Lucia"
+msgstr "دوورگەی سانت ڵووشا"
+
+msgid "Liechtenstein"
+msgstr "لیختنشتاین"
+
+msgid "Sri Lanka"
+msgstr "سریلانکا"
+
+msgid "Liberia"
+msgstr "لیبیریا"
+
+msgid "Lesotho"
+msgstr "لیسۆتۆ"
+
+msgid "Lithuania"
+msgstr "لیتوانیا"
+
+msgid "Luxembourg"
+msgstr "لوکسمبێرگ"
+
+msgid "Latvia"
+msgstr "لاتڤیا"
+
+msgid "Libya"
+msgstr "لیبیا"
+
+msgid "Morocco"
+msgstr "مەغریب"
+
+msgid "Monaco"
+msgstr "مۆناکۆ"
+
+msgid "Moldova"
+msgstr "مۆڵدۆڤا"
+
+msgid "Montenegro"
+msgstr "مۆنتینیگرۆ"
+
+msgid "Saint Martin"
+msgstr "دوورگەی سانت مارتن"
+
+msgid "Madagascar"
+msgstr "مەدەگەسکار"
+
+msgid "Marshall Islands"
+msgstr "دوورگەکانی مارشاڵ"
+
+msgid "Macedonia"
+msgstr "مەقدۆنیا"
+
+msgid "Mali"
+msgstr "مالی"
+
+msgid "Myanmar"
+msgstr "میانمار"
+
+msgid "Mongolia"
+msgstr "مەنگۆلیا"
+
+msgid "Macau"
+msgstr "ماکاو"
+
+msgid "Northern Mariana Islands"
+msgstr "دوورگەکانی ماریانای باکوور"
+
+msgid "Martinique"
+msgstr "دوورگەی مارتینیک"
+
+msgid "Mauritania"
+msgstr "مۆریتانیا"
+
+msgid "Montserrat"
+msgstr "دوورگەی مۆنتسێران"
+
+msgid "Malta"
+msgstr "ماڵتا"
+
+msgid "Mauritius"
+msgstr "دوورگەکانی مۆریشیس"
+
+msgid "Maldives"
+msgstr "دوورگەکانی ماڵدیڤ"
+
+msgid "Malawi"
+msgstr "مالاوی"
+
+msgid "Mexico"
+msgstr "مەکسیک"
+
+msgid "Malaysia"
+msgstr "مالیزیا"
+
+msgid "Mozambique"
+msgstr "مۆزەمبیق"
+
+msgid "Namibia"
+msgstr "نامبیا"
+
+msgid "New Caledonia"
+msgstr "دوورگەکانی کاڵدۆنیای نوێ"
+
+msgid "Niger"
+msgstr "نێجیر"
+
+msgid "Norfolk Island"
+msgstr "دوورگەکانی نۆرفۆڵک"
+
+msgid "Nigeria"
+msgstr "نێجیریا"
+
+msgid "Nicaragua"
+msgstr "نیکارگوا"
+
+msgid "Netherlands"
+msgstr "هۆڵەندا"
+
+msgid "Norway"
+msgstr "نەرویج"
+
+msgid "Nepal"
+msgstr "نیپاڵ"
+
+msgid "Nauru"
+msgstr "دوورگەی ناوروو"
+
+msgid "Niue"
+msgstr "دوورگەی نیووێی"
+
+msgid "New Zealand"
+msgstr "نیوزلەندا"
+
+msgid "Oman"
+msgstr "عوممان"
+
+msgid "Panama"
+msgstr "پەنەما"
+
+msgid "Peru"
+msgstr "Ù¾ÛŽÚ•Û†"
+
+msgid "French Polynesia"
+msgstr "دوورگەکانی پۆلینیژیای فەڕەنسی"
+
+msgid "Papua New Guinea"
+msgstr "پاپوا گینێی نوێ"
+
+msgid "Philippines"
+msgstr "فلیپین"
+
+msgid "Pakistan"
+msgstr "پاکستان"
+
+msgid "Poland"
+msgstr "پۆڵەندا"
+
+msgid "Saint Pierre and Miquelon"
+msgstr "دوورگەکانی سانت پێغ و میکلوون"
+
+msgid "Pitcairn Islands"
+msgstr "دوورگەکانی بیتکێرن"
+
+msgid "Puerto Rico"
+msgstr "دوورگەکانی پۆرتۆریکۆ"
+
+msgid "Palestinian Territory"
+msgstr "فەڵەستین"
+
+msgid "Portugal"
+msgstr "پۆرتوگال"
+
+msgid "Palau"
+msgstr "دوورگەی پالاو"
+
+msgid "Paraguay"
+msgstr "پاڕاگوای"
+
+msgid "Qatar"
+msgstr "قەتەڕ"
+
+msgid "Réunion"
+msgstr "دوورگەی رێیونیۆن"
+
+msgid "Romania"
+msgstr "ڕۆمانیا"
+
+msgid "Serbia"
+msgstr "سڕبیا"
+
+msgid "Russian Federation"
+msgstr "ڕووسیای فیدڕاڵ"
+
+msgid "Rwanda"
+msgstr "ڕواندا"
+
+msgid "Saudi Arabia"
+msgstr "سعودیە"
+
+msgid "Solomon Islands"
+msgstr "دوورگەکانی سلێمان"
+
+msgid "Seychelles"
+msgstr "دوورگەکانی سیشێل"
+
+msgid "Sudan"
+msgstr "سوودان"
+
+msgid "Sweden"
+msgstr "سوید"
+
+msgid "Singapore"
+msgstr "سینگاپوور"
+
+msgid "Saint Helena"
+msgstr "دوورگەی سانت هێلین"
+
+msgid "Slovenia"
+msgstr "سلۆڤینیا"
+
+msgid "Svalbard and Jan Mayen"
+msgstr "دوورگەکانی سوالبارد و ژان مایەن"
+
+msgid "Slovakia"
+msgstr "سلۆڤاکیا"
+
+msgid "Sierra Leone"
+msgstr "سێڕالیۆن"
+
+msgid "San Marino"
+msgstr "سان مارینۆ"
+
+msgid "Senegal"
+msgstr "سێنیگال"
+
+msgid "Somalia"
+msgstr "سۆماڵیا"
+
+msgid "Suriname"
+msgstr "سورینام"
+
+msgid "South Sudan"
+msgstr "سوودانی باشوور"
+
+msgid "Sao Tome and Principe"
+msgstr "دوورگەکانی ساو تۆم و پرینسیپ"
+
+msgid "El Salvador"
+msgstr "سیلڤادۆر"
+
+msgid "Sint Maarten"
+msgstr "دوورگەکانی سانت مارتن"
+
+msgid "Syria"
+msgstr "سوریا"
+
+msgid "Swaziland"
+msgstr "سوازیلاند"
+
+msgid "Turks and Caicos Islands"
+msgstr "دوورگەکانی تورکەکان و کایکۆس"
+
+msgid "Chad"
+msgstr "چاد"
+
+msgid "French Southern Territories"
+msgstr "خاوەنداریەتەکانی فەڕەنسا لە جەمسەری باشوور"
+
+msgid "Togo"
+msgstr "تۆگۆ"
+
+msgid "Thailand"
+msgstr "تایلەند"
+
+msgid "Tajikistan"
+msgstr "تاجاکستان"
+
+msgid "Tokelau"
+msgstr "دوورگەکانی تۆکیلاو"
+
+msgid "Timor-Leste"
+msgstr "دوورگەکانی تیمۆر-لێست"
+
+msgid "Turkmenistan"
+msgstr "تورکمانستان"
+
+msgid "Tunisia"
+msgstr "تونس"
+
+msgid "Tonga"
+msgstr "دوورگەکانی تۆنگا"
+
+msgid "Turkey"
+msgstr "تورکیا"
+
+msgid "Trinidad and Tobago"
+msgstr "دوورگەکانی ترینیداد و تۆباگۆ"
+
+msgid "Tuvalu"
+msgstr "دوورگەی توڤالو"
+
+msgid "Taiwan"
+msgstr "تایوان"
+
+msgid "Tanzania"
+msgstr "تەنزانیا"
+
+msgid "Ukraine"
+msgstr "ئۆکڕانیا"
+
+msgid "Uganda"
+msgstr "ئۆگەندا"
+
+msgid "United States Minor Outlying Islands"
+msgstr "دوورگە بچووکو دوورەکانی ولایەتە یەکگرتووەکان"
+
+msgid "United States"
+msgstr "ولایەتە یەکگرتووەکان"
+
+msgid "Uruguay"
+msgstr "ئۆڕۆگوای"
+
+msgid "Uzbekistan"
+msgstr "ئۆزبەکستان"
+
+msgid "Vatican"
+msgstr "ڤاتیکان"
+
+msgid "Saint Vincent and the Grenadines"
+msgstr "دوورگەکانی سانت ڤینسنت و گرێنەدین"
+
+msgid "Venezuela"
+msgstr "ڤەنزوێلا"
+
+msgid "Virgin Islands"
+msgstr "دوورگەکانی ڤێرجین"
+
+msgid "Vietnam"
+msgstr "ڤێتنام"
+
+msgid "Vanuatu"
+msgstr "دوورگەکانی ڤانواتوو"
+
+msgid "Wallis and Futuna"
+msgstr "دوورگەکانی واڵیس و فوتونا"
+
+msgid "Samoa"
+msgstr "دوورگەکانی ساموا"
+
+msgid "Kosovo"
+msgstr "کۆسۆڤۆ"
+
+msgid "Yemen"
+msgstr "یەمەن"
+
+msgid "Mayotte"
+msgstr "دوورگەکانی مایۆت"
+
+msgid "South Africa"
+msgstr "ئەفریقای باشوور"
+
+msgid "Zambia"
+msgstr "زامبیا"
+
+msgid "Zimbabwe"
+msgstr "زیمبابۆ"
diff --git a/apps/routerconsole/locale-countries/messages_tk.po b/apps/routerconsole/locale-countries/messages_tk.po
new file mode 100644
index 0000000000000000000000000000000000000000..a922cc6d9018f818e89b782ac777712781fe2131
--- /dev/null
+++ b/apps/routerconsole/locale-countries/messages_tk.po
@@ -0,0 +1,779 @@
+# I2P
+# Copyright (C) 2009 The I2P Project
+# This file is distributed under the same license as the routerconsole package.
+# To contribute translations, see http://www.i2p2.de/newdevelopers
+# 
+# Translators:
+# Alperen Yavuz <mingyu@yaani.com>, 2020
+msgid ""
+msgstr ""
+"Project-Id-Version: I2P\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2020-08-12 13:39+0000\n"
+"PO-Revision-Date: 2020-08-26 22:01+0000\n"
+"Last-Translator: Alperen Yavuz <mingyu@yaani.com>\n"
+"Language-Team: Turkmen (http://www.transifex.com/otf/I2P/language/tk/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Language: tk\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+msgid "Anonymous Proxy"
+msgstr "Anonim proksi"
+
+msgid "Satellite Provider"
+msgstr "Sputnik üpjün ediji"
+
+msgid "Andorra"
+msgstr "Andorra"
+
+msgid "United Arab Emirates"
+msgstr "BirleÅŸen Arap Emirlikleri"
+
+msgid "Afghanistan"
+msgstr "Owganystan"
+
+msgid "Antigua and Barbuda"
+msgstr "Antigua we Barbuda"
+
+msgid "Anguilla"
+msgstr "Anguilla"
+
+msgid "Albania"
+msgstr "Albaniýa"
+
+msgid "Armenia"
+msgstr "Ermenistan"
+
+msgid "Netherlands Antilles"
+msgstr "Gollandiýa Antilliler"
+
+msgid "Angola"
+msgstr "Angola"
+
+msgid "Asia/Pacific Region"
+msgstr "Aziýa / Pacificuwaş umman sebiti"
+
+msgid "Antarctica"
+msgstr "Antarktida"
+
+msgid "Argentina"
+msgstr "Argentina"
+
+msgid "American Samoa"
+msgstr "Amerikan Samoasy"
+
+msgid "Austria"
+msgstr "Awstriýa"
+
+msgid "Australia"
+msgstr "Awstraliýa"
+
+msgid "Aruba"
+msgstr "Aruba"
+
+msgid "Ã…land Islands"
+msgstr "Ã…land adalary"
+
+msgid "Azerbaijan"
+msgstr "Azerbaýjan"
+
+msgid "Bosnia and Herzegovina"
+msgstr "Bosniýa we Gersegowina"
+
+msgid "Barbados"
+msgstr "Barbados"
+
+msgid "Bangladesh"
+msgstr "BangladeÅŸ"
+
+msgid "Belgium"
+msgstr "Belgiýa"
+
+msgid "Burkina Faso"
+msgstr "Burkina Faso"
+
+msgid "Bulgaria"
+msgstr "Bolgariýa"
+
+msgid "Bahrain"
+msgstr "Bahreýn"
+
+msgid "Burundi"
+msgstr "Burundi"
+
+msgid "Benin"
+msgstr "Benin"
+
+msgid "Saint Barthélemy"
+msgstr "Keramatly Bartelemi"
+
+msgid "Bermuda"
+msgstr "Bermuda"
+
+msgid "Brunei Darussalam"
+msgstr "Bruneý Darussalam"
+
+msgid "Bolivia"
+msgstr "Boliwiýa"
+
+msgid "Bonaire"
+msgstr "Bonaire"
+
+msgid "Brazil"
+msgstr "Braziliýa"
+
+msgid "Bahamas"
+msgstr "Braziliýa"
+
+msgid "Bhutan"
+msgstr "Butan"
+
+msgid "Bouvet Island"
+msgstr "Bouwet adasy"
+
+msgid "Botswana"
+msgstr "Botswana"
+
+msgid "Belarus"
+msgstr "Beyaz Rusya"
+
+msgid "Belize"
+msgstr "Beliz"
+
+msgid "Canada"
+msgstr "Ganlı Ada"
+
+msgid "Cocos (Keeling) Islands"
+msgstr "Kokos (Keeling) adalary"
+
+msgid "Congo"
+msgstr "Kongo"
+
+msgid "Central African Republic"
+msgstr "Merkezi Afrika Respublikasy"
+
+msgid "Switzerland"
+msgstr "Şweýsariýa"
+
+msgid "Cote D'Ivoire"
+msgstr "Kot D'Iwuar"
+
+msgid "Cook Islands"
+msgstr "Kuk adalary"
+
+msgid "Chile"
+msgstr "Çili"
+
+msgid "Cameroon"
+msgstr "Kamerun"
+
+msgid "China"
+msgstr "Hytaý Zedong"
+
+msgid "Colombia"
+msgstr "Kolumbiýa"
+
+msgid "Costa Rica"
+msgstr "Kosta Rika"
+
+msgid "Serbia and Montenegro"
+msgstr "Serbiýa we Çernogoriýa"
+
+msgid "Cuba"
+msgstr "Kuba"
+
+msgid "Cape Verde"
+msgstr "Cape Verde"
+
+msgid "Curaçao"
+msgstr "Curaçao"
+
+msgid "Christmas Island"
+msgstr "Ro Christmasdestwo adasy"
+
+msgid "Cyprus"
+msgstr "Kipr"
+
+msgid "Czech Republic"
+msgstr "Çehiýa"
+
+msgid "Germany"
+msgstr "Alamanya"
+
+msgid "Djibouti"
+msgstr "Jibuti"
+
+msgid "Denmark"
+msgstr "Daniýa"
+
+msgid "Dominica"
+msgstr "Dominika"
+
+msgid "Dominican Republic"
+msgstr "Dominikan Respublikasy"
+
+msgid "Algeria"
+msgstr "Al Algerir"
+
+msgid "Ecuador"
+msgstr "Ekwador"
+
+msgid "Estonia"
+msgstr "Estoniýa"
+
+msgid "Egypt"
+msgstr "Müsür"
+
+msgid "Western Sahara"
+msgstr "Günbatar Sahara"
+
+msgid "Eritrea"
+msgstr "Eritreýa"
+
+msgid "Spain"
+msgstr "Ispaniýa"
+
+msgid "Ethiopia"
+msgstr "Efiopiýa"
+
+msgid "European Union"
+msgstr "Unionewropa BileleÅŸigi"
+
+msgid "Finland"
+msgstr "Finlýandiýa"
+
+msgid "Fiji"
+msgstr "Fiji"
+
+msgid "Falkland Islands (Malvinas)"
+msgstr "Folklend adalary (Malwinas)"
+
+msgid "Micronesia"
+msgstr "Mikroneziýa"
+
+msgid "Faroe Islands"
+msgstr "Farer adalary"
+
+msgid "France"
+msgstr "Fransiýa"
+
+msgid "Gabon"
+msgstr "Gabon"
+
+msgid "United Kingdom"
+msgstr "Angliýa"
+
+msgid "Grenada"
+msgstr "Grenada"
+
+msgid "Georgia"
+msgstr "Jorjiýa"
+
+msgid "French Guiana"
+msgstr "Fransuz Gwiana"
+
+msgid "Guernsey"
+msgstr "Guernsey"
+
+msgid "Ghana"
+msgstr "Gana"
+
+msgid "Gibraltar"
+msgstr "Gibraltar"
+
+msgid "Greenland"
+msgstr "Grenlandiýa"
+
+msgid "Gambia"
+msgstr "Gambiýa"
+
+msgid "Guinea"
+msgstr "Gwineýa"
+
+msgid "Guadeloupe"
+msgstr "Guadeloupe"
+
+msgid "Equatorial Guinea"
+msgstr "Ekwatorial Gwineýa"
+
+msgid "Greece"
+msgstr "Yönaniye"
+
+msgid "South Georgia and the South Sandwich Islands"
+msgstr "Günorta Jorjiýa we Günorta Sandwiç adalary"
+
+msgid "Guatemala"
+msgstr "Gwatemala"
+
+msgid "Guam"
+msgstr "Guam"
+
+msgid "Guinea-Bissau"
+msgstr "Gwineýa-Bissau"
+
+msgid "Guyana"
+msgstr "Gaýana"
+
+msgid "Hong Kong"
+msgstr "Gonkong"
+
+msgid "Honduras"
+msgstr "Hondurhundur"
+
+msgid "Croatia"
+msgstr "Horwatiýa"
+
+msgid "Haiti"
+msgstr "Gaiti"
+
+msgid "Hungary"
+msgstr "Wengriýa"
+
+msgid "Indonesia"
+msgstr "Indoneziýa"
+
+msgid "Ireland"
+msgstr "Irlandiýa"
+
+msgid "Israel"
+msgstr "Siyonizsl"
+
+msgid "Isle of Man"
+msgstr "Adam adasy"
+
+msgid "India"
+msgstr "Hindistan"
+
+msgid "British Indian Ocean Territory"
+msgstr "Iňlis Hindi ummany sebiti"
+
+msgid "Iraq"
+msgstr "Irak"
+
+msgid "Iran"
+msgstr "Eýran"
+
+msgid "Iceland"
+msgstr "Islandiýa"
+
+msgid "Italy"
+msgstr "Italiýa"
+
+msgid "Jersey"
+msgstr "Jersi"
+
+msgid "Jamaica"
+msgstr "Jamaamaýka"
+
+msgid "Jordan"
+msgstr "Iordaniýa"
+
+msgid "Japan"
+msgstr "Japanaponiýa"
+
+msgid "Kenya"
+msgstr "Keniýa"
+
+msgid "Kyrgyzstan"
+msgstr "Gyrgyzystan"
+
+msgid "Cambodia"
+msgstr "Kamboja"
+
+msgid "Kiribati"
+msgstr "Kiribati"
+
+msgid "Comoros"
+msgstr "Komorlar"
+
+msgid "Saint Kitts and Nevis"
+msgstr "Keramatly Kitts we Newis"
+
+msgid "North Korea"
+msgstr "Demirgazyk Joseon"
+
+msgid "Republic of Korea"
+msgstr "Günorta Joseon "
+
+msgid "Kuwait"
+msgstr "Kuweýt"
+
+msgid "Cayman Islands"
+msgstr "Kaýman adalary"
+
+msgid "Kazakhstan"
+msgstr "Gazagystan"
+
+msgid "Lao People's Democratic Republic"
+msgstr "Laos Halk Demokratik Respublikasy"
+
+msgid "Lebanon"
+msgstr "Liwan"
+
+msgid "Saint Lucia"
+msgstr "Keramatly Lýusiýa"
+
+msgid "Liechtenstein"
+msgstr "Lihtenşteýn"
+
+msgid "Sri Lanka"
+msgstr "Åžri-Lanka"
+
+msgid "Liberia"
+msgstr "Liberiýa"
+
+msgid "Lesotho"
+msgstr "Lesoto"
+
+msgid "Lithuania"
+msgstr "Litwa"
+
+msgid "Luxembourg"
+msgstr "Lýuksemburg"
+
+msgid "Latvia"
+msgstr "Latwiýa"
+
+msgid "Libya"
+msgstr "Libya"
+
+msgid "Morocco"
+msgstr "Marokko"
+
+msgid "Monaco"
+msgstr "Monako"
+
+msgid "Moldova"
+msgstr "Moldowa"
+
+msgid "Montenegro"
+msgstr "Çernogoriýa"
+
+msgid "Saint Martin"
+msgstr "Keramatly Martin"
+
+msgid "Madagascar"
+msgstr "Madagaskar"
+
+msgid "Marshall Islands"
+msgstr "MarÅŸal adalary"
+
+msgid "Macedonia"
+msgstr "Makedoniýa"
+
+msgid "Mali"
+msgstr "Mali"
+
+msgid "Myanmar"
+msgstr "Mýanma"
+
+msgid "Mongolia"
+msgstr "Mongoliýa"
+
+msgid "Macau"
+msgstr "Makao"
+
+msgid "Northern Mariana Islands"
+msgstr "Demirgazyk Mariana adalary"
+
+msgid "Martinique"
+msgstr "Martinique"
+
+msgid "Mauritania"
+msgstr "Mawritaniýa"
+
+msgid "Montserrat"
+msgstr "Montserrat"
+
+msgid "Malta"
+msgstr "Malta"
+
+msgid "Mauritius"
+msgstr "Mawritis"
+
+msgid "Maldives"
+msgstr "Maldiw adalary"
+
+msgid "Malawi"
+msgstr "Malawi"
+
+msgid "Mexico"
+msgstr "Meksika"
+
+msgid "Malaysia"
+msgstr "Malaýziýa"
+
+msgid "Mozambique"
+msgstr "Mozambik"
+
+msgid "Namibia"
+msgstr "Namibiýa"
+
+msgid "New Caledonia"
+msgstr "Täze Kaledoniýa"
+
+msgid "Niger"
+msgstr "Niger"
+
+msgid "Norfolk Island"
+msgstr "Norfolk adasy"
+
+msgid "Nigeria"
+msgstr "Nigeriýa"
+
+msgid "Nicaragua"
+msgstr "Nikaragua"
+
+msgid "Netherlands"
+msgstr "Gollandiýa"
+
+msgid "Norway"
+msgstr "Norwegiýa"
+
+msgid "Nepal"
+msgstr "Norweg"
+
+msgid "Nauru"
+msgstr "Nauru"
+
+msgid "Niue"
+msgstr "Niue"
+
+msgid "New Zealand"
+msgstr "Täze Zelandiýa"
+
+msgid "Oman"
+msgstr "Umman"
+
+msgid "Panama"
+msgstr "Panama"
+
+msgid "Peru"
+msgstr "Peruda"
+
+msgid "French Polynesia"
+msgstr "Fransuz polineziýasy"
+
+msgid "Papua New Guinea"
+msgstr "Papua Täze Gwineýa"
+
+msgid "Philippines"
+msgstr "Filippinler"
+
+msgid "Pakistan"
+msgstr "Pakistan"
+
+msgid "Poland"
+msgstr "Olonya"
+
+msgid "Saint Pierre and Miquelon"
+msgstr "Keramatly Pýer we Mikelon"
+
+msgid "Pitcairn Islands"
+msgstr "Pitkair adalary"
+
+msgid "Puerto Rico"
+msgstr "Puerto Riko"
+
+msgid "Palestinian Territory"
+msgstr "Palestina territoriýasy"
+
+msgid "Portugal"
+msgstr "Portugaliýa"
+
+msgid "Palau"
+msgstr "Palau"
+
+msgid "Paraguay"
+msgstr "Paragwaý"
+
+msgid "Qatar"
+msgstr "Guyar"
+
+msgid "Réunion"
+msgstr "Reunion"
+
+msgid "Romania"
+msgstr "Rumyniýa"
+
+msgid "Serbia"
+msgstr "Serbiýa"
+
+msgid "Russian Federation"
+msgstr "Russiýa Federasiýasy"
+
+msgid "Rwanda"
+msgstr "Ruanda"
+
+msgid "Saudi Arabia"
+msgstr "Saud Arabystany"
+
+msgid "Solomon Islands"
+msgstr "Süleýman adalary"
+
+msgid "Seychelles"
+msgstr "Seýşel adalary"
+
+msgid "Sudan"
+msgstr "Sudan"
+
+msgid "Sweden"
+msgstr "Şwesiýa"
+
+msgid "Singapore"
+msgstr "Singapur"
+
+msgid "Saint Helena"
+msgstr "Keramatly Helenaelena"
+
+msgid "Slovenia"
+msgstr "Sloweniýa"
+
+msgid "Svalbard and Jan Mayen"
+msgstr "Swalbard we Mayan Maýen"
+
+msgid "Slovakia"
+msgstr "Slowakiýa"
+
+msgid "Sierra Leone"
+msgstr "Sierra Leone"
+
+msgid "San Marino"
+msgstr "San Marino"
+
+msgid "Senegal"
+msgstr "Senegal"
+
+msgid "Somalia"
+msgstr "Somali"
+
+msgid "Suriname"
+msgstr "Surinam"
+
+msgid "South Sudan"
+msgstr "Günorta Sudan"
+
+msgid "Sao Tome and Principe"
+msgstr "Sao Tome we Prinsip"
+
+msgid "El Salvador"
+msgstr "El Salwador"
+
+msgid "Sint Maarten"
+msgstr "Sint Maarten"
+
+msgid "Syria"
+msgstr "Siriýa"
+
+msgid "Swaziland"
+msgstr "Swazilend"
+
+msgid "Turks and Caicos Islands"
+msgstr "Türkler we Kaýkos adalary"
+
+msgid "Chad"
+msgstr "Çad"
+
+msgid "French Southern Territories"
+msgstr "Fransiýanyň günorta sebitleri"
+
+msgid "Togo"
+msgstr "Togo"
+
+msgid "Thailand"
+msgstr "Taýland"
+
+msgid "Tajikistan"
+msgstr "Tajikistan"
+
+msgid "Tokelau"
+msgstr "Tokelau"
+
+msgid "Timor-Leste"
+msgstr "Timor-Leste"
+
+msgid "Turkmenistan"
+msgstr "Türkmenistan"
+
+msgid "Tunisia"
+msgstr "Tunus"
+
+msgid "Tonga"
+msgstr "Tonga"
+
+msgid "Turkey"
+msgstr "Türk Halk Respublikasy"
+
+msgid "Trinidad and Tobago"
+msgstr "Trinidad we Tobago"
+
+msgid "Tuvalu"
+msgstr "Tuwalu"
+
+msgid "Taiwan"
+msgstr "Taýwan"
+
+msgid "Tanzania"
+msgstr "Tanzaniýa"
+
+msgid "Ukraine"
+msgstr "Ukraina"
+
+msgid "Uganda"
+msgstr "Uganda"
+
+msgid "United States Minor Outlying Islands"
+msgstr "Amerikanyň Birleşen Ştatlarynyň kiçi adalary"
+
+msgid "United States"
+msgstr "Birleşen Paýtagtlar"
+
+msgid "Uruguay"
+msgstr "Urugwaý"
+
+msgid "Uzbekistan"
+msgstr "Özbegistan"
+
+msgid "Vatican"
+msgstr "Watikan"
+
+msgid "Saint Vincent and the Grenadines"
+msgstr "Keramatly Winsent we Grenadinler"
+
+msgid "Venezuela"
+msgstr "Wenesuela"
+
+msgid "Virgin Islands"
+msgstr "Wirgin adalary"
+
+msgid "Vietnam"
+msgstr "Wýetnam"
+
+msgid "Vanuatu"
+msgstr "Wanuatu"
+
+msgid "Wallis and Futuna"
+msgstr "Wallis we Futuna"
+
+msgid "Samoa"
+msgstr "Samoa"
+
+msgid "Kosovo"
+msgstr "Kosowa"
+
+msgid "Yemen"
+msgstr "Yemenemen"
+
+msgid "Mayotte"
+msgstr "Maýot"
+
+msgid "South Africa"
+msgstr "Günorta Afrika"
+
+msgid "Zambia"
+msgstr "Zambiýa"
+
+msgid "Zimbabwe"
+msgstr "Zimbabwe"
diff --git a/apps/routerconsole/locale-news/messages_tk.po b/apps/routerconsole/locale-news/messages_tk.po
new file mode 100644
index 0000000000000000000000000000000000000000..e90121d70056ac8502251d83b85601c9cbd93754
--- /dev/null
+++ b/apps/routerconsole/locale-news/messages_tk.po
@@ -0,0 +1,66 @@
+# I2P
+# Copyright (C) 2009 The I2P Project
+# This file is distributed under the same license as the routerconsole package.
+# To contribute translations, see http://www.i2p2.de/newdevelopers
+# 
+# Translators:
+# Alperen Yavuz <mingyu@yaani.com>, 2020
+# zzzi2p, 2020
+msgid ""
+msgstr ""
+"Project-Id-Version: I2P\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2013-07-13 21:46+0000\n"
+"PO-Revision-Date: 2020-10-12 12:47+0000\n"
+"Last-Translator: zzzi2p\n"
+"Language-Team: Turkmen (http://www.transifex.com/otf/I2P/language/tk/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Language: tk\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+msgid "Congratulations on getting I2P installed!"
+msgstr "I2P gurulmagy bilen gutlaýarys!"
+
+msgid "Welcome to I2P!"
+msgstr "I2P-e hoş geldiňiz!"
+
+#, java-format
+msgid "Please {0}have patience{1} as I2P boots up and finds peers."
+msgstr "I2P köpelip, deň-duşlaryny tapýarka {0} sabyr ediň {1}."
+
+#, java-format
+msgid ""
+"While you are waiting, please {0}adjust your bandwidth settings{1} on the "
+"{2}configuration page{3}."
+msgstr "Garaşýan wagtyňyz, {2}konfigurasiýa sahypasynda{3} {0}geçirijilik giňligi sazlamalaryny{1} adjust düzediň."
+
+msgid ""
+"Also you can setup your browser to use the I2P proxy to reach eepsites."
+msgstr "Şeýle hem, e2 sahypalaryna ýetmek üçin I2P proksi ulanmak üçin brauzeriňizi sazlap bilersiňiz."
+
+msgid ""
+"Just enter 127.0.0.1 (or localhost) port 4444 as a http proxy into your "
+"browser settings."
+msgstr "Brauzer sazlamalaryňyza http proksi hökmünde 127.0.0.1 (ýa-da localhost) port 4444 giriziň."
+
+msgid "Do not use SOCKS for this."
+msgstr "Munuň üçin SOCKS ulanmaň."
+
+#, java-format
+msgid ""
+"More information can be found on the {0}I2P browser proxy setup page{1}."
+msgstr "Has giňişleýin maglumaty {0} I2P brauzeriniň proksi gurmak sahypasynda tapyp bilersiňiz {1}."
+
+#, java-format
+msgid ""
+"Once you have a \"shared clients\" destination listed on the left, please "
+"{0}check out{1} our {2}FAQ{3}."
+msgstr "Çep tarapda \"umumy müşderiler\" barjak ýeriňiz bar bolsa, {0} barlap görüň {1} biziň {2} Sorag {3}."
+
+#, java-format
+msgid ""
+"Point your IRC client to {0}localhost:6668{1} and say hi to us on "
+"{2}#i2p{3}."
+msgstr "IRC müşderiňizi görkeziň  {0}localhost:6668{1} we {2}#i2p{3} on-da bize salam aýdyň."
diff --git a/core/locale/messages_ku.po b/core/locale/messages_ku.po
new file mode 100644
index 0000000000000000000000000000000000000000..b47ab9c254a84d0b54aea8f04098660cbae0121d
--- /dev/null
+++ b/core/locale/messages_ku.po
@@ -0,0 +1,135 @@
+# I2P
+# Copyright (C) 2009 The I2P Project
+# This file is distributed under the same license as the routerconsole package.
+# To contribute translations, see http://www.i2p2.de/newdevelopers
+# foo <foo@bar>, 2009.
+# 
+# Translators:
+# Zagros <zagros21@cmail.nu>, 2020
+# 
+msgid ""
+msgstr ""
+"Project-Id-Version: I2P routerconsole\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2019-12-17 18:42+0000\n"
+"PO-Revision-Date: 2019-12-17 17:16+0000\n"
+"Last-Translator: Zagros <zagros21@cmail.nu>, 2020\n"
+"Language-Team: Kurdish (https://www.transifex.com/otf/teams/12694/ku/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Language: ku\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#. NOTE TO TRANSLATORS: Feel free to translate all these as you see fit, there
+#. are several options...
+#. spaces or not, '.' or not, plural or not. Try not to make it too long, it
+#. is used in
+#. a lot of tables.
+#. milliseconds
+#. Note to translators, may be negative or zero, 2999 maximum.
+#. {0,number,####} prevents 1234 from being output as 1,234 in the English
+#. locale.
+#. If you want the digit separator in your locale, translate as {0}.
+#. alternates: msec, msecs
+#: ../java/src/net/i2p/data/DataHelper.java:1383
+#: ../java/src/net/i2p/data/DataHelper.java:1436
+#, java-format
+msgid "{0,number,####} ms"
+msgid_plural "{0,number,####} ms"
+msgstr[0] "{0,number,####} میلی چرکە"
+msgstr[1] "{0,number,####} میلی چرکە"
+
+#. seconds
+#. alternates: secs, sec. 'seconds' is probably too long.
+#: ../java/src/net/i2p/data/DataHelper.java:1387
+#: ../java/src/net/i2p/data/DataHelper.java:1438
+#, java-format
+msgid "{0} sec"
+msgid_plural "{0} sec"
+msgstr[0] "{0} چرکە"
+msgstr[1] "{0} چرکە"
+
+#. minutes
+#. alternates: mins, min. 'minutes' is probably too long.
+#: ../java/src/net/i2p/data/DataHelper.java:1391
+#: ../java/src/net/i2p/data/DataHelper.java:1440
+#, java-format
+msgid "{0} min"
+msgid_plural "{0} min"
+msgstr[0] "{0} خوولەک"
+msgstr[1] "{0} خوولەک"
+
+#. hours
+#. alternates: hrs, hr., hrs.
+#: ../java/src/net/i2p/data/DataHelper.java:1395
+#: ../java/src/net/i2p/data/DataHelper.java:1442
+#, java-format
+msgid "{0} hour"
+msgid_plural "{0} hours"
+msgstr[0] "{0} کاتژمێر"
+msgstr[1] "{0} کاتژمێر"
+
+#. days
+#: ../java/src/net/i2p/data/DataHelper.java:1398
+#: ../java/src/net/i2p/data/DataHelper.java:1445
+#, java-format
+msgid "{0} day"
+msgid_plural "{0} days"
+msgstr[0] "{0} Ú•Û†Ú˜"
+msgstr[1] "{0} Ú•Û†Ú˜"
+
+#. years
+#: ../java/src/net/i2p/data/DataHelper.java:1401
+#: ../java/src/net/i2p/data/DataHelper.java:1448
+#, java-format
+msgid "{0} year"
+msgid_plural "{0} years"
+msgstr[0] "{0} ساڵ"
+msgstr[1] "{0} ساڵ"
+
+#: ../java/src/net/i2p/data/DataHelper.java:1403
+#: ../java/src/net/i2p/data/DataHelper.java:1450
+msgid "n/a"
+msgstr "کارپێنەکراو"
+
+#: ../java/src/net/i2p/data/DataHelper.java:1432
+#, java-format
+msgid "{0,number,####} ns"
+msgid_plural "{0,number,###} ns"
+msgstr[0] "{0,number,####} نانۆ چرکە"
+msgstr[1] "{0,number,###} نانۆ چرکە"
+
+#: ../java/src/net/i2p/data/DataHelper.java:1434
+#, java-format
+msgid "{0,number,####} μs"
+msgid_plural "{0,number,###} μs"
+msgstr[0] "{0,number,####} مایکڕۆ چرکە"
+msgstr[1] "{0,number,###} مایکڕۆ چرکە"
+
+#: ../java/src/net/i2p/util/LogRecordFormatter.java:106
+msgid "CRIT"
+msgstr "هەستیار"
+
+#: ../java/src/net/i2p/util/LogRecordFormatter.java:106
+msgid "DEBUG"
+msgstr "هەڵەچنین"
+
+#: ../java/src/net/i2p/util/LogRecordFormatter.java:106
+msgid "ERROR"
+msgstr "Ù‡Û•ÚµÛ•"
+
+#: ../java/src/net/i2p/util/LogRecordFormatter.java:106
+msgid "INFO"
+msgstr "زانیاری"
+
+#: ../java/src/net/i2p/util/LogRecordFormatter.java:106
+msgid "WARN"
+msgstr "هۆشیاربە"
+
+#: ../java/src/net/i2p/util/LogWriter.java:161
+#, java-format
+msgid "{0} similar message omitted"
+msgid_plural "{0} similar messages omitted"
+msgstr[0] "{0} پەیامێکی هاوشێوە پشتگوێخراوە"
+msgstr[1] "{0} پەیامە هاوشێوەکان پشتگوێخراون"
diff --git a/core/locale/messages_tk.po b/core/locale/messages_tk.po
new file mode 100644
index 0000000000000000000000000000000000000000..20d2bf5ac1d83b9d767bdb3f34d751cd701639fd
--- /dev/null
+++ b/core/locale/messages_tk.po
@@ -0,0 +1,131 @@
+# I2P
+# Copyright (C) 2009 The I2P Project
+# This file is distributed under the same license as the routerconsole package.
+# To contribute translations, see http://www.i2p2.de/newdevelopers
+# foo <foo@bar>, 2009.
+# 
+msgid ""
+msgstr ""
+"Project-Id-Version: I2P routerconsole\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2019-12-17 18:42+0000\n"
+"PO-Revision-Date: 2019-12-17 17:16+0000\n"
+"Language-Team: Turkmen (https://www.transifex.com/otf/teams/12694/tk/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Language: tk\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#. NOTE TO TRANSLATORS: Feel free to translate all these as you see fit, there
+#. are several options...
+#. spaces or not, '.' or not, plural or not. Try not to make it too long, it
+#. is used in
+#. a lot of tables.
+#. milliseconds
+#. Note to translators, may be negative or zero, 2999 maximum.
+#. {0,number,####} prevents 1234 from being output as 1,234 in the English
+#. locale.
+#. If you want the digit separator in your locale, translate as {0}.
+#. alternates: msec, msecs
+#: ../java/src/net/i2p/data/DataHelper.java:1383
+#: ../java/src/net/i2p/data/DataHelper.java:1436
+#, java-format
+msgid "{0,number,####} ms"
+msgid_plural "{0,number,####} ms"
+msgstr[0] ""
+msgstr[1] ""
+
+#. seconds
+#. alternates: secs, sec. 'seconds' is probably too long.
+#: ../java/src/net/i2p/data/DataHelper.java:1387
+#: ../java/src/net/i2p/data/DataHelper.java:1438
+#, java-format
+msgid "{0} sec"
+msgid_plural "{0} sec"
+msgstr[0] ""
+msgstr[1] ""
+
+#. minutes
+#. alternates: mins, min. 'minutes' is probably too long.
+#: ../java/src/net/i2p/data/DataHelper.java:1391
+#: ../java/src/net/i2p/data/DataHelper.java:1440
+#, java-format
+msgid "{0} min"
+msgid_plural "{0} min"
+msgstr[0] ""
+msgstr[1] ""
+
+#. hours
+#. alternates: hrs, hr., hrs.
+#: ../java/src/net/i2p/data/DataHelper.java:1395
+#: ../java/src/net/i2p/data/DataHelper.java:1442
+#, java-format
+msgid "{0} hour"
+msgid_plural "{0} hours"
+msgstr[0] ""
+msgstr[1] ""
+
+#. days
+#: ../java/src/net/i2p/data/DataHelper.java:1398
+#: ../java/src/net/i2p/data/DataHelper.java:1445
+#, java-format
+msgid "{0} day"
+msgid_plural "{0} days"
+msgstr[0] ""
+msgstr[1] ""
+
+#. years
+#: ../java/src/net/i2p/data/DataHelper.java:1401
+#: ../java/src/net/i2p/data/DataHelper.java:1448
+#, java-format
+msgid "{0} year"
+msgid_plural "{0} years"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../java/src/net/i2p/data/DataHelper.java:1403
+#: ../java/src/net/i2p/data/DataHelper.java:1450
+msgid "n/a"
+msgstr ""
+
+#: ../java/src/net/i2p/data/DataHelper.java:1432
+#, java-format
+msgid "{0,number,####} ns"
+msgid_plural "{0,number,###} ns"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../java/src/net/i2p/data/DataHelper.java:1434
+#, java-format
+msgid "{0,number,####} μs"
+msgid_plural "{0,number,###} μs"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../java/src/net/i2p/util/LogRecordFormatter.java:106
+msgid "CRIT"
+msgstr ""
+
+#: ../java/src/net/i2p/util/LogRecordFormatter.java:106
+msgid "DEBUG"
+msgstr ""
+
+#: ../java/src/net/i2p/util/LogRecordFormatter.java:106
+msgid "ERROR"
+msgstr ""
+
+#: ../java/src/net/i2p/util/LogRecordFormatter.java:106
+msgid "INFO"
+msgstr ""
+
+#: ../java/src/net/i2p/util/LogRecordFormatter.java:106
+msgid "WARN"
+msgstr ""
+
+#: ../java/src/net/i2p/util/LogWriter.java:161
+#, java-format
+msgid "{0} similar message omitted"
+msgid_plural "{0} similar messages omitted"
+msgstr[0] ""
+msgstr[1] ""
diff --git a/debian/po/tk.po b/debian/po/tk.po
new file mode 100644
index 0000000000000000000000000000000000000000..09f4bc937e2788754e5c986904dc39f36a043b86
--- /dev/null
+++ b/debian/po/tk.po
@@ -0,0 +1,91 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the i2p package.
+# 
+# Translators:
+# Alperen Yavuz <mingyu@yaani.com>, 2020
+msgid ""
+msgstr ""
+"Project-Id-Version: I2P\n"
+"Report-Msgid-Bugs-To: i2p@packages.debian.org\n"
+"POT-Creation-Date: 2017-11-12 14:01+0000\n"
+"PO-Revision-Date: 2020-08-26 20:44+0000\n"
+"Last-Translator: Alperen Yavuz <mingyu@yaani.com>\n"
+"Language-Team: Turkmen (http://www.transifex.com/otf/I2P/language/tk/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Language: tk\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#. Type: boolean
+#. Description
+#: ../i2p.templates:2001
+msgid "Should the I2P router be started at boot?"
+msgstr "I2P marÅŸrutizatoryny bootdan baÅŸlamalymy?"
+
+#. Type: boolean
+#. Description
+#: ../i2p.templates:2001
+msgid ""
+"The I2P router can be run as a daemon that starts automatically when your "
+"computer boots up. This is the recommended configuration."
+msgstr "I2P marşrutizatory, kompýuteriňiz açylanda awtomatiki başlaýan daemon hökmünde işledilip bilner. Bu maslahat berilýän konfigurasiýa."
+
+#. Type: string
+#. Description
+#: ../i2p.templates:3001
+msgid "I2P daemon user:"
+msgstr "I2P daemon ulanyjy:"
+
+#. Type: string
+#. Description
+#: ../i2p.templates:3001
+msgid ""
+"By default I2P is configured to run under the account i2psvc when running as"
+" a daemon. To use an **existing** I2P profile you may enter a different "
+"account name here. For example, if your previous I2P installation is at "
+"/home/user/i2p, you may enter 'user' here."
+msgstr "Adaty tertipde I2P, daemon hökmünde işledilende i2psvc hasabynyň aşagynda işlemek üçin düzülendir. ** bar bolan ** I2P profilini ulanmak üçin bu ýere başga hasap adyny girizip bilersiňiz. Mysal üçin, öňki I2P gurnama / home / user / i2p bolsa, bu ýere 'ulanyjy' girizip bilersiňiz."
+
+#. Type: string
+#. Description
+#: ../i2p.templates:3001
+msgid ""
+"Very important: If a user other than the default of 'i2psvc' is entered "
+"here, the chosen username *MUST* already exist."
+msgstr "Örän möhüm: Bu ýere 'i2psvc' -den başga ulanyjy girizilen bolsa, saýlanan ulanyjy ady * MUGT * eýýäm bar."
+
+#. Type: string
+#. Description
+#: ../i2p.templates:4001
+msgid "Memory that can be allocated to I2P:"
+msgstr "I2P-e bölüp boljak ýat:"
+
+#. Type: string
+#. Description
+#: ../i2p.templates:4001
+msgid "By default, I2P will only be allowed to use up to 128MB of RAM."
+msgstr "Düzgüne görä, I2P-e diňe 128 MB RAM ulanmaga rugsat berler."
+
+#. Type: string
+#. Description
+#: ../i2p.templates:4001
+msgid ""
+"High bandwidth routers, as well as routers with a lot of active torrents / "
+"plugins, may need to have this value increased."
+msgstr "Bandokary zolakly marşrutizatorlar, şeýle hem köp aktiw akymly / pluginli marşrutizatorlar, bu bahanyň ýokarlanmagy üçin zerur bolup biler."
+
+#. Type: boolean
+#. Description
+#: ../i2p.templates:5001
+msgid "Should the I2P daemon be confined with AppArmor?"
+msgstr "I2P daimi diňe AppArmor bilen çäklenmelimi?"
+
+#. Type: boolean
+#. Description
+#: ../i2p.templates:5001
+msgid ""
+"With this option enabled I2P will be sandboxed with AppArmor, restricting "
+"which files and directories may be accessed by I2P."
+msgstr "Bu opsiýa açyk bolsa, I2P haýsy faýllara we kataloglara girip boljakdygyny çäklendirip, “AppArmor” bilen gutular."
diff --git a/router/locale/messages_tk.po b/router/locale/messages_tk.po
new file mode 100644
index 0000000000000000000000000000000000000000..8a41e188e0cc5f49b9a858b4d86d0471187f4b52
--- /dev/null
+++ b/router/locale/messages_tk.po
@@ -0,0 +1,186 @@
+# I2P
+# Copyright (C) 2009 The I2P Project
+# This file is distributed under the same license as the routerconsole package.
+# To contribute translations, see http://www.i2p2.de/newdevelopers
+# foo <foo@bar>, 2009.
+# 
+# Translators:
+# Alperen Yavuz <mingyu@yaani.com>, 2020
+# 
+msgid ""
+msgstr ""
+"Project-Id-Version: I2P routerconsole\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2019-12-18 13:32+0000\n"
+"PO-Revision-Date: 2019-12-19 14:09+0000\n"
+"Last-Translator: Alperen Yavuz <mingyu@yaani.com>, 2020\n"
+"Language-Team: Turkmen (https://www.transifex.com/otf/teams/12694/tk/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Language: tk\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#. * IPv4 OK, IPv6 OK or disabled or no address
+#: ../java/src/net/i2p/router/CommSystemFacade.java:370
+msgid "OK"
+msgstr "Hazır"
+
+#: ../java/src/net/i2p/router/CommSystemFacade.java:371
+msgid "IPv4: OK; IPv6: Testing"
+msgstr "IPv4: bolýar; IPv6: Synag"
+
+#: ../java/src/net/i2p/router/CommSystemFacade.java:372
+msgid "IPv4: OK; IPv6: Firewalled"
+msgstr "IPv4: bolýar; IPv6: Goragly"
+
+#: ../java/src/net/i2p/router/CommSystemFacade.java:373
+msgid "IPv4: Testing; IPv6: OK"
+msgstr "IPv4: Synag; IPv6: Bolýar"
+
+#: ../java/src/net/i2p/router/CommSystemFacade.java:374
+msgid "IPv4: Firewalled; IPv6: OK"
+msgstr "IPv4: Goragly; IPv6: Bolýar"
+
+#: ../java/src/net/i2p/router/CommSystemFacade.java:375
+msgid "IPv4: Disabled; IPv6: OK"
+msgstr "IPv4: Maýyp; IPv6: Bolýar"
+
+#: ../java/src/net/i2p/router/CommSystemFacade.java:376
+msgid "IPv4: Symmetric NAT; IPv6: OK"
+msgstr "IPv4: Simmetrik NAT; IPv6: Bolýar"
+
+#. * IPv4 symmetric NAT, IPv6 firewalled or disabled or no address
+#: ../java/src/net/i2p/router/CommSystemFacade.java:378
+msgid "Symmetric NAT"
+msgstr "Simmetrik NAT"
+
+#: ../java/src/net/i2p/router/CommSystemFacade.java:379
+msgid "IPv4: Symmetric NAT; IPv6: Testing"
+msgstr "IPv4: Simmetrik NAT; IPv6: Synag"
+
+#: ../java/src/net/i2p/router/CommSystemFacade.java:380
+msgid "IPv4: Firewalled; IPv6: Testing"
+msgstr "IPv4: Goragly; IPv6: Synag"
+
+#. * IPv4 firewalled, IPv6 firewalled or disabled or no address
+#: ../java/src/net/i2p/router/CommSystemFacade.java:382
+msgid "Firewalled"
+msgstr "Gorag diwary"
+
+#: ../java/src/net/i2p/router/CommSystemFacade.java:383
+msgid "IPv4: Testing; IPv6: Firewalled"
+msgstr "IPv4: Synag; IPv6: Goragly"
+
+#: ../java/src/net/i2p/router/CommSystemFacade.java:384
+msgid "IPv4: Disabled; IPv6: Testing"
+msgstr "IPv4: Maýyp; IPv6: Synag"
+
+#: ../java/src/net/i2p/router/CommSystemFacade.java:385
+msgid "IPv4: Disabled; IPv6: Firewalled"
+msgstr "IPv4: Maýyp; IPv6: Goragly"
+
+#: ../java/src/net/i2p/router/CommSystemFacade.java:386
+msgid "Disconnected"
+msgstr "Öçürildi"
+
+#: ../java/src/net/i2p/router/CommSystemFacade.java:387
+msgid "Port Conflict"
+msgstr "Port dawasy"
+
+#: ../java/src/net/i2p/router/CommSystemFacade.java:388
+msgid "Testing"
+msgstr "Synag"
+
+#. NPE, too early
+#. if (_context.router().getRouterInfo().getBandwidthTier().equals("K"))
+#. setTunnelStatus("Not expecting tunnel requests: Advertised bandwidth too
+#. low");
+#. else
+#: ../java/src/net/i2p/router/RouterThrottleImpl.java:84
+#: ../java/src/net/i2p/router/RouterThrottleImpl.java:142
+#: ../java/src/net/i2p/router/RouterThrottleImpl.java:545
+msgid "Rejecting tunnels: Starting up"
+msgstr "Tunelleri ret etmek: BaÅŸlamak"
+
+#: ../java/src/net/i2p/router/RouterThrottleImpl.java:189
+msgid "Rejecting tunnels: High message delay"
+msgstr "Tunelleri ret etmek: messageokary habar gijikdirilmegi"
+
+#: ../java/src/net/i2p/router/RouterThrottleImpl.java:202
+msgid "Rejecting tunnels: Limit reached"
+msgstr "Tunelleri ret etmek: Çäklendirildi"
+
+#: ../java/src/net/i2p/router/RouterThrottleImpl.java:241
+msgid "Rejecting most tunnels: High number of requests"
+msgstr "Tunelleriň köpüsini ret etmek: Islegleriň köp bolmagy"
+
+#. hard to do {0} from here
+#. setTunnelStatus("Accepting " + (100-(int)(100.0*probReject)) + "% of
+#. tunnels");
+#: ../java/src/net/i2p/router/RouterThrottleImpl.java:243
+#: ../java/src/net/i2p/router/RouterThrottleImpl.java:424
+msgid "Accepting most tunnels"
+msgstr "Tunelleriň köpüsini kabul etmek"
+
+#: ../java/src/net/i2p/router/RouterThrottleImpl.java:245
+#: ../java/src/net/i2p/router/RouterThrottleImpl.java:426
+#: ../java/src/net/i2p/router/RouterThrottleImpl.java:561
+msgid "Accepting tunnels"
+msgstr "Tunelleri kabul etmek"
+
+#. .067KBps
+#. * also limited to 90% - see below
+#. always leave at least 4KBps free when allowing
+#: ../java/src/net/i2p/router/RouterThrottleImpl.java:350
+msgid "Rejecting tunnels: Bandwidth limit"
+msgstr "Rejecting tunnels: Bandwidth limit"
+
+#. hard to do {0} from here
+#. setTunnelStatus("Rejecting " + ((int)(100.0*probReject)) + "% of tunnels:
+#. Bandwidth limit");
+#: ../java/src/net/i2p/router/RouterThrottleImpl.java:420
+msgid "Rejecting most tunnels: Bandwidth limit"
+msgstr "Tunelleriň köpüsini ret etmek: Zolak giňligi"
+
+#: ../java/src/net/i2p/router/RouterThrottleImpl.java:550
+msgid "Rejecting tunnels: Shutting down"
+msgstr "Tunelleri ret etmek: Öçürmek"
+
+#: ../java/src/net/i2p/router/RouterThrottleImpl.java:563
+msgid "Rejecting tunnels"
+msgstr "Tunelleri retmak: Öçenbe"
+
+#: ../java/src/net/i2p/router/tunnel/pool/BuildHandler.java:260
+msgid "Dropping tunnel requests: Too slow"
+msgstr "Tunel haýyşlaryny taşlamak: Gaty haýal"
+
+#: ../java/src/net/i2p/router/tunnel/pool/BuildHandler.java:270
+msgid "Dropping tunnel requests: High job lag"
+msgstr "Tunel isleglerini taÅŸlamak: jobokary iÅŸ yza galmak"
+
+#. don't even bother, since we are so overloaded locally
+#: ../java/src/net/i2p/router/tunnel/pool/BuildHandler.java:464
+msgid "Dropping tunnel requests: Overloaded"
+msgstr "Tunel haýyşlaryny taşlamak: Artykmaç"
+
+#: ../java/src/net/i2p/router/tunnel/pool/BuildHandler.java:747
+msgid "Rejecting tunnels: Hidden mode"
+msgstr "Tunelleri ret etmek: Gizlin re .im"
+
+#: ../java/src/net/i2p/router/tunnel/pool/BuildHandler.java:775
+msgid "Rejecting tunnels: Request overload"
+msgstr "Tunelleri ret etmek: Artykmaç ýük talap ediň"
+
+#: ../java/src/net/i2p/router/tunnel/pool/BuildHandler.java:806
+msgid "Rejecting tunnels: Connection limit"
+msgstr "Tunelleri ret etmek: Baglanyş çägi"
+
+#: ../java/src/net/i2p/router/tunnel/pool/BuildHandler.java:1024
+#: ../java/src/net/i2p/router/tunnel/pool/BuildHandler.java:1057
+msgid "Dropping tunnel requests: High load"
+msgstr "Tunel haýyşlaryny taşlamak: loadokary ýük"
+
+#: ../java/src/net/i2p/router/tunnel/pool/BuildHandler.java:1140
+msgid "Dropping tunnel requests: Queue time"
+msgstr "Tunel haýyşlaryny taşlamak: nobatyň wagty"