diff --git a/.all-contributorsrc b/.all-contributorsrc index 7e9e925e..a8f88875 100644 --- a/.all-contributorsrc +++ b/.all-contributorsrc @@ -547,6 +547,33 @@ "contributions": [ "translation" ] + }, + { + "login": "guilherme-demarchi", + "name": "guilherme-demarchi", + "avatar_url": "https://avatars.githubusercontent.com/u/196574579?v=4", + "profile": "https://github.com/guilherme-demarchi", + "contributions": [ + "translation" + ] + }, + { + "login": "Kapelianovych", + "name": "Yevhen", + "avatar_url": "https://avatars.githubusercontent.com/u/28602579?v=4", + "profile": "https://github.com/Kapelianovych", + "contributions": [ + "translation" + ] + }, + { + "login": "shawnyeager", + "name": "Shawn Yeager", + "avatar_url": "https://avatars.githubusercontent.com/u/980297?v=4", + "profile": "http://shawnyeager.com", + "contributions": [ + "financial" + ] } ], "contributorsPerLine": 7, diff --git a/CHANGELOG.md b/CHANGELOG.md index cf431fa3..7433fcd3 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,9 @@ All Sniffnet releases with the relative changes are documented in this file. ## [UNRELEASED] - Identify and tag unassigned/reserved "bogon" IP addresses ([#678](https://github.com/GyulyVGC/sniffnet/pull/678) — fixes [#209](https://github.com/GyulyVGC/sniffnet/issues/209)) - Show data agglomerates in _Inspect_ page table ([#684](https://github.com/GyulyVGC/sniffnet/pull/684) — fixes [#601](https://github.com/GyulyVGC/sniffnet/issues/601)) +- Updated some of the existing translations to v1.3: + - Portuguese ([#690](https://github.com/GyulyVGC/sniffnet/pull/690)) + - Ukrainian ([#692](https://github.com/GyulyVGC/sniffnet/pull/692)) ## [1.3.2] - 2025-01-06 - Dropdown menus for network host filters ([#659](https://github.com/GyulyVGC/sniffnet/pull/659) — fixes [#354](https://github.com/GyulyVGC/sniffnet/issues/354)) diff --git a/CONTRIBUTORS.md b/CONTRIBUTORS.md index 52f7673d..bde16919 100644 --- a/CONTRIBUTORS.md +++ b/CONTRIBUTORS.md @@ -60,24 +60,27 @@ A big shout-out to all the contributors of Sniffnet ([emoji key](https://allcont Safaraliev Maxim
Safaraliev Maxim

🌍 + Shawn Yeager
Shawn Yeager

💵 The Artifex
The Artifex

🌍 📦 Trịnh Duy Hưng
Trịnh Duy Hưng

🌍 Victor Nilsson
Victor Nilsson

🌍 Wang Zishi
Wang Zishi

🌍 + Yevhen
Yevhen

🌍 ZEROF
ZEROF

💵 - clr
clr

📖 🌍 - ervinpopescu
ervinpopescu

🌍 + clr
clr

📖 🌍 + ervinpopescu
ervinpopescu

🌍 glitsj16
glitsj16

📦 + guilherme-demarchi
guilherme-demarchi

🌍 hirotake111
hirotake111

🌍 luca3s
luca3s

🌍 pia
pia

🌍 + + pin
pin

📦 starccy
starccy

💻 tiansheng li
tiansheng li

💵 - - vtiinanen
vtiinanen

🌍 yossarian
yossarian

🌍 陈寒彤
陈寒彤

