about summary refs log tree commit diff stats
path: root/src/_locales
diff options
context:
space:
mode:
authorEdward <101938856+EdwardLangdon@users.noreply.github.com>2022-10-09 18:40:39 +0530
committerGitHub <noreply@github.com>2022-10-09 18:40:39 +0530
commit488c8c7c8b6b3431aed56c7eb1bc394fc8b6a321 (patch)
tree5e7d60bb0f818f0c37ab26babe127b26dd6baad7 /src/_locales
parentUpdate LibreDirect messages pt_BR 07-29-2022 (diff)
parentUpdated instances (diff)
downloadlibredirect-488c8c7c8b6b3431aed56c7eb1bc394fc8b6a321.zip
Merge branch 'master' into patch-1
Diffstat (limited to 'src/_locales')
-rw-r--r--src/_locales/ar/messages.json2
-rw-r--r--src/_locales/de/messages.json4
-rw-r--r--src/_locales/en/messages.json13
-rw-r--r--src/_locales/es/messages.json215
-rw-r--r--src/_locales/filter.py8
-rw-r--r--src/_locales/fr/messages.json14
-rw-r--r--src/_locales/gl/messages.json8
-rw-r--r--src/_locales/id/messages.json2
-rw-r--r--src/_locales/it/messages.json5
-rw-r--r--src/_locales/ja/messages.json2
-rw-r--r--src/_locales/ko/messages.json199
-rw-r--r--src/_locales/nb_NO/messages.json2
-rw-r--r--src/_locales/nl/messages.json211
-rw-r--r--src/_locales/pl/messages.json5
-rw-r--r--src/_locales/ru/messages.json218
-rw-r--r--src/_locales/tr/messages.json8
16 files changed, 893 insertions, 23 deletions
diff --git a/src/_locales/ar/messages.json b/src/_locales/ar/messages.json
index 4874ef15..86534b00 100644
--- a/src/_locales/ar/messages.json
+++ b/src/_locales/ar/messages.json
@@ -161,7 +161,7 @@
         "description": "used in the settings page"
     },
     "instanceOffline": {
-        "message": "هذا النظير غير متصل بالإنترنت، سيتم إعادة توجيهك بعد&nbsp;",
+        "message": "هذا النظير غير متصل بالإنترنت، سيتم إعادة توجيهك بعد",
         "description": "used in instance_offline.html"
     },
     "cancel": {
diff --git a/src/_locales/de/messages.json b/src/_locales/de/messages.json
index bd9cc42f..892918d3 100644
--- a/src/_locales/de/messages.json
+++ b/src/_locales/de/messages.json
@@ -96,7 +96,7 @@
         "description": "used in the settings page"
     },
     "autoRedirect": {
-        "message": "Automatisch Instanzen meiden, die offline sind",
+        "message": "Automatisch von Offline-Instanzen zu Online-Instanzen wechseln",
         "description": "used in the settings page"
     },
     "exceptions": {
@@ -206,7 +206,7 @@
         "message": "I2P"
     },
     "instanceOffline": {
-        "message": "Diese Instanz ist offline , du wirst weitergeleitet nach &nbsp;"
+        "message": "Diese Instanz ist offline , du wirst weitergeleitet nach "
     },
     "testInstancesLatency": {
         "message": "Teste Latenz der Instanzen"
diff --git a/src/_locales/en/messages.json b/src/_locales/en/messages.json
index dfbede1a..3887856c 100644
--- a/src/_locales/en/messages.json
+++ b/src/_locales/en/messages.json
@@ -175,7 +175,7 @@
         "description": "used in the settings page"
     },
     "instanceOffline": {
-        "message": "This instance is offline, you'll be redirected after&nbsp;",
+        "message": "This instance is offline, you'll be redirected after",
         "description": "used in instance_offline.html"
     },
     "cancel": {
@@ -207,5 +207,16 @@
     },
     "protocolFallback": {
         "message": "Fallback to normal if no instances are available for the current protocol"
+    },
+    "lbryDesktop": {
+        "message": "LBRY Desktop"
+    },
+    "toggleTab": {
+        "message": "Toggle redirects in this tab",
+        "description": "Used in context menus when right clicking on a page/tab"
+    },
+    "redirectLink": {
+        "message": "Attempt to redirect this hyperlink",
+        "description": "Used in context menus when right clicking on a hyperlink"
     }
 }
