From 79f77cd1eb7ff8ee94b9dd71868b3c93530b7f02 Mon Sep 17 00:00:00 2001 From: tigro Date: Sun, 13 Oct 2024 16:30:38 +0300 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 | 200 +++++++++++++++--- pyanaconda/product.py | 40 +++- .../ui/gui/spokes/installation_progress.py | 8 +- pyanaconda/ui/gui/spokes/lib/accordion.py | 2 +- .../ui/gui/spokes/lib/storage_dialogs.py | 4 +- pyanaconda/ui/gui/spokes/welcome.py | 23 +- pyanaconda/vnc.py | 47 +++- 9 files changed, 286 insertions(+), 44 deletions(-) diff --git a/data/liveinst/gnome/fedora-welcome.desktop b/data/liveinst/gnome/fedora-welcome.desktop index 90f5678..5bfd5a5 100644 --- a/data/liveinst/gnome/fedora-welcome.desktop +++ b/data/liveinst/gnome/fedora-welcome.desktop @@ -1,6 +1,6 @@ [Desktop Entry] -Name=Welcome to MSVSphere -Name[ru]=Добро пожаловать в МСВСфера +Name=Welcome to MSVSphere ARM 9.5 +Name[ru]=Добро пожаловать в МСВСфера АРМ 9.5 Exec=/usr/share/anaconda/gnome/fedora-welcome Terminal=false Type=Application diff --git a/data/liveinst/gnome/fedora-welcome.js b/data/liveinst/gnome/fedora-welcome.js index 4c0a66a..a1cc6e3 100755 --- a/data/liveinst/gnome/fedora-welcome.js +++ b/data/liveinst/gnome/fedora-welcome.js @@ -62,7 +62,7 @@ const WelcomeWindow = new Lang.Class({ default_width: 600, default_height: 550, skip_taskbar_hint: true, - title: _("Welcome to MSVSphere"), + title: _("Welcome to MSVSphere ARM 9.5"), window_position: Gtk.WindowPosition.CENTER }); this.window.connect('key-press-event', Lang.bind(this, function(w, event) { diff --git a/po/ru.po b/po/ru.po index 315ee3c..02bf92b 100644 --- a/po/ru.po +++ b/po/ru.po @@ -212,7 +212,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 "" -" Недостаточно места для установки %(product)s, даже если " +" Недостаточно места для установки МСВСфера ОС, даже если " "использовать все свободное место на выбранных дисках." #: pyanaconda/ui/gui/spokes/custom_storage.py:1794 @@ -331,17 +331,122 @@ msgstr "" msgid "%(name)s must have one of the following disklabel types: %(types)s." msgstr "%(name)s может иметь следующий тип метки диска: %(types)s." -#: pyanaconda/product.py:69 +#: 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 Certified INSTALLATION" +msgstr "УСТАНОВКА МСВСфера %(productVersion)s Сертифицированная" + +#: pyanaconda/product.py:87 +#, python-format +msgid "MSVSphere %(productVersion)s ARM INSTALLATION" +msgstr "УСТАНОВКА МСВСфера %(productVersion)s АРМ" + +#: pyanaconda/product.py:89 +#, python-format +msgid "MSVSphere %(productVersion)s Cinnamon INSTALLATION" +msgstr "УСТАНОВКА МСВСфера %(productVersion)s Cinnamon" + +#: pyanaconda/product.py:91 +#, python-format +msgid "MSVSphere %(productVersion)s KDE INSTALLATION" +msgstr "УСТАНОВКА МСВСфера %(productVersion)s KDE" + +#: pyanaconda/product.py:93 +#, python-format +msgid "MSVSphere %(productVersion)s XFCE INSTALLATION" +msgstr "УСТАНОВКА МСВСфера %(productVersion)s XFCE" + +#: pyanaconda/product.py:95 +#, python-format +msgid "MSVSphere %(productVersion)s OS INSTALLATION" +msgstr "УСТАНОВКА МСВСфера %(productVersion)s ОС" + +#: pyanaconda/product.py:97 #, python-format msgid "%(productName)s %(productVersion)s INSTALLATION" msgstr "УСТАНОВКА %(productName)s %(productVersion)s" -#: 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 Certified installation" +msgstr "Установка МСВСфера %(productVersion)s Сертифицированная" + +#: pyanaconda/vnc.py:85 +#, python-format +msgid "MSVSphere %(productVersion)s ARM installation" +msgstr "Установка МСВСфера %(productVersion)s АРМ" + +#: pyanaconda/vnc.py:87 +#, python-format +msgid "MSVSphere %(productVersion)s Cinnamon installation" +msgstr "Установка МСВСфера %(productVersion)s Cinnamon" + +#: pyanaconda/vnc.py:89 +#, python-format +msgid "MSVSphere %(productVersion)s KDE installation" +msgstr "Установка МСВСфера %(productVersion)s KDE" + +#: pyanaconda/vnc.py:91 +#, python-format +msgid "MSVSphere %(productVersion)s XFCE installation" +msgstr "Установка МСВСфера %(productVersion)s XFCE" + +#: pyanaconda/vnc.py:93 +#, python-format +msgid "MSVSphere %(productVersion)s OS installation" +msgstr "Установка МСВСфера %(productVersion)s ОС" + +#: pyanaconda/vnc.py:95 #, python-format msgid "%(productName)s %(productVersion)s installation" msgstr "Установка %(productName)s %(productVersion)s" -#: pyanaconda/vnc.py:148 +#: pyanaconda/vnc.py:167 +#, python-format +msgid "MSVSphere %(productVersion)s Server installation on host %(name)s" +msgstr "Установка МСВСфера %(productVersion)s Сервер на %(name)s" + +#: pyanaconda/vnc.py:170 +#, python-format +msgid "MSVSphere %(productVersion)s Certified installation on host %(name)s" +msgstr "Установка МСВСфера %(productVersion)s Сертифицированная на %(name)s" + +#: pyanaconda/vnc.py:173 +#, python-format +msgid "MSVSphere %(productVersion)s ARM installation on host %(name)s" +msgstr "Установка МСВСфера %(productVersion)s АРМ на %(name)s" + +#: pyanaconda/vnc.py:176 +#, python-format +msgid "MSVSphere %(productVersion)s Cinnamon installation on host %(name)s" +msgstr "Установка МСВСфера %(productVersion)s Cinnamon на %(name)s" + +#: pyanaconda/vnc.py:179 +#, python-format +msgid "MSVSphere %(productVersion)s KDE installation on host %(name)s" +msgstr "Установка МСВСфера %(productVersion)s KDE на %(name)s" + +#: pyanaconda/vnc.py:182 +#, python-format +msgid "MSVSphere %(productVersion)s XFCE installation on host %(name)s" +msgstr "Установка МСВСфера %(productVersion)s XFCE на %(name)s" + +#: pyanaconda/vnc.py:185 +#, python-format +msgid "MSVSphere %(productVersion)s OS installation on host %(name)s" +msgstr "Установка МСВСфера %(productVersion)s ОС на %(name)s" + +#: pyanaconda/vnc.py:188 #, python-format msgid "%(productName)s %(productVersion)s installation on host %(name)s" msgstr "Установка %(productName)s %(productVersion)s на %(name)s" @@ -397,20 +502,20 @@ msgstr "Нет %s. Настройка сетевого экрана невозм #: pyanaconda/ui/gui/spokes/installation_progress.py:163 #, python-format msgid "" -"%s is now successfully installed and ready for you to use!\n" +"%(name)s is now successfully installed and ready for you to use!\n" "Go ahead and quit the application to start using it!" msgstr "" -"%s успешно установлено и готово к использованию!\n" -"Выйдите из приложения и начните использовать его!" +"МСВСфера ОС успешно установлено и готово к использованию!\n" +"Необходимо выйти из приложения чтобы приступить к использованию." #: pyanaconda/ui/gui/spokes/installation_progress.py:158 #, python-format msgid "" -"%s is now successfully installed and ready for you to use!\n" +"%(name)s is now successfully installed and ready for you to use!\n" "Go ahead and reboot your system to start using it!" msgstr "" -"%s успешно установлена и готова к использованию!\n" -"Давайте, перезагружайте систему и начинайте использовать ее!" +"МСВСфера ОС успешно установлена и готова к использованию!\n" +"Необходимо перезагрузить систему чтобы приступить к использованию." #: pyanaconda/modules/storage/bootloader/base.py:435 #, python-format @@ -509,20 +614,20 @@ 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 "" -"Недостаточно места для установки %(productName)s, даже если " +"Недостаточно места для установки МСВСфера ОС, даже если " "использовать всё свободное место на выбранных дисках. Можно добавить ещё " "диски, чтобы получить дополнительное место, изменить выбор программного " -"обеспечения, чтобы установить меньший вариант %(productName)s, или " +"обеспечения, чтобы установить меньший вариант МСВСфера ОС, или " "покинуть программу установки." #: pyanaconda/ui/gui/spokes/lib/storage_dialogs.py:142 #, python-format msgid "" -"You don't have enough space available to install %s. You can shrink " +"You don't have enough space available to install %(name)s. You can shrink " "or remove existing partitions via our guided reclaim space tool, or you can " "adjust your partitions on your own in the custom partitioning interface." msgstr "" -"Недостаточно места для установки %s. Можно уменьшить или удалить " +"Недостаточно места для установки МСВСфера ОС. Можно уменьшить или удалить " "существующие разделы с помощью помощника или самостоятельно выбрать размеры " "разделов в окне настройки разделов." @@ -2942,7 +3047,7 @@ msgstr "Новый выбор" #: pyanaconda/modules/storage/partitioning/interactive/utils.py:213 #, python-brace-format msgid "New {name} {version} Installation" -msgstr "Новая установка {name} {version}" +msgstr "Новая установка МСВСфера {version}" #: pyanaconda/ui/tui/spokes/installation_source.py:476 msgid "No *.iso files found in device root folder" @@ -5263,13 +5368,13 @@ msgstr "Размер этой файловой системы не может б #: pyanaconda/core/constants.py:157 msgid "" -"This hardware (or a combination thereof) is not supported by Red Hat. For " -"more information on supported hardware, please refer to http://www.redhat." -"com/hardware." +"This hardware (or a combination thereof) is not supported by MSVSphere. For " +"more information on supported hardware, please refer to " +"https://msvsphere-os.ru." msgstr "" -"Это аппаратное обеспечение (или их комбинация) не поддерживается Red Hat. " +"Это аппаратное обеспечение (или их комбинация) не поддерживается МСВСфера ОС. " "Для получения дополнительной информации о поддерживаемом оборудовании см. " -"http://www.redhat.com/hardware." +"https://msvsphere-os.ru." #: pyanaconda/ui/gui/spokes/lib/beta_warning_dialog.glade:68 msgid "This is unstable, pre-release software." @@ -5727,7 +5832,42 @@ msgstr "" msgid "WELCOME" msgstr "ДОБРО ПОЖАЛОВАТЬ" -#: pyanaconda/ui/gui/spokes/welcome.py:209 +#: pyanaconda/ui/gui/spokes/welcome.py:213 +#, python-format +msgid "WELCOME TO MSVSphere %(version)s Server" +msgstr "ДОБРО ПОЖАЛОВАТЬ В МСВСфера %(version)s Сервер" + +#: pyanaconda/ui/gui/spokes/welcome.py:215 +#, python-format +msgid "WELCOME TO MSVSphere %(version)s Certified" +msgstr "ДОБРО ПОЖАЛОВАТЬ В МСВСфера %(version)s Сертифицированная" + +#: pyanaconda/ui/gui/spokes/welcome.py:217 +#, python-format +msgid "WELCOME TO MSVSphere %(version)s ARM" +msgstr "ДОБРО ПОЖАЛОВАТЬ В МСВСфера %(version)s АРМ" + +#: pyanaconda/ui/gui/spokes/welcome.py:219 +#, python-format +msgid "WELCOME TO MSVSphere %(version)s Cinnamon" +msgstr "ДОБРО ПОЖАЛОВАТЬ В МСВСфера %(version)s Cinnamon" + +#: pyanaconda/ui/gui/spokes/welcome.py:221 +#, python-format +msgid "WELCOME TO MSVSphere %(version)s KDE" +msgstr "ДОБРО ПОЖАЛОВАТЬ В МСВСфера %(version)s KDE" + +#: pyanaconda/ui/gui/spokes/welcome.py:223 +#, python-format +msgid "WELCOME TO MSVSphere %(version)s XFCE" +msgstr "ДОБРО ПОЖАЛОВАТЬ В МСВСфера %(version)s XFCE" + +#: pyanaconda/ui/gui/spokes/welcome.py:225 +#, python-format +msgid "WELCOME TO MSVSphere %(version)s OS" +msgstr "ДОБРО ПОЖАЛОВАТЬ В МСВСфера %(version)s ОС" + +#: pyanaconda/ui/gui/spokes/welcome.py:227 #, python-format msgid "WELCOME TO %(name)s %(version)s." msgstr "ДОБРО ПОЖАЛОВАТЬ В %(name)s %(version)s." @@ -5869,8 +6009,8 @@ msgid "Weak" msgstr "Простой" #: data/liveinst/gnome/fedora-welcome.desktop:3 -msgid "Welcome to Fedora" -msgstr "Добро пожаловать в Fedora" +msgid "Welcome to MSVSphere ARM 9.5" +msgstr "Добро пожаловать в МСВСфера АРМ 9.5" #: pyanaconda/ui/gui/spokes/welcome.py:203 #: pyanaconda/ui/gui/spokes/welcome.glade:101 @@ -5889,7 +6029,7 @@ msgid "" "you'll be able to view their details here." msgstr "" "Здесь будет показана информация о созданных точках монтирования для " -"установки %(name)s %(version)s." +"установки МСВСфера %(version)s ОС." #: pyanaconda/ui/gui/spokes/keyboard.glade:670 msgid "" @@ -6097,7 +6237,7 @@ msgid "" "You haven't created any mount points for your %(product)s %(version)s " "installation yet. You can:" msgstr "" -"Вы еще не создали точки монтирования для установки %(product)s %(version)s. " +"Вы еще не создали точки монтирования для установки МСВСфера ОС %(version)s. " "Вы можете:" #: pyanaconda/ui/gui/spokes/lib/refresh.glade:223 @@ -6215,7 +6355,7 @@ msgid "" "recommended for a normal %(productName)s install." msgstr "" "Размер раздела %(mount)s меньше %(size)s, что меньше рекомендованного " -"размера для обычной установки %(productName)s." +"размера для обычной установки МСВСфера ОС." #: pyanaconda/modules/storage/checker/utils.py:157 #, python-format @@ -6261,7 +6401,7 @@ msgid "" "%(software)s for software and %(swap)s for swap space." msgstr "" "Для программного обеспечения " -"%(product)s требуется %(total)s пространства, в том числе " +"МСВСфера ОС требуется %(total)s пространства, в том числе " "%(software)s для программ и %(swap)s для подкачки." #: pyanaconda/ui/gui/spokes/lib/storage_dialogs.py:72 @@ -6271,7 +6411,7 @@ msgid "" "of available space, including %(software)s for software and " "%(swap)s for swap space." msgstr "" -"Для установки %(product)s требуется %(total)s, в том числе " +"Для установки МСВСфера ОС требуется %(total)s, в том числе " "%(software)s для программ и %(swap)s для подкачки." #: pyanaconda/ui/gui/spokes/lib/summary.glade:89 @@ -6399,6 +6539,10 @@ msgstr "" "_Автоматически созданные точки монтирования могут быть зашифрованы по " "умолчанию:" +#: pyanaconda/ui/gui/spokes/lib/accordion.py:547 +msgid "Encrypt my data." +msgstr "Зашифровать данные." + #: pyanaconda/ui/gui/hubs/summary.glade:97 msgctxt "GUI|Summary" msgid "_Begin Installation" diff --git a/pyanaconda/product.py b/pyanaconda/product.py index 9dbfe1f..3a9998c 100644 --- a/pyanaconda/product.py +++ b/pyanaconda/product.py @@ -19,6 +19,7 @@ import configparser import os +import re from pyanaconda.core.i18n import _ @@ -64,9 +65,46 @@ def trim_product_version_for_ui(version): productVersion = trim_product_version_for_ui(productVersion) +if productName.startswith("MSVSphere"): + productBase = "MSVSphere" + if productName == "MSVSphere Server" or \ + (productName == "MSVSphere" and productVariant == "Minimal"): + productFlavor = "Server" + elif productName == "MSVSphere" and productVariant == "Certified": + productFlavor = "Certified" + elif productName == "MSVSphere" and productVariant == "BaseOS": + productFlavor = "OS" + elif productName == "MSVSphere": + os_release = open("/etc/os-release", "r") + for line in os_release: + match = re.match("VERSION=.*\((.*?)\)", line) + if match: + productFlavor = match.group(1) + else: + productFlavor = "OS" +else: + productBase = productName + productFlavor = None + def distributionText(): - return _("%(productName)s %(productVersion)s INSTALLATION") % { + if productBase == "MSVSphere" and productFlavor == "Server": + distro_text = _("MSVSphere %(productVersion)s Server INSTALLATION") + elif productBase == "MSVSphere" and productFlavor == "Certified": + distro_text = _("MSVSphere %(productVersion)s Certified INSTALLATION") + elif productBase == "MSVSphere" and productFlavor == "ARM": + distro_text = _("MSVSphere %(productVersion)s ARM INSTALLATION") + elif productBase == "MSVSphere" and productFlavor == "Cinnamon": + distro_text = _("MSVSphere %(productVersion)s Cinnamon INSTALLATION") + elif productBase == "MSVSphere" and productFlavor == "KDE": + distro_text = _("MSVSphere %(productVersion)s KDE INSTALLATION") + elif productBase == "MSVSphere" and productFlavor == "XFCE": + distro_text = _("MSVSphere %(productVersion)s XFCE 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 % { "productName": productName.upper(), "productVersion": productVersion.upper() } diff --git a/pyanaconda/ui/gui/spokes/installation_progress.py b/pyanaconda/ui/gui/spokes/installation_progress.py index c2dfbaf..de1fe76 100644 --- a/pyanaconda/ui/gui/spokes/installation_progress.py +++ b/pyanaconda/ui/gui/spokes/installation_progress.py @@ -155,14 +155,14 @@ class ProgressSpoke(StandaloneSpoke): # Set the reboot label. if conf.target.is_hardware: continue_text = _( - "%s is now successfully installed and ready for you to use!\n" + "%(name)s is now successfully installed and ready for you to use!\n" "Go ahead and reboot your system to start using it!" - ) % productName + ) % {"name": productName} else: continue_text = _( - "%s is now successfully installed and ready for you to use!\n" + "%(name)s is now successfully installed and ready for you to use!\n" "Go ahead and quit the application to start using it!" - ) % productName + ) % {"name": productName} label = self.builder.get_object("rebootLabel") label.set_text(continue_text) diff --git a/pyanaconda/ui/gui/spokes/lib/accordion.py b/pyanaconda/ui/gui/spokes/lib/accordion.py index 32801df..5e2e2b1 100644 --- a/pyanaconda/ui/gui/spokes/lib/accordion.py +++ b/pyanaconda/ui/gui/spokes/lib/accordion.py @@ -544,7 +544,7 @@ class CreateNewPage(BasePage): ) self._createBox.attach(label, 0, 6, 2, 1) - checkbox = Gtk.CheckButton(label="Encrypt my data.") + checkbox = Gtk.CheckButton(label=_("Encrypt my data.")) checkbox.connect("toggled", encrypted_changed_cb) checkbox.set_active(default_encryption) checkbox.set_margin_start(18) diff --git a/pyanaconda/ui/gui/spokes/lib/storage_dialogs.py b/pyanaconda/ui/gui/spokes/lib/storage_dialogs.py index 2f8338b..e330641 100644 --- a/pyanaconda/ui/gui/spokes/lib/storage_dialogs.py +++ b/pyanaconda/ui/gui/spokes/lib/storage_dialogs.py @@ -140,10 +140,10 @@ class NeedSpaceDialog(InstallOptionsDialogBase): self._set_free_space_labels(disk_free, fs_free) label_text = _("You don't have enough space available to install " - "%s. You can shrink or remove existing partitions " + "%(name)s. You can shrink or remove existing partitions " "via our guided reclaim space tool, or you can adjust your " "partitions on your own in the custom partitioning " - "interface.") % escape_markup(productName) + "interface.") % {"name": escape_markup(productName)} self.builder.get_object("need_space_options_label").set_markup(label_text) self._add_modify_watcher(label) diff --git a/pyanaconda/ui/gui/spokes/welcome.py b/pyanaconda/ui/gui/spokes/welcome.py index de71615..a0718bb 100644 --- a/pyanaconda/ui/gui/spokes/welcome.py +++ b/pyanaconda/ui/gui/spokes/welcome.py @@ -35,7 +35,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, productBase, + productFlavor +) from pyanaconda import flags from pyanaconda.core.i18n import _ from pyanaconda.core.util import ipmi_abort @@ -206,7 +209,23 @@ class WelcomeLanguageSpoke(StandaloneSpoke, LangLocaleHandler): # The welcome label is special - it has text that needs to be substituted. welcomeLabel = self.builder.get_object("welcomeLabel") - welcomeLabel.set_text(_("WELCOME TO %(name)s %(version)s.") % + if productBase == "MSVSphere" and productFlavor == "Server": + welcome_text = _("WELCOME TO MSVSphere %(version)s Server") + elif productBase == "MSVSphere" and productFlavor == "Certified": + welcome_text = _("WELCOME TO MSVSphere %(version)s Certified") + elif productBase == "MSVSphere" and productFlavor == "ARM": + welcome_text = _("WELCOME TO MSVSphere %(version)s ARM") + elif productBase == "MSVSphere" and productFlavor == "Cinnamon": + welcome_text = _("WELCOME TO MSVSphere %(version)s Cinnamon") + elif productBase == "MSVSphere" and productFlavor == "KDE": + welcome_text = _("WELCOME TO MSVSphere %(version)s KDE") + elif productBase == "MSVSphere" and productFlavor == "XFCE": + welcome_text = _("WELCOME TO MSVSphere %(version)s XFCE") + 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 % {"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..0d0e3b7 100644 --- a/pyanaconda/vnc.py +++ b/pyanaconda/vnc.py @@ -76,7 +76,24 @@ class VncServer(object): self.anaconda = None self.log = get_stdout_logger() - self.desktop = _("%(productName)s %(productVersion)s 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 == "Certified": + desktop_text = _("MSVSphere %(productVersion)s Certified installation") + elif is_sphere and product.productFlavor == "ARM": + desktop_text = _("MSVSphere %(productVersion)s ARM installation") + elif is_sphere and product.productFlavor == "Cinnamon": + desktop_text = _("MSVSphere %(productVersion)s Cinnamon installation") + elif is_sphere and product.productFlavor == "KDE": + desktop_text = _("MSVSphere %(productVersion)s KDE installation") + elif is_sphere and product.productFlavor == "XFCE": + desktop_text = _("MSVSphere %(productVersion)s XFCE 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 \ % {'productName': product.productName, 'productVersion': product.productVersion} @@ -145,8 +162,32 @@ class VncServer(object): # figure out product info if host: - self.desktop = _("%(productName)s %(productVersion)s installation " - "on 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 == "Certified": + desktop_text = _("MSVSphere %(productVersion)s Certified " + "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 == "Cinnamon": + desktop_text = _("MSVSphere %(productVersion)s Cinnamon " + "installation on host %(name)s") + elif is_sphere and product.productFlavor == "KDE": + desktop_text = _("MSVSphere %(productVersion)s KDE " + "installation on host %(name)s") + elif is_sphere and product.productFlavor == "XFCE": + desktop_text = _("MSVSphere %(productVersion)s XFCE " + "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 \ % {'productName': product.productName, 'productVersion': product.productVersion, 'name': host} -- 2.47.0