🌍 diff --git a/Cargo.toml b/Cargo.toml index 827a5b07..d0d10031 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -53,7 +53,7 @@ rfd = "0.15.2" phf = "0.11.3" phf_shared = "0.11.3" splines = "4.4.2" -clap = { version = "4.5.27", features = ["derive"] } +clap = { version = "4.5.28", features = ["derive"] } [target.'cfg(windows)'.dependencies] gag = "1.0.0" diff --git a/resources/fonts/full/subset_characters.txt b/resources/fonts/full/subset_characters.txt index a8a6af04..f1651f7b 100644 --- a/resources/fonts/full/subset_characters.txt +++ b/resources/fonts/full/subset_characters.txt @@ -197,7 +197,6 @@ z ό ύ ώ -І А Б В diff --git a/resources/fonts/subset/sarasa-mono-sc-bold.subset.ttf b/resources/fonts/subset/sarasa-mono-sc-bold.subset.ttf index 9780b9df..0dab64e6 100644 Binary files a/resources/fonts/subset/sarasa-mono-sc-bold.subset.ttf and b/resources/fonts/subset/sarasa-mono-sc-bold.subset.ttf differ diff --git a/resources/fonts/subset/sarasa-mono-sc-regular.subset.ttf b/resources/fonts/subset/sarasa-mono-sc-regular.subset.ttf index fb81133d..2764dfde 100644 Binary files a/resources/fonts/subset/sarasa-mono-sc-regular.subset.ttf and b/resources/fonts/subset/sarasa-mono-sc-regular.subset.ttf differ diff --git a/src/translations/translations.rs b/src/translations/translations.rs index f173572d..763cd76b 100644 --- a/src/translations/translations.rs +++ b/src/translations/translations.rs @@ -13,7 +13,7 @@ pub fn choose_adapters_translation<'a>(language: Language) -> Text<'a, StyleType Language::ES => "Seleccione el adaptador de red que desea inspeccionar", Language::PL => "Wybierz adapter sieciowy do inspekcji", Language::DE => "Wähle einen Netzwerkadapter zum überwachen aus", - Language::UK => "Вибрати мережевий адаптер для інспекції", + Language::UK => "Виберіть мережевий адаптер для перевірки", Language::ZH => "选择需要监控的网络适配器", Language::RO => "Selectați adaptor de rețea pentru a inspecta", Language::KO => "검사할 네트워크 어댑터 선택", @@ -38,7 +38,7 @@ pub fn choose_adapters_translation<'a>(language: Language) -> Text<'a, StyleType // Language::ES => "Protocolo de aplicación", // Language::PL => "Protokół aplikacji", // Language::DE => "Anwendungs-Protokoll", -// Language::UK => "Протокол аплікації", +// Language::UK => "Протокол застосування", // Language::ZH => "目标应用层协议", // Language::RO => "Protocol aplicație", // Language::KO => "어플리케이션 프로토콜", @@ -62,7 +62,7 @@ pub fn select_filters_translation<'a>(language: Language) -> Text<'a, StyleType> 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::DE => "Wähle die Filter, die auf den Netzwerkverkehr angewendet werden sollen", - Language::UK => "Вибрати фільтри, які мають бути застосовані до мережевого трафіку", + Language::UK => "Виберіть фільтри, які мають бути застосовані до мережевого руху", Language::ZH => "选择需要监控的目标", Language::RO => "Selectați filtre pentru traficul de rețea", Language::KO => "네트워크 트레픽에 적용할 필터 선택", @@ -322,7 +322,7 @@ pub fn ask_quit_translation<'a>(language: Language) -> Text<'a, StyleType> { Language::ES => "¿Estás seguro de que quieres dejar este análisis?", Language::PL => "Jesteś pewien, że chcesz zakończyć analizę?", Language::DE => "Bist du sicher, dass du diese Analyse beenden willst?", - Language::UK => "Чи справді хочеш закінчити аналіз?", + Language::UK => "Чи справді хочете закінчити аналіз?", Language::ZH => "您确定退出当前监控吗?", Language::RO => "Sunteți sigur că doriți să renunțați la această analiză?", Language::KO => "정말로 분석을 종료하겠습니까?", @@ -372,7 +372,7 @@ pub fn ask_clear_all_translation<'a>(language: Language) -> Text<'a, StyleType> Language::ES => "¿Seguro que quieres borrar las notificaciones?", Language::PL => "Czy na pewno chcesz wyczyścić powiadomienia?", Language::DE => "Bist du sicher, dass du alle Benachrichtigungen löschen willst?", - Language::UK => "Чи справді хочеш видалити всі повідомлення?", + Language::UK => "Чи справді хочете видалити всі повідомлення?", Language::ZH => "确定清除所有通知?", Language::RO => "Sigur doriți să ștergeți notificările?", Language::KO => "알림을 삭제하시겠습니까?", @@ -447,7 +447,7 @@ pub fn network_adapter_translation(language: Language) -> &'static str { Language::ES => "Adaptador de red", Language::PL => "Adapter sieciowy", Language::DE => "Netzwerkadapter", - Language::UK => "Мережквий адаптер", + Language::UK => "Мережевий адаптер", Language::ZH => "网络适配器", Language::RO => "Adaptor de rețea", Language::KO => "네트워크 어뎁터", @@ -484,9 +484,9 @@ pub fn no_addresses_translation<'a>(language: Language, adapter: &str) -> Text<' Language::DE => format!("Es kann kein Netzwerkverkehr beobachtet werden, weil der Adapter keine aktiven Adressen hat...\n\n\ {network_adapter_translation}: {adapter}\n\n\ Wenn du dir sicher bist, dass du mit dem Internet verbunden bist, probier einen anderen Adapter auszuwählen."), - Language::UK => format!("Не зафіксовано жодного мережевого трафіку тому що вибраний адаптер немає активних адрес... \n\n\ + Language::UK => format!("Не зафіксовано жодного мережевого руху, тому що вибраний адаптер не має активних адрес... \n\n\ {network_adapter_translation}: {adapter}\n\n\ - Якщо Ти впевнений, що підключений до інтернету, спробуй вибрати інший адаптер."), + Якщо ви впевнені, що підключені до інтернету, спробуйте вибрати інший адаптер."), Language::ZH => format!("您选择的网络适配器当前无活动网络...\n\n\ {network_adapter_translation}: {adapter}\n\n\ 如果您确信您已成功连接互联网, 请尝试选择其他网络适配器."), @@ -550,9 +550,9 @@ pub fn waiting_translation<'a>(language: Language, adapter: &str) -> Text<'a, St Language::DE => format!("Noch kein Netzwerkverkehr beobachtet. Warten auf Pakete...\n\n\ {network_adapter_translation}: {adapter}\n\n\ Bist du sicher, dass du mit dem Internet verbunden bist und den richtigen Adapter ausgewählt hast?"), - Language::UK => format!("Не зафіксовано жодного мережевого трафіку. Очікування на пакети...\n\n\ + Language::UK => format!("Не зафіксовано жодного мережевого руху. Очікування пакетів...\n\n\ {network_adapter_translation}: {adapter}\n\n\ - Чи Ти дійсно підключений до інтернету і вибрав відповідний мережевий адаптер?"), + Чи ви дійсно підключені до інтернету і вибрали відповідний мережевий адаптер?"), Language::ZH => format!("暂无流量数据. 等待网络活动中......\n\n\ {network_adapter_translation}: {adapter}\n\n\ 您确信您已成功连接到互联网, 并选择了当前正在使用的的网络适配器吗?"), @@ -617,7 +617,7 @@ pub fn some_observed_translation<'a>(language: Language, observed: u128) -> Text Gefilterte Pakete: 0\n\n\ Ein Paar Pakete wurden empfangen, aber es entsprechen noch keine den gewählten Filtern..."), Language::UK => format!("Сума перехоплених пакетів: {observed}\n\n\ - Відфільтровані пакеті: 0\n\n\ + Відфільтровані пакети: 0\n\n\ Деякі пакети були перехоплені, але жоден з них не був вибраний відповідно до вказаних фільтрів..."), Language::ZH => format!("监测到的数据包总数: {observed}\n\n\ 目标数据包总数: 0\n\n\ @@ -758,7 +758,7 @@ pub fn of_total_translation(language: Language, percentage: &str) -> String { // Language::ES => "Paquetes filtrados por protocolo de aplicación:", // Language::PL => "Przefiltrowane pakiety według protokołu aplikacji:", // Language::DE => "Gefilterte Pakete je Anwendungs-Protokoll:", -// Language::UK => "Відфільтровані пакети протоколу аплікації/програми:", +// Language::UK => "Кількість відфільтрованих пакетів на протокол програми:", // Language::ZH => "按应用层协议分类的目标数据包计数:", // Language::RO => "Pachete filtrate pe protocol de aplicație:", // Language::KO => "애플리케이션 프로토콜당 필터링된 패킷 수:", @@ -787,7 +787,7 @@ pub fn of_total_translation(language: Language, percentage: &str) -> String { // Language::DE => "Im Moment nichts zu zeigen.\n\ // Um eine Verbindung zu deinen Favoriten hinzuzufügen, klick das auf das Stern-Symbol neben der Verbindung.", // Language::UK => "Немає, що показати в цей момент.\n\ -// Щоб додати підключення до улюблених, натисни на іконку 'зірочки' біля підключення.", +// Щоб додати підключення до улюблених, натисніть на іконку 'зірочки' біля підключення.", // Language::ZH => "收藏夹还是空的.\n\ // 小贴士: 点击连接右侧的小星星即可收藏到这里哦.", // Language::RO => "Nimic de arătat în acest moment.\n\ @@ -838,7 +838,7 @@ pub fn error_translation(language: Language, error: &str) -> Text { {error}" ), Language::UK => format!( - "Виступила помилка! \n\n\ + "Зʼявилась помилка! \n\n\ {error}" ), Language::ZH => format!( @@ -931,6 +931,7 @@ pub fn error_translation(language: Language, error: &str) -> Text { // Language::FA => "همهٔ پیوندنامه ها", // Language::SE => "Alla protokoll", // Language::UZ => "Barcha protokollar" +// Language::UK => "Усі протоколи" // } // } @@ -1152,7 +1153,7 @@ pub fn notifications_title_translation<'a>(language: Language) -> Text<'a, Style Language::ES => "Personaliza tus notificaciones", Language::PL => "Dostosuj powiadomienia", Language::DE => "Stell deine Benachrichtigungen ein", - Language::UK => "Достосуй повідомлення", + Language::UK => "Налаштування повідомлень", Language::ZH => "自定义通知", Language::RO => "Personalizați-vă notificările", Language::KO => "사용자 지정 알림", @@ -1177,7 +1178,7 @@ pub fn appearance_title_translation<'a>(language: Language) -> Text<'a, StyleTyp Language::ES => "Elige tu tema favorito", Language::PL => "Wybierz swój ulubiony motyw", Language::DE => "Wähl dein Lieblingsdesign", - Language::UK => "Вибери улюблену тему", + Language::UK => "Виберіть улюблену тему", Language::ZH => "选择您喜欢的主题", Language::RO => "Selectați tema preferată", Language::KO => "태마를 선택하세요", @@ -1252,7 +1253,7 @@ pub fn yeti_night_translation(language: Language) -> &'static str { Language::ES => "Tema oscuro original de Sniffnet", Language::PL => "Oryginalny, ciemny motyw Sniffnet", Language::DE => "Sniffnets urspüngliches, dunkles Design", - Language::UK => "Оригінальний, темний мотив Sniffnet", + Language::UK => "Оригінальний, темний стиль Sniffnet-у", Language::ZH => "Sniffnet暗黑", Language::RO => "Tema întunecată originală Sniffnet", Language::KO => "Sniffnet의 기본 다크테마", @@ -1277,7 +1278,7 @@ pub fn yeti_day_translation(language: Language) -> &'static str { Language::ES | Language::PT => "Tema claro original de Sniffnet", Language::PL => "Oryginalny, jasny motyw Sniffnet", Language::DE => "Sniffnets urspüngliches, helles Design", - Language::UK => "Оригінальний, світлий мотив Sniffnet", + Language::UK => "Оригінальний, світлий стиль Sniffnet-у", Language::ZH => "Sniffnet浅色", Language::RO => "Tema deschisă originală Sniffnet", Language::KO => "Sniffnet의 기본 라이트테마", @@ -1494,7 +1495,7 @@ pub fn packets_threshold_translation(language: Language) -> &'static str { Language::ES => "Notificarme cuando se supere un límite de paquetes", Language::PL => "Powiadom mnie, gdy zostanie przekroczony próg pakietów", Language::DE => "Benachrichtige mich, wenn die Pakete eine Schwelle überschreiten", - Language::UK => "Повідом мене про переліміт пакетів", + Language::UK => "Повідом мене про перевищення ліміту пакетів", Language::ZH => "超过设定的数据包数量阈值时通知我", Language::RO => "Anunță-mă când este depășit un prag de pachete", Language::KO => "패킷 임계값을 초과하면 알림", @@ -1519,7 +1520,7 @@ pub fn bytes_threshold_translation(language: Language) -> &'static str { Language::ES => "Notificarme cuando se exceda un límite de bytes", Language::PL => "Powiadom mnie, gdy zostanie przekroczony próg bajtów", Language::DE => "Benachrichtige mich, wenn die Bytes eine Schwelle überschreiten", - Language::UK => "Повідом мене про переліміт байтів", + Language::UK => "Повідом мене про перевищення ліміту байтів", Language::ZH => "超过设定的网络流量阈值时通知我", Language::RO => "Anunță-mă când este depășit un prag de octeți", Language::KO => "바이트 임계값을 초과하면 알림", @@ -1567,7 +1568,7 @@ pub fn specify_multiples_translation(language: Language) -> &'static str { Language::ES => "también puede especificar 'K', 'M' y 'G'", Language::PL => "możesz również określić 'K', 'M' i 'G'", Language::DE => "du kannst auch 'K', 'M' und 'G' verwenden", - Language::UK => "можеш також вибрати 'K', 'M' i 'G'", + Language::UK => "можете також вибрати 'K', 'M' i 'G'", Language::ZH => "您可指定 'K', 'M', 'G'", Language::RO => "puteți specifica 'K', 'M', 'G'", Language::KO => "지정 가능합니다 'K', 'M', 'G'", @@ -1850,8 +1851,8 @@ pub fn no_notifications_set_translation<'a>(language: Language) -> Text<'a, Styl Nachdem du sie aktiviert hast, wird diese Seite eine Liste deiner Benachrichtigungen anzeigen\n\n\ Du kannst die Benachrichtigungen in den Einstellungen aktivieren:", Language::UK => "Повідомлення не активовані!\n\n\ - Після їх активації, на цій сторінці побачиш список своїх повідомлень\n\n\ - Можеш вимкнути повідомлення в налаштуваннях:", + Після їх активації на цій сторінці побачите список своїх повідомлень\n\n\ + Можете вимкнути повідомлення в налаштуваннях:", Language::ZH => "您还没有设定任何通知!\n\n\ 启用它们后,此页面将显示您的通知日志\n\n\ 您可以从设置中设定:", @@ -1921,8 +1922,8 @@ pub fn no_notifications_received_translation<'a>(language: Language) -> Text<'a, Wenn du eine Benachrichtigung erhälst, wird sie hier angezeigt" } Language::UK => { - "Немає що показати в даний момент...\n\n\ - Коли отримаєш повідомлення, побачиш його тут" + "Немає що показати у цей момент...\n\n\ + Коли отримаєте повідомлення, побачите його тут" } Language::ZH => { "还没有任何通知...\n\n\ @@ -1987,7 +1988,7 @@ pub fn only_last_30_translation(language: Language) -> &'static str { Language::ES => "Sólo se muestran las últimas 30 notificaciones", Language::PL => "Wyświetlane jest tylko 30 ostatnich powiadomień", Language::DE => "Nur die letzten 30 Benachrichtigungen werden angezeigt", - Language::UK => "Можеш побачити лише 30 останніх повідомлень", + Language::UK => "Можете побачити лише 30 останніх повідомлень", Language::ZH => "仅显示最近 30 条通知", Language::RO => "Sunt afișate doar ultimele 30 de notificări", Language::KO => "최근 30개의 알림만 표시됩니다", diff --git a/src/translations/translations_2.rs b/src/translations/translations_2.rs index 535b017d..0e2a2b98 100644 --- a/src/translations/translations_2.rs +++ b/src/translations/translations_2.rs @@ -42,7 +42,7 @@ pub fn inspect_translation(language: Language) -> &'static str { // Language::FA => "بازرسی", Language::KO => "검사", Language::ZH => "检查", - Language::UK => "Інспектувати", + Language::UK => "Перевірити", Language::RO => "Inspectați", Language::JA => "検査", Language::UZ => "Tekshirish", @@ -115,7 +115,7 @@ pub fn data_representation_translation(language: Language) -> &'static str { Language::ES => "Representación de los datos", Language::KO => "데이터 단위", Language::ZH => "图表数据", - Language::UK => "Представлення даних", + Language::UK => "Відображення даних", Language::RO => "Reprezentarea datelor", Language::PL => "Reprezentacja danych", Language::FR => "Représentation de données", @@ -165,7 +165,7 @@ pub fn only_top_30_items_translation(language: Language) -> &'static str { Language::ES => "Aquí sólo se muestran los 30 primeros elementos", Language::KO => "상위 30개의 아이템만 노출됩니다", Language::ZH => "仅展示前 30 个项目", - Language::UK => "Лише верхні 30 елементи відображаються тут", + Language::UK => "Тут відображаються лише перші 30 елементів", Language::RO => "Doar primele 30 de articole sunt afișate aici", Language::PL => "Tylko 30 pierwszych rzeczy jest wyświetlanych", Language::FR => "Seuls les 30 premiers articles sont affichés ici", @@ -238,7 +238,7 @@ pub fn unknown_translation(language: Language) -> &'static str { Language::ES => "Ubicación desconocida", Language::KO => "알 수 없는 위치", Language::ZH => "未知", - Language::UK => "Невідома локація", + Language::UK => "Невідоме місцезнаходження", Language::RO => "Locație necunoscută", Language::PL => "Nieznana lokalizacja", Language::FR => "Localisation inconnue", @@ -509,7 +509,7 @@ pub fn only_show_favorites_translation(language: Language) -> &'static str { Language::ES => "Mostrar solo los favoritos", Language::KO => "즐겨찾기만 보기", Language::ZH => "仅显示收藏", - Language::UK => "Показувати лише обрані", + Language::UK => "Показувати лише улюблені", Language::RO => "Arată doar favorite", Language::PL => "Pokaż tylko ulubione", Language::FR => "Afficher uniquement les favoris", diff --git a/src/translations/translations_3.rs b/src/translations/translations_3.rs index 7e200569..e3a03138 100644 --- a/src/translations/translations_3.rs +++ b/src/translations/translations_3.rs @@ -23,6 +23,8 @@ pub fn general_translation(language: Language) -> &'static str { Language::ZH => "通用", Language::KO => "일반", Language::TR => "Genel", + Language::PT => "Geral", + Language::UK => "Загальні", _ => "General", } } @@ -35,6 +37,7 @@ pub fn zoom_translation(language: Language) -> &'static str { | Language::FR | Language::DE | Language::RO + | Language::PT | Language::SV => "Zoom", // Language::FA => "بزرگنمایی", Language::PL => "Powiększenie", @@ -45,6 +48,7 @@ pub fn zoom_translation(language: Language) -> &'static str { Language::ZH => "缩放", Language::KO => "확대", Language::TR => "Yakınlaştırma", + Language::UK => "Масштабування", _ => "Zoom", } } @@ -67,6 +71,8 @@ pub fn mmdb_files_translation(language: Language) -> &'static str { Language::ZH => "数据库文件", Language::KO => "데이터베이스 파일", Language::TR => "Veri tabanı dosyaları", + Language::PT => "Arquivos da base de dados", + Language::UK => "Файли бази даних", _ => "Database files", } } @@ -89,6 +95,8 @@ pub fn params_not_editable_translation(language: Language) -> &'static str { Language::ZH => "以下参数在分析过程中不能修改", Language::KO => "분석 중 다음의 매개변수들은 수정할 수 없습니다", Language::TR => "Analiz sırasında bu parametrelere müdahale edilemez", + Language::PT => "Os seguintes parâmetros não podem ser modificados durante a análise", + Language::UK => "Наступні параметри не можна змінювати під час аналізу трафіку", _ => "The following parameters can't be modified during the analysis", } } @@ -97,7 +105,7 @@ pub fn custom_style_translation(language: Language) -> &'static str { match language { Language::EN => "Custom style", // Language::FA => "شیوه سفارشی", - Language::ES => "Estilo personalizado", + Language::ES | Language::PT => "Estilo personalizado", Language::IT => "Stile personalizzato", Language::FR => "Style personnalisé", Language::DE => "Benutzerdefinierter Stil", @@ -111,6 +119,7 @@ pub fn custom_style_translation(language: Language) -> &'static str { Language::ZH => "自定义样式", Language::KO => "사용자 지정 스타일", Language::TR => "Kişisel görünüm", + Language::UK => "Власний стиль", _ => "Custom style", } } @@ -131,6 +140,8 @@ pub fn copy_translation(language: Language) -> &'static str { Language::ZH => "复制", Language::KO => "복사", Language::TR => "Kopyala", + Language::PT => "Copiar", + Language::UK => "Копіювати", _ => "Copy", } } @@ -147,12 +158,13 @@ pub fn port_translation(language: Language) -> &'static str { | Language::TR => "Port", // Language::FA => "درگاه", Language::ES => "Puerto", - Language::IT => "Porta", + Language::IT | Language::PT => "Porta", Language::RU => "Порт", Language::JA => "ポート", Language::VI => "Cổng", Language::ZH => "端口", Language::KO => "포트", + Language::UK => "Порт", _ => "Port", } } @@ -161,7 +173,7 @@ pub fn invalid_filters_translation(language: Language) -> &'static str { match language { Language::EN => "Invalid filters", // Language::FA => "صافی نامعتبر", - Language::ES => "Filtros inválidos", + Language::ES | Language::PT => "Filtros inválidos", Language::IT => "Filtri non validi", Language::FR => "Filtres invalides", Language::DE => "Ungültige Filter", @@ -175,6 +187,7 @@ pub fn invalid_filters_translation(language: Language) -> &'static str { Language::ZH => "无效的过滤器", Language::KO => "잘못된 필터", Language::TR => "Geçersiz filtreler", + Language::UK => "Неправильний формат фільтрів", _ => "Invalid filters", } } @@ -196,6 +209,8 @@ pub fn messages_translation(language: Language) -> &'static str { Language::ZH => "信息", Language::KO => "메시지", Language::TR => "Mesajlar", + Language::PT => "Mensagens", + Language::UK => "Повідомлення", _ => "Messages", } } @@ -218,6 +233,8 @@ pub fn link_type_translation(language: Language) -> &'static str { Language::ZH => "链接类型", Language::KO => "링크 유형", Language::TR => "Link türü", + Language::PT => "Tipo de conexão", + Language::UK => "Різновид зʼєднання", _ => "Link type", } } @@ -243,6 +260,8 @@ pub fn unsupported_link_type_translation<'a>( Language::ZH => "Sniffnet 尚不支持与此适配器关联的链接类型...", Language::KO => "이 어댑터와 연결된 링크 유형은 Sniffnet에서 아직 지원되지 않습니다...", Language::TR => "Bu adaptör ile ilişkilendirilmiş link türü henüz Sniffnet tarafından desteklenmiyor...", + Language::PT => "O tipo de conexão associado com este adaptador não é suportado pelo Sniffnet ainda...", + Language::UK => "Різновид зʼєднання, повʼязаний з даним адаптером, ще не підтримується Sniffnet-ом...", _ => "The link type associated with this adapter is not supported by Sniffnet yet...", }; @@ -270,6 +289,8 @@ pub fn style_from_file_translation(language: Language) -> &'static str { Language::ZH => "从文件中选择样式", Language::KO => "파일에서 스타일을 선택하세요", Language::TR => "Dosyadan bir görünüm seç", + Language::PT => "Selecionar estilo a partir de um arquivo", + Language::UK => "Виберіть стиль з файлу", _ => "Select style from a file", } } @@ -292,6 +313,8 @@ pub fn database_from_file_translation(language: Language) -> &'static str { Language::ZH => "选择数据库文件", Language::KO => "데이터베이스 파일 선택", Language::TR => "Veri tabanı dosyası seç", + Language::PT => "Selecione um arquivo de base de dados", + Language::UK => "Виберіть файл бази даних", _ => "Select database file", } } @@ -314,6 +337,8 @@ pub fn filter_by_host_translation(language: Language) -> &'static str { Language::ZH => "按网络主机筛选", Language::KO => "네트워크 호스트로 필터링", Language::TR => "Ağ sunucusuna göre filtrele", + Language::PT => "Filtrar por host de rede", + Language::UK => "Фільтр за хостом мережі", _ => "Filter by network host", } } @@ -333,6 +358,8 @@ pub fn service_translation(language: Language) -> &'static str { Language::ZH => "服务", Language::KO => "서비스", Language::TR => "Servis", + Language::PT => "Serviço", + Language::UK => "Сервіс", _ => "Service", } } @@ -354,6 +381,8 @@ pub fn export_capture_translation(language: Language) -> &'static str { Language::ZH => "导出捕获文件", Language::KO => "캡처 파일 내보내기", Language::TR => "Yakalanan dosyayı dışa aktar", + Language::PT => "Exportar arquivo capturado", + Language::UK => "Експорт файлу захоплення", _ => "Export capture file", } } @@ -374,6 +403,8 @@ pub fn directory_translation(language: Language) -> &'static str { Language::ZH => "目录", Language::KO => "디렉토리", Language::TR => "Klasör", + Language::PT => "Diretório", + Language::UK => "Тека", _ => "Directory", } } @@ -395,6 +426,8 @@ pub fn select_directory_translation(language: Language) -> &'static str { Language::ZH => "选择目标目录", Language::KO => "대상 디렉토리 선택", Language::TR => "Hedef klasörü seç", + Language::PT => "Selecionar diretório de destino", + Language::UK => "Виберіть теку призначення", _ => "Select destination directory", } } @@ -416,6 +449,8 @@ pub fn file_name_translation(language: Language) -> &'static str { Language::ZH => "文件名", Language::KO => "파일 이름", Language::TR => "Dosya adı", + Language::PT => "Nome do arquivo", + Language::UK => "Назва файлу", _ => "File name", } } @@ -437,6 +472,8 @@ pub fn thumbnail_mode_translation(language: Language) -> &'static str { Language::ZH => "缩略图模式", Language::KO => "썸네일 모드", Language::TR => "Küçük resim modu", + Language::PT => "Modo miniatura", + Language::UK => "Режим мініатюри", _ => "Thumbnail mode", } } @@ -458,6 +495,8 @@ pub fn learn_more_translation(language: Language) -> &'static str { Language::ZH => "想知道更多吗?", Language::KO => "더 자세히 알고 싶으십니까?", Language::TR => "Daha fazlasını öğrenmek ister misin?", + Language::PT => "Quer aprender mais?", + Language::UK => "Бажаєте дізнатись більше?", _ => "Do you want to learn more?", } } diff --git a/src/translations/translations_4.rs b/src/translations/translations_4.rs index 8a1e7ac4..88ce5d98 100644 --- a/src/translations/translations_4.rs +++ b/src/translations/translations_4.rs @@ -6,6 +6,8 @@ pub fn reserved_address_translation(language: Language, info: &str) -> String { match language { Language::EN => format!("Reserved address ({info})"), Language::IT => format!("Indirizzo riservato ({info})"), + Language::PT => format!("Endereço reservado ({info})"), + Language::UK => format!("Зарезервована адреса ({info})"), _ => format!("Reserved address ({info})"), } } diff --git a/src/translations/types/language.rs b/src/translations/types/language.rs index 5b3746b1..619a5b1d 100644 --- a/src/translations/types/language.rs +++ b/src/translations/types/language.rs @@ -126,6 +126,8 @@ impl Language { | Language::ZH | Language::KO | Language::TR + | Language::PT + | Language::UK ) } }