Reworking translation system

This commit is contained in:
Roman 2023-12-30 17:44:12 +01:00
parent 8d895e0b5e
commit 51877ce4f8
10 changed files with 342 additions and 352 deletions

View File

@ -15,24 +15,26 @@ aboutData = AboutData()
cf = Config()
if cf.lang == "de":
from waypaper.translation_de import *
from waypaper.translations import German as txt
elif cf.lang == "fr":
from waypaper.translation_fr import *
from waypaper.translation_fr import French as txt
elif cf.lang == "ru":
from waypaper.translation_ru import *
from waypaper.translation_ru import Russian as txt
elif cf.lang == "pl":
from waypaper.translation_pl import *
from waypaper.translation_pl import Polish as txt
elif cf.lang == "zh":
from waypaper.translation_pl import Chinese as txt
else:
from waypaper.translation_en import *
from waypaper.translation_en import English as txt
parser = argparse.ArgumentParser(prog = aboutData.applicationName(), description = MSG_DESC,
epilog = MSG_INFO)
parser.add_argument("-v", "--version", help=MSG_ARG_HELP, action="store_true")
parser.add_argument("--restore", help=MSG_ARG_REST, action="store_true")
parser.add_argument("--random", help=MSG_ARG_RAND, action="store_true")
parser.add_argument("--fill", help=MSG_ARG_FILL, action="store_true")
parser.add_argument("--backend", help=MSG_ARG_BACK, choices=BACKEND_OPTIONS)
parser = argparse.ArgumentParser(prog = aboutData.applicationName(), description = txt.msg_desc,
epilog = txt.msg_info)
parser.add_argument("-v", "--version", help=txt.msg_arg_help, action="store_true")
parser.add_argument("--restore", help=txt.msg_arg_rest, action="store_true")
parser.add_argument("--random", help=txt.msg_arg_rand, action="store_true")
parser.add_argument("--fill", help=txt.msg_arg_fill, action="store_true")
parser.add_argument("--backend", help=txt.msg_arg_back, choices=BACKEND_OPTIONS)
args = parser.parse_args()
@ -51,7 +53,7 @@ def run():
if wallpaper is None:
continue
change_wallpaper(wallpaper, cf.fill_option, cf.color, cf.backend, monitor)
change_wallpaper(wallpaper, cf.fill_option, cf.color, cf.backend, monitor, txt)
time.sleep(0.1)
exit(0)
@ -61,7 +63,7 @@ def run():
exit(0)
# Start GUI:
app = App()
app = App(txt)
app.run()

View File