diff --git a/src/_locales/es/messages.json b/src/_locales/es/messages.json
new file mode 100644
index 00000000..1998e799
--- /dev/null
+++ b/src/_locales/es/messages.json
@@ -0,0 +1,215 @@
+{
+    "extensionName": {
+        "message": "LibRedirect",
+        "description": "name of the extension"
+    },
+    "switchInstance": {
+        "message": "Cambiar instancia",
+        "description": "used in manifest.json as shortcut description"
+    },
+    "settings": {
+        "message": "Ajustes",
+        "description": "used in the popup"
+    },
+    "general": {
+        "message": "General",
+        "description": "used in the settings page"
+    },
+    "translate": {
+        "message": "Traductor",
+        "description": "used in the settings page"
+    },
+    "search": {
+        "message": "Búsqueda",
+        "description": "used in the settings page"
+    },
+    "ytmusic": {
+        "message": "YT Music",
+        "description": "used in the settings page"
+    },
+    "wikipedia": {
+        "message": "Wikipedia",
+        "description": "used in the settings page"
+    },
+    "medium": {
+        "message": "Medium",
+        "description": "used in the settings page"
+    },
+    "tor": {
+        "message": "Tor",
+        "description": "used in the settings page"
+    },
+    "theme": {
+        "message": "Tema",
+        "description": "used in the settings page"
+    },
+    "light": {
+        "message": "Claro",
+        "description": "used in the settings page"
+    },
+    "autoRedirect": {
+        "message": "Redirigir automáticamente las instancias offline a las online",
+        "description": "used in the settings page"
+    },
+    "exceptions": {
+        "message": "Excepciones",
+        "description": "used in the settings page"
+    },
+    "importSettings": {
+        "message": "Importar Ajustes",
+        "description": "used in the settings page"
+    },
+    "exportSettings": {
+        "message": "Exportar Ajustes",
+        "description": "used in the settings page"
+    },
+    "customPopup": {
+        "message": "Personalizar Ventana Emergente",
+        "description": "used in the settings page"
+    },
+    "enable": {
+        "message": "Activar",
+        "description": "used in the settings page"
+    },
+    "protocol": {
+        "message": "Protocolo",
+        "description": "used in the settings page"
+    },
+    "normal": {
+        "message": "Normal",
+        "description": "used in the settings page"
+    },
+    "frontend": {
+        "message": "Frontend",
+        "description": "used in the settings page"
+    },
+    "embeddedVids": {
+        "message": "Frontend para Videos Incrustados",
+        "description": "used in the settings page"
+    },
+    "onlyEmbedded": {
+        "message": "solo incrustados",
+        "description": "used in the settings page"
+    },
+    "copyRaw": {
+        "message": "Copiar Original"
+    },
+    "copied": {
+        "message": "Copiado"
+    },
+    "unifySettings": {
+        "message": "Unificar Ajustes"
+    },
+    "lbry": {
+        "message": "LBRY"
+    },
+    "i2p": {
+        "message": "I2P"
+    },
+    "instanceOffline": {
+        "message": "Esta instancia está offline, serás redirigido/a luego de",
+        "description": "used in instance_offline.html"
+    },
+    "testInstancesLatency": {
+        "message": "Probar Latencia de las Instancias"
+    },
+    "youtube": {
+        "message": "YouTube",
+        "description": "used in the settings page"
+    },
+    "extensionDescription": {
+        "message": "Una extensión web que redirige sitios populares a frontends y backends alternativos que respetan la privacidad",
+        "description": "description of the extension"
+    },
+    "maps": {
+        "message": "Mapas",
+        "description": "used in the settings page"
+    },
+    "sendFiles": {
+        "message": "Enviar Archivos",
+        "description": "used in the settings page"
+    },
+    "twitter": {
+        "message": "Twitter",
+        "description": "used in the settings page"
+    },
+    "reddit": {
+        "message": "Reddit",
+        "description": "used in the settings page"
+    },
+    "instagram": {
+        "message": "Instagram",
+        "description": "used in the settings page"
+    },
+    "tiktok": {
+        "message": "TikTok",
+        "description": "used in the settings page"
+    },
+    "imgur": {
+        "message": "Imgur",
+        "description": "used in the settings page"
+    },
+    "resetSettings": {
+        "message": "Restablecer Ajustes",
+        "description": "used in the settings page"
+    },
+    "updateInstances": {
+        "message": "Actualizar Instancias",
+        "description": "used in the settings page"
+    },
+    "defaultInstances": {
+        "message": "Instancias Predeterminadas",
+        "description": "used in the settings page"
+    },
+    "peertube": {
+        "message": "PeerTube",
+        "description": "used in the settings page"
+    },
+    "system": {
+        "message": "Sistema",
+        "description": "used in the settings page"
+    },
+    "dark": {
+        "message": "Oscuro",
+        "description": "used in the settings page"
+    },
+    "customInstances": {
+        "message": "Instancias Personalizadas",
+        "description": "used in the settings page"
+    },
+    "notFullyPrivate": {
+        "message": "Este no es un frontend completamente privado."
+    },
+    "toggleAll": {
+        "message": "Alternar todo",
+        "description": "used in the settings page"
+    },
+    "onlyNotEmbedded": {
+        "message": "solo los no incrustados",
+        "description": "used in the settings page"
+    },
+    "instanceIsOff": {
+        "message": "La instancia está offline",
+        "description": "used in instance_offline.html"
+    },
+    "searchNote": {
+        "message": "Nota: Utilice la búsqueda en todo su potencial haciendo de LibRedirect su motor de búsqueda predeterminado.",
+        "description": "used in the settings page"
+    },
+    "redirectType": {
+        "message": "Tipo de Redirección",
+        "description": "used in the settings page"
+    },
+    "both": {
+        "message": "ambos",
+        "description": "used in the settings page"
+    },
+    "cancel": {
+        "message": "Cancelar",
+        "description": "used in instance_offline.html"
+    },
+    "redirectionCanceled": {
+        "message": "Redirección cancelada",
+        "description": "used in instance_offline.js"
+    }
+}
diff --git a/src/_locales/filter.py b/src/_locales/filter.py
index 581bb36c..0d5fb44d 100644
--- a/src/_locales/filter.py
+++ b/src/_locales/filter.py
@@ -1,12 +1,4 @@
-import requests
 import json
