From 60071d5443421cf54dcec1cd127048f6972d7792 Mon Sep 17 00:00:00 2001 From: Eugene Zamriy Date: Sun, 30 Jul 2023 11:44:44 +0300 Subject: [PATCH] Fixes translation issues in MSVSphere identification patch --- ...Add-MSVSphere-identification-support.patch | 178 +++++++++++------- 1 file changed, 111 insertions(+), 67 deletions(-) diff --git a/SOURCES/0011-Add-MSVSphere-identification-support.patch b/SOURCES/0011-Add-MSVSphere-identification-support.patch index 6b793ab..8c0c7de 100644 --- a/SOURCES/0011-Add-MSVSphere-identification-support.patch +++ b/SOURCES/0011-Add-MSVSphere-identification-support.patch @@ -1,4 +1,4 @@ -From f2257d661603cdc6649a8b7cd7a18eca7fb00612 Mon Sep 17 00:00:00 2001 +From 40cf1f84994c1394c5b8b7a78ccc3a5e9dbd312e Mon Sep 17 00:00:00 2001 From: Eugene Zamriy Date: Thu, 18 May 2023 11:38:45 +0300 Subject: [PATCH 11/11] Add MSVSphere identification support @@ -6,13 +6,13 @@ Subject: [PATCH 11/11] Add MSVSphere identification support --- data/liveinst/gnome/fedora-welcome.desktop | 4 +- data/liveinst/gnome/fedora-welcome.js | 2 +- - po/ru.po | 102 ++++++++++++------ - pyanaconda/product.py | 19 +++- + po/ru.po | 132 +++++++++++++----- + pyanaconda/product.py | 23 ++- .../ui/gui/spokes/installation_progress.py | 8 +- .../ui/gui/spokes/lib/storage_dialogs.py | 4 +- - pyanaconda/ui/gui/spokes/welcome.py | 10 +- - pyanaconda/vnc.py | 17 ++- - 8 files changed, 118 insertions(+), 48 deletions(-) + pyanaconda/ui/gui/spokes/welcome.py | 15 +- + pyanaconda/vnc.py | 27 +++- + 8 files changed, 164 insertions(+), 51 deletions(-) diff --git a/data/liveinst/gnome/fedora-welcome.desktop b/data/liveinst/gnome/fedora-welcome.desktop index 90f5678..abbbff3 100644 @@ -41,32 +41,34 @@ index 4c0a66a..120d718 100755 this.window.connect('key-press-event', Lang.bind(this, function(w, event) { diff --git a/po/ru.po b/po/ru.po -index c478f3f..df05bee 100644 +index c478f3f..55a9447 100644 --- a/po/ru.po +++ b/po/ru.po -@@ -375,11 +375,20 @@ msgid "" +@@ -375,7 +375,22 @@ msgid "" "Would you like to ignore this and continue with installation?" msgstr "" -#: pyanaconda/product.py:69 -+#: pyanaconda/product.py:77 - #, python-format - msgid "%(productName)s %(productVersion)s INSTALLATION" - msgstr "УСТАНОВКА %(productName)s %(productVersion)s" - ++#: pyanaconda/product.py:83 ++#, python-format +msgid "MSVSphere %(productVersion)s Server INSTALLATION" +msgstr "УСТАНОВКА МСВСфера %(productVersion)s Сервер" + ++#: pyanaconda/product.py:85 ++#, python-format +msgid "MSVSphere %(productVersion)s ARM INSTALLATION" +msgstr "УСТАНОВКА МСВСфера %(productVersion)s АРМ" + ++#: pyanaconda/product.py:87 ++#, python-format +msgid "MSVSphere %(productVersion)s OS INSTALLATION" +msgstr "УСТАНОВКА МСВСфера %(productVersion)s ОС" + - #: pyanaconda/ui/tui/hubs/__init__.py:54 - msgid "Default HUB title" - msgstr "Название центра управления по умолчанию" -@@ -1152,7 +1161,7 @@ msgstr "" ++#: pyanaconda/product.py:89 + #, python-format + msgid "%(productName)s %(productVersion)s INSTALLATION" + msgstr "УСТАНОВКА %(productName)s %(productVersion)s" +@@ -1152,7 +1167,7 @@ msgstr "" #: pyanaconda/ui/gui/__init__.py:365 widgets/src/BaseWindow.c:151 msgid "Help!" @@ -75,7 +77,7 @@ index c478f3f..df05bee 100644 #: pyanaconda/ui/gui/__init__.py:854 #: pyanaconda/ui/gui/spokes/lib/detailederror.py:58 -@@ -1182,7 +1191,7 @@ msgid "" +@@ -1182,7 +1197,7 @@ msgid "" "\"\">Click for details." msgstr "" "Предупреждение: в процессоре включена одновременная многопоточность (SMT). " @@ -84,23 +86,31 @@ index c478f3f..df05bee 100644 #: pyanaconda/ui/gui/hubs/summary.py:103 msgid "" -@@ -1426,6 +1435,15 @@ msgstr "О_ставить текущий выбор" +@@ -1424,7 +1439,22 @@ msgctxt "GUI|Custom Partitioning|Reset Dialog" + msgid "_Preserve current selections" + msgstr "О_ставить текущий выбор" - #: pyanaconda/ui/gui/spokes/welcome.py:274 - #, python-format +-#: pyanaconda/ui/gui/spokes/welcome.py:274 ++#: pyanaconda/ui/gui/spokes/welcome.py:278 ++#, python-format +msgid "WELCOME TO MSVSphere %(version)s Server." +msgstr "ДОБРО ПОЖАЛОВАТЬ В МСВСфера %(version)s Сервер." + ++#: pyanaconda/ui/gui/spokes/welcome.py:280 ++#, python-format +msgid "WELCOME TO MSVSphere %(version)s ARM." +msgstr "ДОБРО ПОЖАЛОВАТЬ В МСВСфера %(version)s АРМ." + ++#: pyanaconda/ui/gui/spokes/welcome.py:282 ++#, python-format +msgid "WELCOME TO MSVSphere %(version)s OS." +msgstr "ДОБРО ПОЖАЛОВАТЬ В МСВСфера %(version)s ОС." + ++#: pyanaconda/ui/gui/spokes/welcome.py:284 + #, python-format msgid "WELCOME TO %(name)s %(version)s." msgstr "ДОБРО ПОЖАЛОВАТЬ В %(name)s %(version)s." - -@@ -2024,7 +2042,7 @@ msgid "" +@@ -2024,7 +2054,7 @@ msgid "" "of available space, including %(software)s for software and " "%(swap)s for swap space." msgstr "" @@ -109,7 +119,7 @@ index c478f3f..df05bee 100644 "%(software)s для программ и %(swap)s для подкачки." #: pyanaconda/ui/gui/spokes/lib/storage_dialogs.py:81 -@@ -2035,7 +2053,7 @@ msgid "" +@@ -2035,7 +2065,7 @@ msgid "" "%(software)s for software and %(swap)s for swap space." msgstr "" "Для программного обеспечения " @@ -118,7 +128,7 @@ index c478f3f..df05bee 100644 "%(software)s для программ и %(swap)s для подкачки." #: pyanaconda/ui/gui/spokes/lib/storage_dialogs.py:132 -@@ -2046,11 +2064,11 @@ msgstr "%s На выбранных дисках доступно:" +@@ -2046,11 +2076,11 @@ msgstr "%s На выбранных дисках доступно:" #: pyanaconda/ui/gui/spokes/lib/storage_dialogs.py:142 #, python-format msgid "" @@ -132,7 +142,7 @@ index c478f3f..df05bee 100644 "существующие разделы с помощью помощника или самостоятельно выбрать размеры " "разделов в окне настройки разделов." -@@ -2060,7 +2078,7 @@ msgid "" +@@ -2060,7 +2090,7 @@ msgid "" " You don't have enough space available to install %(product)s, even " "if you used all of the free space available on the selected disks." msgstr "" @@ -141,7 +151,7 @@ index c478f3f..df05bee 100644 "использовать все свободное место на выбранных дисках." #: pyanaconda/ui/gui/spokes/lib/storage_dialogs.py:178 -@@ -2071,10 +2089,10 @@ msgid "" +@@ -2071,10 +2101,10 @@ msgid "" "could add more disks for additional space, modify your software selection to " "install a smaller version of %(productName)s, or quit the installer." msgstr "" @@ -154,7 +164,7 @@ index c478f3f..df05bee 100644 "покинуть программу установки." #: pyanaconda/ui/gui/spokes/lib/detailederror.py:48 -@@ -2272,20 +2290,20 @@ msgstr "_Завершить установку" +@@ -2272,20 +2302,20 @@ msgstr "_Завершить установку" #: pyanaconda/ui/gui/spokes/installation_progress.py:158 #, python-format msgid "" @@ -181,7 +191,7 @@ index c478f3f..df05bee 100644 #: pyanaconda/ui/gui/spokes/software_selection.py:66 msgctxt "GUI|Spoke" -@@ -2868,7 +2886,7 @@ msgid "" +@@ -2868,7 +2898,7 @@ msgid "" "recommended for a normal %(productName)s install." msgstr "" "Размер раздела %(mount)s меньше %(size)s, что меньше рекомендованного " @@ -190,7 +200,7 @@ index c478f3f..df05bee 100644 #: pyanaconda/modules/storage/checker/utils.py:131 #, python-format -@@ -3548,7 +3566,7 @@ msgstr "Не удалось продолжить установку." +@@ -3548,7 +3578,7 @@ msgstr "Не удалось продолжить установку." #: pyanaconda/modules/storage/partitioning/interactive/utils.py:213 #, python-brace-format msgid "New {name} {version} Installation" @@ -199,7 +209,7 @@ index c478f3f..df05bee 100644 #: pyanaconda/modules/storage/partitioning/interactive/utils.py:275 msgid "Cannot set label on file system." -@@ -3959,13 +3977,13 @@ msgstr "" +@@ -3959,13 +3989,13 @@ msgstr "" #: pyanaconda/core/constants.py:159 msgid "" @@ -219,37 +229,52 @@ index c478f3f..df05bee 100644 #: pyanaconda/core/constants.py:165 msgid "" -@@ -4305,11 +4323,29 @@ msgstr "Полное имя не может содержать двоеточи +@@ -4303,12 +4333,42 @@ msgstr "не настроено" + msgid "Full name cannot contain colon characters" + msgstr "Полное имя не может содержать двоеточий" - #: pyanaconda/vnc.py:79 - #, python-format +-#: pyanaconda/vnc.py:79 ++#: pyanaconda/vnc.py:81 ++#, python-format +msgid "MSVSphere %(productVersion)s Server installation" +msgstr "Установка МСВСфера %(productVersion)s Сервер" + ++#: pyanaconda/vnc.py:83 ++#, python-format +msgid "MSVSphere %(productVersion)s ARM installation" +msgstr "Установка МСВСфера %(productVersion)s АРМ" + ++#: pyanaconda/vnc.py:85 ++#, python-format +msgid "MSVSphere %(productVersion)s OS installation" +msgstr "Установка МСВСфера %(productVersion)s ОС" + ++#: pyanaconda/vnc.py:87 + #, python-format msgid "%(productName)s %(productVersion)s installation" msgstr "Установка %(productName)s %(productVersion)s" - #: pyanaconda/vnc.py:148 - #, python-format +-#: pyanaconda/vnc.py:148 ++#: pyanaconda/vnc.py:159 ++#, python-format +msgid "MSVSphere %(productVersion)s Server installation on host %(name)s" +msgstr "Установка МСВСфера %(productVersion)s Сервер на %(name)s" + ++#: pyanaconda/vnc.py:162 ++#, python-format +msgid "MSVSphere %(productVersion)s ARM installation on host %(name)s" +msgstr "Установка МСВСфера %(productVersion)s АРМ на %(name)s" + ++#: pyanaconda/vnc.py:165 ++#, python-format +msgid "MSVSphere %(productVersion)s OS installation on host %(name)s" +msgstr "Установка МСВСфера %(productVersion)s ОС на %(name)s" + ++#: pyanaconda/vnc.py:168 + #, python-format msgid "%(productName)s %(productVersion)s installation on host %(name)s" msgstr "Установка %(productName)s %(productVersion)s на %(name)s" - -@@ -7556,22 +7592,22 @@ msgstr "Установить Live CD на жёсткий диск" +@@ -7556,22 +7616,22 @@ msgstr "Установить Live CD на жёсткий диск" #: data/liveinst/gnome/fedora-welcome.desktop:3 #: data/liveinst/gnome/fedora-welcome.js:65 @@ -282,10 +307,10 @@ index c478f3f..df05bee 100644 #: data/liveinst/gnome/fedora-welcome.js:130 msgid "" diff --git a/pyanaconda/product.py b/pyanaconda/product.py -index 9dbfe1f..a679b7a 100644 +index 9dbfe1f..4f78491 100644 --- a/pyanaconda/product.py +++ b/pyanaconda/product.py -@@ -64,9 +64,26 @@ def trim_product_version_for_ui(version): +@@ -64,9 +64,30 @@ def trim_product_version_for_ui(version): productVersion = trim_product_version_for_ui(productVersion) @@ -305,11 +330,15 @@ index 9dbfe1f..a679b7a 100644 def distributionText(): - return _("%(productName)s %(productVersion)s INSTALLATION") % { -+ if productBase == "MSVSphere": -+ distro_text = f"MSVSphere %(productVersion)s {productFlavor} INSTALLATION" ++ if productBase == "MSVSphere" and productFlavor == "Server": ++ distro_text = _("MSVSphere %(productVersion)s Server INSTALLATION") ++ elif productBase == "MSVSphere" and productFlavor == "ARM": ++ distro_text = _("MSVSphere %(productVersion)s ARM INSTALLATION") ++ elif productBase == "MSVSphere" and productFlavor == "OS": ++ distro_text = _("MSVSphere %(productVersion)s OS INSTALLATION") + else: -+ distro_text = "%(productName)s %(productVersion)s INSTALLATION" -+ return _(distro_text) % { ++ distro_text = _("%(productName)s %(productVersion)s INSTALLATION") ++ return distro_text % { "productName": productName.upper(), "productVersion": productVersion.upper() } @@ -354,65 +383,80 @@ index 2f8338b..e330641 100644 self._add_modify_watcher(label) diff --git a/pyanaconda/ui/gui/spokes/welcome.py b/pyanaconda/ui/gui/spokes/welcome.py -index 2d8f6b2..541f61e 100644 +index 2d8f6b2..4e1fd87 100644 --- a/pyanaconda/ui/gui/spokes/welcome.py +++ b/pyanaconda/ui/gui/spokes/welcome.py -@@ -34,7 +34,9 @@ from pyanaconda.ui.gui.spokes.lib.lang_locale_handler import LangLocaleHandler +@@ -34,7 +34,10 @@ from pyanaconda.ui.gui.spokes.lib.lang_locale_handler import LangLocaleHandler from pyanaconda.ui.gui.spokes.lib.unsupported_hardware import UnsupportedHardwareDialog from pyanaconda import localization -from pyanaconda.product import distributionText, isFinal, productName, productVersion +from pyanaconda.product import ( -+ distributionText, isFinal, productName, productVersion, productFlavor ++ distributionText, isFinal, productName, productVersion, productBase, ++ productFlavor +) from pyanaconda import flags from pyanaconda import geoloc from pyanaconda.core.i18n import _, C_ -@@ -271,7 +273,11 @@ class WelcomeLanguageSpoke(StandaloneSpoke, LangLocaleHandler): +@@ -271,7 +274,15 @@ class WelcomeLanguageSpoke(StandaloneSpoke, LangLocaleHandler): # substituted. welcomeLabel = self.builder.get_object("welcomeLabel") - welcomeLabel.set_text(_("WELCOME TO %(name)s %(version)s.") % -+ if productName.startswith("MSVSphere"): -+ welcome_text = f"WELCOME TO MSVSphere %(version)s {productFlavor}." ++ if productBase == "MSVSphere" and productFlavor == "Server": ++ welcome_text = _("WELCOME TO MSVSphere %(version)s Server.") ++ elif productBase == "MSVSphere" and productFlavor == "ARM": ++ welcome_text = _("WELCOME TO MSVSphere %(version)s ARM.") ++ elif productBase == "MSVSphere" and productFlavor == "OS": ++ welcome_text = _("WELCOME TO MSVSphere %(version)s OS.") + else: -+ welcome_text = "WELCOME TO %(name)s %(version)s." -+ welcomeLabel.set_text(_(welcome_text) % ++ welcome_text = _("WELCOME TO %(name)s %(version)s.") ++ welcomeLabel.set_text(welcome_text % {"name" : productName.upper(), "version" : productVersion}) # pylint: disable=no-member # Retranslate the language (filtering) entry's placeholder text diff --git a/pyanaconda/vnc.py b/pyanaconda/vnc.py -index 5fadcde..053735f 100644 +index 5fadcde..c53249f 100644 --- a/pyanaconda/vnc.py +++ b/pyanaconda/vnc.py -@@ -76,7 +76,12 @@ class VncServer(object): +@@ -76,7 +76,16 @@ class VncServer(object): self.anaconda = None self.log = get_stdout_logger() - self.desktop = _("%(productName)s %(productVersion)s installation")\ -+ if product.productName.startswith("MSVSphere"): -+ desktop_text = f"MSVSphere %(productVersion)s " \ -+ f"{product.productFlavor} installation" ++ is_sphere = product.productBase == "MSVSphere" ++ if is_sphere and product.productFlavor == "Server": ++ desktop_text = _("MSVSphere %(productVersion)s Server installation") ++ elif is_sphere and product.productFlavor == "ARM": ++ desktop_text = _("MSVSphere %(productVersion)s ARM installation") ++ elif is_sphere and product.productFlavor == "OS": ++ desktop_text = _("MSVSphere %(productVersion)s OS installation") + else: -+ desktop_text = "%(productName)s %(productVersion)s installation" -+ self.desktop = _(desktop_text) \ ++ desktop_text = _("%(productName)s %(productVersion)s installation") ++ self.desktop = desktop_text \ % {'productName': product.productName, 'productVersion': product.productVersion} -@@ -145,8 +150,14 @@ class VncServer(object): +@@ -145,8 +154,20 @@ class VncServer(object): # figure out product info if host: - self.desktop = _("%(productName)s %(productVersion)s installation " - "on host %(name)s") \ -+ if product.productName.startswith("MSVSphere"): -+ desktop_text = f"MSVSphere %(productVersion)s " \ -+ f"{product.productFlavor} installation on " \ -+ f"host %(name)s" ++ is_sphere = product.productBase == "MSVSphere" ++ if is_sphere and product.productFlavor == "Server": ++ desktop_text = _("MSVSphere %(productVersion)s Server " ++ "installation on host %(name)s") ++ elif is_sphere and product.productFlavor == "ARM": ++ desktop_text = _("MSVSphere %(productVersion)s ARM " ++ "installation on host %(name)s") ++ elif is_sphere and product.productFlavor == "OS": ++ desktop_text = _("MSVSphere %(productVersion)s OS " ++ "installation on host %(name)s") + else: -+ desktop_text = "%(productName)s %(productVersion)s " \ -+ "installation on host %(name)s" -+ self.desktop = _(desktop_text) \ ++ desktop_text = _("%(productName)s %(productVersion)s " ++ "installation on host %(name)s") ++ self.desktop = desktop_text \ % {'productName': product.productName, 'productVersion': product.productVersion, 'name': host}