From df5dd1858affe71fdd401fe11c47f2218508bf18 Mon Sep 17 00:00:00 2001 From: blackzeshi Date: Mon, 24 Mar 2025 00:34:58 +0500 Subject: [PATCH 1/8] add russian translation --- po/ru_RU.UTF-8.po | 261 ++++++++++++++++++++++++++++++++++++++++++++++ src/os/i18n.zig | 1 + 2 files changed, 262 insertions(+) create mode 100644 po/ru_RU.UTF-8.po diff --git a/po/ru_RU.UTF-8.po b/po/ru_RU.UTF-8.po new file mode 100644 index 000000000..f867f4f77 --- /dev/null +++ b/po/ru_RU.UTF-8.po @@ -0,0 +1,261 @@ +# Russian translations for com.mitchellh.ghostty package +# Английские переводы для пакета com.mitchellh.ghostty. +# Copyright (C) 2025 Mitchell Hashimoto +# This file is distributed under the same license as the com.mitchellh.ghostty package. +# blackzeshi , 2025. +# +msgid "" +msgstr "" +"Project-Id-Version: com.mitchellh.ghostty\n" +"Report-Msgid-Bugs-To: m@mitchellh.com\n" +"POT-Creation-Date: 2025-03-19 08:28-0700\n" +"PO-Revision-Date: 2025-03-24 00:01+0500\n" +"Last-Translator: blackzeshi \n" +"Language-Team: Russian \n" +"Language: ru\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && " +"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" + +#: src/apprt/gtk/ui/1.5/prompt-title-dialog.blp:5 +msgid "Change Terminal Title" +msgstr "Изменить заголовок терминала" + +#: src/apprt/gtk/ui/1.5/prompt-title-dialog.blp:6 +msgid "Leave blank to restore the default title." +msgstr "Оставьте пустым, чтобы восстановить исходный заголовок." + +#: src/apprt/gtk/ui/1.5/prompt-title-dialog.blp:9 +#: src/apprt/gtk/ui/1.5/ccw-paste.blp:10 src/apprt/gtk/CloseDialog.zig:44 +msgid "Cancel" +msgstr "Отмена" + +#: src/apprt/gtk/ui/1.5/prompt-title-dialog.blp:10 +msgid "OK" +msgstr "ОК" + +#: src/apprt/gtk/ui/1.5/config-errors-dialog.blp:5 +msgid "Configuration Errors" +msgstr "Ошибки конфигурации" + +#: src/apprt/gtk/ui/1.5/config-errors-dialog.blp:6 +msgid "" +"One or more configuration errors were found. Please review the errors below, " +"and either reload your configuration or ignore these errors." +msgstr "Были обнаружены одна или несколько ошибок конфигурации. Пожалуйста, проверьте ошибки ниже, " + +#: src/apprt/gtk/ui/1.5/config-errors-dialog.blp:9 +msgid "Ignore" +msgstr "Игнорировать" + +#: src/apprt/gtk/ui/1.5/config-errors-dialog.blp:10 +#: src/apprt/gtk/ui/1.0/menu-surface-context_menu.blp:97 +#: src/apprt/gtk/ui/1.0/menu-window-titlebar_menu.blp:95 +msgid "Reload Configuration" +msgstr "Обновить конфигурацию" + +#: src/apprt/gtk/ui/1.0/menu-surface-context_menu.blp:6 +#: src/apprt/gtk/ui/1.0/menu-window-titlebar_menu.blp:6 +msgid "Copy" +msgstr "Копировать" + +#: src/apprt/gtk/ui/1.0/menu-surface-context_menu.blp:11 +#: src/apprt/gtk/ui/1.0/menu-window-titlebar_menu.blp:11 +#: src/apprt/gtk/ui/1.5/ccw-paste.blp:11 +msgid "Paste" +msgstr "Вставить" + +#: src/apprt/gtk/ui/1.0/menu-surface-context_menu.blp:18 +#: src/apprt/gtk/ui/1.0/menu-window-titlebar_menu.blp:73 +msgid "Clear" +msgstr "Очистить" + +#: src/apprt/gtk/ui/1.0/menu-surface-context_menu.blp:23 +#: src/apprt/gtk/ui/1.0/menu-window-titlebar_menu.blp:78 +msgid "Reset" +msgstr "Сброс" + +#: src/apprt/gtk/ui/1.0/menu-surface-context_menu.blp:30 +#: src/apprt/gtk/ui/1.0/menu-window-titlebar_menu.blp:42 +msgid "Split" +msgstr "Сплит" + +#: src/apprt/gtk/ui/1.0/menu-surface-context_menu.blp:33 +#: src/apprt/gtk/ui/1.0/menu-window-titlebar_menu.blp:45 +msgid "Change Title…" +msgstr "Изменить заголовок…" + +#: src/apprt/gtk/ui/1.0/menu-surface-context_menu.blp:38 +#: src/apprt/gtk/ui/1.0/menu-window-titlebar_menu.blp:50 +msgid "Split Up" +msgstr "Сплит наверх" + +#: src/apprt/gtk/ui/1.0/menu-surface-context_menu.blp:43 +#: src/apprt/gtk/ui/1.0/menu-window-titlebar_menu.blp:55 +msgid "Split Down" +msgstr "Сплит вниз" + +#: src/apprt/gtk/ui/1.0/menu-surface-context_menu.blp:48 +#: src/apprt/gtk/ui/1.0/menu-window-titlebar_menu.blp:60 +msgid "Split Left" +msgstr "Сплит влево" + +#: src/apprt/gtk/ui/1.0/menu-surface-context_menu.blp:53 +#: src/apprt/gtk/ui/1.0/menu-window-titlebar_menu.blp:65 +msgid "Split Right" +msgstr "Сплит вправо" + +#: src/apprt/gtk/ui/1.0/menu-surface-context_menu.blp:59 +msgid "Tab" +msgstr "Вкладка" + +#: src/apprt/gtk/ui/1.0/menu-surface-context_menu.blp:62 +#: src/apprt/gtk/ui/1.0/menu-window-titlebar_menu.blp:30 +#: src/apprt/gtk/Window.zig:246 +msgid "New Tab" +msgstr "Новая вкладка" + +#: src/apprt/gtk/ui/1.0/menu-surface-context_menu.blp:67 +#: src/apprt/gtk/ui/1.0/menu-window-titlebar_menu.blp:35 +msgid "Close Tab" +msgstr "Закрыть вкладку" + +#: src/apprt/gtk/ui/1.0/menu-surface-context_menu.blp:73 +msgid "Window" +msgstr "Окно" + +#: src/apprt/gtk/ui/1.0/menu-surface-context_menu.blp:76 +#: src/apprt/gtk/ui/1.0/menu-window-titlebar_menu.blp:18 +msgid "New Window" +msgstr "Новое окно" + +#: src/apprt/gtk/ui/1.0/menu-surface-context_menu.blp:81 +#: src/apprt/gtk/ui/1.0/menu-window-titlebar_menu.blp:23 +msgid "Close Window" +msgstr "Закрыть окно" + +#: src/apprt/gtk/ui/1.0/menu-surface-context_menu.blp:89 +msgid "Config" +msgstr "Конфигурация" + +#: src/apprt/gtk/ui/1.0/menu-surface-context_menu.blp:92 +#: src/apprt/gtk/ui/1.0/menu-window-titlebar_menu.blp:90 +msgid "Open Configuration" +msgstr "Открыть конфигурационный файл" + +#: src/apprt/gtk/ui/1.0/menu-window-titlebar_menu.blp:85 +msgid "Terminal Inspector" +msgstr "Инспектор терминала" + +#: src/apprt/gtk/ui/1.0/menu-window-titlebar_menu.blp:102 +#: src/apprt/gtk/Window.zig:960 +msgid "About Ghostty" +msgstr "О Ghostty" + +#: src/apprt/gtk/ui/1.0/menu-window-titlebar_menu.blp:107 +msgid "Quit" +msgstr "Выход" + +#: src/apprt/gtk/ui/1.5/ccw-osc-52-read.blp:6 +#: src/apprt/gtk/ui/1.5/ccw-osc-52-write.blp:6 +msgid "Authorize Clipboard Access" +msgstr "Разрешить доступ к буферу обмена" + +#: src/apprt/gtk/ui/1.5/ccw-osc-52-read.blp:7 +msgid "" +"An application is attempting to read from the clipboard. The current " +"clipboard contents are shown below." +msgstr "Приложение пытается прочитать данные из буфера обмена. Эти данные показаны ниже." + +#: src/apprt/gtk/ui/1.5/ccw-osc-52-read.blp:10 +#: src/apprt/gtk/ui/1.5/ccw-osc-52-write.blp:10 +msgid "Deny" +msgstr "Отклонить" + +#: src/apprt/gtk/ui/1.5/ccw-osc-52-read.blp:11 +#: src/apprt/gtk/ui/1.5/ccw-osc-52-write.blp:11 +msgid "Allow" +msgstr "Разрешить" + +#: src/apprt/gtk/ui/1.5/ccw-osc-52-write.blp:7 +msgid "" +"An application is attempting to write to the clipboard. The current " +"clipboard contents are shown below." +msgstr "Приложение пытается записать данные в буфер обмена. Эти данные показаны ниже." + +#: src/apprt/gtk/ui/1.5/ccw-paste.blp:6 +msgid "Warning: Potentially Unsafe Paste" +msgstr "Внимание! Вставляемые данные могут нанести вред вашей системе" + +#: src/apprt/gtk/ui/1.5/ccw-paste.blp:7 +msgid "" +"Pasting this text into the terminal may be dangerous as it looks like some " +"commands may be executed." +msgstr "Вставка этого текста в терминал может быть опасной. Это выглядит как команды, которые могут быть исполнены." + +#: src/apprt/gtk/inspector.zig:144 +msgid "Ghostty: Terminal Inspector" +msgstr "Ghostty: инспектор терминала" + +#: src/apprt/gtk/Surface.zig:1243 +msgid "Copied to clipboard" +msgstr "Скопировано в буфер обмена" + +#: src/apprt/gtk/CloseDialog.zig:47 +msgid "Close" +msgstr "Закрыть" + +#: src/apprt/gtk/CloseDialog.zig:87 +msgid "Quit Ghostty?" +msgstr "Закрыть Ghostty?" + +#: src/apprt/gtk/CloseDialog.zig:88 +msgid "Close Window?" +msgstr "Закрыть окно?" + +#: src/apprt/gtk/CloseDialog.zig:89 +msgid "Close Tab?" +msgstr "Закрыть вкладку?" + +#: src/apprt/gtk/CloseDialog.zig:90 +msgid "Close Split?" +msgstr "Закрыть сплит-режим?" + +#: src/apprt/gtk/CloseDialog.zig:96 +msgid "All terminal sessions will be terminated." +msgstr "Все сессии терминала будут остановлены." + +#: src/apprt/gtk/CloseDialog.zig:97 +msgid "All terminal sessions in this window will be terminated." +msgstr "Все сессии терминала в этом окне будут остановлены." + +#: src/apprt/gtk/CloseDialog.zig:98 +msgid "All terminal sessions in this tab will be terminated." +msgstr "Все сессии терминала в этой вкладке будут остановлены." + +#: src/apprt/gtk/CloseDialog.zig:99 +msgid "The currently running process in this split will be terminated." +msgstr "Запущенный процесс в этой сплит-области будет остановлен." + +#: src/apprt/gtk/Window.zig:200 +msgid "Main Menu" +msgstr "Главное меню" + +#: src/apprt/gtk/Window.zig:221 +msgid "View Open Tabs" +msgstr "Просмотреть открытые вкладки" + +#: src/apprt/gtk/Window.zig:295 +msgid "" +"⚠️ You're running a debug build of Ghostty! Performance will be degraded." +msgstr "Вы запустили Ghostty в режиме отладки! Это может влиять на производительность." + +#: src/apprt/gtk/Window.zig:725 +msgid "Reloaded the configuration" +msgstr "Конфигурация была обновлена" + +#: src/apprt/gtk/Window.zig:941 +msgid "Ghostty Developers" +msgstr "Разработчики Ghostty" diff --git a/src/os/i18n.zig b/src/os/i18n.zig index f0d815c92..bb76e2011 100644 --- a/src/os/i18n.zig +++ b/src/os/i18n.zig @@ -32,6 +32,7 @@ pub const locales = [_][:0]const u8{ "pl_PL.UTF-8", "ja_JP.UTF-8", "id_ID.UTF-8", + "ru_RU.UTF-8", }; /// Set for faster membership lookup of locales. From 91f9fdb1be8b5a2a40367cec24f9e28ee58b6656 Mon Sep 17 00:00:00 2001 From: blackzeshi Date: Mon, 24 Mar 2025 20:54:30 +0500 Subject: [PATCH 2/8] some fixes to adding russian translation (i.e. emoji) --- po/ru_RU.UTF-8.po | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/po/ru_RU.UTF-8.po b/po/ru_RU.UTF-8.po index f867f4f77..86e6648f6 100644 --- a/po/ru_RU.UTF-8.po +++ b/po/ru_RU.UTF-8.po @@ -44,7 +44,9 @@ msgstr "Ошибки конфигурации" msgid "" "One or more configuration errors were found. Please review the errors below, " "and either reload your configuration or ignore these errors." -msgstr "Были обнаружены одна или несколько ошибок конфигурации. Пожалуйста, проверьте ошибки ниже, " +msgstr "" +"Были обнаружены одна или несколько ошибок конфигурации. Пожалуйста, проверьте ошибки ниже, " +"а также перезагрузите конфигурацию или проигнорируйте эти ошибки." #: src/apprt/gtk/ui/1.5/config-errors-dialog.blp:9 msgid "Ignore" @@ -167,7 +169,9 @@ msgstr "Разрешить доступ к буферу обмена" msgid "" "An application is attempting to read from the clipboard. The current " "clipboard contents are shown below." -msgstr "Приложение пытается прочитать данные из буфера обмена. Эти данные показаны ниже." +msgstr "" +"Приложение пытается прочитать данные из буфера обмена. Эти данные " +"отображены ниже." #: src/apprt/gtk/ui/1.5/ccw-osc-52-read.blp:10 #: src/apprt/gtk/ui/1.5/ccw-osc-52-write.blp:10 @@ -183,7 +187,9 @@ msgstr "Разрешить" msgid "" "An application is attempting to write to the clipboard. The current " "clipboard contents are shown below." -msgstr "Приложение пытается записать данные в буфер обмена. Эти данные показаны ниже." +msgstr "" +"Приложение пытается записать данные в буфер обмена. Эти данные " +"показаны ниже." #: src/apprt/gtk/ui/1.5/ccw-paste.blp:6 msgid "Warning: Potentially Unsafe Paste" @@ -193,7 +199,9 @@ msgstr "Внимание! Вставляемые данные могут нан msgid "" "Pasting this text into the terminal may be dangerous as it looks like some " "commands may be executed." -msgstr "Вставка этого текста в терминал может быть опасной. Это выглядит как команды, которые могут быть исполнены." +msgstr "" +"Вставка этого текста в терминал может быть опасной. Это выглядит " +"как команды, которые могут быть исполнены." #: src/apprt/gtk/inspector.zig:144 msgid "Ghostty: Terminal Inspector" @@ -250,7 +258,8 @@ msgstr "Просмотреть открытые вкладки" #: src/apprt/gtk/Window.zig:295 msgid "" "⚠️ You're running a debug build of Ghostty! Performance will be degraded." -msgstr "Вы запустили Ghostty в режиме отладки! Это может влиять на производительность." +msgstr "" +"⚠️ Вы запустили Ghostty в режиме отладки! Это может влиять на производительность." #: src/apprt/gtk/Window.zig:725 msgid "Reloaded the configuration" From 0d23f7af31905ea3eb78373cb2e37296e0cd618a Mon Sep 17 00:00:00 2001 From: blackzeshi <105582686+zeshi09@users.noreply.github.com> Date: Tue, 25 Mar 2025 20:34:12 +0500 Subject: [PATCH 3/8] Update po/ru_RU.UTF-8.po 248 line changed Co-authored-by: TicClick --- po/ru_RU.UTF-8.po | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/po/ru_RU.UTF-8.po b/po/ru_RU.UTF-8.po index 86e6648f6..f10db2d3b 100644 --- a/po/ru_RU.UTF-8.po +++ b/po/ru_RU.UTF-8.po @@ -245,7 +245,7 @@ msgstr "Все сессии терминала в этой вкладке буд #: src/apprt/gtk/CloseDialog.zig:99 msgid "The currently running process in this split will be terminated." -msgstr "Запущенный процесс в этой сплит-области будет остановлен." +msgstr "Процесс, работающий в этой сплит-области, будет остановлен." #: src/apprt/gtk/Window.zig:200 msgid "Main Menu" From f4054daf0d7cda0928be9b0df8686e95460352d7 Mon Sep 17 00:00:00 2001 From: blackzeshi <105582686+zeshi09@users.noreply.github.com> Date: Tue, 25 Mar 2025 20:35:19 +0500 Subject: [PATCH 4/8] Update po/ru_RU.UTF-8.po 262 line about debug build fixed Co-authored-by: TicClick --- po/ru_RU.UTF-8.po | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/po/ru_RU.UTF-8.po b/po/ru_RU.UTF-8.po index f10db2d3b..1cce96232 100644 --- a/po/ru_RU.UTF-8.po +++ b/po/ru_RU.UTF-8.po @@ -259,7 +259,7 @@ msgstr "Просмотреть открытые вкладки" msgid "" "⚠️ You're running a debug build of Ghostty! Performance will be degraded." msgstr "" -"⚠️ Вы запустили Ghostty в режиме отладки! Это может влиять на производительность." +"⚠️ Вы запустили отладочную сборку Ghostty! Это может влиять на производительность." #: src/apprt/gtk/Window.zig:725 msgid "Reloaded the configuration" From d0403021a4332e251672c54bef9f6c09dd12adac Mon Sep 17 00:00:00 2001 From: blackzeshi <105582686+zeshi09@users.noreply.github.com> Date: Tue, 25 Mar 2025 20:35:58 +0500 Subject: [PATCH 5/8] Update po/ru_RU.UTF-8.po 2 line fixed Co-authored-by: TicClick --- po/ru_RU.UTF-8.po | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/po/ru_RU.UTF-8.po b/po/ru_RU.UTF-8.po index 1cce96232..0811d2338 100644 --- a/po/ru_RU.UTF-8.po +++ b/po/ru_RU.UTF-8.po @@ -1,5 +1,5 @@ # Russian translations for com.mitchellh.ghostty package -# Английские переводы для пакета com.mitchellh.ghostty. +# Русские переводы для пакета com.mitchellh.ghostty. # Copyright (C) 2025 Mitchell Hashimoto # This file is distributed under the same license as the com.mitchellh.ghostty package. # blackzeshi , 2025. From 0d226d139baf29c792866ed47265c826cf072620 Mon Sep 17 00:00:00 2001 From: blackzeshi <105582686+zeshi09@users.noreply.github.com> Date: Sun, 30 Mar 2025 15:18:02 +0500 Subject: [PATCH 6/8] Update po/ru_RU.UTF-8.po Co-authored-by: TicClick --- po/ru_RU.UTF-8.po | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/po/ru_RU.UTF-8.po b/po/ru_RU.UTF-8.po index 0811d2338..50e67fa48 100644 --- a/po/ru_RU.UTF-8.po +++ b/po/ru_RU.UTF-8.po @@ -92,7 +92,7 @@ msgstr "Изменить заголовок…" #: src/apprt/gtk/ui/1.0/menu-surface-context_menu.blp:38 #: src/apprt/gtk/ui/1.0/menu-window-titlebar_menu.blp:50 msgid "Split Up" -msgstr "Сплит наверх" +msgstr "Сплит вверх" #: src/apprt/gtk/ui/1.0/menu-surface-context_menu.blp:43 #: src/apprt/gtk/ui/1.0/menu-window-titlebar_menu.blp:55 From 077ae6a09807322f911314900ff8e4619c208d82 Mon Sep 17 00:00:00 2001 From: blackzeshi <105582686+zeshi09@users.noreply.github.com> Date: Sun, 30 Mar 2025 15:18:24 +0500 Subject: [PATCH 7/8] Update po/ru_RU.UTF-8.po Co-authored-by: TicClick --- po/ru_RU.UTF-8.po | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/po/ru_RU.UTF-8.po b/po/ru_RU.UTF-8.po index 50e67fa48..a3c21a246 100644 --- a/po/ru_RU.UTF-8.po +++ b/po/ru_RU.UTF-8.po @@ -45,8 +45,8 @@ msgid "" "One or more configuration errors were found. Please review the errors below, " "and either reload your configuration or ignore these errors." msgstr "" -"Были обнаружены одна или несколько ошибок конфигурации. Пожалуйста, проверьте ошибки ниже, " -"а также перезагрузите конфигурацию или проигнорируйте эти ошибки." +"Конфигурация содержит ошибки. Проверьте их ниже, а затем" +"либо перезагрузите конфигурацию, либо проигнорируйте ошибки." #: src/apprt/gtk/ui/1.5/config-errors-dialog.blp:9 msgid "Ignore" From 52ac670913b3339256317d349564ed93762f95b2 Mon Sep 17 00:00:00 2001 From: Mitchell Hashimoto Date: Fri, 11 Apr 2025 09:47:09 -0700 Subject: [PATCH 8/8] CODEOWNERS --- CODEOWNERS | 1 + src/os/i18n.zig | 6 ++++++ 2 files changed, 7 insertions(+) diff --git a/CODEOWNERS b/CODEOWNERS index 1dbe5af17..e7066ed9f 100644 --- a/CODEOWNERS +++ b/CODEOWNERS @@ -164,6 +164,7 @@ /po/ja_JP.UTF-8.po @ghostty-org/ja_JP /po/nb_NO.UTF-8.po @ghostty-org/nb_NO /po/pl_PL.UTF-8.po @ghostty-org/pl_PL +/po/ru_RU.UTF-8.po @ghostty-org/ru_RU /po/uk_UA.UTF-8.po @ghostty-org/uk_UA /po/zh_CN.UTF-8.po @ghostty-org/zh_CN diff --git a/src/os/i18n.zig b/src/os/i18n.zig index d546bbe8f..eab726592 100644 --- a/src/os/i18n.zig +++ b/src/os/i18n.zig @@ -23,6 +23,12 @@ const log = std.log.scoped(.i18n); /// /// 3. Most preferred locale for a language without a country code. /// +/// Note for "most common" locales, this is subjective and based on +/// the perceived userbase of Ghostty, which may not be representative +/// of general populations or global language distribution. Also note +/// that ordering may be weird when we first merge a new locale since +/// we don't have a good way to determine this. We can always reorder +/// with some data. pub const locales = [_][:0]const u8{ "zh_CN.UTF-8", "de_DE.UTF-8",