-from urllib.parse import urlparse
-from bs4 import BeautifulSoup
-import re
-from colorama import Fore, Back, Style
-from urllib.parse import urlparse
-import socket
-import subprocess
 
 
 ar_json = {}
diff --git a/src/_locales/fr/messages.json b/src/_locales/fr/messages.json
index e758bacc..717ec8e1 100644
--- a/src/_locales/fr/messages.json
+++ b/src/_locales/fr/messages.json
@@ -44,7 +44,7 @@
         "description": "used in the settings page"
     },
     "dark": {
-        "message": "Obscur",
+        "message": "Sombre",
         "description": "used in the settings page"
     },
     "autoRedirect": {
@@ -56,11 +56,11 @@
         "description": "used in the settings page"
     },
     "importSettings": {
-        "message": "Paramètres d'importation",
+        "message": "Importation de paramètres",
         "description": "used in the settings page"
     },
     "exportSettings": {
-        "message": "Paramètres d'exportation",
+        "message": "Exportation de paramètres",
         "description": "used in the settings page"
     },
     "enable": {
@@ -139,7 +139,7 @@
         "description": "used in the settings page"
     },
     "instanceOffline": {
-        "message": "Cette instance est hors ligne, vous serez redirigé après&nbsp;",
+        "message": "Cette instance est hors ligne, vous serez redirigé après",
         "description": "used in instance_offline.html"
     },
     "settings": {
@@ -211,5 +211,11 @@
     "ytmusic": {
         "message": "YT Music",
         "description": "used in the settings page"
+    },
+    "loki": {
+        "message": "Lokinet"
+    },
+    "protocolFallback": {
+        "message": "Retour au mode normal si aucune instance n’est disponible pour le protocole sélectionné"
     }
 }
diff --git a/src/_locales/gl/messages.json b/src/_locales/gl/messages.json
index 3468e337..a88810f6 100644
--- a/src/_locales/gl/messages.json
+++ b/src/_locales/gl/messages.json
@@ -196,7 +196,7 @@
         "message": "Esta interface non é totalmente privada."
     },
     "instanceOffline": {
-        "message": "Esta instancia está caída, ímoste redirixir após&nbsp;",
+        "message": "Esta instancia está caída, ímoste redirixir após",
         "description": "used in instance_offline.html"
     },
     "cancel": {
@@ -208,5 +208,11 @@
     },
     "i2p": {
         "message": "I2P"
+    },
+    "unifySettings": {
+        "message": "Unificar Axustes"
+    },
+    "loki": {
+        "message": "Lokinet"
     }
 }