@ -32,8 +32,9 @@ def cache_image(image_path, cachedir):
class App(Gtk.Window):
"""Main application class that controls GUI"""
def __init__(self):
def __init__(self, txt):
super().__init__(title="Waypaper")
self.txt = txt
self.check_backends()
self.set_default_size(780, 600)
self.connect("delete-event", Gtk.main_quit)
@ -42,18 +43,6 @@ class App(Gtk.Window):
self.aboutData = AboutData()
self.cachePath = user_cache_path(self.aboutData.applicationName())
self.cf = Config()
if self.cf.lang == "de":
from waypaper.translation_de import *
elif self.cf.lang == "fr":
from waypaper.translation_fr import *
elif self.cf.lang == "ru":
from waypaper.translation_ru import *
elif self.cf.lang == "pl":
from waypaper.translation_pl import *
elif cf.lang == "zh":
from waypaper.translation_zh import *
else:
from waypaper.translation_en import *
self.init_ui()
# Start the image processing in a separate thread:
@ -67,7 +56,7 @@ class App(Gtk.Window):
self.add(self.main_box)
# Create a button to open folder dialog:
self.choose_folder_button = Gtk.Button(label=MSG_CHANGEFOLDER)
self.choose_folder_button = Gtk.Button(label=self.txt.msg_changefolder)
self.choose_folder_button.connect("clicked", self.on_choose_folder_clicked)
self.main_box.pack_start(self.choose_folder_button, False, False, 0)
@ -87,7 +76,7 @@ class App(Gtk.Window):
self.scrolled_window.add(self.grid)
# Create subfolder toggle:
self.include_subfolders_checkbox = Gtk.ToggleButton(label=MSG_SUBFOLDERS)
self.include_subfolders_checkbox = Gtk.ToggleButton(label=self.txt.msg_subfolders)
self.include_subfolders_checkbox.set_active(self.cf.include_subfolders)
self.include_subfolders_checkbox.connect("toggled", self.on_include_subfolders_toggled)
self.include_subfolders_checkbox.set_tooltip_text(TIP_SUBFOLDER)
@ -137,17 +126,17 @@ class App(Gtk.Window):
# Create exit button:
self.exit_button = Gtk.Button(label=MSG_EXIT)
self.exit_button = Gtk.Button(label=self.txt.msg_exit)
self.exit_button.connect("clicked", self.on_exit_clicked)
self.exit_button.set_tooltip_text(TIP_EXIT)
# Create refresh button:
self.refresh_button = Gtk.Button(label=MSG_REFRESH)
self.refresh_button = Gtk.Button(label=self.txt.msg_refresh)
self.refresh_button.connect("clicked", self.on_refresh_clicked)
self.refresh_button.set_tooltip_text(TIP_REFRESH)
# Create random button:
self.random_button = Gtk.Button(label=MSG_RANDOM)
self.random_button = Gtk.Button(label=self.txt.msg_random)
self.random_button.connect("clicked", self.on_random_clicked)
self.random_button.set_tooltip_text(TIP_RANDOM)
@ -202,7 +191,7 @@ class App(Gtk.Window):
for monitor in monitors[:-1]:
monitor_names.append(monitor.split(':')[0])
except Exception as e:
print(f"{ERR_DISP} {e}")
print(f"{self.txt.err_disp} {e}")
# Create a monitor option dropdown menu:
self.monitor_option_combo = Gtk.ComboBoxText()
@ -227,7 +216,7 @@ class App(Gtk.Window):
# Show error message if no backends are installed:
if all(self.missing_backends):
self.show_message(ERR_BACKEND)
self.show_message(sefl.txt.err_backend)
exit()
@ -265,7 +254,7 @@ class App(Gtk.Window):
self.sort_images()
# Show caching label:
self.loading_label = Gtk.Label(label=MSG_CACHING)
self.loading_label = Gtk.Label(label=self.txt.msg_caching)
self.bottom_loading_box.add(self.loading_label)
self.show_all()
@ -344,8 +333,8 @@ class App(Gtk.Window):
"""Choosing the folder of images, saving the path, and reloading images"""
dialog = Gtk.FileChooserDialog(
MSG_CHOOSEFOLDER, self, Gtk.FileChooserAction.SELECT_FOLDER,
(Gtk.STOCK_CANCEL, Gtk.ResponseType.CANCEL, MSG_SELECT, Gtk.ResponseType.OK)
self.txt.msg_choosefolder, self, Gtk.FileChooserAction.SELECT_FOLDER,
(Gtk.STOCK_CANCEL, Gtk.ResponseType.CANCEL, self.txt.msg_select, Gtk.ResponseType.OK)
)
response = dialog.run()
if response == Gtk.ResponseType.OK:
@ -405,9 +394,10 @@ class App(Gtk.Window):
self.cf.selected_wallpaper = path
self.selected_index = self.image_paths.index(path)
self.load_image_grid()
print(MSG_PATH, self.cf.selected_wallpaper)
print(self.txt.msg_path, self.cf.selected_wallpaper)
self.cf.fill_option = self.fill_option_combo.get_active_text() or self.cf.fill_option
change_wallpaper(self.cf.selected_wallpaper, self.cf.fill_option, self.cf.color, self.cf.backend, self.cf.selected_monitor)
change_wallpaper(self.cf.selected_wallpaper, self.cf.fill_option, self.cf.color,
self.cf.backend, self.cf.selected_monitor, self.txt)
self.cf.save()
@ -431,9 +421,10 @@ class App(Gtk.Window):
self.cf.selected_wallpaper = get_random_file(self.cf.image_folder, self.cf.include_subfolders)
if self.cf.selected_wallpaper is None:
return
print(MSG_PATH, self.cf.selected_wallpaper)
print(self.txt.msg_path, self.cf.selected_wallpaper)
self.cf.fill_option = self.fill_option_combo.get_active_text() or self.cf.fill_option
change_wallpaper(self.cf.selected_wallpaper, self.cf.fill_option, self.cf.color, self.cf.backend, self.cf.selected_monitor)
change_wallpaper(self.cf.selected_wallpaper, self.cf.fill_option, self.cf.color,
self.cf.backend, self.cf.selected_monitor, self.txt)
self.cf.save()
@ -443,7 +434,7 @@ class App(Gtk.Window):
shutil.rmtree(self.cachePath)
os.makedirs(self.cachePath)
except OSError as e:
print(f"{ERR_CACHE} '{self.cachePath}': {e}")
print(f"{self.txt.err_cache} '{self.cachePath}': {e}")
threading.Thread(target=self.process_images).start()
@ -492,16 +483,16 @@ class App(Gtk.Window):
self.scroll_to_selected_image()
elif event.keyval == Gdk.KEY_question:
message = MSG_HELP
message = self.txt.msg_help
self.show_message(message)
elif event.keyval == Gdk.KEY_Return or event.keyval == Gdk.KEY_KP_Enter:
wallpaper_path = self.image_paths[self.selected_index]
self.cf.selected_wallpaper = wallpaper_path
print(MSG_PATH, self.cf.selected_wallpaper)
print(self.txt.msg_path, self.cf.selected_wallpaper)
self.cf.fill_option = self.fill_option_combo.get_active_text() or self.cf.fill_option
change_wallpaper(self.cf.selected_wallpaper, self.cf.fill_option,
self.cf.color, self.cf.backend, self.cf.selected_monitor)
change_wallpaper(self.cf.selected_wallpaper, self.cf.fill_option, self.cf.color,
self.cf.backend, self.cf.selected_monitor, self.txt)
self.cf.save()
# Prevent other default key handling:

View File

@ -3,23 +3,8 @@
import subprocess
import time
from waypaper.config import cf
if cf.lang == "de":
from waypaper.translation_de import *
elif cf.lang == "fr":
from waypaper.translation_fr import *
elif cf.lang == "ru":
from waypaper.translation_ru import *
elif cf.lang == "pl":
from waypaper.translation_pl import *
elif cf.lang == "zh":
from waypaper.translation_zh import *
else:
from waypaper.translation_en import *
def change_wallpaper(image_path, fill_option, color, backend, monitor):
def change_wallpaper(image_path, fill_option, color, backend, monitor, txt):
"""Run a system command to change the wallpaper depending on the backend"""
try:
@ -37,7 +22,7 @@ def change_wallpaper(image_path, fill_option, color, backend, monitor):
command.extend(["-i", image_path])
command.extend(["-m", fill, "-c", color])
subprocess.Popen(command)
print(f"{MSG_SETWITH} {backend}")
print(f"{txt.msg_setwith} {backend}")
# swww backend:
elif backend == "swww":
@ -62,7 +47,7 @@ def change_wallpaper(image_path, fill_option, color, backend, monitor):
if monitor != "All":
command.extend(["--outputs", monitor])
subprocess.Popen(command)
print(f"{MSG_SETWITH} {backend}")
print(f"{txt.msg_setwith} {backend}")
# feh backend:
elif backend == "feh":
@ -77,7 +62,7 @@ def change_wallpaper(image_path, fill_option, color, backend, monitor):
command = ["feh", fill, "--image-bg", color]
command.extend([image_path])
subprocess.Popen(command)
print(f"{MSG_SETWITH} {backend}")
print(f"{txt.msg_setwith} {backend}")
# wallutils backend:
elif backend == "wallutils":
@ -91,10 +76,10 @@ def change_wallpaper(image_path, fill_option, color, backend, monitor):
fill = fill_types[fill_option.lower()]
subprocess.Popen(["setwallpaper", "--mode", fill, image_path])
print(f"{MSG_SETWITH} {backend}")
print(f"{txt.msg_setwith} {backend}")
else:
print(f"{ERR_NOTSUP} {backend}")
print(f"{txt.err_notsup} {backend}")
except Exception as e:
print(f"{ERR_WALL} {e}")
print(f"{txt.err_wall} {e}")

