diff --git a/crates/edit/build/i18n.rs b/crates/edit/build/i18n.rs index faa0e2f6ff5..4f5b3821a3f 100644 --- a/crates/edit/build/i18n.rs +++ b/crates/edit/build/i18n.rs @@ -63,10 +63,8 @@ pub fn generate(definitions: &str) -> String { } for c in unsafe { lang.as_bytes_mut() } { *c = match *c { - b'A'..=b'Z' | b'a'..=b'z' => c.to_ascii_lowercase(), - b'-' => b'_', - b'_' => b'_', - _ => panic!("i18n: language tag \"{lang}\" must be [a-zA-Z_-]"), + b'A'..=b'Z' | b'a'..=b'z' | b'-' => c.to_ascii_lowercase(), + _ => panic!("i18n: language tag \"{lang}\" must be [a-zA-Z-]"), } } } @@ -111,15 +109,15 @@ pub fn generate(definitions: &str) -> String { // Sort languages by: // - "en" first, because it'll map to `LangId::en == 0`, which is the default. // - then alphabetically - // - but tags with subtags (e.g. "zh_hans") before those without (e.g. "zh"). + // - but tags with subtags (e.g. "zh-hans") before those without (e.g. "zh"). { fn sort(a: &String, b: &String) -> std::cmp::Ordering { match (a == "en", b == "en") { (true, false) => std::cmp::Ordering::Less, (false, true) => std::cmp::Ordering::Greater, _ => { - let (a0, a1) = a.split_once('_').unwrap_or((a, "xxxxxx")); - let (b0, b1) = b.split_once('_').unwrap_or((b, "xxxxxx")); + let (a0, a1) = a.split_once('-').unwrap_or((a, "xxxxxx")); + let (b0, b1) = b.split_once('-').unwrap_or((b, "xxxxxx")); match a0.cmp(b0) { std::cmp::Ordering::Equal => a1.cmp(b1), ord => ord, @@ -160,7 +158,7 @@ pub enum LangId {{ ); for lang in &languages { - _ = writeln!(out, " {lang},"); + _ = writeln!(out, " {},", HyphenToUnderscore(lang)); } _ = write!( @@ -173,7 +171,7 @@ const LANGUAGES: &[(&str, LangId)] = &[ ); for (alias, lang) in &languages_with_aliases { - _ = writeln!(out, " ({alias:?}, LangId::{lang}),"); + _ = writeln!(out, " ({alias:?}, LangId::{}),", HyphenToUnderscore(lang)); } _ = write!( @@ -202,3 +200,11 @@ const TRANSLATIONS: [[&str; {}]; {}] = [ out } + +struct HyphenToUnderscore<'a>(&'a str); + +impl<'a> std::fmt::Display for HyphenToUnderscore<'a> { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + self.0.chars().map(|c| if c == '-' { '_' } else { c }).try_for_each(|c| f.write_char(c)) + } +} diff --git a/crates/edit/src/sys/unix.rs b/crates/edit/src/sys/unix.rs index 34683ac3fc9..1d51fa6f3d0 100644 --- a/crates/edit/src/sys/unix.rs +++ b/crates/edit/src/sys/unix.rs @@ -511,26 +511,22 @@ where } } -pub fn preferred_languages(arena: &Arena) -> BVec<'_, BString<'_>> { +pub fn preferred_languages(arena: &Arena) -> BVec<'_, &'_ str> { let mut locales = BVec::empty(); for key in ["LANGUAGE", "LC_ALL", "LANG"] { if let Ok(val) = std::env::var(key) && !val.is_empty() { - locales.extend_sloppy( - arena, - val.split(':').filter(|s| !s.is_empty()).map(|s| { - // Replace all underscores with dashes, - // because the localization code expects pt-br, not pt_BR. - let mut res = BVec::empty(); - res.extend( - arena, - s.as_bytes().iter().map(|&b| if b == b'_' { b'-' } else { b }), - ); - unsafe { BString::from_utf8_unchecked(res) } - }), - ); + let val = BString::from_str(arena, &val).leak(); + + for c in unsafe { val.as_bytes_mut() } { + if *c == b'_' { + *c = b'-'; + } + } + + locales.extend_sloppy(arena, val.split(':').filter(|s| !s.is_empty())); break; } } diff --git a/i18n/edit.toml b/i18n/edit.toml index faf58ce0ddc..79d6b4e0b89 100644 --- a/i18n/edit.toml +++ b/i18n/edit.toml @@ -7,14 +7,14 @@ __default__ = [ "it", "ja", "ko", - "pt_br", + "pt-br", "ru", - "zh_hans", - "zh_hant", + "zh-hans", + "zh-hant", ] [__alias__] -zh = "zh_hans" +zh = "zh-hans" # The keyboard key [Ctrl] @@ -55,8 +55,8 @@ it = "OK" ja = "OK" ko = "확인" nl = "OK" -pt_br = "OK" -pt_pt = "OK" +pt-br = "OK" +pt-pt = "OK" ro = "OK" ru = "ОК" sr = "U redu" @@ -64,8 +64,8 @@ sv = "OK" tk = "Bolýar" tr = "Tamam" vi = "OK" -zh_hans = "确定" -zh_hant = "確定" +zh-hans = "确定" +zh-hant = "確定" # Used as a common dialog button [Yes] @@ -89,8 +89,8 @@ ja = "はい" ko = "예" nl = "Ja" pl = "Tak" -pt_br = "Sim" -pt_pt = "Sim" +pt-br = "Sim" +pt-pt = "Sim" ro = "Da" ru = "Да" sr = "Da" @@ -99,8 +99,8 @@ tk = "Hawa" tr = "Evet" uk = "Так" vi = "Có" -zh_hans = "是" -zh_hant = "是" +zh-hans = "是" +zh-hant = "是" # Used as a common dialog button [No] @@ -124,8 +124,8 @@ ja = "いいえ" ko = "아니요" nl = "Nee" pl = "Nie" -pt_br = "Não" -pt_pt = "Não" +pt-br = "Não" +pt-pt = "Não" ro = "Nu" ru = "Нет" sr = "Ne" @@ -134,8 +134,8 @@ tk = "Ýok" tr = "Hayır" uk = "Ні" vi = "Không" -zh_hans = "否" -zh_hant = "否" +zh-hans = "否" +zh-hant = "否" # Used as a common dialog button [Cancel] @@ -159,8 +159,8 @@ ja = "キャンセル" ko = "취소" nl = "Annuleer" pl = "Anuluj" -pt_br = "Cancelar" -pt_pt = "Cancelar" +pt-br = "Cancelar" +pt-pt = "Cancelar" ro = "Anulare" ru = "Отмена" sr = "Otkaži" @@ -169,8 +169,8 @@ tk = "Ýatyr" tr = "İptal" uk = "Скасувати" vi = "Hủy" -zh_hans = "取消" -zh_hant = "取消" +zh-hans = "取消" +zh-hant = "取消" # Used as a common dialog button [Always] @@ -194,8 +194,8 @@ ja = "常に" ko = "항상" nl = "Altijd" pl = "Zawsze" -pt_br = "Sempre" -pt_pt = "Sempre" +pt-br = "Sempre" +pt-pt = "Sempre" ro = "Întotdeauna" ru = "Всегда" sr = "Uvek" @@ -203,8 +203,8 @@ sv = "Alltid" tr = "Her Zaman" uk = "Завжди" vi = "Luôn" -zh_hans = "总是" -zh_hant = "總是" +zh-hans = "总是" +zh-hant = "總是" # A generic settings load failue, e.g. "Invalid Settings: files.associations" [SettingsInvalid] @@ -215,11 +215,11 @@ fr = "Paramètres non valides : " it = "Impostazioni non valide: " ja = "無効な設定: " ko = "잘못된 설정: " -pt_br = "Configurações inválidas: " +pt-br = "Configurações inválidas: " ru = "Недопустимые параметры: " tr = "Geçersiz ayarlar: " -zh_hans = "无效设置: " -zh_hant = "無效設定: " +zh-hans = "无效设置: " +zh-hant = "無效設定: " # A menu bar item [File] @@ -242,8 +242,8 @@ ja = "ファイル" ko = "파일" nl = "Bestand" pl = "Plik" -pt_br = "Arquivo" -pt_pt = "Ficheiro" +pt-br = "Arquivo" +pt-pt = "Ficheiro" ro = "Fișier" ru = "Файл" sr = "Fajl" @@ -252,8 +252,8 @@ tk = "Faýl" tr = "Dosya" uk = "Файл" vi = "Tệp" -zh_hans = "文件" -zh_hant = "檔案" +zh-hans = "文件" +zh-hant = "檔案" [FileNew] en = "New File" @@ -276,8 +276,8 @@ ja = "新規ファイル" ko = "새 파일" nl = "Nieuw Bestand" pl = "Nowy plik" -pt_br = "Novo Arquivo" -pt_pt = "Novo ficheiro" +pt-br = "Novo Arquivo" +pt-pt = "Novo ficheiro" ro = "Fișier nou" ru = "Новый файл" sr = "Novi fajl…" @@ -286,8 +286,8 @@ tk = "Täze faýl…" tr = "Yeni Dosya" uk = "Новий файл" vi = "Tệp mới" -zh_hans = "新建文件" -zh_hant = "開新檔案" +zh-hans = "新建文件" +zh-hant = "開新檔案" [FileOpen] en = "Open File…" @@ -310,8 +310,8 @@ ja = "ファイルを開く…" ko = "파일 열기…" nl = "Open bestand…" pl = "Otwórz plik…" -pt_br = "Abrir o Arquivo…" -pt_pt = "Abrir ficheiro…" +pt-br = "Abrir o Arquivo…" +pt-pt = "Abrir ficheiro…" ro = "Deschide fișier…" ru = "Открыть файл…" sr = "Otvori fajl…" @@ -320,8 +320,8 @@ tk = "Faýly aç…" tr = "Dosya Aç…" uk = "Відкрити файл…" vi = "Mở tệp…" -zh_hans = "打开文件…" -zh_hant = "開啟舊檔…" +zh-hans = "打开文件…" +zh-hant = "開啟舊檔…" [FileSave] en = "Save" @@ -344,8 +344,8 @@ ja = "保存" ko = "저장" nl = "Opslaan" pl = "Zapisz" -pt_br = "Salvar" -pt_pt = "Guardar" +pt-br = "Salvar" +pt-pt = "Guardar" ro = "Salvează" ru = "Сохранить" sr = "Sačuvaj" @@ -354,8 +354,8 @@ tk = "Sakla" tr = "Kaydet" uk = "Зберегти" vi = "Lưu" -zh_hans = "保存" -zh_hant = "儲存" +zh-hans = "保存" +zh-hant = "儲存" [FileSaveAs] en = "Save As…" @@ -378,8 +378,8 @@ ja = "名前を付けて保存…" ko = "다른 이름으로 저장…" nl = "Opslaan Als…" pl = "Zapisz jako…" -pt_br = "Salvar Como…" -pt_pt = "Guardar como…" +pt-br = "Salvar Como…" +pt-pt = "Guardar como…" ro = "Salvează ca…" ru = "Сохранить как…" sr = "Sačuvaj kao…" @@ -388,8 +388,8 @@ tk = "Başga görnüşde sakla…" tr = "Farklı Kaydet…" uk = "Зберегти як…" vi = "Lưu thành…" -zh_hans = "另存为…" -zh_hant = "另存新檔…" +zh-hans = "另存为…" +zh-hant = "另存新檔…" [FilePreferences] en = "Preferences" @@ -399,11 +399,11 @@ fr = "Paramètres" it = "Impostazioni" ja = "設定" ko = "설정" -pt_br = "Configurações" +pt-br = "Configurações" ru = "Параметры" tr = "Tercihler" -zh_hans = "设置" -zh_hant = "設定" +zh-hans = "设置" +zh-hant = "設定" [FileClose] en = "Close File" @@ -426,8 +426,8 @@ ja = "ファイルを閉じる" ko = "파일 닫기" nl = "Sluit Bestand" pl = "Zamknij plik" -pt_br = "Fechar arquivo" -pt_pt = "Fechar ficheiro" +pt-br = "Fechar arquivo" +pt-pt = "Fechar ficheiro" ro = "Închide fișier" ru = "Закрыть файл" sr = "Zatvori uređivač" @@ -436,8 +436,8 @@ tk = "Düzeldijini ýap" tr = "Dosyayı Kapat" uk = "Закрити файл" vi = "Đóng tệp" -zh_hans = "关闭文件" -zh_hant = "關閉檔案" +zh-hans = "关闭文件" +zh-hant = "關閉檔案" [FileExit] en = "Exit" @@ -460,8 +460,8 @@ ja = "終了" ko = "종료" nl = "Afsluiten" pl = "Zakończ" -pt_br = "Sair" -pt_pt = "Sair" +pt-br = "Sair" +pt-pt = "Sair" ro = "Ieșire" ru = "Выход" sr = "Izlaz" @@ -470,8 +470,8 @@ tk = "Çyk" tr = "Çıkış" uk = "Вихід" vi = "Thoát" -zh_hans = "退出" -zh_hant = "結束" +zh-hans = "退出" +zh-hant = "結束" [FileGoto] en = "Go to Line:Column…" @@ -491,16 +491,16 @@ ja = "行:列へ移動…" ko = "줄:열로 이동…" nl = "Ga naar Regel:Kolom…" pl = "Idź do wiersza:kolumny…" -pt_br = "Ir para a Linha:Coluna…" -pt_pt = "Ir para a linha:Coluna…" +pt-br = "Ir para a Linha:Coluna…" +pt-pt = "Ir para a linha:Coluna…" ro = "Mergi la linie:coloană…" ru = "Перейти к строке:столбцу…" tk = "Setire / sütüne geç…" tr = "Satıra:Sütuna Git…" uk = "Перейти на рядок:стовпчик…" vi = "Đi tới dòng:cột…" -zh_hans = "转到行:列…" -zh_hant = "跳至行:欄…" +zh-hans = "转到行:列…" +zh-hant = "跳至行:欄…" # A menu bar item [Edit] @@ -523,8 +523,8 @@ ja = "編集" ko = "편집" nl = "Bewerken" pl = "Edycja" -pt_br = "Editar" -pt_pt = "Editar" +pt-br = "Editar" +pt-pt = "Editar" ro = "Editare" ru = "Правка" sr = "Uredi" @@ -533,8 +533,8 @@ tk = "Düzelt" tr = "Düzen" uk = "Редагувати" vi = "Chỉnh sửa" -zh_hans = "编辑" -zh_hant = "編輯" +zh-hans = "编辑" +zh-hant = "編輯" [EditUndo] en = "Undo" @@ -557,8 +557,8 @@ ja = "元に戻す" ko = "실행 취소" nl = "Ongedaan Maken" pl = "Cofnij" -pt_br = "Desfazer" -pt_pt = "Anular" +pt-br = "Desfazer" +pt-pt = "Anular" ro = "Anulează" ru = "Отменить" sr = "Poništi" @@ -567,8 +567,8 @@ tk = "Yza gaýtar" tr = "Geri Al" uk = "Скасувати" vi = "Hoàn tác" -zh_hans = "撤销" -zh_hant = "還原" +zh-hans = "撤销" +zh-hant = "還原" [EditRedo] en = "Redo" @@ -591,8 +591,8 @@ ja = "やり直し" ko = "다시 실행" nl = "Opnieuw Uitvoeren" pl = "Ponów" -pt_br = "Refazer" -pt_pt = "Refazer" +pt-br = "Refazer" +pt-pt = "Refazer" ro = "Refă" ru = "Повторить" sr = "Vrati" @@ -601,8 +601,8 @@ tk = "Gaýtadan işle" tr = "Yinele" uk = "Повторити" vi = "Làm lại" -zh_hans = "重做" -zh_hant = "重做" +zh-hans = "重做" +zh-hant = "重做" [EditCut] en = "Cut" @@ -625,8 +625,8 @@ ja = "切り取り" ko = "잘라내기" nl = "Knippen" pl = "Wytnij" -pt_br = "Recortar" -pt_pt = "Cortar" +pt-br = "Recortar" +pt-pt = "Cortar" ro = "Decupează" ru = "Вырезать" sr = "Iseci" @@ -635,8 +635,8 @@ tk = "Kes" tr = "Kes" uk = "Вирізати" vi = "Cắt" -zh_hans = "剪切" -zh_hant = "剪下" +zh-hans = "剪切" +zh-hant = "剪下" [EditCopy] en = "Copy" @@ -659,8 +659,8 @@ ja = "コピー" ko = "복사" nl = "Kopiëren" pl = "Kopiuj" -pt_br = "Copiar" -pt_pt = "Copiar" +pt-br = "Copiar" +pt-pt = "Copiar" ro = "Copiază" ru = "Копировать" sr = "Kopiraj" @@ -669,8 +669,8 @@ tk = "Göçür" tr = "Kopyala" uk = "Копіювати" vi = "Sao chép" -zh_hans = "复制" -zh_hant = "複製" +zh-hans = "复制" +zh-hant = "複製" [EditPaste] en = "Paste" @@ -693,8 +693,8 @@ ja = "貼り付け" ko = "붙여넣기" nl = "Plakken" pl = "Wklej" -pt_br = "Colar" -pt_pt = "Colar" +pt-br = "Colar" +pt-pt = "Colar" ro = "Lipește" ru = "Вставить" sr = "Nalepi" @@ -703,8 +703,8 @@ tk = "Ýelme" tr = "Yapıştır" uk = "Вставити" vi = "Dán" -zh_hans = "粘贴" -zh_hant = "貼上" +zh-hans = "粘贴" +zh-hant = "貼上" [EditFind] en = "Find" @@ -727,8 +727,8 @@ ja = "検索" ko = "찾기" nl = "Zoeken" pl = "Znajdź" -pt_br = "Localizar" -pt_pt = "Procurar" +pt-br = "Localizar" +pt-pt = "Procurar" ro = "Găsește" ru = "Найти" sr = "Pronađi" @@ -737,8 +737,8 @@ tk = "Gözle" tr = "Bul" uk = "Знайти" vi = "Tìm kiếm" -zh_hans = "查找" -zh_hant = "尋找" +zh-hans = "查找" +zh-hant = "尋找" [EditReplace] en = "Replace" @@ -761,8 +761,8 @@ ja = "置換" ko = "바꾸기" nl = "Vervangen" pl = "Zamień" -pt_br = "Substituir" -pt_pt = "Substituir" +pt-br = "Substituir" +pt-pt = "Substituir" ro = "Înlocuiește" ru = "Заменить" sr = "Zameni" @@ -771,8 +771,8 @@ tk = "Çalyş" tr = "Değiştir" uk = "Замінити" vi = "Thay thế" -zh_hans = "替换" -zh_hant = "取代" +zh-hans = "替换" +zh-hant = "取代" [EditSelectAll] en = "Select All" @@ -792,15 +792,15 @@ ja = "すべて選択" ko = "모두 선택" nl = "Alles Selecteren" pl = "Zaznacz wszystko" -pt_br = "Selecionar Tudo" -pt_pt = "Selecionar tudo" +pt-br = "Selecionar Tudo" +pt-pt = "Selecionar tudo" ro = "Selectează tot" ru = "Выделить всё" tr = "Tümünü Seç" uk = "Вибрати все" vi = "Chọn tất cả" -zh_hans = "全选" -zh_hant = "全選" +zh-hans = "全选" +zh-hant = "全選" # A menu bar item [View] @@ -824,8 +824,8 @@ ja = "表示" ko = "보기" nl = "Weergave" pl = "Widok" -pt_br = "Exibir" -pt_pt = "Ver" +pt-br = "Exibir" +pt-pt = "Ver" ro = "Vizualizare" ru = "Вид" sr = "Prikaz" @@ -834,8 +834,8 @@ tk = "Gör" tr = "Görünüm" uk = "Вигляд" vi = "Xem" -zh_hans = "视图" -zh_hant = "檢視" +zh-hans = "视图" +zh-hant = "檢視" [ViewFocusStatusbar] en = "Focus Statusbar" @@ -858,8 +858,8 @@ ja = "ステータスバーにフォーカス" ko = "상태 표시줄로 포커스 이동" nl = "Statusbalk Focussen" pl = "Przejdź na dolny pasek" -pt_br = "Focar na Barra de Status" -pt_pt = "Focar na barra de estado" +pt-br = "Focar na Barra de Status" +pt-pt = "Focar na barra de estado" ro = "Focalizare pe bara de stare" ru = "Фокус на строку состояния" sr = "Fokusiraj statusnu traku" @@ -868,8 +868,8 @@ tk = "Ýagdaý setirine üns ber" tr = "Durum Çubuğuna Odaklan" uk = "Фокус на рядок стану" vi = "Đặt tiêu điểm vào thanh trạng thái" -zh_hans = "聚焦状态栏" -zh_hant = "聚焦狀態列" +zh-hans = "聚焦状态栏" +zh-hant = "聚焦狀態列" [ViewWordWrap] en = "Word Wrap" @@ -892,8 +892,8 @@ ja = "折り返し" ko = "자동 줄 바꿈" nl = "Tekstomloop" pl = "Zawijanie wierszy" -pt_br = "Quebra De Texto" -pt_pt = "Quebra de linha" +pt-br = "Quebra De Texto" +pt-pt = "Quebra de linha" ro = "Încadrare text" ru = "Перенос слов" sr = "Prelom reči" @@ -902,8 +902,8 @@ tk = "Söz birikdirme" tr = "Sözcük Kaydır" uk = "Переніс слів" vi = "Ngắt dòng tự động" -zh_hans = "自动换行" -zh_hant = "自動換行" +zh-hans = "自动换行" +zh-hant = "自動換行" [ViewGoToFile] en = "Go to File…" @@ -921,15 +921,15 @@ it = "Vai al file…" ja = "ファイルへ移動…" ko = "파일로 이동…" nl = "Ga naar Bestand" -pt_br = "Ir para arquivo…" -pt_pt = "Ir para ficheiro…" +pt-br = "Ir para arquivo…" +pt-pt = "Ir para ficheiro…" ro = "Mergi la fișier…" ru = "Перейти к файлу…" tr = "Dosyaya Git…" uk = "Перейти до файлу…" vi = "Đi tới tệp…" -zh_hans = "转到文件…" -zh_hant = "跳至檔案…" +zh-hans = "转到文件…" +zh-hant = "跳至檔案…" # A menu bar item [Help] @@ -953,8 +953,8 @@ ja = "ヘルプ" ko = "도움말" nl = "Help" pl = "Pomoc" -pt_br = "Ajuda" -pt_pt = "Ajuda" +pt-br = "Ajuda" +pt-pt = "Ajuda" ro = "Ajutor" ru = "Помощь" sr = "Pomoć" @@ -963,8 +963,8 @@ tk = "Kömek" tr = "Yardım" uk = "Допомога" vi = "Trợ giúp" -zh_hans = "帮助" -zh_hant = "說明" +zh-hans = "帮助" +zh-hant = "說明" [HelpAbout] en = "About" @@ -987,8 +987,8 @@ ja = "情報" ko = "정보" nl = "Over" pl = "O programie" -pt_br = "Sobre" -pt_pt = "Sobre" +pt-br = "Sobre" +pt-pt = "Sobre" ro = "Despre" ru = "О программе" sr = "O programu" @@ -997,8 +997,8 @@ tk = "Programma barada" tr = "Hakkında" uk = "Про програму" vi = "Giới thiệu" -zh_hans = "关于" -zh_hant = "關於" +zh-hans = "关于" +zh-hant = "關於" [UnsavedChangesDialogTitle] en = "Unsaved Changes" @@ -1021,8 +1021,8 @@ ja = "未保存の変更" ko = "저장되지 않은 변경 사항" nl = "Onopgeslagen Wijzigingen" pl = "Masz niezapisane zmiany" -pt_br = "Alterações não Salvas" -pt_pt = "Alterações não guardadas" +pt-br = "Alterações não Salvas" +pt-pt = "Alterações não guardadas" ro = "Modificări nesalvate" ru = "Несохраненные изменения" sr = "Nesačuvane izmene" @@ -1031,8 +1031,8 @@ tk = "Saklanmadyk üýtgeşmeler" tr = "Kaydedilmemiş Değişiklikler" uk = "Незбережені зміни" vi = "Các thay đổi chưa được lưu" -zh_hans = "未保存的更改" -zh_hant = "有未儲存的變更" +zh-hans = "未保存的更改" +zh-hant = "有未儲存的變更" [UnsavedChangesDialogDescription] en = "Do you want to save the changes you made?" @@ -1055,8 +1055,8 @@ ja = "変更内容を保存しますか?" ko = "변경한 내용을 저장하시겠습니까?" nl = "Wilt u de gemaakte wijzigingen opslaan?" pl = "Czy chcesz zapisać wprowadzone modyfikacje?" -pt_br = "Deseja salvar as alterações feitas?" -pt_pt = "Quer guardar as alterações efetuadas?" +pt-br = "Deseja salvar as alterações feitas?" +pt-pt = "Quer guardar as alterações efetuadas?" ro = "Doriți să salvați modificările efectuate?" ru = "Вы хотите сохранить внесённые изменения?" sr = "Želite li da sačuvate izmene?" @@ -1065,8 +1065,8 @@ tk = "Eden üýtgeşmeleriňizi saklamak isleýärsiňizmi?" tr = "Yaptığınız değişiklikleri kaydetmek istiyor musunuz?" uk = "Зберегти внесені зміни?" vi = "Bạn có muốn lưu các thay đổi bạn đã thực hiện không?" -zh_hans = "您要保存所做的更改吗?" -zh_hant = "您要儲存所做的變更嗎?" +zh-hans = "您要保存所做的更改吗?" +zh-hant = "您要儲存所做的變更嗎?" [UnsavedChangesDialogYes] en = "Save" @@ -1089,8 +1089,8 @@ ja = "保存する" ko = "저장" nl = "Opslaan" pl = "Zapisz" -pt_br = "Salvar" -pt_pt = "Guardar" +pt-br = "Salvar" +pt-pt = "Guardar" ro = "Salvează" ru = "Сохранить" sr = "Sačuvaj" @@ -1099,8 +1099,8 @@ tk = "Sakla" tr = "Kaydet" uk = "Зберегти" vi = "Lưu" -zh_hans = "保存" -zh_hant = "儲存" +zh-hans = "保存" +zh-hant = "儲存" [UnsavedChangesDialogNo] en = "Don't Save" @@ -1122,8 +1122,8 @@ ja = "保存しない" ko = "저장 안 함" nl = "Niet Opslaan" pl = "Nie zapisuj" -pt_br = "Não Salvar" -pt_pt = "Não guardar" +pt-br = "Não Salvar" +pt-pt = "Não guardar" ro = "Nu salva" ru = "Не сохранять" sr = "Nemoj sačuvati" @@ -1132,8 +1132,8 @@ tk = "Saklama" tr = "Kaydetme" uk = "Не зберігати" vi = "Không lưu" -zh_hans = "不保存" -zh_hant = "不儲存" +zh-hans = "不保存" +zh-hant = "不儲存" [AboutDialogTitle] en = "About" @@ -1156,8 +1156,8 @@ ja = "情報" ko = "정보" nl = "Over" pl = "O programie" -pt_br = "Sobre" -pt_pt = "Sobre" +pt-br = "Sobre" +pt-pt = "Sobre" ro = "Despre" ru = "О программе" sr = "O programu" @@ -1166,8 +1166,8 @@ tk = "Programma barada" tr = "Hakkında" uk = "Про програму" vi = "Giới thiệu" -zh_hans = "关于" -zh_hant = "關於" +zh-hans = "关于" +zh-hant = "關於" [AboutDialogVersion] en = "Version: " @@ -1190,8 +1190,8 @@ ja = "バージョン: " ko = "버전: " nl = "Versie: " pl = "Wersja: " -pt_br = "Versão: " -pt_pt = "Versão: " +pt-br = "Versão: " +pt-pt = "Versão: " ro = "Versiune: " ru = "Версия: " sr = "Verzija: " @@ -1200,8 +1200,8 @@ tk = "Wersiýa: " tr = "Sürüm: " uk = "Версія: " vi = "Phiên bản: " -zh_hans = "版本: " -zh_hant = "版本: " +zh-hans = "版本: " +zh-hant = "版本: " # Shown when the clipboard size exceeds the limit for OSC 52 [LargeClipboardWarningLine1] @@ -1225,8 +1225,8 @@ ja = "コピーしたテキストはターミナルのクリップボードと ko = "복사한 텍스트는 터미널 클립보드와 공유됩니다." nl = "Tekst die u kopieert wordt gedeeld met de terminal." pl = "Skopiowany tekst jest przekazywany do schowka konsoli." -pt_br = "O texto copiado é compartilhado com a área de transferência do terminal." -pt_pt = "O texto que copia é partilhado com a área de transferência do terminal." +pt-br = "O texto copiado é compartilhado com a área de transferência do terminal." +pt-pt = "O texto que copia é partilhado com a área de transferência do terminal." ro = "Textul copiat este partajat cu clipboard-ul terminalului." ru = "Скопированный текст передаётся в буфер обмена терминала." sr = "Tekst koji kopirate se deli sa terminalom." @@ -1235,8 +1235,8 @@ tk = "Göçürilen ýazgy terminal paneline geçirilýär." tr = "Kopyaladığınız metin terminal panosuyla paylaşılır." uk = "Скопійований текст доступний в буфері обміну терміналу." vi = "Văn bản bạn sao chép sẽ được chia sẻ với bảng tạm của terminal." -zh_hans = "你复制的文本将共享到终端剪贴板。" -zh_hant = "您複製的文字將會與終端機剪貼簿分享。" +zh-hans = "你复制的文本将共享到终端剪贴板。" +zh-hant = "您複製的文字將會與終端機剪貼簿分享。" # Shown when the clipboard size exceeds the limit for OSC 52 [LargeClipboardWarningLine2] @@ -1260,8 +1260,8 @@ ja = "{size} をコピーしました。共有に時間がかかる可能性が ko = "{size}를 복사했으며, 공유하는 데 시간이 오래 걸릴 수 있습니다." nl = "U heeft {size} gekopieerd, wat misschien lang kan duren om te delen." pl = "Skopiowano {size}, co może zająć dużo czasu." -pt_br = "Você copiou {size}, o que pode demorar para compartilhar." -pt_pt = "Copiou {size}, o que pode demorar a ser partilhado." +pt-br = "Você copiou {size}, o que pode demorar para compartilhar." +pt-pt = "Copiou {size}, o que pode demorar a ser partilhado." ro = "Ai copiat {size}, ceea ce poate dura mult timp pentru a fi partajat." ru = "Вы скопировали {size}; передача может занять много времени." sr = "Kopirali ste {size}, deljenje može potrajati." @@ -1270,8 +1270,8 @@ tk = "Paýlaşmak üçin köp wagt alyp bilýän {size} göçürdiňiz." tr = "{size} kopyaladınız, paylaşmak uzun sürebilir." uk = "Скопійовано {size}, передача може зайняти дещо часу." vi = "Bạn đã sao chép {size}, việc chia sẻ có thể mất nhiều thời gian." -zh_hans = "你复制了 {size},共享可能需要较长时间。" -zh_hant = "您複製了 {size},可能需要較長時間才能分享。" +zh-hans = "你复制了 {size},共享可能需要较长时间。" +zh-hant = "您複製了 {size},可能需要較長時間才能分享。" # Shown when the clipboard size exceeds the limit for OSC 52 [LargeClipboardWarningLine3] @@ -1295,8 +1295,8 @@ ja = "それでも送信しますか?" ko = "그래도 보내시겠습니까?" nl = "Wilt u het toch verzenden?" pl = "Czy nadal chcesz to przesłać?" -pt_br = "Deseja enviar mesmo assim?" -pt_pt = "Quer enviá-lo mesmo assim?" +pt-br = "Deseja enviar mesmo assim?" +pt-pt = "Quer enviá-lo mesmo assim?" ro = "Vrei să-l trimiți oricum?" ru = "Отправить в любом случае?" sr = "Želite li da ga ipak pošaljete?" @@ -1305,8 +1305,8 @@ tk = "Her niçigem bolsa ibermek isleýärsiňizmi?" tr = "Yine de göndermek istiyor musunuz?" uk = "Все одно надіслати?" vi = "Bạn vẫn muốn gửi chứ?" -zh_hans = "仍要发送吗?" -zh_hant = "還是要傳送嗎?" +zh-hans = "仍要发送吗?" +zh-hant = "還是要傳送嗎?" # As an alternative to LargeClipboardWarningLine2 and 3 [SuperLargeClipboardWarning] @@ -1330,8 +1330,8 @@ ja = "コピーしたテキストは大きすぎて共有できません。" ko = "복사한 텍스트가 너무 커서 공유할 수 없습니다." nl = "De tekst die u kopieerde is te lang om te delen." pl = "Skopiowany tekst jest zbyt duży, żeby go przesłać." -pt_br = "O texto copiado é grande demais para ser compartilhado." -pt_pt = "O texto que copiou é demasiado grande para ser partilhado." +pt-br = "O texto copiado é grande demais para ser compartilhado." +pt-pt = "O texto que copiou é demasiado grande para ser partilhado." ro = "Textul copiat este prea mare pentru a fi partajat." ru = "Скопированный текст слишком велик для передачи." sr = "Tekst koji ste kopirali je prevelik za deljenje." @@ -1340,8 +1340,8 @@ tk = "Göçürilen ýazgy paýlaşmak üçin gaty uly." tr = "Kopyaladığınız metin paylaşmak için çok büyük." uk = "Скопійований текст завеликий для передачі." vi = "Văn bản bạn sao chép quá lớn, không thể chia sẻ." -zh_hans = "你复制的文本过大,无法共享。" -zh_hant = "您複製的文字太大,無法分享。" +zh-hans = "你复制的文本过大,无法共享。" +zh-hant = "您複製的文字太大,無法分享。" [WarningDialogTitle] en = "Warning" @@ -1364,8 +1364,8 @@ ja = "警告" ko = "경고" nl = "Waarschuwing" pl = "Ostrzeżenie" -pt_br = "Aviso" -pt_pt = "Aviso" +pt-br = "Aviso" +pt-pt = "Aviso" ro = "Avertisment" ru = "Предупреждение" sr = "Upozorenje" @@ -1374,8 +1374,8 @@ tk = "Duýduryş" tr = "Uyarı" uk = "Попередження" vi = "Cảnh báo" -zh_hans = "警告" -zh_hant = "警告" +zh-hans = "警告" +zh-hant = "警告" [ErrorDialogTitle] en = "Error" @@ -1398,8 +1398,8 @@ ja = "エラー" ko = "오류" nl = "Fout" pl = "Błąd" -pt_br = "Erro" -pt_pt = "Erro" +pt-br = "Erro" +pt-pt = "Erro" ro = "Eroare" ru = "Ошибка" sr = "Greška" @@ -1408,8 +1408,8 @@ tk = "Ýalňyş" tr = "Hata" uk = "Помилка" vi = "Lỗi" -zh_hans = "错误" -zh_hant = "錯誤" +zh-hans = "错误" +zh-hant = "錯誤" [ErrorIcuMissing] en = "This operation requires the ICU library" @@ -1432,8 +1432,8 @@ ja = "この操作にはICUライブラリが必要です" ko = "이 작업에는 ICU 라이브러리가 필요합니다" nl = "Deze bewerking vereist de ICU-bibliotheek" pl = "Ta operacja wymaga biblioteki ICU" -pt_br = "Esta operação requer a biblioteca ICU" -pt_pt = "Esta operação requer a biblioteca ICU" +pt-br = "Esta operação requer a biblioteca ICU" +pt-pt = "Esta operação requer a biblioteca ICU" ro = "Această operațiune necesită biblioteca ICU" ru = "Эта операция требует наличия библиотеки ICU" sr = "Ova operacija zahteva ICU biblioteku" @@ -1442,8 +1442,8 @@ tk = "Bu amal ICU kitaphanasyny talap edýär" tr = "Bu işlem ICU kütüphanesini gerektirir" uk = "Ця операція потребує наявності бібліотеки ICU" vi = "Thao tác này cần thư viện ICU" -zh_hans = "此操作需要 ICU 库" -zh_hant = "此操作需要 ICU 程式庫" +zh-hans = "此操作需要 ICU 库" +zh-hant = "此操作需要 ICU 程式庫" # For input field [SearchNeedleLabel] @@ -1467,8 +1467,8 @@ ja = "検索:" ko = "찾기:" nl = "Zoeken:" pl = "Znajdź:" -pt_br = "Localizar:" -pt_pt = "Procurar:" +pt-br = "Localizar:" +pt-pt = "Procurar:" ro = "Găsește:" ru = "Найти:" sr = "Pronađi:" @@ -1477,8 +1477,8 @@ tk = "Gözle:" tr = "Bul:" uk = "Знайти:" vi = "Tìm:" -zh_hans = "查找:" -zh_hant = "搜尋:" +zh-hans = "查找:" +zh-hant = "搜尋:" # For input field [SearchReplacementLabel] @@ -1502,8 +1502,8 @@ ja = "置換:" ko = "바꾸기:" nl = "Vervang:" pl = "Zamień:" -pt_br = "Substituir:" -pt_pt = "Substituir:" +pt-br = "Substituir:" +pt-pt = "Substituir:" ro = "Înlocuiește:" ru = "Замена:" sr = "Zameni:" @@ -1512,8 +1512,8 @@ tk = "Çalyş:" tr = "Değiştir:" uk = "Заміна:" vi = "Thay thế:" -zh_hans = "替换:" -zh_hant = "取代:" +zh-hans = "替换:" +zh-hant = "取代:" # Toggle [SearchMatchCase] @@ -1537,8 +1537,8 @@ ja = "大/小文字を区別" ko = "대소문자" nl = "Hoofdlettergevoelig" pl = "Wielkość liter" -pt_br = "Maiús/Minús" -pt_pt = "Diferenciar maiúsculas/minúsculas" +pt-br = "Maiús/Minús" +pt-pt = "Diferenciar maiúsculas/minúsculas" ro = "Diferențiere Majuscule/minuscule" ru = "Регистр" sr = "Razlikuj mala/velika slova" @@ -1547,8 +1547,8 @@ tk = "Gabat gelýän ýagdaýy" tr = "BÜYÜK/küçük harf" uk = "Регістр" vi = "Phân biệt chữ hoa/thường" -zh_hans = "区分大小写" -zh_hant = "區分大小寫" +zh-hans = "区分大小写" +zh-hant = "區分大小寫" # Toggle [SearchWholeWord] @@ -1572,8 +1572,8 @@ ja = "単語全体" ko = "전체 단어" nl = "Volledig Woord" pl = "Całe słowa" -pt_br = "Palavra" -pt_pt = "Palavra inteira" +pt-br = "Palavra" +pt-pt = "Palavra inteira" ro = "Cuvânt întreg" ru = "Слово" sr = "Cela reč" @@ -1582,8 +1582,8 @@ tk = "Bütin söz" tr = "Tam sözcük" uk = "Ціле слово" vi = "Khớp toàn bộ từ" -zh_hans = "全字匹配" -zh_hant = "比對整個字" +zh-hans = "全字匹配" +zh-hant = "比對整個字" # Toggle [SearchUseRegex] @@ -1607,8 +1607,8 @@ ja = "正規表現" ko = "정규식" nl = "RegEx" pl = "RegEx" -pt_br = "RegEx" -pt_pt = "Expressão regular" +pt-br = "RegEx" +pt-pt = "Expressão regular" ro = "RegEx" ru = "RegEx" sr = "Koristi regularni izraz" @@ -1617,8 +1617,8 @@ tk = "Yzygiderli aňlatmalary ulan" tr = "RegEx kullan" uk = "RegEx" vi = "Sử dụng biểu thức chính quy" -zh_hans = "正则" -zh_hant = "使用正規表達式" +zh-hans = "正则" +zh-hant = "使用正規表達式" # Button [SearchReplaceAll] @@ -1642,8 +1642,8 @@ ja = "すべて置換" ko = "모두 바꾸기" nl = "Vervang Alle" pl = "Zamień wszystko" -pt_br = "Substituir Tudo" -pt_pt = "Substituir tudo" +pt-br = "Substituir Tudo" +pt-pt = "Substituir tudo" ro = "Înlocuiește tot" ru = "Заменить все" sr = "Zameni sve" @@ -1652,8 +1652,8 @@ tk = "Hemmesini çalyş" tr = "Tümünü Değiştir" uk = "Замінити все" vi = "Thay thế tất cả" -zh_hans = "全部替换" -zh_hant = "全部取代" +zh-hans = "全部替换" +zh-hant = "全部取代" # Button [SearchClose] @@ -1677,8 +1677,8 @@ ja = "閉じる" ko = "닫기" nl = "Sluiten" pl = "Zamknij" -pt_br = "Fechar" -pt_pt = "Fechar" +pt-br = "Fechar" +pt-pt = "Fechar" ro = "Închide" ru = "Закрыть" sr = "Zatvori" @@ -1687,8 +1687,8 @@ tk = "Ýap" tr = "Kapat" uk = "Закрити" vi = "Đóng" -zh_hans = "关闭" -zh_hant = "關閉" +zh-hans = "关闭" +zh-hant = "關閉" [LanguageSelectMode] en = "Select Language Mode" @@ -1698,11 +1698,11 @@ fr = "Sélectionner le mode du langage" it = "Seleziona modalità del linguaggio" ja = "言語モードの選択" ko = "언어 모드 선택" -pt_br = "Selecionar modo de linguagem" +pt-br = "Selecionar modo de linguagem" ru = "Выбрать режим языка" tr = "Dil Modunu Seç" -zh_hans = "选择语言模式" -zh_hant = "選擇語言模式" +zh-hans = "选择语言模式" +zh-hant = "選擇語言模式" [LanguageAutoDetect] en = "Auto Detect" @@ -1712,11 +1712,11 @@ fr = "Détection automatique" it = "Rilevamento automatico" ja = "自動検出" ko = "자동 감지" -pt_br = "Detectar automaticamente" +pt-br = "Detectar automaticamente" ru = "Определить автоматически" tr = "Otomatik olarak algıla" -zh_hans = "自动检测" -zh_hant = "自動偵測" +zh-hans = "自动检测" +zh-hant = "自動偵測" [EncodingReopen] en = "Reopen with encoding…" @@ -1739,8 +1739,8 @@ ja = "指定エンコーディングで再度開く…" ko = "인코딩으로 다시 열기…" nl = "Heropen met codering…" pl = "Otwórz ponownie z kodowaniem…" -pt_br = "Reabrir com a codificação…" -pt_pt = "Reabrir com codificação…" +pt-br = "Reabrir com a codificação…" +pt-pt = "Reabrir com codificação…" ro = "Redeschide cu codificare…" ru = "Открыть снова с кодировкой…" sr = "Ponovo otvori sa kodiranjem" @@ -1749,8 +1749,8 @@ tk = "Kodlamak bilen gaýtadan aç" tr = "Kodlamayla Yeniden Aç…" uk = "Відкрити наново з кодуванням…" vi = "Mở lại với mã hóa…" -zh_hans = "使用编码重新打开…" -zh_hant = "使用其他編碼重新開啟…" +zh-hans = "使用编码重新打开…" +zh-hant = "使用其他編碼重新開啟…" [EncodingConvert] en = "Convert to encoding…" @@ -1773,8 +1773,8 @@ ja = "エンコーディングを変換…" ko = "인코딩으로 변환…" nl = "Zet om naar codering…" pl = "Konwertuj na kodowanie…" -pt_br = "Converter para a codificação…" -pt_pt = "Converter para codificação…" +pt-br = "Converter para a codificação…" +pt-pt = "Converter para codificação…" ro = "Convertire în codificare…" ru = "Преобразовать в кодировку…" sr = "Pretvori u kodiranje" @@ -1783,8 +1783,8 @@ tk = "Koda öwür" tr = "Kodlamaya Dönüştür…" uk = "Перетворити в кодування…" vi = "Chuyển đổi sang mã hóa…" -zh_hans = "转换为编码…" -zh_hant = "轉換為其他編碼…" +zh-hans = "转换为编码…" +zh-hant = "轉換為其他編碼…" [IndentationTabs] en = "Tabs" @@ -1807,8 +1807,8 @@ ja = "タブ" ko = "탭" nl = "Tabs" pl = "Tabulatory" -pt_br = "Tabs" -pt_pt = "Tabulações" +pt-br = "Tabs" +pt-pt = "Tabulações" ro = "Tabulări" ru = "Табы" sr = "Tabulatori" @@ -1817,8 +1817,8 @@ tk = "Tabler" tr = "Sekme" uk = "Табуляція" vi = "Tab" -zh_hans = "制表符" -zh_hant = "定位字元" +zh-hans = "制表符" +zh-hant = "Tab" [IndentationSpaces] en = "Spaces" @@ -1841,8 +1841,8 @@ ja = "スペース" ko = "공백" nl = "Spaties" pl = "Spacje" -pt_br = "Espaços" -pt_pt = "Espaços" +pt-br = "Espaços" +pt-pt = "Espaços" ro = "Spații" ru = "Пробелы" sr = "Razmaci" @@ -1851,8 +1851,8 @@ tk = "Boşluklar" tr = "Boşluk" uk = "Пробіли" vi = "Dấu cách" -zh_hans = "空格" -zh_hant = "空格" +zh-hans = "空格" +zh-hant = "空格" [SaveAsDialogPathLabel] en = "Folder:" @@ -1875,8 +1875,8 @@ ja = "フォルダ:" ko = "폴더:" nl = "Folder:" pl = "Lokalizacja:" -pt_br = "Pasta:" -pt_pt = "Pasta:" +pt-br = "Pasta:" +pt-pt = "Pasta:" ro = "Dosar:" ru = "Папка:" sr = "Fascikla:" @@ -1885,8 +1885,8 @@ tk = "Bukja:" tr = "Klasör:" uk = "Папка:" vi = "Thư mục:" -zh_hans = "文件夹:" -zh_hant = "資料夾:" +zh-hans = "文件夹:" +zh-hant = "資料夾:" [SaveAsDialogNameLabel] en = "File name:" @@ -1909,8 +1909,8 @@ ja = "ファイル名:" ko = "파일 이름:" nl = "Bestandnaam:" pl = "Nazwa pliku:" -pt_br = "Nome do Arquivo:" -pt_pt = "Nome do ficheiro:" +pt-br = "Nome do Arquivo:" +pt-pt = "Nome do ficheiro:" ro = "Nume fișier:" ru = "Имя файла:" sr = "Ime fajla:" @@ -1919,8 +1919,8 @@ tk = "Faýl ady:" tr = "Dosya adı:" uk = "Ім'я файлу:" vi = "Tên tệp:" -zh_hans = "文件名:" -zh_hant = "檔案名稱:" +zh-hans = "文件名:" +zh-hant = "檔案名稱:" [FileOverwriteWarning] en = "Confirm Save As" @@ -1943,8 +1943,8 @@ ja = "名前を付けて保存の確認" ko = "다른 이름으로 저장 확인" nl = "Bevestig Opslaan Als" pl = "Potwierdź zapisanie jako" -pt_br = "Confirmar Salvar Como" -pt_pt = "Confirmar Guardar como" +pt-br = "Confirmar Salvar Como" +pt-pt = "Confirmar Guardar como" ro = "Confirmă Salvează ca" ru = "Подтвердите «Сохранить как…»" sr = "Potvrdi Sačuvaj kao" @@ -1953,8 +1953,8 @@ tk = "Saklamagy tassykla…»" tr = "Farklı Kaydetmeyi Onayla" uk = "Підтвердьте «Зберегти як…»" vi = "Xác nhận Lưu thành" -zh_hans = "确认另存为" -zh_hant = "確認另存新檔" +zh-hans = "确认另存为" +zh-hant = "確認另存新檔" [FileOverwriteWarningDescription] en = "File already exists. Do you want to overwrite it?" @@ -1977,8 +1977,8 @@ ja = "ファイルは既に存在します。上書きしますか?" ko = "파일이 이미 존재합니다. 덮어쓰시겠습니까?" nl = "Bestand bestaat al. Wilt u het overschrijven?" pl = "Plik już istnieje. Czy chcesz go nadpisać?" -pt_br = "O arquivo já existe. Deseja substituí-lo?" -pt_pt = "O ficheiro já existe. Quer sobrescrevê-lo?" +pt-br = "O arquivo já existe. Deseja substituí-lo?" +pt-pt = "O ficheiro já existe. Quer sobrescrevê-lo?" ro = "Fișierul există deja. Doriți să-l suprascrieți?" ru = "Файл уже существует. Перезаписать?" sr = "Fajl već postoji. Želite li da ga prepišete?" @@ -1987,5 +1987,5 @@ tk = "Faýl eýýäm bar. Ony gaýtadan ýazmak isleýärsiňizmi?" tr = "Dosya zaten var. Üzerine yazmak istiyor musunuz?" uk = "Файл вже існує. Перезаписати?" vi = "Tệp đã tồn tại. Bạn có muốn ghi đè không?" -zh_hans = "文件已存在。要覆盖它吗?" -zh_hant = "檔案已存在。要覆蓋它嗎?" +zh-hans = "文件已存在。要覆盖它吗?" +zh-hant = "檔案已存在。要覆蓋它嗎?"