diff --git a/src/_locales/id/messages.json b/src/_locales/id/messages.json
index 5e4d2b16..09ab8fe4 100644
--- a/src/_locales/id/messages.json
+++ b/src/_locales/id/messages.json
@@ -127,7 +127,7 @@
         "description": "used in the settings page"
     },
     "instanceOffline": {
-        "message": "Instansi ini luring, Anda akan dialihkan setelah&nbsp;",
+        "message": "Instansi ini luring, Anda akan dialihkan setelah",
         "description": "used in instance_offline.html"
     },
     "cancel": {
diff --git a/src/_locales/it/messages.json b/src/_locales/it/messages.json
index 0d3cb84d..eab2d038 100644
--- a/src/_locales/it/messages.json
+++ b/src/_locales/it/messages.json
@@ -159,7 +159,7 @@
         "description": "used in the settings page"
     },
     "instanceOffline": {
-        "message": "Questa istanza è offline, verrai reindirizzato tra&nbsp;",
+        "message": "Questa istanza è offline, verrai reindirizzato tra",
         "description": "used in instance_offline.html"
     },
     "cancel": {
@@ -211,5 +211,8 @@
     "frontend": {
         "message": "Frontend",
         "description": "used in the settings page"
+    },
+    "loki": {
+        "message": "Lokinet"
     }
 }