View File

@ -1,47 +0,0 @@
"""German translations of the program interface (deutsche übersetzungen der Benutzeroberfläche)"""
MSG_DESC = "Grafisches Hintergrundbild-Auswahlwerkzeug für Wayland und X11. Es dient als Frontend für feh, swaybg, wallutils und swww."
MSG_INFO = "Weitere Informationen finden Sie unter:\nhttps://github.com/anufrievroman/waypaper"
MSG_ARG_HELP = "gibt die Programmversion aus"
MSG_ARG_FILL = "legt fest, wie das Bild skaliert werden soll, um den gesamten Bildschirm auszufüllen"
MSG_ARG_REST = "stellt das zuletzt verwendete Hintergrundbild wieder her"
MSG_ARG_BACK = "legt das Backend fest, welches zum Setzen des Hintergrundbildes verwendet werden soll"
MSG_ARG_RAND = "wählt ein zufälliges Hintergrundbild aus"
MSG_PATH = "Pfad zum ausgewählten Bild:"
MSG_SELECT = "Auswählen"
MSG_REFRESH = "Aktualisieren"
MSG_RANDOM = "Zufällig"
MSG_EXIT = "Beenden"
MSG_SUBFOLDERS = "Unterordner"
MSG_CHANGEFOLDER = "Hintergrundbild-Ordner ändern"
MSG_CHOOSEFOLDER = "Bitte wählen Sie einen Ordner aus"
MSG_CACHING = "Hintergrundbilder werden zwischengespeichert..."
MSG_SETWITH = "Hintergrundbild wurde mit folgendem Befehl gesetzt"
MSG_HELP = "Waypapers Tastenkürzel:\n\nhjkl - Navigation (←↓↑→)\nf - Hintergrundbild-Ordner ändern\n"
MSG_HELP += "g - Zum Anfang scrollen\nG - Zum Ende scrollen\nR - Zufälliges Hintergrundbild\nr - Hintergrundbilder zwischenspeichern\n"
MSG_HELP += "s - Unterordner mit einbeziehen\n? - Hilfe\nq - Beenden\n\n"
MSG_HELP += MSG_INFO
ERR_CACHE = "Fehler beim Löschen des Zwischenspeichers"
ERR_BACKEND = "Es konnte kein Hintergrundbild-Backend gefunden werden.\n"
ERR_BACKEND += "Installieren Sie mindestens eines der folgenden Backends:\n\n"
ERR_BACKEND += "- swaybg (für Wayland)\n- swww (für Wayland)\n"
ERR_BACKEND += "- feh (für Xorg)\n- wallutils (für Xorg & Wayland)\n\n"
ERR_BACKEND += MSG_INFO
ERR_WALL = "Fehler beim Ändern des Hintergrundbildes:"
ERR_NOTSUP = "Das folgende Backend wird nicht unterstützt:"
ERR_DISP = "Fehler beim Ermitteln der Monitor-Namen:"
ERR_KILL = "Warnung im Zusammenhang mit dem Befehl killall:"
TIP_SUBFOLDER = "Wählen, ob Unterordner mit einbezogen werden sollen"
TIP_REFRESH = "Erneutes einlesen des Hintergrundbild-Ordners"
TIP_FILL = "Skalierungsart auswählen"
TIP_BACKEND = "Backend auswählen"
TIP_SORTING = "Sortierungsart auswählen"
TIP_DISPLAY = "Bildschirm auswählen"
TIP_COLOR = "Hintergrundfarbe auswählen"
TIP_RANDOM = "Ein zufälliges Hintergrundbild auswählen"
TIP_EXIT = "Das Programm beenden"

View File

@ -1,47 +0,0 @@
"""English translations of the program interface"""
MSG_DESC = "GUI wallpaper setter for Wayland and X11. It works as a frontend for feh, swaybg, wallutils, and swww."
MSG_INFO = "For more information, visit:\nhttps://github.com/anufrievroman/waypaper"
MSG_ARG_HELP = "print version of the program"
MSG_ARG_FILL = "specify how to fill the screen with chosen image"
MSG_ARG_REST = "restore last wallpaper"
MSG_ARG_BACK = "specify which backend to use to set wallpaper"
MSG_ARG_RAND = "set a random wallpaper"
MSG_PATH = "Selected image path:"
MSG_SELECT = "Select"
MSG_REFRESH = "Refresh"
MSG_RANDOM = "Random"
MSG_EXIT = "Exit"
MSG_SUBFOLDERS = "Subfolders"
MSG_CHANGEFOLDER = "Change wallpaper folder"
MSG_CHOOSEFOLDER = "Please choose a folder"
MSG_CACHING = "Caching wallpapers..."
MSG_SETWITH = "Sent command to set wallpaper was set with"
MSG_HELP = "Waypaper's hotkeys:\n\nhjkl - Navigation (←↓↑→)\nf - Change wallpaper folder\n"
MSG_HELP += "g - Scroll to top\nG - Scroll to bottom\nR - Set random wallpaper\nr - Recache wallpapers\n"
MSG_HELP += "s - Include/exclude images in subfolders\n? - Help\nq - Exit\n\n"
MSG_HELP += MSG_INFO
ERR_CACHE = "Error deleting cache"
ERR_BACKEND = "Looks like none of the wallpaper backends is installed in the system.\n"
ERR_BACKEND += "Use your package manager to install at least one of these backends:\n\n"
ERR_BACKEND += "- swaybg (for Wayland)\n- swww (for Wayland)\n"
ERR_BACKEND += "- feh (for Xorg)\n- wallutils (for Xorg & Wayland)\n\n"
ERR_BACKEND += MSG_INFO
ERR_WALL = "Error changing wallpaper:"
ERR_NOTSUP = "The backend is not supported:"
ERR_DISP = "Error determining monitor names:"
ERR_KILL = "Warning related to killall:"
TIP_SUBFOLDER = "Include/exclude images in subfolders"
TIP_REFRESH = "Recache the folder of images"
TIP_FILL = "Choose fill type"
TIP_BACKEND = "Choose backend"
TIP_SORTING = "Choose sorting type"
TIP_DISPLAY = "Choose display"
TIP_COLOR = "Choose background color"
TIP_RANDOM = "Set random wallpaper"
TIP_EXIT = "Exit the application"

