From 8a9fb1012a94df8929cdbe24fbeb9a1cb29e0260 Mon Sep 17 00:00:00 2001 From: Giuliano Bellini s294739 Date: Wed, 26 Apr 2023 12:57:56 +0200 Subject: [PATCH] Revert "Adjusted the order of languages" This reverts commit 2345492d020e522aa2611bec6e85ea7b35c623d9. --- src/translations/translations.rs | 1044 ++++++++++++++-------------- src/translations/translations_2.rs | 2 +- src/translations/types/language.rs | 80 ++- 3 files changed, 578 insertions(+), 548 deletions(-) diff --git a/src/translations/translations.rs b/src/translations/translations.rs index 8eaaa91d..bcb24a08 100644 --- a/src/translations/translations.rs +++ b/src/translations/translations.rs @@ -5,323 +5,322 @@ use crate::translations::types::language::Language; pub fn choose_adapters_translation(language: Language) -> Text<'static> { Text::new(match language { Language::EN => "Select network adapter to inspect", - Language::DE => "Wähle einen Netzwerkadapter zum inspizieren aus", - Language::ES => "Seleccione el adaptador de red que desea inspeccionar", - Language::FA => "مبدل شبکه را برای بازرسی انتخاب کنید", - Language::FR => "Sélectionnez une carte réseau à inspecter", Language::IT => "Seleziona la scheda di rete da ispezionare", - Language::KO => "검사할 네트워크 어댑터 선택", + Language::FR => "Sélectionnez une carte réseau à inspecter", + Language::ES => "Seleccione el adaptador de red que desea inspeccionar", Language::PL => "Wybierz adapter sieciowy do inspekcji", - Language::PT => "Selecione o adaptador de rede a inspecionar", - Language::RO => "Selectați adaptor de rețea pentru a inspecta", - Language::RU => "Выберите сетевой адаптер для инспекции", - Language::TR => "İncelemek için bir ağ adaptörü seçiniz", + Language::DE => "Wähle einen Netzwerkadapter zum inspizieren aus", Language::UK => "Вибрати мережевий адаптер для інспекції", Language::ZH => "选择需要监控的网络适配器", + Language::RO => "Selectați adaptor de rețea pentru a inspecta", + Language::KO => "검사할 네트워크 어댑터 선택", + Language::TR => "İncelemek için bir ağ adaptörü seçiniz", + Language::RU => "Выберите сетевой адаптер для инспекции", + Language::PT => "Selecione o adaptador de rede a inspecionar", + Language::FA => "مبدل شبکه را برای بازرسی انتخاب کنید", }) } pub fn application_protocol_translation(language: Language) -> &'static str { match language { Language::EN => "Application protocol", - Language::DE => "Anwendungs-Protokoll", - Language::ES => "Protocolo de aplicación", - Language::FA => "پیوندنامهٔ درخواست", - Language::FR => "Protocole applicatif", Language::IT => "Protocollo applicativo", - Language::KO => "어플리케이션 프로토콜", + Language::FR => "Protocole applicatif", + Language::ES => "Protocolo de aplicación", Language::PL => "Protokół aplikacji", - Language::PT => "Protocolo de aplicação", - Language::RO => "Protocol aplicație", - Language::RU => "Прикладной протокол", - Language::TR => "Uygulama protokolü", + Language::DE => "Anwendungs-Protokoll", Language::UK => "Протокол аплікації", Language::ZH => "目标应用层协议", + Language::RO => "Protocol aplicație", + Language::KO => "어플리케이션 프로토콜", + Language::TR => "Uygulama protokolü", + Language::RU => "Прикладной протокол", + Language::PT => "Protocolo de aplicação", + Language::FA => "پیوندنامهٔ درخواست", } } pub fn select_filters_translation(language: Language) -> Text<'static> { Text::new(match language { Language::EN => "Select filters to be applied on network traffic", - Language::DE => "Wähle die Filter, die auf den Netzwerkverkehr angewendet werden sollen", - Language::ES => "Seleccionar los filtros que se aplicarán al tráfico de red", - Language::FA => "صافی ها را جهت اعمال بر آمد و شد شبکه انتخاب کنید", - Language::FR => "Sélectionnez les filtres à appliquer sur le traffic réseau", Language::IT => "Seleziona i filtri da applicare al traffico di rete", - Language::KO => "네트워크 트레픽에 적용할 필터 선택", + Language::FR => "Sélectionnez les filtres à appliquer sur le traffic réseau", + Language::ES => "Seleccionar los filtros que se aplicarán al tráfico de red", Language::PL => "Wybierz filtry, które mają być zastosowane na ruchu sieciowym", - Language::PT => "Selecione os filtros a serem aplicados no tráfego de rede", - Language::RO => "Selectați filtre pentru traficul de rețea", - Language::RU => "Выберите фильтры для применения к сетевому трафику", - Language::TR => "Ağ trafiğine uygulanacak filtreleri seçiniz", + Language::DE => "Wähle die Filter, die auf den Netzwerkverkehr angewendet werden sollen", Language::UK => "Вибрати фільтри, які мають бути застосовані до мережевого трафіку", Language::ZH => "选择需要监控的目标", + Language::RO => "Selectați filtre pentru traficul de rețea", + Language::KO => "네트워크 트레픽에 적용할 필터 선택", + Language::TR => "Ağ trafiğine uygulanacak filtreleri seçiniz", + Language::RU => "Выберите фильтры для применения к сетевому трафику", + Language::PT => "Selecione os filtros a serem aplicados no tráfego de rede", + Language::FA => "صافی ها را جهت اعمال بر آمد و شد شبکه انتخاب کنید", }) } pub fn start_translation(language: Language) -> &'static str { match language { - Language::EN | Language::DE | Language::KO | Language::RO => "Start!", - Language::ES => "¡Empieza!", - Language::FA => "شروع!", - Language::FR => "Commencer!", + Language::EN | Language::DE | Language::RO | Language::KO => "Start!", Language::IT => "Avvia!", + Language::FR => "Commencer!", + Language::ES => "¡Empieza!", Language::PL => "Rozpocznij!", - Language::PT => "Começar!", - Language::RU => "Начать!", - Language::TR => "Başla!", Language::UK => "Почати!", Language::ZH => "开始!", + Language::TR => "Başla!", + Language::RU => "Начать!", + Language::PT => "Começar!", + Language::FA => "شروع!", } } pub fn address_translation(language: Language) -> &'static str { match language { Language::EN => "\nAddress:", - Language::DE | Language::FR => "\nAdresse:", - Language::ES => "\nDirección:", - Language::FA => "\nنشانی:", Language::IT => "\nIndirizzo:", - Language::KO => "\n주소:", + Language::FR | Language::DE => "\nAdresse:", + Language::ES => "\nDirección:", Language::PL | Language::TR => "\nAdres:", - Language::PT => "\nEndereço:", - Language::RO => "\nAdresă:", - Language::RU => "\nАдрес:", Language::UK => "\nАдреса:", Language::ZH => "\n网络地址:", + Language::RO => "\nAdresă:", + Language::KO => "\n주소:", + Language::RU => "\nАдрес:", + Language::PT => "\nEndereço:", + Language::FA => "\nنشانی:", } } pub fn addresses_translation(language: Language) -> &'static str { match language { Language::EN => "\nAddresses:", - Language::DE => "\nAdressen:", - Language::ES => "\nDirecciones:", - Language::FA => "\nنشانی ها:", - Language::FR => "\nAdresses:", Language::IT => "\nIndirizzi:", - Language::KO => "\n주소:", + Language::FR => "\nAdresses:", + Language::ES => "\nDirecciones:", Language::PL => "\nAdresy:", - Language::PT => "\nEndereços:", - Language::RO => "\nAdrese:", - Language::RU => "\nАдреса:", - Language::TR => "\nAdresler:", + Language::DE => "\nAdressen:", Language::UK => "\nАдреси:", Language::ZH => "\n网络地址:", + Language::RO => "\nAdrese:", + Language::KO => "\n주소:", + Language::TR => "\nAdresler:", + Language::RU => "\nАдреса:", + Language::PT => "\nEndereços:", + Language::FA => "\nنشانی ها:", } } pub fn ip_version_translation(language: Language) -> Text<'static> { Text::new(match language { Language::EN => "IP version", - Language::DE => "IP Version", - Language::ES => "Versión IP", - Language::FA => "نسخهٔ IP", - Language::FR => "Version IP", Language::IT => "Versione IP", - Language::KO => "IP 버전", + Language::FR => "Version IP", + Language::ES => "Versión IP", Language::PL => "Wersja IP", - Language::PT => "Versão de IP", - Language::RO => "Versiune IP", - Language::RU => "Версия IP", - Language::TR => "IP versiyonu", + Language::DE => "IP Version", Language::UK => "Версія IP", Language::ZH => "目标IP协议版本", + Language::RO => "Versiune IP", + Language::KO => "IP 버전", + Language::TR => "IP versiyonu", + Language::RU => "Версия IP", + Language::PT => "Versão de IP", + Language::FA => "نسخهٔ IP", }) } pub fn transport_protocol_translation(language: Language) -> &'static str { match language { Language::EN => "Transport protocol", - Language::DE => "Netzwerkprotokoll", - Language::ES | Language::PT => "Protocolo de transporte", - Language::FA => "پیوندنامهٔ ترابرد", - Language::FR => "Protocole de transport", Language::IT => "Protocollo di trasporto", - Language::KO => "전송 프로토콜", + Language::FR => "Protocole de transport", + Language::ES | Language::PT => "Protocolo de transporte", Language::PL => "Protokół transportowy", - Language::RO => "Protocol de transport", - Language::RU => "Транспортный протокол", - Language::TR => "İletişim protokolü", + Language::DE => "Netzwerkprotokoll", Language::UK => "Транспортний протокол", Language::ZH => "目标传输协议", + Language::RO => "Protocol de transport", + Language::KO => "전송 프로토콜", + Language::TR => "İletişim protokolü", + Language::RU => "Транспортный протокол", + Language::FA => "پیوندنامهٔ ترابرد", } } pub fn traffic_rate_translation(language: Language) -> Text<'static> { Text::new(match language { Language::EN => "Traffic rate:", - Language::DE => "Daten Frequenz:", - Language::ES => "Tasa de tráfico:", - Language::FA => "نرخ آمد و شد:", - Language::FR => "Fréquence du traffic:", Language::IT => "Intensità del traffico:", - Language::KO => "트레픽 속도:", + Language::FR => "Fréquence du traffic:", + Language::ES => "Tasa de tráfico:", Language::PL => "Prędkość ruchu:", - Language::PT => "Taxa de tráfego:", - Language::RO => "Rata de trafic:", - Language::RU => "Cкорость трафика:", - Language::TR => "Trafik oranı:", + Language::DE => "Daten Frequenz:", Language::UK => "Швидкість руху:", Language::ZH => "网络速率图:", + Language::RO => "Rata de trafic:", + Language::KO => "트레픽 속도:", + Language::TR => "Trafik oranı:", + Language::RU => "Cкорость трафика:", + Language::PT => "Taxa de tráfego:", + Language::FA => "نرخ آمد و شد:", }) } pub fn relevant_connections_translation(language: Language) -> Text<'static> { Text::new(match language { Language::EN => "Relevant connections:", - Language::DE => "Relevante Verbindungen:", - Language::ES => "Conexiones Relevantes:", - Language::FA => "پیوند های خویشاوند:", - Language::FR => "Connexions pertinentes:", Language::IT => "Connessioni rilevanti:", - Language::KO => "관련 연결:", + Language::FR => "Connexions pertinentes:", + Language::ES => "Conexiones Relevantes:", Language::PL => "Istotne połączenia:", - Language::PT => "Conexões relevantes:", - Language::RO => "Conexiuni relevante:", - Language::RU => "Важные подключения:", - Language::TR => "İlgili bağlantılar:", + Language::DE => "Relevante Verbindungen:", Language::UK => "Важливі підключення:", Language::ZH => "连接详情:", + Language::RO => "Conexiuni relevante:", + Language::KO => "관련 연결:", + Language::TR => "İlgili bağlantılar:", + Language::RU => "Важные подключения:", + Language::PT => "Conexões relevantes:", + Language::FA => "پیوند های خویشاوند:", }) } pub fn settings_translation(language: Language) -> &'static str { match language { Language::EN => "Settings", - Language::DE => "Einstellungen", - Language::ES => "Ajustes", - Language::FA => "پیکربندی", - Language::FR => "Paramètres", Language::IT => "Impostazioni", - Language::KO => "설정", + Language::FR => "Paramètres", + Language::ES => "Ajustes", Language::PL => "Ustawienia", - Language::PT => "Configurações", - Language::RO => "Setări", - Language::RU => "Настройки", - Language::TR => "Ayarlar", + Language::DE => "Einstellungen", Language::UK => "Налаштування", Language::ZH => "设置", + Language::RO => "Setări", + Language::KO => "설정", + Language::TR => "Ayarlar", + Language::RU => "Настройки", + Language::PT => "Configurações", + Language::FA => "پیکربندی", } } pub fn yes_translation(language: Language) -> Text<'static> { Text::new(match language { Language::EN => "Yes", - Language::DE => "Ja", - Language::ES => "Sí", - Language::FA => "بله", - Language::FR => "Oui", Language::IT => "Sì", - Language::KO => "네", + Language::FR => "Oui", + Language::ES => "Sí", Language::PL => "Tak", - Language::PT => "Sim", - Language::RO => "Da", - Language::RU => "Да", - Language::TR => "Evet", + Language::DE => "Ja", Language::UK => "Так", Language::ZH => "是", + Language::RO => "Da", + Language::KO => "네", + Language::TR => "Evet", + Language::RU => "Да", + Language::PT => "Sim", + Language::FA => "بله", }) } pub fn ask_quit_translation(language: Language) -> Text<'static> { Text::new(match language { Language::EN => "Are you sure you want to quit this analysis?", - Language::DE => "Bist du sicher, dass du diese Analyse beenden willst?", - Language::ES => "¿Estás seguro de que quieres dejar este análisis?", - Language::FA => "آیا مطمئن هستید می خواهید از این تحلیل خارج شوید؟", - Language::FR => "Êtes-vous sûr de vouloir quitter l'application ?", Language::IT => "Sei sicuro di voler interrompere questa analisi?", - Language::KO => "정말로 분석을 종료하겠습니까?", + Language::FR => "Êtes-vous sûr de vouloir quitter l'application ?", + Language::ES => "¿Estás seguro de que quieres dejar este análisis?", Language::PL => "Czy na pewno chcesz zakończyć analizę?", - Language::PT => "Tem a certeza que deseja sair desta análise?", - Language::RO => "Sunteți sigur că doriți să renunțați la această analiză?", - Language::RU => "Вы уверены, что хотите выйти из текущего анализа?", - Language::TR => "Bu analizden çıkmak istediğine emin misin?", + Language::DE => "Bist du sicher, dass du diese Analyse beenden willst?", Language::UK => "Чи справді хочеш закінчити аналіз?", Language::ZH => "您确定退出当前监控吗?", + Language::RO => "Sunteți sigur că doriți să renunțați la această analiză?", + Language::KO => "정말로 분석을 종료하겠습니까?", + Language::TR => "Bu analizden çıkmak istediğine emin misin?", + Language::RU => "Вы уверены, что хотите выйти из текущего анализа?", + Language::PT => "Tem a certeza que deseja sair desta análise?", + Language::FA => "آیا مطمئن هستید می خواهید از این تحلیل خارج شوید؟", }) } pub fn quit_analysis_translation(language: Language) -> String { match language { Language::EN => "Quit analysis".to_string(), - Language::DE => "Analyse beenden".to_string(), - Language::ES => "Quitar el análisis".to_string(), - Language::FA => "خروج از تحلیل".to_string(), - Language::FR => "Quitter l'analyse".to_string(), Language::IT => "Interrompi analisi".to_string(), - Language::KO => "분석종료".to_string(), + Language::FR => "Quitter l'analyse".to_string(), + Language::ES => "Quitar el análisis".to_string(), Language::PL => "Zakończ analize".to_string(), - Language::PT => "Sair da análise".to_string(), - Language::RO => "Renunță la analiză".to_string(), - Language::RU => "Закончить анализ".to_string(), - Language::TR => "Analizden çık".to_string(), + Language::DE => "Analyse beenden".to_string(), Language::UK => "Закінчити аналіз".to_string(), Language::ZH => "退出监控".to_string(), + Language::RO => "Renunță la analiză".to_string(), + Language::KO => "분석종료".to_string(), + Language::TR => "Analizden çık".to_string(), + Language::RU => "Закончить анализ".to_string(), + Language::PT => "Sair da análise".to_string(), + Language::FA => "خروج از تحلیل".to_string(), } } pub fn ask_clear_all_translation(language: Language) -> Text<'static> { Text::new(match language { Language::EN => "Are you sure you want to clear notifications?", - Language::DE => "Bist du sicher, dass du alle Benachrichtigungen löschen willst?", - Language::ES => "¿Seguro que quieres borrar las notificaciones?", - Language::FA => "آیا مطمئن هستید می خواهید اعلان ها را پاک کنید؟", - Language::FR => "Êtes-vous sûr de vouloir effacer les notifications ?", Language::IT => "Sei sicuro di voler eliminare le notifiche?", - Language::KO => "알림을 삭제하시겠습니까?", + Language::FR => "Êtes-vous sûr de vouloir effacer les notifications ?", + Language::ES => "¿Seguro que quieres borrar las notificaciones?", Language::PL => "Czy na pewno chcesz wyczyścić powiadomienia?", - Language::PT => "Tem a certeza que deseja eliminar as notificações?", - Language::RO => "Sigur doriți să ștergeți notificările?", - Language::RU => "Вы уверены, что хотите удлить все уведомления?", - Language::TR => "Bildirimleri temizlemek istediğine emin misin?", + Language::DE => "Bist du sicher, dass du alle Benachrichtigungen löschen willst?", Language::UK => "Чи справді хочеш видалити всі повідомлення?", Language::ZH => "确定清除所有通知?", + Language::RO => "Sigur doriți să ștergeți notificările?", + Language::KO => "알림을 삭제하시겠습니까?", + Language::TR => "Bildirimleri temizlemek istediğine emin misin?", + Language::RU => "Вы уверены, что хотите удлить все уведомления?", + Language::PT => "Tem a certeza que deseja eliminar as notificações?", + Language::FA => "آیا مطمئن هستید می خواهید اعلان ها را پاک کنید؟", }) } pub fn clear_all_translation(language: Language) -> String { match language { Language::EN => "Clear all".to_string(), - Language::DE => "Alle leeren".to_string(), - Language::ES => "Borrar todo".to_string(), - Language::FA => "پاک کردن همه".to_string(), - Language::FR => "Tout effacer".to_string(), Language::IT => "Elimina tutte".to_string(), - Language::KO => "모두 지우기".to_string(), + Language::FR => "Tout effacer".to_string(), + Language::ES => "Borrar todo".to_string(), Language::PL => "Wyczyść wszystko".to_string(), - Language::PT => "Limpar tudo".to_string(), - Language::RO => "Ștergeți tot".to_string(), - Language::RU => "Очистить всё".to_string(), - Language::TR => "Hepsini temizle".to_string(), + Language::DE => "Alle leeren".to_string(), Language::UK => "Видалити все".to_string(), Language::ZH => "清除所有".to_string(), + Language::RO => "Ștergeți tot".to_string(), + Language::KO => "모두 지우기".to_string(), + Language::TR => "Hepsini temizle".to_string(), + Language::RU => "Очистить всё".to_string(), + Language::PT => "Limpar tudo".to_string(), + Language::FA => "پاک کردن همه".to_string(), } } pub fn hide_translation(language: Language) -> &'static str { match language { Language::EN => "Hide", - Language::DE => "Verstecken", - Language::ES => "Ocultar", - Language::FA => "پنهان کردن", - Language::FR => "Masquer", Language::IT => "Nascondi", - Language::KO => "숨기기", + Language::FR => "Masquer", + Language::ES => "Ocultar", Language::PL => "Ukryj", - Language::PT => "Esconder", - Language::RO => "Ascundeți", - Language::RU => "Скрыть", - Language::TR => "Gizle", + Language::DE => "Verstecken", Language::UK => "Заховати", Language::ZH => "隐藏", + Language::RO => "Ascundeți", + Language::KO => "숨기기", + Language::TR => "Gizle", + Language::RU => "Скрыть", + Language::PT => "Esconder", + Language::FA => "پنهان کردن", } } pub fn no_addresses_translation(language: Language, adapter: &str) -> Text<'static> { Text::new(match language { - // TODO: Sorting Language::EN => format!("No traffic can be observed because the adapter you selected has no active addresses...\n\n\ Network adapter: {adapter}\n\n\ If you are sure you are connected to the internet, try choosing a different adapter."), @@ -369,7 +368,6 @@ pub fn no_addresses_translation(language: Language, adapter: &str) -> Text<'stat pub fn waiting_translation(language: Language, adapter: &str) -> Text<'static> { Text::new(match language { - // TODO: Sorting Language::EN => format!("No traffic has been observed yet. Waiting for network packets...\n\n\ Network adapter: {adapter}\n\n\ Are you sure you are connected to the internet and you have selected the correct adapter?"), @@ -421,7 +419,6 @@ pub fn some_observed_translation( filters: &str, ) -> Text<'static> { Text::new(match language { - // TODO: Sorting Language::EN => format!("Total intercepted packets: {observed}\n\n\ Filtered packets: 0\n\n\ Some packets have been intercepted, but still none has been selected according to the filters you specified...\n\n{filters}"), @@ -474,19 +471,31 @@ pub fn filtered_packets_translation( ) -> Text<'static> { Text::new(match language { Language::EN => format!("Filtered packets:\n {filtered} ({percentage} of the total)"), - Language::DE => format!("Gefilterte Pakete:\n {filtered} ({percentage} der Gesamtzahl)"), - Language::ES => format!("Paquetes filtrados:\n {filtered} ({percentage} del total)"), - Language::FA => format!("بسته های صاف شده\n {filtered} ({percentage} از مجموع)"), - Language::FR => format!("Paquets filtrés:\n {filtered} ({percentage} du total)"), Language::IT => format!("Pacchetti filtrati:\n {filtered} ({percentage} del totale)"), - Language::KO => format!("필터링된 패킷:\n {filtered} ({percentage} 의 일부)"), + Language::FR => format!("Paquets filtrés:\n {filtered} ({percentage} du total)"), + Language::ES => format!("Paquetes filtrados:\n {filtered} ({percentage} del total)"), Language::PL => format!("Przefiltrowane pakiety:\n {filtered} ({percentage} z całości)"), - Language::PT => format!("Pacotes filtrados:\n {filtered} ({percentage} do total)"), - Language::RO => format!("Pachete filtrate:\n {filtered} ({percentage} din total)"), - Language::RU => format!("Отфильтровано пакетов:\n {filtered} ({percentage}% от общего числа)"), + Language::DE => format!("Gefilterte Pakete:\n {filtered} ({percentage} der Gesamtzahl)"), + Language::UK => { + format!("Відфільтровані пакети:\n {filtered} ({percentage} від загальної суми)") + } + Language::ZH => { + format!("目标数据包计数:\n {filtered} (占所有数据包的 {percentage})") + } + Language::RO => { + format!("Pachete filtrate:\n {filtered} ({percentage} din total)") + } + Language::KO => { + format!("필터링된 패킷:\n {filtered} ({percentage} 의 일부)") + } Language::TR => format!("Filtrelenen paketler:\n {filtered} toplamın ({percentage})"), - Language::UK => format!("Відфільтровані пакети:\n {filtered} ({percentage} від загальної суми)"), - Language::ZH => format!("目标数据包计数:\n {filtered} (占所有数据包的 {percentage})"), + Language::RU => { + format!("Отфильтровано пакетов:\n {filtered} ({percentage}% от общего числа)") + } + Language::PT => { + format!("Pacotes filtrados:\n {filtered} ({percentage} do total)") + }, + Language::FA => format!("بسته های صاف شده\n {filtered} ({percentage} از مجموع)"), }) } @@ -497,44 +506,55 @@ pub fn filtered_bytes_translation( ) -> Text<'static> { Text::new(match language { Language::EN => format!("Filtered bytes:\n {filtered} ({percentage} of the total)"), - Language::DE => format!("Gefilterte Bytes:\n {filtered} ({percentage} der Gesamtzahl)"), - Language::ES => format!("Bytes filtrados:\n {filtered} ({percentage} del total)"), - Language::FA => format!("بایت های صاف شده\n {filtered} ({percentage} از مجموع)"), - Language::FR => format!("Octets filtrés:\n {filtered} ({percentage} du total)"), Language::IT => format!("Byte filtrati:\n {filtered} ({percentage} del totale)"), - Language::KO => format!("필터링된 바이트:\n {filtered} ({percentage} 의 일부)"), + Language::FR => format!("Octets filtrés:\n {filtered} ({percentage} du total)"), + Language::ES => format!("Bytes filtrados:\n {filtered} ({percentage} del total)"), Language::PL => format!("Przechwycone bajty:\n {filtered} ({percentage} całości)"), - Language::PT => format!("Bytes filtrados:\n {filtered} ({percentage} do total)"), - Language::RO => format!("Octeți filtrați:\n {filtered} ({percentage} din total)"), - Language::RU => format!("Отфильтровано байт:\n {filtered} ({percentage}% от общего числа)"), + Language::DE => format!("Gefilterte Bytes:\n {filtered} ({percentage} der Gesamtzahl)"), + Language::UK => { + format!("Відфільтровані байти:\n {filtered} ({percentage} від загальної суми)") + } + Language::ZH => { + format!("目标网络流量计数:\n {filtered} (占所有网络流量的 {percentage})") + } + Language::RO => { + format!("Octeți filtrați:\n {filtered} ({percentage} din total)") + } + Language::KO => { + format!("필터링된 바이트:\n {filtered} ({percentage} 의 일부)") + } Language::TR => format!("Filtrelenen bayt:\n {filtered} toplamın ({percentage})"), - Language::UK => format!("Відфільтровані байти:\n {filtered} ({percentage} від загальної суми)"), - Language::ZH => format!("目标网络流量计数:\n {filtered} (占所有网络流量的 {percentage})"), + Language::RU => { + format!("Отфильтровано байт:\n {filtered} ({percentage}% от общего числа)") + } + Language::PT => { + format!("Bytes filtrados:\n {filtered} ({percentage} do total)") + }, + Language::FA => format!("بایت های صاف شده\n {filtered} ({percentage} از مجموع)"), }) } pub fn filtered_application_translation(language: Language) -> Text<'static> { Text::new(match language { Language::EN => "Filtered packets per application protocol:", - Language::DE => "Gefilterte Pakete je Anwendungs-Protokoll:", - Language::ES => "Paquetes filtrados por protocolo de aplicación:", - Language::FA => "بسته های صاف شده برای هر پیوندنامهٔ درخواست:", - Language::FR => "Paquets filtrés par protocole applicatif:", Language::IT => "Pacchetti filtrati per protocollo applicativo:", - Language::KO => "애플리케이션 프로토콜당 필터링된 패킷 수:", + Language::FR => "Paquets filtrés par protocole applicatif:", + Language::ES => "Paquetes filtrados por protocolo de aplicación:", Language::PL => "Przefiltrowane pakiety według protokołu aplikacji:", - Language::PT => "Pacotes filtrados por protocolo de aplicação:", - Language::RO => "Pachete filtrate pe protocol de aplicație:", - Language::RU => "Отфильтровано пакетов прикладного протокола:", - Language::TR => "Uygulama protokolü bazında filtrelenen paketler:", + Language::DE => "Gefilterte Pakete je Anwendungs-Protokoll:", Language::UK => "Відфільтровані пакети протоколу аплікації/програми:", Language::ZH => "按应用层协议分类的目标数据包计数:", + Language::RO => "Pachete filtrate pe protocol de aplicație:", + Language::KO => "애플리케이션 프로토콜당 필터링된 패킷 수:", + Language::TR => "Uygulama protokolü bazında filtrelenen paketler:", + Language::RU => "Отфильтровано пакетов прикладного протокола:", + Language::PT => "Pacotes filtrados por protocolo de aplicação:", + Language::FA => "بسته های صاف شده برای هر پیوندنامهٔ درخواست:", }) } pub fn no_favorites_translation(language: Language) -> Text<'static> { Text::new(match language { - // TODO: Sorting Language::EN => "Nothing to show at the moment.\n\ To add a connection to your favorites, click on the star symbol near the connection.", Language::IT => "Nulla da vedere per il momento.\n\ @@ -568,7 +588,6 @@ pub fn no_favorites_translation(language: Language) -> Text<'static> { pub fn error_translation(language: Language, error: &str) -> Text<'static> { Text::new(match language { - // TODO: Sorting Language::EN => format!( "An error occurred! \n\n\ {error}" @@ -631,637 +650,639 @@ pub fn error_translation(language: Language, error: &str) -> Text<'static> { pub fn both_translation(language: Language) -> &'static str { match language { Language::EN => "both", - Language::DE => "beide", - Language::ES | Language::PT => "ambos", - Language::FA => "هر دو", - Language::FR => "les deux", Language::IT => "entrambi", - Language::KO => "둘다", + Language::FR => "les deux", + Language::ES | Language::PT => "ambos", Language::PL => "oba", - Language::RO => "ambele", - Language::RU => "оба", - Language::TR => "ikiside", + Language::DE => "beide", Language::UK => "обидва", Language::ZH => "皆需", + Language::RO => "ambele", + Language::KO => "둘다", + Language::TR => "ikiside", + Language::RU => "оба", + Language::FA => "هر دو", } } // pub fn all_protocols_translation(language: Language) -> &'static str { // match language { // Language::EN => "All protocols", -// Language::DE => "Alle Protokolle", -// Language::ES => "Todos los protocolos", -// Language::FA => "همهٔ پیوندنامه ها", -// Language::FR => "Tous les protocoles", // Language::IT => "Tutti i protocolli", +// Language::FR => "Tous les protocoles", +// Language::ES => "Todos los protocolos", // Language::PL => "Wszystkie protokoły", +// Language::DE => "Alle Protokolle", // Language::RU => "Все протоколы", +// Language::FA => "همهٔ پیوندنامه ها", // } // } pub fn all_translation(language: Language) -> &'static str { match language { Language::EN => "All", - Language::DE => "Alle", - Language::ES | Language::PT => "Todos", - Language::FA => "همه", - Language::FR => "Tous", Language::IT => "Tutti", - Language::KO => "모두", + Language::FR => "Tous", + Language::ES | Language::PT => "Todos", Language::PL => "Wszystkie", - Language::RO => "Toate", - Language::RU => "Всё", - Language::TR => "Hepsi", + Language::DE => "Alle", Language::UK => "Усі", Language::ZH => "所有", + Language::RO => "Toate", + Language::KO => "모두", + Language::TR => "Hepsi", + Language::RU => "Всё", + Language::FA => "همه", } } pub fn packets_chart_translation(language: Language) -> &'static str { match language { Language::EN => "packets per second", - Language::DE => "pakete pro Sekunde", - Language::ES => "paquetes por segundo", - Language::FA => "بسته در ثانیه", - Language::FR => "paquets par seconde", Language::IT => "pacchetti al secondo", - Language::KO => "초당 패킷", + Language::FR => "paquets par seconde", + Language::ES => "paquetes por segundo", Language::PL => "pakiety na sekundę", - Language::PT => "pacotes por segundo", - Language::RO => "pachete pe secundă", - Language::RU => "пакектов в секунду", - Language::TR => "saniye başı paket", + Language::DE => "pakete pro Sekunde", Language::UK => "пакети на секунду", Language::ZH => "数据包", + Language::RO => "pachete pe secundă", + Language::KO => "초당 패킷", + Language::TR => "saniye başı paket", + Language::RU => "пакектов в секунду", + Language::PT => "pacotes por segundo", + Language::FA => "بسته در ثانیه", } } pub fn bytes_chart_translation(language: Language) -> &'static str { match language { Language::EN => "bytes per second", - Language::DE => "bytes pro Sekunde", - Language::ES | Language::PT => "bytes por segundo", - Language::FA => "بایت در ثانیه", - Language::FR => "octets par seconde", Language::IT => "byte al secondo", - Language::KO => "초당 바이트", + Language::FR => "octets par seconde", + Language::ES | Language::PT => "bytes por segundo", Language::PL => "bajty na sekundę", - Language::RO => "octeți pe secundă", - Language::RU => "байтов в секунду", - Language::TR => "saniye başı bayt", + Language::DE => "bytes pro Sekunde", Language::UK => "байти на секунду", Language::ZH => "网络流量", + Language::RO => "octeți pe secundă", + Language::KO => "초당 바이트", + Language::TR => "saniye başı bayt", + Language::RU => "байтов в секунду", + Language::FA => "بایت در ثانیه", } } pub fn recent_report_translation(language: Language) -> &'static str { match language { Language::EN => "most recent", - Language::DE => "zuletzt", - Language::ES => "más reciente", - Language::FA => "آخرین", - Language::FR => "la plus récente", Language::IT => "più recenti", - Language::KO => "가장 최근", + Language::FR => "la plus récente", + Language::ES => "más reciente", Language::PL => "najnowsze", - Language::PT => "mais recente", - Language::RO => "cea mai recentă", - Language::RU => "новейшие", - Language::TR => "en son", + Language::DE => "zuletzt", Language::UK => "найновіші", Language::ZH => "按时间", + Language::RO => "cea mai recentă", + Language::KO => "가장 최근", + Language::TR => "en son", + Language::RU => "новейшие", + Language::PT => "mais recente", + Language::FA => "آخرین", } } pub fn packets_report_translation(language: Language) -> &'static str { match language { Language::EN => "most packets", - Language::DE => "meiste Pakete", - Language::ES => "mayoría de los paquetes", - Language::FA => "بیشترین بسته ها", - Language::FR => "le plus de paquets", Language::IT => "più pacchetti", - Language::KO => "대부분의 패킷", + Language::FR => "le plus de paquets", + Language::ES => "mayoría de los paquetes", Language::PL => "najwięcej pakietów", - Language::PT => "mais pacotes", - Language::RO => "cele mai multe pachete", - Language::RU => "больше всего пакетов", - Language::TR => "en çok paket", + Language::DE => "meiste Pakete", Language::UK => "найбільше пакетів", Language::ZH => "按数据包", + Language::RO => "cele mai multe pachete", + Language::KO => "대부분의 패킷", + Language::TR => "en çok paket", + Language::RU => "больше всего пакетов", + Language::PT => "mais pacotes", + Language::FA => "بیشترین بسته ها", } } pub fn bytes_report_translation(language: Language) -> &'static str { match language { Language::EN => "most bytes", - Language::DE => "meiste Bytes", - Language::ES => "mayoría de los bytes", - Language::FA => "بیشترین بایت ها", - Language::FR => "le plus de données", Language::IT => "più byte", - Language::KO => "대부분의 바이트", + Language::FR => "le plus de données", + Language::ES => "mayoría de los bytes", Language::PL => "najwięcej bajtów", - Language::PT => "mais bytes", - Language::RO => "cei mai mulți octeți", - Language::RU => "больше всего байт", - Language::TR => "en çok bayt", + Language::DE => "meiste Bytes", Language::UK => "найбільше байтів", Language::ZH => "按流量", + Language::RO => "cei mai mulți octeți", + Language::KO => "대부분의 바이트", + Language::TR => "en çok bayt", + Language::RU => "больше всего байт", + Language::PT => "mais bytes", + Language::FA => "بیشترین بایت ها", } } pub fn favorite_report_translation(language: Language) -> &'static str { match language { Language::EN => "favorites", - Language::DE => "Favoriten", - Language::ES | Language::PT => "favoritos", - Language::FA => "پسندیده ها", - Language::FR => "favoris", Language::IT => "preferiti", - Language::KO => "즐겨찾기", + Language::FR => "favoris", + Language::ES | Language::PT => "favoritos", Language::PL => "ulubione", - Language::RO => "favorite", - Language::RU => "избранное", - Language::TR => "favoriler", + Language::DE => "Favoriten", Language::UK => "улюблені", Language::ZH => "收藏夹", + Language::RO => "favorite", + Language::KO => "즐겨찾기", + Language::TR => "favoriler", + Language::RU => "избранное", + Language::FA => "پسندیده ها", } } pub fn notifications_title_translation(language: Language) -> Text<'static> { Text::new(match language { Language::EN => "Customize your notifications", - Language::DE => "Personalisier deine Benachrichtigungen", - Language::ES => "Personaliza tus notificaciones", - Language::FA => "اعلان های خود را سفارشی کنید", - Language::FR => "Personnalisez vos notifications", Language::IT => "Personalizza le tue notifiche", - Language::KO => "사용자 지정 알림", + Language::FR => "Personnalisez vos notifications", + Language::ES => "Personaliza tus notificaciones", Language::PL => "Dostosuj powiadomienia", - Language::PT => "Personalize as suas notificações", - Language::RO => "Personalizați-vă notificările", - Language::RU => "Настройка уведомлений", - Language::TR => "Bildirimlerinizi özelleştirin", + Language::DE => "Personalisier deine Benachrichtigungen", Language::UK => "Достосуй повідомлення", Language::ZH => "自定义通知", + Language::RO => "Personalizați-vă notificările", + Language::KO => "사용자 지정 알림", + Language::TR => "Bildirimlerinizi özelleştirin", + Language::RU => "Настройка уведомлений", + Language::PT => "Personalize as suas notificações", + Language::FA => "اعلان های خود را سفارشی کنید", }) } pub fn appearance_title_translation(language: Language) -> Text<'static> { Text::new(match language { Language::EN => "Choose your favorite theme", - Language::DE => "Wähl dein Lieblingsdesign", - Language::ES => "Elige tu tema favorito", - Language::FA => "زمینه دلخواه خود را انتخاب کنید", - Language::FR => "Sélectionnez votre thème préféré", Language::IT => "Scegli il tuo tema preferito", - Language::KO => "태마를 선택하세요", + Language::FR => "Sélectionnez votre thème préféré", + Language::ES => "Elige tu tema favorito", Language::PL => "Wybierz swój ulubiony motyw", - Language::PT => "Escolha o seu tema favorito", - Language::RO => "Selectați tema preferată", - Language::RU => "Выберите предпочительную тему", - Language::TR => "Favori temanızı seçin", + Language::DE => "Wähl dein Lieblingsdesign", Language::UK => "Вибери улюблену тему", Language::ZH => "选择您喜欢的主题", + Language::RO => "Selectați tema preferată", + Language::KO => "태마를 선택하세요", + Language::TR => "Favori temanızı seçin", + Language::RU => "Выберите предпочительную тему", + Language::PT => "Escolha o seu tema favorito", + Language::FA => "زمینه دلخواه خود را انتخاب کنید", }) } pub fn languages_title_translation(language: Language) -> Text<'static> { Text::new(match language { Language::EN => "Select your language", - Language::DE => "Stell deine Sprache ein", - Language::ES => "Selecciona tu idioma", - Language::FA => "زبان خود را انتخاب کنید", - Language::FR => "Sélectionnez votre langue", Language::IT => "Seleziona la lingua", - Language::KO => "언어를 선택하세요", + Language::FR => "Sélectionnez votre langue", + Language::ES => "Selecciona tu idioma", Language::PL => "Wybierz język", - Language::PT => "Selecione o seu idioma", - Language::RO => "Selectați limba", - Language::RU => "Выберите язык", - Language::TR => "Dilinizi seçin", + Language::DE => "Stell deine Sprache ein", Language::UK => "Вибери мову", Language::ZH => "选择显示语言", + Language::RO => "Selectați limba", + Language::KO => "언어를 선택하세요", + Language::TR => "Dilinizi seçin", + Language::RU => "Выберите язык", + Language::PT => "Selecione o seu idioma", + Language::FA => "زبان خود را انتخاب کنید", }) } pub fn active_filters_translation(language: Language) -> &'static str { match language { Language::EN => "Active filters:", - Language::DE => "Aktive Filter:", - Language::ES => "Filtros activos:", - Language::FA => "صافی های فعال:", - Language::FR => "Filtres actifs", Language::IT => "Filtri attivi:", - Language::KO => "활성화된 필터:", + Language::FR => "Filtres actifs", + Language::ES => "Filtros activos:", Language::PL => "Aktywne filtry:", - Language::PT => "Filtros ativos:", - Language::RO => "Filtre active:", - Language::RU => "Выбранные фильтры:", - Language::TR => "Aktif filtreler:", + Language::DE => "Aktive Filter:", Language::UK => "Активні фільтри:", Language::ZH => "活动的过滤器:", + Language::RO => "Filtre active:", + Language::KO => "활성화된 필터:", + Language::TR => "Aktif filtreler:", + Language::RU => "Выбранные фильтры:", + Language::PT => "Filtros ativos:", + Language::FA => "صافی های فعال:", } } pub fn none_translation(language: Language) -> &'static str { match language { Language::EN => "none", - Language::DE => "keine", - Language::ES => "ninguno", - Language::FA => "هیچ کدام", - Language::FR => "aucun", Language::IT => "nessuno", - Language::KO => "없음", + Language::FR => "aucun", + Language::ES => "ninguno", Language::PL => "brak", - Language::PT => "nenhum", - Language::RO => "niciunul", - Language::RU => "не выбран", - Language::TR => "hiç biri", + Language::DE => "keine", Language::UK => "бракує", Language::ZH => "无", + Language::RO => "niciunul", + Language::KO => "없음", + Language::TR => "hiç biri", + Language::RU => "не выбран", + Language::PT => "nenhum", + Language::FA => "هیچ کدام", } } pub fn yeti_night_translation(language: Language) -> &'static str { match language { Language::EN => "Sniffnet's original dark theme", - Language::DE => "Sniffnets urspüngliches, dunkles Design", - Language::ES => "Tema oscuro original de Sniffnet", - Language::FA => "زمینه تاریک اصلی Sniffnet", - Language::FR => "Thème original sombre de Sniffnet", Language::IT => "Il tema scuro originale di Sniffnet", - Language::KO => "Sniffnet의 기본 다크테마", + Language::FR => "Thème original sombre de Sniffnet", + Language::ES => "Tema oscuro original de Sniffnet", Language::PL => "Oryginalny, ciemny motyw Sniffnet", - Language::PT => "Tema escuro original de Sniffnet", - Language::RO => "Tema întunecată originală Sniffnet", - Language::RU => "Оригинальная тёмная тема Sniffnet'а", - Language::TR => "Sniffnet'in orjinal koyu teması", + Language::DE => "Sniffnets urspüngliches, dunkles Design", Language::UK => "Оригінальний, темний мотив Sniffnet", Language::ZH => "Sniffnet暗黑", + Language::RO => "Tema întunecată originală Sniffnet", + Language::KO => "Sniffnet의 기본 다크테마", + Language::TR => "Sniffnet'in orjinal koyu teması", + Language::RU => "Оригинальная тёмная тема Sniffnet'а", + Language::PT => "Tema escuro original de Sniffnet", + Language::FA => "زمینه تاریک اصلی Sniffnet", } } pub fn yeti_day_translation(language: Language) -> &'static str { match language { Language::EN => "Sniffnet's original light theme", - Language::DE => "Sniffnets urspüngliches, helles Design", - Language::ES | Language::PT => "Tema claro original de Sniffnet", - Language::FA => "زمینه روشن اصلی Sniffnet", - Language::FR => "Thème original clair de Sniffnet", Language::IT => "Il tema chiaro originale di Sniffnet", - Language::KO => "Sniffnet의 기본 라이트테마", + Language::FR => "Thème original clair de Sniffnet", + Language::ES | Language::PT => "Tema claro original de Sniffnet", Language::PL => "Oryginalny, jasny motyw Sniffnet", - Language::RO => "Tema deschisă originală Sniffnet", - Language::RU => "Оригинальная светая тема Sniffnet'а", - Language::TR => "Sniffnet'in orjinal açık teması", + Language::DE => "Sniffnets urspüngliches, helles Design", Language::UK => "Оригінальний, світлий мотив Sniffnet", Language::ZH => "Sniffnet浅色", + Language::RO => "Tema deschisă originală Sniffnet", + Language::KO => "Sniffnet의 기본 라이트테마", + Language::TR => "Sniffnet'in orjinal açık teması", + Language::RU => "Оригинальная светая тема Sniffnet'а", + Language::FA => "زمینه روشن اصلی Sniffnet", } } pub fn deep_sea_translation(language: Language) -> &'static str { match language { Language::EN => "To dive into network traffic", - Language::DE => "Um in den Netzwerkverkehr einzutauchen", - Language::ES => "Para sumergirse en el tráfico de la red", - Language::FA => "شیرجه رفتن در آمد و شد شبکه", - Language::FR => "Pour plonger dans votre trafic réseau", Language::IT => "Per immergersi nel traffico di rete", - Language::KO => "네트워크 트레픽으로 바로가기", + Language::FR => "Pour plonger dans votre trafic réseau", + Language::ES => "Para sumergirse en el tráfico de la red", Language::PL => "Aby zanurzyć się w ruchu sieciowym", - Language::PT => "Para mergulhar no tráfego de rede", - Language::RO => "Pentru a vă scufunda în traficul de rețea", - Language::RU => "Для погружения в сетевой трафик", - Language::TR => "Ağ trafiğine dalmak", + Language::DE => "Um in den Netzwerkverkehr einzutauchen", Language::UK => "Проаналізувати мережевий рух", Language::ZH => "潜入网络活动的海洋", + Language::RO => "Pentru a vă scufunda în traficul de rețea", + Language::KO => "네트워크 트레픽으로 바로가기", + Language::TR => "Ağ trafiğine dalmak", + Language::RU => "Для погружения в сетевой трафик", + Language::PT => "Para mergulhar no tráfego de rede", + Language::FA => "شیرجه رفتن در آمد و شد شبکه", } } pub fn mon_amour_translation(language: Language) -> &'static str { match language { Language::EN => "Lovely theme made for dreamers", - Language::DE => "Liebevolles Design für Träumer", - Language::ES => "Tema encantador hecho para soñadores", - Language::FA => "زمینه دلپذیر ساخته شده برای رویا پردازان", - Language::FR => "Thème romantique fait pour les rêveurs", Language::IT => "Tema incantevole fatto per i sognatori", - Language::KO => "사랑스러운 몽환가들을 위한 테마", + Language::FR => "Thème romantique fait pour les rêveurs", + Language::ES => "Tema encantador hecho para soñadores", Language::PL => "Uroczy motyw stworzony dla marzycieli", - Language::PT => "Tema encantador feito para sonhadores", - Language::RO => "O temă minunată creată pentru visători", - Language::RU => "Милая тема для мечтателей", - Language::TR => "Hayal perestler için yapılmış güzel tema", + Language::DE => "Liebevolles Design für Träumer", Language::UK => "Прекрасна тема для мрійників", Language::ZH => "梦想家的主题", + Language::RO => "O temă minunată creată pentru visători", + Language::KO => "사랑스러운 몽환가들을 위한 테마", + Language::TR => "Hayal perestler için yapılmış güzel tema", + Language::RU => "Милая тема для мечтателей", + Language::PT => "Tema encantador feito para sonhadores", + Language::FA => "زمینه دلپذیر ساخته شده برای رویا پردازان", } } pub fn incoming_translation(language: Language) -> &'static str { match language { Language::EN => "Incoming", - Language::DE => "Ankommend", - Language::ES => "Entrante", - Language::FA => "ورودی", - Language::FR => "Entrant", Language::IT => "In entrata", - Language::KO => "수신중", + Language::FR => "Entrant", + Language::ES => "Entrante", Language::PL => "Przychodzące", - Language::PT => "Entrando", - Language::RO => "de intrare", - Language::RU => "Входящий", - Language::TR => "Gelen", + Language::DE => "Ankommend", Language::UK => "Вхідні", Language::ZH => "入站", + Language::RO => "de intrare", + Language::KO => "수신중", + Language::TR => "Gelen", + Language::RU => "Входящий", + Language::PT => "Entrando", + Language::FA => "ورودی", } } pub fn outgoing_translation(language: Language) -> &'static str { match language { Language::EN => "Outgoing", - Language::DE => "Ausgehend", - Language::ES => "Saliente", - Language::FA => "خروجی", - Language::FR => "Sortant", Language::IT => "In uscita", - Language::KO => "발신중", + Language::FR => "Sortant", + Language::ES => "Saliente", Language::PL => "Wychodzące", - Language::PT => "Saindo", - Language::RO => "de ieșire", - Language::RU => "Исходящий", - Language::TR => "Giden", + Language::DE => "Ausgehend", Language::UK => "Вихідні", Language::ZH => "出站", + Language::RO => "de ieșire", + Language::KO => "발신중", + Language::TR => "Giden", + Language::RU => "Исходящий", + Language::PT => "Saindo", + Language::FA => "خروجی", } } pub fn notifications_translation(language: Language) -> &'static str { match language { Language::EN | Language::FR => "Notifications", - Language::DE => "Benachrichtigungen", - Language::ES => "Notificaciones", - Language::FA => "اعلان ها", Language::IT => "Notifiche", - Language::KO => "알림", + Language::ES => "Notificaciones", Language::PL => "Powiadomienia", - Language::PT => "Notificações", - Language::RO => "Notificări", - Language::RU => "Уведомления", - Language::TR => "Bildirimler", + Language::DE => "Benachrichtigungen", Language::UK => "Повідомлення", Language::ZH => "通知", + Language::RO => "Notificări", + Language::KO => "알림", + Language::TR => "Bildirimler", + Language::RU => "Уведомления", + Language::PT => "Notificações", + Language::FA => "اعلان ها", } } pub fn style_translation(language: Language) -> &'static str { match language { Language::EN | Language::FR => "Style", - Language::DE | Language::RO | Language::TR => "Stil", - Language::ES | Language::PT => "Estilo", - Language::FA => "شیوه", Language::IT => "Stile", - Language::KO => "스타일", + Language::ES | Language::PT => "Estilo", Language::PL => "Styl", - Language::RU | Language::UK => "Стиль", + Language::DE | Language::RO | Language::TR => "Stil", + Language::UK | Language::RU => "Стиль", Language::ZH => "主题", + Language::KO => "스타일", + Language::FA => "شیوه", } } pub fn language_translation(language: Language) -> &'static str { match language { Language::EN => "Language", - Language::DE => "Sprache", - Language::ES => "Idioma", - Language::FA => "زبان", - Language::FR => "Langue", Language::IT => "Lingua", - Language::KO => "언어", + Language::FR => "Langue", + Language::ES => "Idioma", Language::PL => "Język", - Language::PT => "Língua", - Language::RO => "Limbă", - Language::RU => "Язык", - Language::TR => "Dil", + Language::DE => "Sprache", Language::UK => "Мова", Language::ZH => "语言", + Language::RO => "Limbă", + Language::KO => "언어", + Language::TR => "Dil", + Language::RU => "Язык", + Language::PT => "Língua", + Language::FA => "زبان", } } pub fn overview_translation(language: Language) -> &'static str { match language { Language::EN => "Overview", - Language::DE => "Übersicht", - Language::ES => "Resumen", - Language::FA => "نمای کلی", - Language::FR => "Résumé", Language::IT => "Panoramica", - Language::KO => "개요", + Language::FR => "Résumé", + Language::ES => "Resumen", Language::PL => "Przegląd", - Language::PT => "Visão geral", - Language::RO => "Prezentare generală", - Language::RU => "Обзор", - Language::TR => "Ön izleme", + Language::DE => "Übersicht", Language::UK => "Огляд", Language::ZH => "概览", + Language::RO => "Prezentare generală", + Language::KO => "개요", + Language::TR => "Ön izleme", + Language::RU => "Обзор", + Language::PT => "Visão geral", + Language::FA => "نمای کلی", } } // pub fn inspect_translation(language: Language) -> &'static str { // match language { // Language::EN => "Inspect", -// Language::DE => "Überprüfen", -// Language::ES => "Inspeccionar", -// Language::FA => "بازرسی", -// Language::FR => "Inspecter", // Language::IT => "Ispeziona", +// Language::FR => "Inspecter", +// Language::ES => "Inspeccionar", // Language::PL => "Sprawdź", +// Language::DE => "Überprüfen", // Language::RU => "Инспектировать", +// Language::FA => "بازرسی", // } // } pub fn packets_threshold_translation(language: Language) -> &'static str { match language { Language::EN => "Notify me when a packets threshold is exceeded", - Language::DE => "Benachrichtige mich, wenn die Pakete eine Schwelle überschreiten", - Language::ES => "Notificarme cuando se supere un límite de paquetes", - Language::FA => "به من اطلاع بده وقتی آستانه یک بسته فراتر رفت", - Language::FR => "Me notifier lorsqu'un seuil de paquet est atteint", Language::IT => "Notificami quando una soglia di pacchetti è superata", - Language::KO => "패킷 임계값을 초과하면 알림", + Language::FR => "Me notifier lorsqu'un seuil de paquet est atteint", + Language::ES => "Notificarme cuando se supere un límite de paquetes", Language::PL => "Powiadom mnie, gdy zostanie przekroczony próg pakietów", - Language::PT => "Notifique-me quando um limite de pacotes for excedido", - Language::RO => "Anunță-mă când este depășit un prag de pachete", - Language::RU => "Уведомить, когда порог по частоте пакетов превышен", - Language::TR => "Paket eşiği aşıldığında beni bilgilendir", + Language::DE => "Benachrichtige mich, wenn die Pakete eine Schwelle überschreiten", Language::UK => "Повідом мене про переліміт пакетів", Language::ZH => "超过设定的数据包数量阈值时通知我", + Language::RO => "Anunță-mă când este depășit un prag de pachete", + Language::KO => "패킷 임계값을 초과하면 알림", + Language::TR => "Paket eşiği aşıldığında beni bilgilendir", + Language::RU => "Уведомить, когда порог по частоте пакетов превышен", + Language::PT => "Notifique-me quando um limite de pacotes for excedido", + Language::FA => "به من اطلاع بده وقتی آستانه یک بسته فراتر رفت", } } pub fn bytes_threshold_translation(language: Language) -> &'static str { match language { Language::EN => "Notify me when a bytes threshold is exceeded", - Language::DE => "Benachrichtige mich, wenn die Bytes eine Schwelle überschreiten", - Language::ES => "Notificarme cuando se exceda un límite de bytes", - Language::FA => "به من اطلاع بده وقتی آستانه یک بایت فراتر رفت", - Language::FR => "Me notifier lorsqu'un seuil de donnée est atteint", Language::IT => "Notificami quando una soglia di byte è superata", - Language::KO => "바이트 임계값을 초과하면 알림", + Language::FR => "Me notifier lorsqu'un seuil de donnée est atteint", + Language::ES => "Notificarme cuando se exceda un límite de bytes", Language::PL => "Powiadom mnie, gdy zostanie przekroczony próg bajtów", - Language::PT => "Notifique-me quando um limite de bytes for excedido", - Language::RO => "Anunță-mă când este depășit un prag de octeți", - Language::RU => "Уведомить, когда порог по полосе в байтах превышен", - Language::TR => "Bayt eşiği aşıldığında beni bilgilendir", + Language::DE => "Benachrichtige mich, wenn die Bytes eine Schwelle überschreiten", Language::UK => "Повідом мене про переліміт байтів", Language::ZH => "超过设定的网络流量阈值时通知我", + Language::RO => "Anunță-mă când este depășit un prag de octeți", + Language::KO => "바이트 임계값을 초과하면 알림", + Language::TR => "Bayt eşiği aşıldığında beni bilgilendir", + Language::RU => "Уведомить, когда порог по полосе в байтах превышен", + Language::PT => "Notifique-me quando um limite de bytes for excedido", + Language::FA => "به من اطلاع بده وقتی آستانه یک بایت فراتر رفت", } } pub fn per_second_translation(language: Language) -> &'static str { match language { Language::EN => "(per second)", - Language::DE => "(pro Sekunde)", - Language::ES | Language::PT => "(por segundo)", - Language::FA => "(در ثانیه)", - Language::FR => "(par seconde)", Language::IT => "(al secondo)", - Language::KO => "(초당)", + Language::FR => "(par seconde)", + Language::ES | Language::PT => "(por segundo)", Language::PL => "(na sekundę)", - Language::RO => "(pe secundă)", - Language::RU => "(в секунду)", - Language::TR => "(her saniye)", + Language::DE => "(pro Sekunde)", Language::UK => "(на секунду)", Language::ZH => "(每秒) ", + Language::RO => "(pe secundă)", + Language::KO => "(초당)", + Language::TR => "(her saniye)", + Language::RU => "(в секунду)", + Language::FA => "(در ثانیه)", } } pub fn specify_multiples_translation(language: Language) -> &'static str { match language { Language::EN => "; you can also specify 'K', 'M' and 'G'", - Language::DE => "; du kannst auch 'K', 'M' und 'G' festlegen", - Language::ES => "; también puede especificar 'K', 'M' y 'G'", - Language::FA => "؛ شما همچنین می توانید 'M'، 'K' و 'G' را تعیین کنید", - Language::FR => "; vous pouvez également spécifier 'K', 'M' et 'G'", Language::IT => "; puoi anche specificare 'K', 'M' e 'G'", - Language::KO => "; 지정가능합니다 'K', 'M', 'G'", + Language::FR => "; vous pouvez également spécifier 'K', 'M' et 'G'", + Language::ES => "; también puede especificar 'K', 'M' y 'G'", Language::PL => "; możesz również określić 'K', 'M' i 'G'", - Language::PT => "; também pode especificar 'K', 'M' e 'G'", - Language::RO => "; puteți specifica 'K', 'M', 'G'", - Language::RU => "; Так же можно указать 'K', 'M' или 'G'", - Language::TR => "; şunları da kullanabilirsin 'K', 'M' ve 'G'", + Language::DE => "; du kannst auch 'K', 'M' und 'G' festlegen", Language::UK => "; можеш також вибрати 'K', 'M' i 'G'", Language::ZH => "您可指定 'K', 'M', 'G'", + Language::RO => "; puteți specifica 'K', 'M', 'G'", + Language::KO => "; 지정가능합니다 'K', 'M', 'G'", + Language::TR => "; şunları da kullanabilirsin 'K', 'M' ve 'G'", + Language::RU => "; Так же можно указать 'K', 'M' или 'G'", + Language::PT => "; também pode especificar 'K', 'M' e 'G'", + Language::FA => "؛ شما همچنین می توانید 'M'، 'K' و 'G' را تعیین کنید", } } pub fn favorite_notification_translation(language: Language) -> &'static str { match language { Language::EN => "Notify me when new data are exchanged from my favorites", - Language::DE => "Benachrichtige mich, wenn neue Daten mit meinen Favoriten ausgetauscht werden", - Language::ES => "Notificarme cuando se intercambien nuevos datos de mis favoritos", - Language::FA => "به من اطلاع بده وقتی داده جدید از پسندیده های من مبادله شد", - Language::FR => "Notifiez-moi lorsque des données sont échangées depuis mes favoris", Language::IT => "Notificami quando nuovi dati sono scambiati dai miei preferiti", - Language::KO => "즐겨찾기에서 새 데이터가 교환될 때 알림", + Language::FR => "Notifiez-moi lorsque des données sont échangées depuis mes favoris", + Language::ES => "Notificarme cuando se intercambien nuevos datos de mis favoritos", Language::PL => "Powiadom mnie, gdy nowe dane z moich ulubionych zostaną wymienione", - Language::PT => "Notificar-me quando novos dados forem trocados dos meus favoritos", - Language::RO => "Anunță-mă când sunt transferate date noi de la favoritele mele", - Language::RU => "Уведомить, если произошёл обмен данными в соединениях из избранного", - Language::TR => "Favorilerimde veri akışı olduğunda beni uyar", + Language::DE => { + "Benachrichtige mich, wenn neue Daten mit meinen Favoriten ausgetauscht werden" + } Language::UK => "Повідом мене, коли буде обмін даними з моїх улюблених", Language::ZH => "收藏夹内的连接有新活动时通知我", + Language::RO => "Anunță-mă când sunt transferate date noi de la favoritele mele", + Language::KO => "즐겨찾기에서 새 데이터가 교환될 때 알림", + Language::TR => "Favorilerimde veri akışı olduğunda beni uyar", + Language::RU => "Уведомить, если произошёл обмен данными в соединениях из избранного", + Language::PT => "Notificar-me quando novos dados forem trocados dos meus favoritos", + Language::FA => "به من اطلاع بده وقتی داده جدید از پسندیده های من مبادله شد", } } pub fn threshold_translation(language: Language) -> String { match language { Language::EN => "Threshold: ".to_string(), - Language::DE => "Schwellenwert: ".to_string(), - Language::ES => "Límite: ".to_string(), - Language::FA => "آستانه:".to_string(), - Language::FR => "Seuil: ".to_string(), Language::IT => "Soglia: ".to_string(), - Language::KO => "임계값: ".to_string(), + Language::FR => "Seuil: ".to_string(), + Language::ES => "Límite: ".to_string(), Language::PL => "Próg: ".to_string(), - Language::PT => "Limite: ".to_string(), - Language::RO => "Prag: ".to_string(), - Language::RU => "Порог: ".to_string(), - Language::TR => "Eşik: ".to_string(), + Language::DE => "Schwellenwert: ".to_string(), Language::UK => "Ліміт: ".to_string(), Language::ZH => "阈值: ".to_string(), + Language::RO => "Prag: ".to_string(), + Language::KO => "임계값: ".to_string(), + Language::TR => "Eşik: ".to_string(), + Language::RU => "Порог: ".to_string(), + Language::PT => "Limite: ".to_string(), + Language::FA => "آستانه:".to_string(), } } pub fn volume_translation(language: Language, value: u8) -> String { match language { - Language::EN | Language::FR | Language::IT | Language::PT => format!("Volume: {value:^3}%"), - Language::DE => format!("Lautstärke: {value:^3}%"), + Language::EN | Language::IT | Language::FR | Language::PT => format!("Volume: {value:^3}%"), Language::ES => format!("Volumen: {value:^3}%"), - Language::FA => format!("حجم: {value:^3}%"), - Language::KO => format!("볼륨: {value:^3}%"), Language::PL => format!("Głośność: {value:^3}%"), - Language::RO => format!("Volum: {value:^3}%"), - Language::RU => format!("Объём: {value:^3}%"), - Language::TR => format!("Ses: {value:^3}%"), + Language::DE => format!("Lautstärke: {value:^3}%"), Language::UK => format!("Гучність: {value:^3}%"), Language::ZH => format!("通知音量: {value:^3}%"), + Language::RO => format!("Volum: {value:^3}%"), + Language::KO => format!("볼륨: {value:^3}%"), + Language::TR => format!("Ses: {value:^3}%"), + Language::RU => format!("Объём: {value:^3}%"), + Language::FA => format!("حجم: {value:^3}%"), } } pub fn sound_translation(language: Language) -> &'static str { match language { Language::EN => "Sound:", - Language::DE => "Ton:", - Language::ES => "Sonido:", - Language::FA => "صدا:", - Language::FR => "Son:", Language::IT => "Suono:", - Language::KO => "사운드:", + Language::FR => "Son:", + Language::ES => "Sonido:", Language::PL => "Dźwięk:", - Language::PT => "Som:", - Language::RO => "Sunet:", - Language::TR => "Ses:", - Language::RU | Language::UK => "Звук:", + Language::DE => "Ton:", + Language::UK | Language::RU => "Звук:", Language::ZH => "通知音:", + Language::RO => "Sunet:", + Language::KO => "사운드:", + Language::TR => "Ses:", + Language::PT => "Som:", + Language::FA => "صدا:", } } pub fn open_report_translation(language: Language) -> &'static str { match language { Language::EN => "Open full report", - Language::DE => "Kompletten Bericht öffnen", - Language::ES => "Abrir el informe completo", - Language::FA => "گزارش کامل را باز کن", - Language::FR => "Ouvrir le rapport complet", Language::IT => "Apri report completo", - Language::KO => "전체 보고서 열기", + Language::FR => "Ouvrir le rapport complet", + Language::ES => "Abrir el informe completo", Language::PL => "Otwórz pełny raport", - Language::PT => "Abrir relatório completo", - Language::RO => "Deschideți raport complet", - Language::RU => "Открыть полный отчёт", - Language::TR => "Tam raporu aç", + Language::DE => "Kompletten Bericht öffnen", Language::UK => "Відкрий повний рапорт", Language::ZH => "打开完整报告", + Language::RO => "Deschideți raport complet", + Language::KO => "전체 보고서 열기", + Language::TR => "Tam raporu aç", + Language::RU => "Открыть полный отчёт", + Language::PT => "Abrir relatório completo", + Language::FA => "گزارش کامل را باز کن", } } pub fn bytes_exceeded_translation(language: Language) -> &'static str { match language { Language::EN => "Bytes threshold exceeded!", - Language::DE => "Byte-Schwellenwert überschritten!", - Language::ES => "¡Límite de bytes superado!", - Language::FA => "آستانه بایت فراتر رفت!", - Language::FR => "Seuil de donnée atteint!", Language::IT => "Soglia di Byte superata!", - Language::KO => "바이트 임계값 초과!", + Language::FR => "Seuil de donnée atteint!", + Language::ES => "¡Límite de bytes superado!", Language::PL => "Próg bajtów przekroczony!", - Language::PT => "Limite de bytes excedido!", - Language::RO => "Prag de octeți depășit!", - Language::RU => "Порог в байтах превышен!", - Language::TR => "Bayt eşik değeri aşıldı!", + Language::DE => "Byte-Schwellenwert überschritten!", Language::UK => "Ліміт байтів перевищено!", Language::ZH => "达到设定的网络流量阈值!", + Language::RO => "Prag de octeți depășit!", + Language::KO => "바이트 임계값 초과!", + Language::TR => "Bayt eşik değeri aşıldı!", + Language::RU => "Порог в байтах превышен!", + Language::PT => "Limite de bytes excedido!", + Language::FA => "آستانه بایت فراتر رفت!", } } @@ -1269,44 +1290,43 @@ pub fn bytes_exceeded_value_translation(language: Language, value: &str) -> Stri let trimmed_value = value.trim(); match language { Language::EN => format!("{trimmed_value} bytes have been exchanged"), - Language::DE => format!("{trimmed_value} Bytes wurden ausgetauscht"), - Language::ES => format!("{trimmed_value} byte/s han sido intercambiado/s"), - Language::FA => format!("{trimmed_value} بایت مبادله شده است"), - Language::FR => format!("{trimmed_value} octets ont été échangé"), Language::IT => format!("{trimmed_value} byte sono stati scambiati"), - Language::KO => format!("바이트 {trimmed_value} 가 교환되었습니다"), + Language::FR => format!("{trimmed_value} octets ont été échangé"), + Language::ES => format!("{trimmed_value} byte/s han sido intercambiado/s"), Language::PL => format!("Wymieniono {trimmed_value} bajtów"), - Language::PT => format!("Foram trocados {trimmed_value} bytes"), - Language::RO => format!("au fost transferați {trimmed_value} octeți"), - Language::RU => format!("{trimmed_value} байт обмена информацией"), - Language::TR => format!("{trimmed_value} bayt aktarıldı"), + Language::DE => format!("{trimmed_value} Bytes wurden ausgetauscht"), Language::UK => format!("{trimmed_value} байтів було обміняно"), Language::ZH => format!("已交换字节 {trimmed_value}"), + Language::RO => format!("au fost transferați {trimmed_value} octeți"), + Language::KO => format!("바이트 {trimmed_value} 가 교환되었습니다"), + Language::TR => format!("{trimmed_value} bayt aktarıldı"), + Language::RU => format!("{trimmed_value} байт обмена информацией"), + Language::PT => format!("Foram trocados {trimmed_value} bytes"), + Language::FA => format!("{trimmed_value} بایت مبادله شده است"), } } pub fn packets_exceeded_translation(language: Language) -> &'static str { match language { Language::EN => "Packets threshold exceeded!", - Language::DE => "Paket-Schwellenwert überschritten!", - Language::ES => "¡Se ha superado el límite de paquetes!", - Language::FA => "آستانه بسته فراتر رفت!", - Language::FR => "Le seuil de paquet a été atteint!", Language::IT => "Soglia di pacchetti superata!", - Language::KO => "패킷 임계값 초과!", + Language::FR => "Le seuil de paquet a été atteint!", + Language::ES => "¡Se ha superado el límite de paquetes!", Language::PL => "Próg pakietów przekroczony!", - Language::PT => "Limite de pacotes excedido!", - Language::RO => "Prag de pachete depășit!", - Language::RU => "Порог по числу пакетов превышен!", - Language::TR => "Paket eşik değeri aşıldı!", + Language::DE => "Paket-Schwellenwert überschritten!", Language::UK => "Ліміт пакетів перевищено!", Language::ZH => "达到设定的数据包数量阈值!", + Language::RO => "Prag de pachete depășit!", + Language::KO => "패킷 임계값 초과!", + Language::TR => "Paket eşik değeri aşıldı!", + Language::RU => "Порог по числу пакетов превышен!", + Language::PT => "Limite de pacotes excedido!", + Language::FA => "آستانه بسته فراتر رفت!", } } pub fn packets_exceeded_value_translation(language: Language, value: u32) -> String { match language { - // TODO: Sorting Language::EN => match value { 1 => "1 packet has been exchanged".to_owned(), npackets => format!("{npackets} packets have been exchanged"), @@ -1339,25 +1359,24 @@ pub fn packets_exceeded_value_translation(language: Language, value: u32) -> Str pub fn favorite_transmitted_translation(language: Language) -> &'static str { match language { Language::EN => "New data exchanged from favorites!", - Language::DE => "Neue Daten mit den Favoriten ausgetauscht!", - Language::ES => "¡Nuevos datos intercambiados de favoritos!", - Language::FA => "مبادله داده جدید از پسندیده ها!", - Language::FR => "Nouvel échange de donnée depuis un favori!", Language::IT => "Nuovi dati scambiati dai preferiti!", - Language::KO => "즐겨찾기에서 새 데이터 교환", + Language::FR => "Nouvel échange de donnée depuis un favori!", + Language::ES => "¡Nuevos datos intercambiados de favoritos!", Language::PL => "Nowe dane wymienione z ulubionych!", - Language::PT => "Novos dados trocados dos favoritos!", - Language::RO => "Date noi transferate de la favorite!", - Language::RU => "Новый обмен данными в избранных соедиениях!", - Language::TR => "Favorilerden yeni veri aktarıldı!", + Language::DE => "Neue Daten mit den Favoriten ausgetauscht!", Language::UK => "Нові дані обміняно з улюблених!", Language::ZH => "收藏夹内的连接有新活动!", + Language::RO => "Date noi transferate de la favorite!", + Language::KO => "즐겨찾기에서 새 데이터 교환", + Language::TR => "Favorilerden yeni veri aktarıldı!", + Language::RU => "Новый обмен данными в избранных соедиениях!", + Language::PT => "Novos dados trocados dos favoritos!", + Language::FA => "مبادله داده جدید از پسندیده ها!", } } pub fn no_notifications_set_translation(language: Language) -> Text<'static> { Text::new(match language { - // TODO: Sorting Language::EN => "You haven't enabled notifications yet!\n\n\ After you will enable them, this page will display a log of your notifications\n\n\ You can enable notifications from settings:", @@ -1405,7 +1424,6 @@ pub fn no_notifications_set_translation(language: Language) -> Text<'static> { pub fn no_notifications_received_translation(language: Language) -> Text<'static> { Text::new(match language { - // TODO: Sorting Language::EN => { "Nothing to see at the moment...\n\n\ When you will receive a notification, it will be displayed here" @@ -1468,18 +1486,18 @@ pub fn no_notifications_received_translation(language: Language) -> Text<'static pub fn only_last_30_translation(language: Language) -> &'static str { match language { Language::EN => "Only the last 30 notifications are displayed", - Language::DE => "Nur die letzten 30 Benachrichtigungen werden angezeigt", - Language::ES => "Sólo se muestran las últimas 30 notificaciones", - Language::FA => "تنها ۳۰ اعلان آخر نمایش داده شده اند", - Language::FR => "Seulement les 30 dernières notifications sont affichées", Language::IT => "Solo le ultime 30 notifiche sono mostrate", - Language::KO => "최근 30개의 알림만 표시됩니다", + Language::FR => "Seulement les 30 dernières notifications sont affichées", + Language::ES => "Sólo se muestran las últimas 30 notificaciones", Language::PL => "Wyświetlane jest tylko 30 ostatnich powiadomień", - Language::PT => "São mostradas apenas as últimas 30 notificações", - Language::RO => "Sunt afișate doar ultimele 30 de notificări", - Language::RU => "Тут показываются только последние 30 уведомлений", - Language::TR => "Sadece son 30 bildirim gösterilmektedir", + Language::DE => "Nur die letzten 30 Benachrichtigungen werden angezeigt", Language::UK => "Можеш побачити лише 30 останніх повідомлень", Language::ZH => "仅显示最近 30 条通知", + Language::RO => "Sunt afișate doar ultimele 30 de notificări", + Language::KO => "최근 30개의 알림만 표시됩니다", + Language::TR => "Sadece son 30 bildirim gösterilmektedir", + Language::RU => "Тут показываются только последние 30 уведомлений", + Language::PT => "São mostradas apenas as últimas 30 notificações", + Language::FA => "تنها ۳۰ اعلان آخر نمایش داده شده اند", } } diff --git a/src/translations/translations_2.rs b/src/translations/translations_2.rs index ba680429..025cd9b5 100644 --- a/src/translations/translations_2.rs +++ b/src/translations/translations_2.rs @@ -5,9 +5,9 @@ use crate::Language; pub fn new_version_available_translation(language: Language) -> &'static str { match language { Language::EN => "A newer version is available on GitHub", - Language::FA => "یک نسخه جدیدتر روی GitHub موجود است", Language::IT => "Una versione più recente è disponibile su GitHub", Language::RU => "Новая версия доступна на GitHub", + Language::FA => "یک نسخه جدیدتر روی GitHub موجود است", _ => "A newer version is available on GitHub", } } diff --git a/src/translations/types/language.rs b/src/translations/types/language.rs index 6dd16340..9dd8fd0b 100644 --- a/src/translations/types/language.rs +++ b/src/translations/types/language.rs @@ -3,22 +3,34 @@ use serde::{Deserialize, Serialize}; /// This enum defines the available languages. #[derive(PartialEq, Eq, Clone, Copy, Debug, Serialize, Deserialize, Hash)] pub enum Language { - /// Default language - EN, // English - /// Additional languages (ISO Code Sorted) - DE, // German - ES, // Spanish - FA, // Persian - FR, // French - IT, // Italian - KO, // Korean - PL, // Polish - PT, // Portuguese - RO, // Romanian - RU, // Russian - TR, // Turkish - UK, // Ukrainian - ZH, // Simplified Chinese + /// English (default language). + EN, + /// Italian. + IT, + /// French. + FR, + /// Spanish. + ES, + /// Polish. + PL, + /// German, + DE, + /// Ukrainian + UK, + /// Simplified Chinese + ZH, + /// Romanian + RO, + /// Korean + KO, + /// Portuguese + PT, + /// Turkish + TR, + /// Russian + RU, + /// Persian + FA, } impl Default for Language { @@ -30,41 +42,41 @@ impl Default for Language { impl Language { pub(crate) const COL1: [Language; 5] = [ Language::EN, - Language::DE, - Language::ES, - Language::FA, Language::FR, + Language::PL, + Language::RU, + Language::ZH, ]; pub(crate) const COL2: [Language; 5] = [ + Language::DE, Language::IT, - Language::KO, - Language::PL, Language::PT, - Language::RO, + Language::TR, + Language::FA, ]; pub(crate) const COL3: [Language; 4] = [ - Language::RU, - Language::TR, + Language::ES, + Language::KO, + Language::RO, Language::UK, - Language::ZH, ]; pub fn get_radio_label(&self) -> &str { match self { Language::EN => "English", - Language::DE => "Deutsch", - Language::ES => "Español", - Language::FA => "فارسی", - Language::FR => "Français", Language::IT => "Italiano", - Language::KO => "한국인", + Language::FR => "Français", + Language::ES => "Español", Language::PL => "Polski", - Language::PT => "Português", - Language::RO => "Română", - Language::RU => "Русский", - Language::TR => "Türkçe", + Language::DE => "Deutsch", Language::UK => "Українська", Language::ZH => "简体中文", + Language::RO => "Română", + Language::KO => "한국인", + Language::TR => "Türkçe", + Language::RU => "Русский", + Language::PT => "Português", + Language::FA => "فارسی", } } }