diff --git a/src/_locales/ja/messages.json b/src/_locales/ja/messages.json
index 32407e8d..bfae80c9 100644
--- a/src/_locales/ja/messages.json
+++ b/src/_locales/ja/messages.json
@@ -179,7 +179,7 @@
         "description": "used in the settings page"
     },
     "instanceOffline": {
-        "message": "このインスタンスはオフラインです。&nbsp;",
+        "message": "このインスタンスはオフラインです。",
         "description": "used in instance_offline.html"
     },
     "cancel": {
diff --git a/src/_locales/ko/messages.json b/src/_locales/ko/messages.json
new file mode 100644
index 00000000..53cfcc13
--- /dev/null
+++ b/src/_locales/ko/messages.json
@@ -0,0 +1,199 @@
+{
+    "extensionName": {
+        "message": "LibRedirect",
+        "description": "name of the extension"
+    },
+    "switchInstance": {
+        "message": "인스턴스 바꾸기",
+        "description": "used in manifest.json as shortcut description"
+    },
+    "settings": {
+        "message": "설정",
+        "description": "used in the popup"
+    },
+    "general": {
+        "message": "일반",
+        "description": "used in the settings page"
+    },
+    "search": {
+        "message": "검색",
+        "description": "used in the settings page"
+    },
+    "translate": {
+        "message": "번역",
+        "description": "used in the settings page"
+    },
+    "ytmusic": {
+        "message": "YT Music",
+        "description": "used in the settings page"
+    },
+    "imgur": {
+        "message": "Imgur",
+        "description": "used in the settings page"
+    },
+    "wikipedia": {
+        "message": "Wikipedia",
+        "description": "used in the settings page"
+    },
+    "peertube": {
+        "message": "PeerTube",
+        "description": "used in the settings page"
+    },
+    "medium": {
+        "message": "Medium",
+        "description": "used in the settings page"
+    },
+    "tor": {
+        "message": "Tor",
+        "description": "used in the settings page"
+    },
+    "theme": {
+        "message": "테마",
+        "description": "used in the settings page"
+    },
+    "system": {
+        "message": "시스템",
+        "description": "used in the settings page"
+    },
+    "light": {
+        "message": "밝음",
+        "description": "used in the settings page"
+    },
+    "updateInstances": {
+        "message": "인스터스 업데이트",
+        "description": "used in the settings page"
+    },
+    "importSettings": {
+        "message": "설정 불러오기",
+        "description": "used in the settings page"
+    },
+    "exportSettings": {
+        "message": "설정 내보내기",
+        "description": "used in the settings page"
+    },
+    "enable": {
+        "message": "활성화",
+        "description": "used in the settings page"
+    },
+    "protocol": {
+        "message": "프로토콜",
+        "description": "used in the settings page"
+    },
+    "normal": {
+        "message": "일반",
+        "description": "used in the settings page"
+    },
+    "defaultInstances": {
+        "message": "기본 인스턴스",
+        "description": "used in the settings page"
+    },
+    "customInstances": {
+        "message": "사용자 인스턴스",
+        "description": "used in the settings page"
+    },
+    "frontend": {
+        "message": "프론트엔드",
+        "description": "used in the settings page"
+    },
+    "youtube": {
+        "message": "YouTube",
+        "description": "used in the settings page"
+    },
+    "testInstancesLatency": {
+        "message": "인스턴스 지연 시간 시험"
+    },
+    "redirectType": {
+        "message": "리다이렉트 종류",
+        "description": "used in the settings page"
+    },
+    "onlyEmbedded": {
+        "message": "임베디드 된 것만",
+        "description": "used in the settings page"
+    },
+    "onlyNotEmbedded": {
+        "message": "임베디드 안된 것만",
+        "description": "used in the settings page"
+    },
+    "instanceOffline": {
+        "message": "이 인스턴스는 오프라인입니다, 다음 초 후에 리다이렉트됩니다:",
+        "description": "used in instance_offline.html"
+    },
+    "notFullyPrivate": {
+        "message": "완전한 개인 프론트엔드가 아닙니다."
+    },
+    "searchNote": {
+        "message": "안내: LibRedirect를 기본 검색 엔진으로 만들면 완벽히 사용할 수 있습니다.",
+        "description": "used in the settings page"
+    },
+    "both": {
+        "message": "둘 다",
+        "description": "used in the settings page"
+    },
+    "embeddedVids": {
+        "message": "임베디드된 동영상 프론트엔드",
+        "description": "used in the settings page"
+    },
+    "unifySettings": {
+        "message": "설정 통일하기"
+    },
+    "maps": {
+        "message": "지도",
+        "description": "used in the settings page"
+    },
+    "sendFiles": {
+        "message": "파일 전송",
+        "description": "used in the settings page"
+    },
+    "instagram": {
+        "message": "Instagram",
+        "description": "used in the settings page"
+    },
+    "exceptions": {
+        "message": "예외",
+        "description": "used in the settings page"
+    },
+    "resetSettings": {
+        "message": "설정 초기화",
+        "description": "used in the settings page"
+    },
+    "customPopup": {
+        "message": "팝업 사용자 설정",
+        "description": "used in the settings page"
+    },
+    "dark": {
+        "message": "어두움",
+        "description": "used in the settings page"
+    },
+    "autoRedirect": {
+        "message": "오프라인 인스터스를 온라인으로 자동 리다이렉트",
+        "description": "used in the settings page"
+    },
+    "toggleAll": {
+        "message": "전체 전환",
+        "description": "used in the settings page"
+    },
+    "instanceIsOff": {
+        "message": "인스턴스 오프라인",
+        "description": "used in instance_offline.html"
+    },
+    "lbry": {
+        "message": "LBRY"
+    },
+    "i2p": {
+        "message": "I2P"
+    },
+    "cancel": {
+        "message": "취소",
+        "description": "used in instance_offline.html"
+    },
+    "redirectionCanceled": {
+        "message": "리다이렉션 취소됨",
+        "description": "used in instance_offline.js"
+    },
+    "copyRaw": {
+        "message": "Raw 복사"
+    },
+    "copied": {
+        "message": "복사됨"
+    }
+}
diff --git a/src/_locales/nb_NO/messages.json b/src/_locales/nb_NO/messages.json
index 9a18930f..adae7e51 100644
--- a/src/_locales/nb_NO/messages.json
+++ b/src/_locales/nb_NO/messages.json
@@ -168,7 +168,7 @@
         "description": "used in the settings page"
     },
     "instanceOffline": {
-        "message": "Denne instansen er nede. Du vil bli videresendt etter&nbsp;",
+        "message": "Denne instansen er nede. Du vil bli videresendt etter",
         "description": "used in instance_offline.html"
     },
     "copyRaw": {
diff --git a/src/_locales/nl/messages.json b/src/_locales/nl/messages.json
new file mode 100644
index 00000000..e1c1ea17
--- /dev/null
+++ b/src/_locales/nl/messages.json
@@ -0,0 +1,211 @@
+{
+    "light": {
+        "message": "Licht thema",
+        "description": "used in the settings page"
+    },
+    "system": {
+        "message": "Systeemthema",
+        "description": "used in the settings page"
+    },
+    "customInstances": {
+        "message": "Aangepaste servers",
+        "description": "used in the settings page"
+    },
+    "dark": {
+        "message": "Donker thema",
+        "description": "used in the settings page"
+    },
+    "updateInstances": {
+        "message": "Serverlijst bijwerken",
+        "description": "used in the settings page"
+    },
+    "resetSettings": {
+        "message": "Standaardwaarden",
+        "description": "used in the settings page"
+    },
+    "customPopup": {
+        "message": "Pop-upvenster instellen",
+        "description": "used in the settings page"
+    },
+    "normal": {
+        "message": "Normaal",
+        "description": "used in the settings page"
+    },
+    "defaultInstances": {
+        "message": "Standaardservers",
+        "description": "used in the settings page"
+    },
+    "toggleAll": {
+        "message": "Alles aan/uit",
+        "description": "used in the settings page"
+    },
+    "frontend": {
+        "message": "Frontend",
+        "description": "used in the settings page"
+    },
+    "autoRedirect": {
+        "message": "Automatisch overschakelen naar online-servers",
+        "description": "used in the settings page"
+    },
+    "importSettings": {
+        "message": "Instellingen importeren",
+        "description": "used in the settings page"
+    },
+    "protocol": {
+        "message": "Protocol",
+        "description": "used in the settings page"
+    },
+    "extensionName": {
+        "message": "LibRedirect",
+        "description": "name of the extension"
+    },
+    "switchInstance": {
+        "message": "Andere server kiezen",
+        "description": "used in manifest.json as shortcut description"
+    },
+    "settings": {
+        "message": "Instellingen",
+        "description": "used in the popup"
+    },
+    "general": {
+        "message": "Algemeen",
+        "description": "used in the settings page"
+    },
+    "search": {
+        "message": "Zoeken",
+        "description": "used in the settings page"
+    },
+    "translate": {
+        "message": "Vertalen",
+        "description": "used in the settings page"
+    },
+    "maps": {
+        "message": "Kaarten",
+        "description": "used in the settings page"
+    },
+    "sendFiles": {
+        "message": "Bestanden versturen",
+        "description": "used in the settings page"
+    },
+    "youtube": {
+        "message": "YouTube",
+        "description": "used in the settings page"
+    },
+    "instagram": {
+        "message": "Instagram",
+        "description": "used in the settings page"
+    },
+    "twitter": {
+        "message": "Twitter",
+        "description": "used in the settings page"
+    },
+    "reddit": {
+        "message": "Reddit",
+        "description": "used in the settings page"
+    },
+    "tiktok": {
+        "message": "TikTok",
+        "description": "used in the settings page"
+    },
+    "ytmusic": {
+        "message": "YT Music",
+        "description": "used in the settings page"
+    },
+    "imgur": {
+        "message": "Imgur",
+        "description": "used in the settings page"
+    },
+    "wikipedia": {
+        "message": "Wikipedia",
+        "description": "used in the settings page"
+    },
+    "peertube": {
+        "message": "PeerTube",
+        "description": "used in the settings page"
+    },
+    "medium": {
+        "message": "Medium",
+        "description": "used in the settings page"
+    },
+    "theme": {
+        "message": "Thema",
+        "description": "used in the settings page"
+    },
+    "extensionDescription": {
+        "message": "Een browserextensie die je automatisch doorstuurt naar privacy-respecterende alternatieven voor populaire sites",
+        "description": "description of the extension"
+    },
+    "copied": {
+        "message": "Gekopieerd"
+    },
+    "lbry": {
+        "message": "LBRY"
+    },
+    "exceptions": {
+        "message": "Uitzonderingen",
+        "description": "used in the settings page"
+    },
+    "notFullyPrivate": {
+        "message": "Dit frontend is niet volledig privaat."
+    },
+    "searchNote": {
+        "message": "Tip: benut de extensie optimaal door LibRedirect in te stellen als de standaard zoekmachine.",
+        "description": "used in the settings page"
+    },
+    "redirectType": {
+        "message": "Soort doorverwijzing",
+        "description": "used in the settings page"
+    },
+    "embeddedVids": {
+        "message": "Ingesloten video's-frontend",
+        "description": "used in the settings page"
+    },
+    "both": {
+        "message": "Beide",
+        "description": "used in the settings page"
+    },
+    "onlyEmbedded": {
+        "message": "Alleen ingesloten",
+        "description": "used in the settings page"
+    },
+    "onlyNotEmbedded": {
+        "message": "Alleen niet-ingesloten",
+        "description": "used in the settings page"
+    },
+    "instanceOffline": {
+        "message": "Deze server is offline - je wordt doorgestuurd over",
+        "description": "used in instance_offline.html"
+    },
+    "cancel": {
+        "message": "Annuleren",
+        "description": "used in instance_offline.html"
+    },
+    "instanceIsOff": {
+        "message": "Server is offline",
+        "description": "used in instance_offline.html"
+    },
+    "protocolFallback": {
+        "message": "Terugvallen op reguliere server als er geen servers met het huidige protocol beschikbaar zijn"
+    },
+    "exportSettings": {
+        "message": "Instellingen exporteren",
+        "description": "used in the settings page"
+    },
+    "enable": {
+        "message": "Inschakelen",
+        "description": "used in the settings page"
+    },
+    "testInstancesLatency": {
+        "message": "Controleren op serververtragingen"
+    },
+    "copyRaw": {
+        "message": "Onbewerkte code kopiëren"
+    },
+    "redirectionCanceled": {
+        "message": "Doorverwijzen afgebroken",
+        "description": "used in instance_offline.js"
+    },
+    "unifySettings": {
+        "message": "Globale instellingen"
+    }
+}
diff --git a/src/_locales/pl/messages.json b/src/_locales/pl/messages.json
index 136f0de5..aed2eda5 100644
--- a/src/_locales/pl/messages.json
+++ b/src/_locales/pl/messages.json
@@ -100,7 +100,7 @@
         "description": "used in the settings page"
     },
     "instanceOffline": {
-        "message": "Ta instancja jest offline, przekierowanie nastąpi po&nbsp;",
+        "message": "Ta instancja jest offline, przekierowanie nastąpi po",
         "description": "used in instance_offline.html"
     },
     "cancel": {
@@ -211,5 +211,8 @@
     "customPopup": {
         "message": "Dostosuj Wyskakujące Okienko",
         "description": "used in the settings page"
+    },
+    "loki": {
+        "message": "Lokinet"
     }
 }