View File

@ -1,47 +0,0 @@
"""Traductions en français de l'interface du programme"""
MSG_DESC = "Sélecteur de papier peint graphique pour Wayland et X11. Il fonctionne comme une interface pour feh, swaybg, wallutils et swww."
MSG_INFO = "Pour plus d'informations, visitez :\nhttps://github.com/anufrievroman/waypaper"
MSG_ARG_HELP = "afficher la version du programme"
MSG_ARG_FILL = "spécifier comment remplir l'écran avec l'image choisie"
MSG_ARG_REST = "restaurer le dernier papier peint"
MSG_ARG_BACK = "spécifier quel backend utiliser pour définir le papier peint"
MSG_ARG_RAND = "définir un papier peint aléatoire"
MSG_PATH = "Chemin de l'image sélectionnée :"
MSG_SELECT = "Sélectionner"
MSG_REFRESH = "Actualiser"
MSG_RANDOM = "Aléatoire"
MSG_EXIT = "Quitter"
MSG_SUBFOLDERS = "Sous-dossiers"
MSG_CHANGEFOLDER = "Changer de dossier de papier peint"
MSG_CHOOSEFOLDER = "Veuillez choisir un dossier"
MSG_CACHING = "Mise en cache des papiers peints..."
MSG_SETWITH = "La commande envoyée pour définir le papier peint a été définie avec"
MSG_HELP = "Raccourcis clavier de Waypaper :\n\nhjkl - Navigation (←↓↑→)\nf - Changer de dossier de papier peint\n"
MSG_HELP += "g - Faire défiler vers le haut\nG - Faire défiler vers le bas\nR - Définir un papier peint aléatoire\nr - Recréer le cache des papiers peints\n"
MSG_HELP += "s - Inclure/exclure les images des sous-dossiers\n? - Aide\nq - Quitter\n\n"
MSG_HELP += MSG_INFO
ERR_CACHE = "Erreur lors de la suppression du cache"
ERR_BACKEND = "Il semble qu'aucun des backends de papier peint ne soit installé sur le système.\n"
ERR_BACKEND += "Utilisez votre gestionnaire de paquets pour installer au moins l'un de ces backends :\n\n"
ERR_BACKEND += "- swaybg (pour Wayland)\n- swww (pour Wayland)\n"
ERR_BACKEND += "- feh (pour Xorg)\n- wallutils (pour Xorg & Wayland)\n\n"
ERR_BACKEND += MSG_INFO
ERR_WALL = "Erreur lors du changement de papier peint :"
ERR_NOTSUP = "Le backend n'est pas pris en charge :"
ERR_DISP = "Erreur lors de la détermination des noms des moniteurs :"
ERR_KILL = "Avertissement lié à killall :"
TIP_SUBFOLDER = "Inclure/exclure les images des sous-dossiers"
TIP_REFRESH = "Recréer le dossier d'images"
TIP_FILL = "Choisir le type de remplissage"
TIP_BACKEND = "Choisir le backend"
TIP_SORTING = "Choisir le type de tri"
TIP_DISPLAY = "Choisir l'affichage"
TIP_COLOR = "Choisir la couleur de fond"
TIP_RANDOM = "Définir un papier peint aléatoire"
TIP_EXIT = "Quitter l'application"

View File

@ -1,47 +0,0 @@
"""Tłumaczenia interfejsu programu na język polski"""
MSG_DESC = "Graficzne ustawiacz tapet dla Wayland i X11. Działa jako interfejs dla feh, swaybg, wallutils i swww."
MSG_INFO = "Aby uzyskać więcej informacji, odwiedź:\nhttps://github.com/anufrievroman/waypaper"
MSG_ARG_HELP = "wyświetl wersję programu"
MSG_ARG_FILL = "określ, jak wypełnić ekran wybranym obrazem"
MSG_ARG_REST = "przywróć ostatnią tapetę"
MSG_ARG_BACK = "określ, który backend użyć do ustawienia tapety"
MSG_ARG_RAND = "ustaw losową tapetę"
MSG_PATH = "Wybrana ścieżka obrazu:"
MSG_SELECT = "Wybierz"
MSG_REFRESH = "Odśwież"
MSG_RANDOM = "Losowo"
MSG_EXIT = "Wyjście"
MSG_SUBFOLDERS = "Podkatalogi"
MSG_CHANGEFOLDER = "Zmień folder z tapetami"
MSG_CHOOSEFOLDER = "Proszę wybrać folder"
MSG_CACHING = "Kasowanie tapet..."
MSG_SETWITH = "Wysłano polecenie ustawienia tapety z"
MSG_HELP = "Skróty klawiszowe Waypaper:\n\nhjkl - Nawigacja (←↓↑→)\nf - Zmień folder z tapetami\n"
MSG_HELP += "g - Przewiń do góry\nG - Przewiń na dół\nR - Ustaw losową tapetę\nr - Odśwież katalog z tapetami\n"
MSG_HELP += "s - Dołącz/wyłącz obrazy z podkatalogów\n? - Pomoc\nq - Wyjście\n\n"
MSG_HELP += MSG_INFO
ERR_CACHE = "Błąd podczas usuwania pamięci podręcznej"
ERR_BACKEND = "Wygląda na to, że żaden z backendów tapet nie jest zainstalowany w systemie.\n"
ERR_BACKEND += "Użyj menedżera pakietów, aby zainstalować co najmniej jeden z tych backendów:\n\n"
ERR_BACKEND += "- swaybg (dla Wayland)\n- swww (dla Wayland)\n"
ERR_BACKEND += "- feh (dla Xorg)\n- wallutils (dla Xorg i Wayland)\n\n"
ERR_BACKEND += MSG_INFO
ERR_WALL = "Błąd podczas zmiany tapety:"
ERR_NOTSUP = "Backend nie jest obsługiwany:"
ERR_DISP = "Błąd podczas określania nazw monitorów:"
ERR_KILL = "Ostrzeżenie związane z poleceniem killall:"
TIP_SUBFOLDER = "Dołącz/wyłącz obrazy z podkatalogów"
TIP_REFRESH = "Odśwież folder z obrazami"
TIP_FILL = "Wybierz typ wypełnienia"
TIP_BACKEND = "Wybierz backend"
TIP_SORTING = "Wybierz typ sortowania"
TIP_DISPLAY = "Wybierz wyświetlacz"
TIP_COLOR = "Wybierz kolor tła"
TIP_RANDOM = "Ustaw losową tapetę"
TIP_EXIT = "Wyjdź z aplikacji"

