From 37acde978299ab7b59b208f0796e83893b0e64df Mon Sep 17 00:00:00 2001 From: tinngo777 Date: Sat, 4 Oct 2025 05:00:33 -0500 Subject: [PATCH 1/2] Add Vietnamese translation for ver 1.4 --- src/translations/translations_4.rs | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/src/translations/translations_4.rs b/src/translations/translations_4.rs index 3dd23355..73264c3a 100644 --- a/src/translations/translations_4.rs +++ b/src/translations/translations_4.rs @@ -23,6 +23,7 @@ pub fn reserved_address_translation(language: Language, info: &str) -> String { Language::UZ => format!("Rezervlangan manzil ({info})"), Language::ID => format!("Alamat disimpan ({info})"), Language::EL => format!("Δεσμευμένη διεύθυνση ({info})"), + Language::VI => format!("Địa chỉ dự trữ ({info})"), _ => format!("Reserved address ({info})"), } } @@ -43,6 +44,7 @@ pub fn share_feedback_translation(language: Language) -> &'static str { Language::UZ => "Fikr-mulohazalaringizni ulashing", Language::ID => "Berikan masukanmu", Language::EL => "Μοιραστείτε τα σχόλιά σας", + Language::VI => "Chia sẻ phản hồi của bạn", _ => "Share your feedback", } } @@ -64,6 +66,7 @@ pub fn share_feedback_translation(language: Language) -> &'static str { // Language::RO => "Excluși", // Language::ID => "Kecuali", // Language::ES => "Excluidos", +// Language::VI => "Loại trừ", // _ => "Excluded", // } // } @@ -84,6 +87,7 @@ pub fn capture_file_translation(language: Language) -> &'static str { Language::ZH_TW => "擷取文件", Language::ID => "File tangkapan", Language::ES => "Archivo de captura", + Language::VI => "Bắt tệp tin", _ => "Capture file", } } @@ -104,6 +108,7 @@ pub fn select_capture_translation(language: Language) -> &'static str { Language::ID => "Pilih file tangkapan", Language::ZH_TW => "選擇擷取文件", Language::EL => "Επιλογή αρχείου καταγραφής", + Language::VI => "Chọn tệp tin được bắt", _ => "Select capture file", } } @@ -181,6 +186,11 @@ pub fn reading_from_pcap_translation<'a>(language: Language, file: &str) -> Text {file_name_translation}: {file}\n\n\ Είστε βέβαιοι ότι το επιλεγμένο αρχείο δεν είναι κενό;" ), + Language::VI => format!( + "Đang đọc gói tin từ tệp...\n\n\ + {file_name_translation}: {file}\n\n\ + Bạn có chắc tệp tin đã chọn không bị trống?" + ), _ => format!( "Reading packets from file...\n\n\ {file_name_translation}: {file}\n\n\ @@ -204,6 +214,7 @@ pub fn data_exceeded_translation(language: Language) -> &'static str { Language::UZ => "Ma'lumotlar chegarasidan oshib ketdi", Language::ID => "Ambang batas data terlampaui", Language::EL => "Υπέρβαση ορίου δεδομένων", + Language::VI => "Đã vượt ngưỡng dữ liệu", _ => "Data threshold exceeded", } } @@ -224,6 +235,7 @@ pub fn bits_exceeded_translation(language: Language) -> &'static str { Language::ID => "Ambang batas bit terlampaui", Language::ZH_TW => "超出數據界限", Language::EL => "Υπέρβαση ορίου δυφίων", + Language::VI => "Đã vượt ngưỡng bit", _ => "Bits threshold exceeded", } } @@ -244,6 +256,7 @@ pub fn bits_translation(language: Language) -> &'static str { Language::EL => "Δυφία", Language::RO => "biți", Language::ZH_TW => "位元", + Language::VI => "bit", _ => "bits", } } @@ -262,6 +275,7 @@ pub fn pause_translation(language: Language) -> &'static str { Language::ID => "Dijeda", Language::ZH_TW => "暫停", Language::EL => "Παύση", + Language::VI => "Tạm dừng", _ => "Pause", } } @@ -283,6 +297,7 @@ pub fn resume_translation(language: Language) -> &'static str { Language::ID => "Dilanjut", Language::ZH_TW => "繼續", Language::EL => "Συνέχεια", + Language::VI => "Tiếp tục", _ => "Resume", } } From c10b368d77e69fa19cd0bdc1e42fb5999d87c2e8 Mon Sep 17 00:00:00 2001 From: GyulyVGC Date: Mon, 13 Oct 2025 22:05:51 +0200 Subject: [PATCH 2/2] added VI to up-to-date list and update CHANGELOG --- CHANGELOG.md | 4 +++- resources/fonts/full/subset_characters.txt | 1 + .../subset/sarasa-mono-sc-bold.subset.ttf | Bin 243820 -> 243872 bytes .../subset/sarasa-mono-sc-regular.subset.ttf | Bin 246720 -> 246772 bytes src/translations/types/language.rs | 3 ++- 5 files changed, 6 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 2c07ae62..ff33d5fb 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,7 +5,9 @@ # Changelog ## [UNRELEASED] - Added Czech translation 🇨🇿 ([#960](https://github.com/GyulyVGC/sniffnet/pull/960)) - Improve update checks using `semver` ([#891](https://github.com/GyulyVGC/sniffnet/pull/891)) -- Updated Spanish translation to v1.4 ([#955](https://github.com/GyulyVGC/sniffnet/pull/955)) +- Updated some of the existing translations to v1.4: + - Spanish ([#955](https://github.com/GyulyVGC/sniffnet/pull/955)) + - Vietnamese ([#982](https://github.com/GyulyVGC/sniffnet/pull/982)) - Fix AppImage error with `libpcap` dependency ([#971](https://github.com/GyulyVGC/sniffnet/pull/971)) - Fix Sniffnet wrapper script on macOS to use a relative path to the executable ([#948](https://github.com/GyulyVGC/sniffnet/pull/948) — fixes [#898](https://github.com/GyulyVGC/sniffnet/issues/898)) diff --git a/resources/fonts/full/subset_characters.txt b/resources/fonts/full/subset_characters.txt index 3f6fbb2c..a16e1ce0 100644 --- a/resources/fonts/full/subset_characters.txt +++ b/resources/fonts/full/subset_characters.txt @@ -348,6 +348,7 @@ z ừ ử ữ +ự … → ─ diff --git a/resources/fonts/subset/sarasa-mono-sc-bold.subset.ttf b/resources/fonts/subset/sarasa-mono-sc-bold.subset.ttf index 9fab5e40d228d8ec958a5bce03d806a2c31dc709..3252417b0216d7375b45ba857bce5c40be191aa8 100644 GIT binary patch delta 11544 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 UEZ;$BR@%iR>1Su|uv1q3FUR$3sQ>@~ delta 11573 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 diff --git a/resources/fonts/subset/sarasa-mono-sc-regular.subset.ttf b/resources/fonts/subset/sarasa-mono-sc-regular.subset.ttf index 5794448e1a23383687353553006df19f6a260684..e561358efc4dc9beb31418f4b20c4f60b8938f2c 100644 GIT binary patch delta 11610 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 v{y<-?h(hN*TRd bool { | Language::ZH_TW | Language::ID | Language::ES - | Language::CS, + | Language::CS + | Language::VI ) } }