diff --git a/src/_locales/ru/messages.json b/src/_locales/ru/messages.json
new file mode 100644
index 00000000..f48150fe
--- /dev/null
+++ b/src/_locales/ru/messages.json
@@ -0,0 +1,218 @@
+{
+    "extensionDescription": {
+        "message": "Веб-расширение, которое перенаправляет популярные сайты на альтернативные фронтенды и бэкенды, обеспечивающие конфиденциальность",
+        "description": "description of the extension"
+    },
+    "extensionName": {
+        "message": "LibRedirect",
+        "description": "name of the extension"
+    },
+    "protocol": {
+        "message": "Протокол",
+        "description": "used in the settings page"
+    },
+    "normal": {
+        "message": "Нормальный",
+        "description": "used in the settings page"
+    },
+    "settings": {
+        "message": "Настройки",
+        "description": "used in the popup"
+    },
+    "general": {
+        "message": "Общее",
+        "description": "used in the settings page"
+    },
+    "search": {
+        "message": "Поиск",
+        "description": "used in the settings page"
+    },
+    "translate": {
+        "message": "Перевод",
+        "description": "used in the settings page"
+    },
+    "maps": {
+        "message": "Карты",
+        "description": "used in the settings page"
+    },
+    "sendFiles": {
+        "message": "Отправка файлов",
+        "description": "used in the settings page"
+    },
+    "youtube": {
+        "message": "YouTube",
+        "description": "used in the settings page"
+    },
+    "tiktok": {
+        "message": "TikTok",
+        "description": "used in the settings page"
+    },
+    "ytmusic": {
+        "message": "YT Music",
+        "description": "used in the settings page"
+    },
+    "imgur": {
+        "message": "Imgur",
+        "description": "used in the settings page"
+    },
+    "wikipedia": {
+        "message": "Wikipedia",
+        "description": "used in the settings page"
+    },
+    "peertube": {
+        "message": "PeerTube",
+        "description": "used in the settings page"
+    },
+    "importSettings": {
+        "message": "Импорт настроек",
+        "description": "used in the settings page"
+    },
+    "exportSettings": {
+        "message": "Экспорт настроек",
+        "description": "used in the settings page"
+    },
+    "resetSettings": {
+        "message": "Сброс настроек",
+        "description": "used in the settings page"
+    },
+    "customPopup": {
+        "message": "Настроить всплывающее окно",
+        "description": "used in the settings page"
+    },
+    "redirectType": {
+        "message": "Тип перенаправления",
+        "description": "used in the settings page"
+    },
+    "both": {
+        "message": "оба",
+        "description": "used in the settings page"
+    },
+    "onlyEmbedded": {
+        "message": "только встроенные",
+        "description": "used in the settings page"
+    },
+    "onlyNotEmbedded": {
+        "message": "только не встроеные",
+        "description": "used in the settings page"
+    },
+    "instanceOffline": {
+        "message": "Этот экземпляр находится в автономном режиме, вы будете перенаправлены после",
+        "description": "used in instance_offline.html"
+    },
+    "cancel": {
+        "message": "Отмена",
+        "description": "used in instance_offline.html"
+    },
+    "instanceIsOff": {
+        "message": "Экземпляр не в сети",
+        "description": "used in instance_offline.html"
+    },
+    "redirectionCanceled": {
+        "message": "Перенаправление отменено",
+        "description": "used in instance_offline.js"
+    },
+    "switchInstance": {
+        "message": "Переключить экземпляр",
+        "description": "used in manifest.json as shortcut description"
+    },
+    "autoRedirect": {
+        "message": "Автоматическое перенаправление на экземпляров находящихся в сети",
+        "description": "used in the settings page"
+    },
+    "updateInstances": {
+        "message": "Обновить экземпляры",
+        "description": "used in the settings page"
+    },
+    "defaultInstances": {
+        "message": "Экземпляры по умолчанию",
+        "description": "used in the settings page"
+    },
+    "customInstances": {
+        "message": "Пользовательские экземпляры",
+        "description": "used in the settings page"
+    },
+    "embeddedVids": {
+        "message": "Фронтенд со встроенным видео",
+        "description": "used in the settings page"
+    },
+    "copied": {
+        "message": "Скопировано"
+    },
+    "lbry": {
+        "message": "LBRY"
+    },
+    "i2p": {
+        "message": "I2P"
+    },
+    "loki": {
+        "message": "Lokinet"
+    },
+    "testInstancesLatency": {
+        "message": "Тестирование задержки экземпляров"
+    },
+    "copyRaw": {
+        "message": "Скопировать напрямую"
+    },
+    "unifySettings": {
+        "message": "Унифицировать настройки"
+    },
+    "instagram": {
+        "message": "Instagram",
+        "description": "used in the settings page"
+    },
+    "enable": {
+        "message": "Включить",
+        "description": "used in the settings page"
+    },
+    "twitter": {
+        "message": "Twitter",
+        "description": "used in the settings page"
+    },
+    "system": {
+        "message": "Системная",
+        "description": "used in the settings page"
+    },
+    "exceptions": {
+        "message": "Исключения",
+        "description": "used in the settings page"
+    },
+    "reddit": {
+        "message": "Reddit",
+        "description": "used in the settings page"
+    },
+    "tor": {
+        "message": "Tor",
+        "description": "used in the settings page"
+    },
+    "medium": {
+        "message": "Medium",
+        "description": "used in the settings page"
+    },
+    "theme": {
+        "message": "Тема",
+        "description": "used in the settings page"
+    },
+    "light": {
+        "message": "Светлая",
+        "description": "used in the settings page"
+    },
+    "dark": {
+        "message": "Тёмная",
+        "description": "used in the settings page"
+    },
+    "toggleAll": {
+        "message": "Переключить все",
+        "description": "used in the settings page"
+    },
+    "notFullyPrivate": {
+        "message": "Это не полностью приватный фронтенд."
+    },
+    "frontend": {
+        "message": "Фронтенд",
+        "description": "used in the settings page"
+    },
+    "searchNote": {
+        "message": "Примечание: Используйте поиск в полной мере, сделав LibRedirect поисковой системой по умолчанию.",
+        "description": "used in the settings page"
+    }
+}
diff --git a/src/_locales/tr/messages.json b/src/_locales/tr/messages.json
index 3148662e..fe434073 100644
--- a/src/_locales/tr/messages.json
+++ b/src/_locales/tr/messages.json
@@ -119,7 +119,7 @@
         "description": "used in the settings page"
     },
     "instanceOffline": {
-        "message": "Bu örnek çevrim dışı, yeniden yönlendirileceksiniz&nbsp;",
+        "message": "Bu örnek çevrim dışı, yeniden yönlendirileceksiniz",
         "description": "used in instance_offline.html"
     },
     "cancel": {
@@ -211,5 +211,11 @@
     "normal": {
         "message": "Normal",
         "description": "used in the settings page"
+    },
+    "loki": {
+        "message": "Lokinet"
+    },
+    "protocolFallback": {
+        "message": "Geçerli protokol için hiçbir örnek kullanılabilir değilse normale geri dön"
     }
 }