View File

@ -1,47 +0,0 @@
"""Перевод на русский язык интерфейса программы"""
MSG_DESC = "Графический интерфейс для установки обоев на Wayland и X11. Работает как фронтенд для feh, swaybg, wallutils и swww."
MSG_INFO = "Для получения дополнительной информации посетите:\nhttps://github.com/anufrievroman/waypaper"
MSG_ARG_HELP = "вывести версию программы"
MSG_ARG_FILL = "указать, как заполнить экран выбранным изображением"
MSG_ARG_REST = "восстановить последние обои"
MSG_ARG_BACK = "указать бэкенд для установки обоев"
MSG_ARG_RAND = "установить случайные обои"
MSG_PATH = "Выбранный путь к изображению:"
MSG_SELECT = "Выбрать"
MSG_REFRESH = "Обновить"
MSG_RANDOM = "Случайно"
MSG_EXIT = "Выход"
MSG_SUBFOLDERS = "Подпапки"
MSG_CHANGEFOLDER = "Изменить папку с обоями"
MSG_CHOOSEFOLDER = "Пожалуйста, выберите папку"
MSG_CACHING = "Кэширование обоев..."
MSG_SETWITH = "Отправлена команда на установку обоев с использованием"
MSG_HELP = "Горячие клавиши Waypaper:\n\nhjkl - Навигация (←↓↑→)\nf - Изменить папку с обоями\n"
MSG_HELP += "g - Прокрутка в начало\nG - Прокрутка в конец\nR - Установить случайные обои\nr - Обновить кэш обоев\n"
MSG_HELP += "s - Включить/отключить изображения в подпапках\n? - Справка\nq - Выход\n\n"
MSG_HELP += MSG_INFO
ERR_CACHE = "Ошибка при удалении кэша"
ERR_BACKEND = "Похоже, что ни один из бэкендов для установки обоев не установлен в системе.\n"
ERR_BACKEND += "Используйте менеджер пакетов для установки хотя бы одного из этих бэкендов:\n\n"
ERR_BACKEND += "- swaybg (для Wayland)\n- swww (для Wayland)\n"
ERR_BACKEND += "- feh (для Xorg)\n- wallutils (для Xorg и Wayland)\n\n"
ERR_BACKEND += MSG_INFO
ERR_WALL = "Ошибка при смене обоев:"
ERR_NOTSUP = "Бэкенд не поддерживается:"
ERR_DISP = "Ошибка определения названий мониторов:"
ERR_KILL = "Предупреждение связанное с killall:"
TIP_SUBFOLDER = "Включить/отключить изображения в подпапках"
TIP_REFRESH = "Обновить папку с изображениями"
TIP_FILL = "Выбрать тип заполнения"
TIP_BACKEND = "Выбрать бэкенд"
TIP_SORTING = "Выбрать тип сортировки"
TIP_DISPLAY = "Выбрать дисплей"
TIP_COLOR = "Выбрать цвет фона"
TIP_RANDOM = "Установить случайные обои"
TIP_EXIT = "Выйти из приложения"

View File

@ -1,49 +0,0 @@
"""Chinese Simplified translations of the program interface"""
MSG_DESC = (
"Wayland 和 X11 的 GUI 壁纸设置器。它用作 feh、swaybg、wallutils 和 swww 的前端。"
)
MSG_INFO = "欲了解更多信息,请访问:\nhttps://github.com/anufrievroman/waypaper"
MSG_ARG_HELP = "版本信息"
MSG_ARG_FILL = "指定所选图像填充屏幕"
MSG_ARG_REST = "恢复上个壁纸"
MSG_ARG_BACK = "指定使用哪个后端来设置壁纸"
MSG_ARG_RAND = "设置随机壁纸"
MSG_PATH = "选择的图像路径:"
MSG_SELECT = "选择"
MSG_REFRESH = "刷新"
MSG_RANDOM = "随机"
MSG_EXIT = "退出"
MSG_SUBFOLDERS = "子文件夹"
MSG_CHANGEFOLDER = "更改壁纸文件夹"
MSG_CHOOSEFOLDER = "请选择一个文件夹"
MSG_CACHING = "缓存壁纸..."
MSG_SETWITH = "发送设置壁纸的命令是用"
MSG_HELP = "Waypaper 的热键:\n\nhjkl -导航 (←↓↑→)\nf -更改壁纸文件夹\n"
MSG_HELP += "g -滚动到顶部\nG -滚动到底部\nR -设置随机壁纸\nr -重新缓存壁纸\n"
MSG_HELP += "s -包含/排除子文件夹中的图像\n -帮助\nq -退出\n\n"
MSG_HELP += MSG_INFO
ERR_CACHE = "删除缓存时出错"
ERR_BACKEND = "系统中似乎没有安装壁纸后端。\n"
ERR_BACKEND += "使用包管理器安装至少以下后端之一:\n\n"
ERR_BACKEND += "-swaybg (用于 Wayland)\n-swww (用于 Wayland)\n"
ERR_BACKEND += "-feh (对于 Xorg)\n-wallutils (对于 Xorg 和 Wayland)\n\n"
ERR_BACKEND += MSG_INFO
ERR_WALL = "更改壁纸时出错:"
ERR_NOTSUP = "不支持后端:"
ERR_DISP = "确定监视器名称时出错:"
ERR_KILL = "与killall相关的警告"
TIP_SUBFOLDER = "在子文件夹中包含/排除图像"
TIP_REFRESH = "重新缓存图像文件夹"
TIP_FILL = "选择填充类型"
TIP_BACKEND = "选择后端"
TIP_SORTING = "选择排序类型"
TIP_DISPLAY = "选择显示"
TIP_COLOR = "选择背景颜色"
TIP_RANDOM = "设置随机壁纸"
TIP_EXIT = "退出应用程序"

296
waypaper/translations.py Normal file
View File

@ -0,0 +1,296 @@
"""Module with translation into various languages. To add a new language, add a new class"""
class English:
def __init__(self):
self.msg_desc = "GUI wallpaper setter for Wayland and X11. It works as a frontend for feh, swaybg, wallutils, and swww."
self.msg_info = "For more information, visit:\nhttps://github.com/anufrievroman/waypaper"
self.msg_arg_help = "print version of the program"
self.msg_arg_fill = "specify how to fill the screen with chosen image"
self.msg_arg_rest = "restore last wallpaper"
self.msg_arg_back = "specify which backend to use to set wallpaper"
self.msg_arg_rand = "set a random wallpaper"
self.msg_path = "Selected image path:"
self.msg_select = "Select"
self.msg_refresh = "Refresh"
self.msg_random = "Random"
self.msg_exit = "Exit"
self.msg_subfolders = "Subfolders"
self.msg_changefolder = "Change wallpaper folder"
self.msg_choosefolder = "Please choose a folder"
self.msg_caching = "Caching wallpapers..."
self.msg_setwith = "Sent command to set wallpaper was set with"
self.msg_help = "Waypaper's hotkeys:\n\nhjkl - Navigation (←↓↑→)\nf - Change wallpaper folder\n"
self.msg_help += "g - Scroll to top\nG - Scroll to bottom\nR - Set random wallpaper\nr - Recache wallpapers\n"
self.msg_help += "s - Include/exclude images in subfolders\n? - Help\nq - Exit\n\n"
self.msg_help += self.msg_info
self.err_cache = "Error deleting cache"
self.err_backend = "Looks like none of the wallpaper backends is installed in the system.\n"
self.err_backend += "Use your package manager to install at least one of these backends:\n\n"
self.err_backend += "- swaybg (for Wayland)\n- swww (for Wayland)\n"
self.err_backend += "- feh (for Xorg)\n- wallutils (for Xorg & Wayland)\n\n"
self.err_backend += self.msg_info
self.err_wall = "Error changing wallpaper:"
self.err_notsup = "The backend is not supported:"
self.err_disp = "Error determining monitor names:"
self.err_kill = "Warning related to killall:"
self.tip_subfolder = "Include/exclude images in subfolders"
self.tip_refresh = "Recache the folder of images"
self.tip_fill = "Choose fill type"
self.tip_backend = "Choose backend"
self.tip_sorting = "Choose sorting type"
self.tip_display = "Choose display"
self.tip_color = "Choose background color"
self.tip_random = "Set random wallpaper"
self.tip_exit = "Exit the application"
class German:
def __init__(self):
self.msg_desc = "Grafisches Hintergrundbild-Auswahlwerkzeug für Wayland und X11. Es dient als Frontend für feh, swaybg, wallutils und swww."
self.msg_info = "Weitere Informationen finden Sie unter:\nhttps://github.com/anufrievroman/waypaper"
self.msg_arg_help = "gibt die Programmversion aus"
self.msg_arg_fill = "legt fest, wie das Bild skaliert werden soll, um den gesamten Bildschirm auszufüllen"
self.msg_arg_rest = "stellt das zuletzt verwendete Hintergrundbild wieder her"
self.msg_arg_back = "legt das Backend fest, welches zum Setzen des Hintergrundbildes verwendet werden soll"
self.msg_arg_rand = "wählt ein zufälliges Hintergrundbild aus"
self.msg_path = "Pfad zum ausgewählten Bild:"
self.msg_select = "Auswählen"
self.msg_refresh = "Aktualisieren"
self.msg_random = "Zufällig"
self.msg_exit = "Beenden"
self.msg_subfolders = "Unterordner"
self.msg_changefolder = "Hintergrundbild-Ordner ändern"
self.msg_choosefolder = "Bitte wählen Sie einen Ordner aus"
self.msg_caching = "Hintergrundbilder werden zwischengespeichert..."
self.msg_setwith = "Hintergrundbild wurde mit folgendem Befehl gesetzt"
self.msg_help = "Waypapers Tastenkürzel:\n\nhjkl - Navigation (←↓↑→)\nf - Hintergrundbild-Ordner ändern\n"
self.msg_help += "g - Zum Anfang scrollen\nG - Zum Ende scrollen\nR - Zufälliges Hintergrundbild\nr - Hintergrundbilder zwischenspeichern\n"
self.msg_help += "s - Unterordner mit einbeziehen\n? - Hilfe\nq - Beenden\n\n"
self.msg_help += self.msg_info
self.err_cache = "Fehler beim Löschen des Zwischenspeichers"
self.err_backend = "Es konnte kein Hintergrundbild-Backend gefunden werden.\n"
self.err_backend += "Installieren Sie mindestens eines der folgenden Backends:\n\n"
self.err_backend += "- swaybg (für Wayland)\n- swww (für Wayland)\n"
self.err_backend += "- feh (für Xorg)\n- wallutils (für Xorg & Wayland)\n\n"
self.err_backend += self.msg_info
self.err_wall = "Fehler beim Ändern des Hintergrundbildes:"
self.err_notsup = "Das folgende Backend wird nicht unterstützt:"
self.err_disp = "Fehler beim Ermitteln der Monitor-Namen:"
self.err_kill = "Warnung im Zusammenhang mit dem Befehl killall:"
self.tip_subfolder = "Wählen, ob Unterordner mit einbezogen werden sollen"
self.tip_refresh = "Erneutes einlesen des Hintergrundbild-Ordners"
self.tip_fill = "Skalierungsart auswählen"
self.tip_backend = "Backend auswählen"
self.tip_sorting = "Sortierungsart auswählen"
self.tip_display = "Bildschirm auswählen"
self.tip_color = "Hintergrundfarbe auswählen"
self.tip_random = "Ein zufälliges Hintergrundbild auswählen"
self.tip_exit = "Das Programm beenden"
class French:
def __init__(self):
self.msg_desc = "Sélecteur de papier peint graphique pour Wayland et X11. Il fonctionne comme une interface pour feh, swaybg, wallutils et swww."
self.msg_info = "Pour plus d'informations, visitez :\nhttps://github.com/anufrievroman/waypaper"
self.msg_arg_help = "afficher la version du programme"
self.msg_arg_fill = "spécifier comment remplir l'écran avec l'image choisie"
self.msg_arg_rest = "restaurer le dernier papier peint"
self.msg_arg_back = "spécifier quel backend utiliser pour définir le papier peint"
self.msg_arg_rand = "définir un papier peint aléatoire"
self.msg_path = "Chemin de l'image sélectionnée :"
self.msg_select = "Sélectionner"
self.msg_refresh = "Actualiser"
self.msg_random = "Aléatoire"
self.msg_exit = "Quitter"
self.msg_subfolders = "Sous-dossiers"
self.msg_changefolder = "Changer de dossier de papier peint"
self.msg_choosefolder = "Veuillez choisir un dossier"
self.msg_caching = "Mise en cache des papiers peints..."
self.msg_setwith = "La commande envoyée pour définir le papier peint a été définie avec"
self.msg_help = "Raccourcis clavier de Waypaper :\n\nhjkl - Navigation (←↓↑→)\nf - Changer de dossier de papier peint\n"
self.msg_help += "g - Faire défiler vers le haut\nG - Faire défiler vers le bas\nR - Définir un papier peint aléatoire\nr - Recréer le cache des papiers peints\n"
self.msg_help += "s - Inclure/exclure les images des sous-dossiers\n? - Aide\nq - Quitter\n\n"
self.msg_help += self.msg_info
self.err_cache = "Erreur lors de la suppression du cache"
self.err_backend = "Il semble qu'aucun des backends de papier peint ne soit installé sur le système.\n"
self.err_backend += "Utilisez votre gestionnaire de paquets pour installer au moins l'un de ces backends :\n\n"
self.err_backend += "- swaybg (pour Wayland)\n- swww (pour Wayland)\n"
self.err_backend += "- feh (pour Xorg)\n- wallutils (pour Xorg & Wayland)\n\n"
self.err_backend += self.msg_info
self.err_wall = "Erreur lors du changement de papier peint :"
self.err_notsup = "Le backend n'est pas pris en charge :"
self.err_disp = "Erreur lors de la détermination des noms des moniteurs :"
self.err_kill = "Avertissement lié à killall :"
self.tip_subfolder = "Inclure/exclure les images des sous-dossiers"
self.tip_refresh = "Recréer le dossier d'images"
self.tip_fill = "Choisir le type de remplissage"
self.tip_backend = "Choisir le backend"
self.tip_sorting = "Choisir le type de tri"
self.tip_display = "Choisir l'affichage"
self.tip_color = "Choisir la couleur de fond"
self.tip_random = "Définir un papier peint aléatoire"
self.tip_exit = "Quitter l'application"
class Polish:
def __init__(self):
self.msg_desc = "Graficzne ustawiacz tapet dla Wayland i X11. Działa jako interfejs dla feh, swaybg, wallutils i swww."
self.msg_info = "Aby uzyskać więcej informacji, odwiedź:\nhttps://github.com/anufrievroman/waypaper"
self.msg_arg_help = "wyświetl wersję programu"
self.msg_arg_fill = "określ, jak wypełnić ekran wybranym obrazem"
self.msg_arg_rest = "przywróć ostatnią tapetę"
self.msg_arg_back = "określ, który backend użyć do ustawienia tapety"
self.msg_arg_rand = "ustaw losową tapetę"
self.msg_path = "Wybrana ścieżka obrazu:"
self.msg_select = "Wybierz"
self.msg_refresh = "Odśwież"
self.msg_random = "Losowo"
self.msg_exit = "Wyjście"
self.msg_subfolders = "Podkatalogi"
self.msg_changefolder = "Zmień folder z tapetami"
self.msg_choosefolder = "Proszę wybrać folder"
self.msg_caching = "Kasowanie tapet..."
self.msg_setwith = "Wysłano polecenie ustawienia tapety z"
self.msg_help = "Skróty klawiszowe Waypaper:\n\nhjkl - Nawigacja (←↓↑→)\nf - Zmień folder z tapetami\n"
self.msg_help += "g - Przewiń do góry\nG - Przewiń na dół\nR - Ustaw losową tapetę\nr - Odśwież katalog z tapetami\n"
self.msg_help += "s - Dołącz/wyłącz obrazy z podkatalogów\n? - Pomoc\nq - Wyjście\n\n"
self.msg_help += self.msg_info
self.err_cache = "Błąd podczas usuwania pamięci podręcznej"
self.err_backend = "Wygląda na to, że żaden z backendów tapet nie jest zainstalowany w systemie.\n"
self.err_backend += "Użyj menedżera pakietów, aby zainstalować co najmniej jeden z tych backendów:\n\n"
self.err_backend += "- swaybg (dla Wayland)\n- swww (dla Wayland)\n"
self.err_backend += "- feh (dla Xorg)\n- wallutils (dla Xorg i Wayland)\n\n"
self.err_backend += self.msg_info
self.err_wall = "Błąd podczas zmiany tapety:"
self.err_notsup = "Backend nie jest obsługiwany:"
self.err_disp = "Błąd podczas określania nazw monitorów:"
self.err_kill = "Ostrzeżenie związane z poleceniem killall:"
self.tip_subfolder = "Dołącz/wyłącz obrazy z podkatalogów"
self.tip_refresh = "Odśwież folder z obrazami"
self.tip_fill = "Wybierz typ wypełnienia"
self.tip_backend = "Wybierz backend"
self.tip_sorting = "Wybierz typ sortowania"
self.tip_display = "Wybierz wyświetlacz"
self.tip_color = "Wybierz kolor tła"
self.tip_random = "Ustaw losową tapetę"
self.tip_exit = "Wyjdź z aplikacji"
class Russian:
def __init__(self):
self.msg_desc = "Графический интерфейс для установки обоев на Wayland и X11. Работает как фронтенд для feh, swaybg, wallutils и swww."
self.msg_info = "Для получения дополнительной информации посетите:\nhttps://github.com/anufrievroman/waypaper"
self.msg_arg_help = "вывести версию программы"
self.msg_arg_fill = "указать, как заполнить экран выбранным изображением"
self.msg_arg_rest = "восстановить последние обои"
self.msg_arg_back = "указать бэкенд для установки обоев"
self.msg_arg_rand = "установить случайные обои"
self.msg_path = "Выбранный путь к изображению:"
self.msg_select = "Выбрать"
self.msg_refresh = "Обновить"
self.msg_random = "Случайно"
self.msg_exit = "Выход"
self.msg_subfolders = "Подпапки"
self.msg_changefolder = "Изменить папку с обоями"
self.msg_choosefolder = "Пожалуйста, выберите папку"
self.msg_caching = "Кэширование обоев..."
self.msg_setwith = "Отправлена команда на установку обоев с использованием"
self.msg_help = "Горячие клавиши Waypaper:\n\nhjkl - Навигация (←↓↑→)\nf - Изменить папку с обоями\n"
self.msg_help += "g - Прокрутка в начало\nG - Прокрутка в конец\nR - Установить случайные обои\nr - Обновить кэш обоев\n"
self.msg_help += "s - Включить/отключить изображения в подпапках\n? - Справка\nq - Выход\n\n"
self.msg_help += self.msg_info
self.err_cache = "Ошибка при удалении кэша"
self.err_backend = "Похоже, что ни один из бэкендов для установки обоев не установлен в системе.\n"
self.err_backend += "Используйте менеджер пакетов для установки хотя бы одного из этих бэкендов:\n\n"
self.err_backend += "- swaybg (для Wayland)\n- swww (для Wayland)\n"
self.err_backend += "- feh (для Xorg)\n- wallutils (для Xorg и Wayland)\n\n"
self.err_backend += self.msg_info
self.err_wall = "Ошибка при смене обоев:"
self.err_notsup = "Бэкенд не поддерживается:"
self.err_disp = "Ошибка определения названий мониторов:"
self.err_kill = "Предупреждение связанное с killall:"
self.tip_subfolder = "Включить/отключить изображения в подпапках"
self.tip_refresh = "Обновить папку с изображениями"
self.tip_fill = "Выбрать тип заполнения"
self.tip_backend = "Выбрать бэкенд"
self.tip_sorting = "Выбрать тип сортировки"
self.tip_display = "Выбрать дисплей"
self.tip_color = "Выбрать цвет фона"
self.tip_random = "Установить случайные обои"
self.tip_exit = "Выйти из приложения"
class Chinese:
def __init__(self):
self.msg_desc = "Wayland 和 X11 的 GUI 壁纸设置器。它用作 feh、swaybg、wallutils 和 swww 的前端。"
self.msg_info = "欲了解更多信息,请访问:\nhttps://github.com/anufrievroman/waypaper"
self.msg_arg_help = "版本信息"
self.msg_arg_fill = "指定所选图像填充屏幕"
self.msg_arg_rest = "恢复上个壁纸"
self.msg_arg_back = "指定使用哪个后端来设置壁纸"
self.msg_arg_rand = "设置随机壁纸"
self.msg_path = "选择的图像路径:"
self.msg_select = "选择"
self.msg_refresh = "刷新"
self.msg_random = "随机"
self.msg_exit = "退出"
self.msg_subfolders = "子文件夹"
self.msg_changefolder = "更改壁纸文件夹"
self.msg_choosefolder = "请选择一个文件夹"
self.msg_caching = "缓存壁纸..."
self.msg_setwith = "发送设置壁纸的命令是用"
self.msg_help = "Waypaper 的热键:\n\nhjkl -导航 (←↓↑→)\nf -更改壁纸文件夹\n"
self.msg_help += "g -滚动到顶部\nG -滚动到底部\nR -设置随机壁纸\nr -重新缓存壁纸\n"
self.msg_help += "s -包含/排除子文件夹中的图像\n -帮助\nq -退出\n\n"
self.msg_help += self.msg_info
self.err_cache = "删除缓存时出错"
self.err_backend = "系统中似乎没有安装壁纸后端。\n"
self.err_backend += "使用包管理器安装至少以下后端之一:\n\n"
self.err_backend += "-swaybg (用于 Wayland)\n-swww (用于 Wayland)\n"
self.err_backend += "-feh (对于 Xorg)\n-wallutils (对于 Xorg 和 Wayland)\n\n"
self.err_backend += self.msg_info
self.err_wall = "更改壁纸时出错:"
self.err_notsup = "不支持后端:"
self.err_disp = "确定监视器名称时出错:"
self.err_kill = "与killall相关的警告"
self.tip_subfolder = "在子文件夹中包含/排除图像"
self.tip_refresh = "重新缓存图像文件夹"
self.tip_fill = "选择填充类型"
self.tip_backend = "选择后端"
self.tip_sorting = "选择排序类型"
self.tip_display = "选择显示"
self.tip_color = "选择背景颜色"
self.tip_random = "设置随机壁纸"
self.tip_exit = "退出应用程序"