From adccdef933d2df089c3408cb15bc908401586b0b Mon Sep 17 00:00:00 2001 From: GenevensiS <66968533+G-e-n-e-v-e-n-s-i-S@users.noreply.github.com> Date: Mon, 16 Feb 2026 13:49:14 +0100 Subject: [PATCH] tweaks an locale updates --- CMakeLists.txt | 2 +- data/ch-s.mse-locale/locale | 48 ++++++++++++++++++++++++++-- data/ch-t.mse-locale/locale | 48 ++++++++++++++++++++++++++-- data/da.mse-locale/locale | 48 ++++++++++++++++++++++++++-- data/de.mse-locale/locale | 37 +++++++++++++++++++-- data/en.mse-locale/locale | 38 +++++++++++++++++++--- data/es.mse-locale/locale | 48 ++++++++++++++++++++++++++-- data/fr.mse-locale/locale | 42 ++++++++++++++++++++---- data/it.mse-locale/locale | 38 +++++++++++++++++++--- data/jp.mse-locale/locale | 48 ++++++++++++++++++++++++++-- data/ko.mse-locale/locale | 48 ++++++++++++++++++++++++++-- data/pl.mse-locale/locale | 48 ++++++++++++++++++++++++++-- data/pt-br.mse-locale/locale | 42 ++++++++++++++++++++---- data/ru.mse-locale/locale | 48 ++++++++++++++++++++++++++-- src/data/action/keyword.cpp | 4 +-- src/data/action/set.cpp | 26 ++++++++------- src/data/action/value.cpp | 16 +++++++--- src/data/action/value.hpp | 2 +- src/data/card.cpp | 24 +++++++------- src/gui/bulk_modification_window.cpp | 2 +- src/gui/card_link_window.cpp | 14 +++++--- src/gui/control/card_list.cpp | 14 +++++--- src/gui/control/card_viewer.cpp | 4 +-- src/gui/downloadable_installers.hpp | 5 +++ src/gui/set/cards_panel.cpp | 24 ++++++++++---- src/gui/symbol/window.cpp | 2 +- 26 files changed, 630 insertions(+), 90 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 0725971e..7c47fdd1 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -29,7 +29,7 @@ endif() # You will most likely get a message about being unable to open hunspell-1.7.lib because pkgconf forgets to add the actual path to # HUNSPELL_LIBRARIES. If so, uncomment the below line and point it to the correct vcpkg root folder/library. -set(HUNSPELL_LIBRARIES "C:\\src\\vcpkg\\installed\\${VCPKG_TARGET_TRIPLET}\\lib\\hunspell-1.7.lib") +#set(HUNSPELL_LIBRARIES "C:\\PATH\\TO\\ROOT\\vcpkg\\installed\\${VCPKG_TARGET_TRIPLET}\\lib\\hunspell-1.7.lib") message("-- Does this have a full path? If not, and it's just a file name, it's broken: Found Hunspell at ${HUNSPELL_LIBRARIES}") include_directories("${PROJECT_BINARY_DIR}/src") diff --git a/data/ch-s.mse-locale/locale b/data/ch-s.mse-locale/locale index 31e64fd9..1d2794ae 100644 --- a/data/ch-s.mse-locale/locale +++ b/data/ch-s.mse-locale/locale @@ -1,7 +1,7 @@ mse version: 2.5.8 -installer group: translations/chinese/simplified +installer group: Magic Set Editor/translations/chinese simplified full name: 简体中文 (Simplified Chinese) -version: 2025-06-18 +version: 2026-02-28 icon: cn.png #By slimeking @@ -651,6 +651,8 @@ label: 更改此项可能会影响锐化的外观。 不适用于现有图像。 check at startup: 程序运行时检查新版本 + #TODO: Localize + check what targets: Check for new versions of the following checking requires internet: 检查新版本需要接入互联网。 没有接入互联网的时候不检查更新。 @@ -735,6 +737,8 @@ label: package name: 文件包 package status: 状态 package action: 动作 + #TODO: Localize + awaiting package list: (Waiting for package list from internet) package conflicts: 矛盾修改 package modified: 本地修改 @@ -745,6 +749,10 @@ label: reinstall package: 重新安装 upgrade package: 升级 remove package: 移除 + #TODO: Localize + updates found: + Updates have been found. + Would you like to open the package manager? installed version: 安装版本 installable version: 最新版本 @@ -827,8 +835,18 @@ button: spellcheck enabled: 在卡片上显示拼写错误 check now: 立刻检查 always: 总是 + #TODO: Localize + every 5 startups: Every 5 startups + #TODO: Localize + every 10 startups: Every 10 startups if internet connection exists: 如果接入互联网 never: 从不 + #TODO: Localize + check app: Application only + #TODO: Localize + check games: Application, games and styles + #TODO: Localize + check everything: Everything internal image extension: 内部存储带有文件扩展名的图像 #TODO: Localize allow image download: @@ -880,6 +898,8 @@ button: title: # window titles magic set editor: Magic Set Editor + #TODO: Localize + magic set editor updater: Updater %s - magic set editor: %s - Magic Set Editor untitled: 无标题 about: 关于 Magic Set Editor 由slimeking漢化制作 @@ -950,8 +970,30 @@ title: installing updates: 安装更新 cannot create file: 无法创建文件 + # misc + #TODO: Localize Section + info: Information + warning: Warning + error: Error + ############################################################## Action (undo/redo) names action: + # cards + #TODO: Localize Section + reorder cards: Reorder cards + change link: Change link + change notes: Change notes + change id: Change ID + change style: Change style + change all styles: Change style (all cards) + use custom style: Use custom style + show reminder text: Show reminder text + hide reminder text: Hide reminder text + + # keywords + #TODO: Localize + keyword mode: Keyword mode + # list boxes add item: 添加 %s remove item: 移除 %s @@ -1139,6 +1181,8 @@ error: multiple back faces: Card '%s' has multiple cards linked as back faces. #TODO: Localize cant link to self: Cannot link a card to itself. (This assignment will be ignored.) + #TODO: Localize + no cards selected: No cards selected. Select up to 4 cards to link. could not find input: Could not find input card. could not find linked: Could not find linked card. diff --git a/data/ch-t.mse-locale/locale b/data/ch-t.mse-locale/locale index 2540a634..3372ff0d 100644 --- a/data/ch-t.mse-locale/locale +++ b/data/ch-t.mse-locale/locale @@ -1,7 +1,7 @@ mse version: 2.5.8 -installer group: translations/chinese/traditional +installer group: Magic Set Editor/translations/chinese traditional full name: 繁體中文 (Traditional Chinese) -version: 2025-06-18 +version: 2026-02-28 icon: cn.png @@ -649,6 +649,8 @@ label: 更改此項目可能會影響銳化的外觀。 不適用於現有影像。 check at startup: 程序運行時檢查新版本 + #TODO: Localize + check what targets: Check for new versions of the following checking requires internet: 檢查新版本需要接入互聯網。 沒有接入互聯網的時候不檢查更新。 @@ -733,6 +735,8 @@ label: package name: 文件包 package status: 狀態 package action: 動作 + #TODO: Localize + awaiting package list: (Waiting for package list from internet) package conflicts: 矛盾修改 package modified: 本地修改 @@ -743,6 +747,10 @@ label: reinstall package: 重新安裝 upgrade package: 昇級 remove package: 移除 + #TODO: Localize + updates found: + Updates have been found. + Would you like to open the package manager? installed version: 安裝版本 installable version: 最新版本 @@ -825,8 +833,18 @@ button: spellcheck enabled: 在卡片上顯示拼字錯誤 check now: 立刻檢查 always: 總是 + #TODO: Localize + every 5 startups: Every 5 startups + #TODO: Localize + every 10 startups: Every 10 startups if internet connection exists: 如果接入互聯網 never: 從不 + #TODO: Localize + check app: Application only + #TODO: Localize + check games: Application, games and styles + #TODO: Localize + check everything: Everything internal image extension: 內部儲存帶有檔案副檔名的映像 #TODO: Localize allow image download: @@ -878,6 +896,8 @@ button: title: # window titles magic set editor: Magic Set Editor + #TODO: Localize + magic set editor updater: Updater %s - magic set editor: %s - Magic Set Editor untitled: 無標題 about: 關於 Magic Set Editor @@ -948,8 +968,30 @@ title: installing updates: 安裝更新 cannot create file: 無法創建文件 + # misc + #TODO: Localize Section + info: Information + warning: Warning + error: Error + ############################################################## Action (undo/redo) names action: + # cards + #TODO: Localize Section + reorder cards: Reorder cards + change link: Change link + change notes: Change notes + change id: Change ID + change style: Change style + change all styles: Change style (all cards) + use custom style: Use custom style + show reminder text: Show reminder text + hide reminder text: Hide reminder text + + # keywords + #TODO: Localize + keyword mode: Keyword mode + # list boxes add item: 添加 %s remove item: 移除 %s @@ -1137,6 +1179,8 @@ error: multiple back faces: Card '%s' has multiple cards linked as back faces. #TODO: Localize cant link to self: Cannot link a card to itself. (This assignment will be ignored.) + #TODO: Localize + no cards selected: No cards selected. Select up to 4 cards to link. could not find input: Could not find input card. could not find linked: Could not find linked card. diff --git a/data/da.mse-locale/locale b/data/da.mse-locale/locale index ab4da063..17ceb40e 100644 --- a/data/da.mse-locale/locale +++ b/data/da.mse-locale/locale @@ -1,7 +1,7 @@ mse version: 2.5.8 -installer group: translations/dansk +installer group: Magic Set Editor/translations/danish full name: Dansk (Danish) -version: 2025-06-18 +version: 2026-02-28 icon: dk.png #By lord_joakim @@ -662,6 +662,8 @@ label: Ændring af dette kan påvirke, hvordan Sharpening ser ud. Gælder ikke med tilbagevirkende kraft for eksisterende billeder. check at startup: Tjek efter nye versioner ved startup + #TODO: Localize + check what targets: Check for new versions of the following checking requires internet: Dette kræver netforbindelse. Når der ikke er forbindelse, bliver der ikke ledt efter opdateringer. @@ -751,6 +753,8 @@ label: #TODO: Localize package status: Status package action: Handling + #TODO: Localize + awaiting package list: (Waiting for package list from internet) package conflicts: konfliktmodifikationer package modified: lokale modifikationer @@ -761,6 +765,10 @@ label: reinstall package: geninstallér upgrade package: opdater remove package: fjern + #TODO: Localize + updates found: + Updates have been found. + Would you like to open the package manager? installed version: Installeret version: installable version: seneste version: @@ -843,8 +851,18 @@ button: spellcheck enabled: Vis stavefejl på kort check now: Tjek &Nu! always: Altid + #TODO: Localize + every 5 startups: Every 5 startups + #TODO: Localize + every 10 startups: Every 10 startups if internet connection exists: Hvis internetforbindelse findes never: Aldrig + #TODO: Localize + check app: Application only + #TODO: Localize + check games: Application, games and styles + #TODO: Localize + check everything: Everything internal image extension: Gem billeder internt med filtypenavn #TODO: Localize allow image download: @@ -896,6 +914,8 @@ button: title: # window titles magic set editor: Magic Set Editor + #TODO: Localize + magic set editor updater: Updater %s - magic set editor: %s - Magic Set Editor untitled: Unavngivet about: Om Magic Set Editor @@ -968,8 +988,30 @@ title: installing updates: Installerer opdateringer cannot create file: Kan ikke skabe fil + # misc + #TODO: Localize Section + info: Information + warning: Warning + error: Error + ############################################################## Action (undo/redo) names action: + # cards + #TODO: Localize Section + reorder cards: Reorder cards + change link: Change link + change notes: Change notes + change id: Change ID + change style: Change style + change all styles: Change style (all cards) + use custom style: Use custom style + show reminder text: Show reminder text + hide reminder text: Hide reminder text + + # keywords + #TODO: Localize + keyword mode: Keyword mode + # list boxes add item: Tilføj %s remove item: Fjern %s @@ -1166,6 +1208,8 @@ error: multiple back faces: Card '%s' has multiple cards linked as back faces. #TODO: Localize cant link to self: Cannot link a card to itself. (This assignment will be ignored.) + #TODO: Localize + no cards selected: No cards selected. Select up to 4 cards to link. could not find input: Could not find input card. could not find linked: Could not find linked card. diff --git a/data/de.mse-locale/locale b/data/de.mse-locale/locale index 77f5ec5d..761049b9 100644 --- a/data/de.mse-locale/locale +++ b/data/de.mse-locale/locale @@ -1,7 +1,7 @@ mse version: 2.5.8 -installer group: translations/deutsch +installer group: Magic Set Editor/translations/german full name: Deutsch (German) -version: 2025-06-18 +version: 2026-02-28 icon: de.png @@ -607,7 +607,8 @@ label: Skalieren Sie, um Kartenbilder intern zu speichern. Wenn Sie dies ändern, kann sich dies auf das Erscheinungsbild der Schärfung auswirken. Gilt nicht rückwirkend für bestehende Bilder. - check at startup: Beim Start auf neue Version überprüfen + check at startup: Beim Start auf neuen Versionen überprüfen + check what targets: Suche nach neuen Versionen der folgenden Pakete checking requires internet: Das Überprüfen benötigt eine offene Internetverbindung. Wurde keine gefunden, wird nicht auf Updates überprüft. @@ -689,6 +690,7 @@ label: package name: Package package status: Status package action: Aktion + awaiting package list: (Warte auf Paketliste aus dem Internet) package conflicts: Widersprüchliche Modifikationen package modified: Aktuelle Modifikationen @@ -699,6 +701,9 @@ label: reinstall package: neu installieren upgrade package: Upgraden remove package: Entfernen + updates found: + Updates wurden gefunden. + Möchten Sie den Paketmanager öffnen? installed version: Installierte Version installable version: Letzte Version @@ -773,8 +778,13 @@ button: spellcheck enabled: Rechtschreibfehler auf Karten anzeigen check now: &Jetzt überprüfen always: Immer (empfohlen) + every 5 startups: Alle 5 Starts + every 10 startups: Alle 10 Starts if internet connection exists: Wenn Internetverbindung besteht never: Niemals + check app: Nur App + check games: App, Spiele und Stile + check everything: Alles internal image extension: Speichern Sie Bilder intern mit der Dateierweiterung allow image download: Bilder herunterladen zulassen. @@ -825,6 +835,7 @@ button: title: # window titles magic set editor: Magic Set Editor + magic set editor updater: Updater %s - magic set editor: %s - Magic Set Editor untitled: UnbenannteEdition about: Über Magic Set Editor @@ -889,8 +900,27 @@ title: installing updates: Installiere Updates cannot create file: Datei kann nicht erstellt werden! + # misc + info: Info + warning: Warnung + error: Fehler + ############################################################## Action (undo/redo) names action: + # cards + reorder cards: Karten neu anordnen + change link: Link ändern + change notes: Notizen ändern + change id: ID ändern + change style: Stil ändern + change all styles: Stil ändern (alle Karten) + use custom style: Benutzerdefinierten Stil verwenden + show reminder text: Erinnerungstext anzeigen + hide reminder text: Erinnerungstext ausblenden + + # keywords + keyword mode: Schlüsselwortmodus + # list boxes add item: %s hinzufügen remove item: %s entfernen @@ -1060,6 +1090,7 @@ error: multiple front faces: Karte '%s' hat mehrere Karten, die als Vorderseiten verknüpft sind. multiple back faces: Karte '%s' hat mehrere Karten, die als Rückseiten verknüpft sind. cant link to self: Eine Karte kann nicht mit sich selbst verknüpft werden. (Diese Aufgabe wird ignoriert.) + no cards selected: Es wurden keine Karten ausgewählt. Wählen Sie bis zu 4 Karten zum Verknüpfen aus. could not find input: Eingabekarte (input) nicht gefunden. could not find linked: Verknüpfte Karte (linked_card) nicht gefunden. diff --git a/data/en.mse-locale/locale b/data/en.mse-locale/locale index e8fdfcb3..885bf3b6 100644 --- a/data/en.mse-locale/locale +++ b/data/en.mse-locale/locale @@ -1,7 +1,7 @@ mse version: 2.5.8 -installer group: translations/english +installer group: Magic Set Editor/translations/english full name: English -version: 2025-06-18 +version: 2026-02-28 icon: usgb.png @@ -608,9 +608,9 @@ label: Changing the scale does not retroactively apply to existing images. You must re-import them. check at startup: Check for new versions at startup + check what targets: Check for new versions of the following checking requires internet: - Checking for updates requires an internet connection. - When no internet connection is found upates are not checked. + When no internet connection is found updates are not checked. No information is collected when checking for updates. @@ -689,6 +689,7 @@ label: package name: Package package status: Status package action: Action + awaiting package list: (Waiting for package list from internet) package conflicts: conflicting modifications package modified: local modifications @@ -699,6 +700,9 @@ label: reinstall package: reinstall upgrade package: update remove package: remove + updates found: + Updates have been found. + Would you like to open the package manager? installed version: Installed version: installable version: Latest version: @@ -773,8 +777,13 @@ button: spellcheck enabled: Show &spelling errors on cards check now: Check &Now always: Always + every 5 startups: Every 5 startups + every 10 startups: Every 10 startups if internet connection exists: If internet connection exists never: Never + check app: Application only + check games: Application, games and styles + check everything: Everything internal image extension: Store images internally with file extension @@ -827,6 +836,7 @@ button: title: # window titles magic set editor: Magic Set Editor + magic set editor updater: Updater %s - magic set editor: %s - Magic Set Editor untitled: Untitled about: About Magic Set Editor @@ -891,8 +901,27 @@ title: installing updates: Installing updates cannot create file: Cannot create file + # misc + info: Information + warning: Warning + error: Error + ############################################################## Action (undo/redo) names action: + # cards + reorder cards: Reorder cards + change link: Change link + change notes: Change notes + change id: Change ID + change style: Change style + change all styles: Change style (all cards) + use custom style: Use custom style + show reminder text: Show reminder text + hide reminder text: Hide reminder text + + # keywords + keyword mode: Keyword mode + # list boxes add item: Add %s remove item: Remove %s @@ -1062,6 +1091,7 @@ error: multiple front faces: Card '%s' has multiple cards linked as front faces. multiple back faces: Card '%s' has multiple cards linked as back faces. cant link to self: Cannot link a card to itself. (This assignment will be ignored.) + no cards selected: No cards selected. Select up to 4 cards to link. could not find input: Could not find input card. could not find linked: Could not find linked card. diff --git a/data/es.mse-locale/locale b/data/es.mse-locale/locale index f5f21dc2..95b0f23e 100644 --- a/data/es.mse-locale/locale +++ b/data/es.mse-locale/locale @@ -1,7 +1,7 @@ mse version: 2.5.8 -installer group: translations/español +installer group: Magic Set Editor/translations/spanish full name: Español (Spanish) -version: 2025-06-18 +version: 2026-02-28 icon: es.png @@ -652,6 +652,8 @@ label: Cambiar esto puede afectar como se ve el Sharpening o Perfilado. No se aplica retroactivamente a las imágenes existentes. check at startup: Buscar nuevas versiones al inicio + #TODO: Localize + check what targets: Check for new versions of the following checking requires internet: La búsqueda de actualizaciones requiere una conexión a internet. Si no hay una conexión a internet disponible no se buscan actualizaciones. @@ -736,6 +738,8 @@ label: package name: Paquete package status: Situación package action: Acción + #TODO: Localize + awaiting package list: (Waiting for package list from internet) package conflicts: Modificaciones en conflicto package modified: Modificaciones locales @@ -746,6 +750,10 @@ label: reinstall package: Reinstalar upgrade package: Actualizar remove package: Eliminar + #TODO: Localize + updates found: + Updates have been found. + Would you like to open the package manager? installed version: Versión instalada: installable version: Última versión: @@ -828,8 +836,18 @@ button: spellcheck enabled: Mostrar errores de &ortografía en las cartas check now: Buscar &ahora always: Siempre + #TODO: Localize + every 5 startups: Every 5 startups + #TODO: Localize + every 10 startups: Every 10 startups if internet connection exists: Si hay conexión de internet never: Nunca + #TODO: Localize + check app: Application only + #TODO: Localize + check games: Application, games and styles + #TODO: Localize + check everything: Everything internal image extension: Almacenar imágenes internamente con extensión de archivo #TODO: Localize allow image download: @@ -881,6 +899,8 @@ button: title: # window titles magic set editor: Magic Set Editor + #TODO: Localize + magic set editor updater: Updater %s - magic set editor: %s - Magic Set Editor untitled: Sin título about: Sobre Magic Set Editor @@ -951,8 +971,30 @@ title: installing updates: Instalando actualizaciones cannot create file: No se pudo crear el archivo + # misc + #TODO: Localize Section + info: Information + warning: Warning + error: Error + ############################################################## Action (undo/redo) names action: + # cards + #TODO: Localize Section + reorder cards: Reorder cards + change link: Change link + change notes: Change notes + change id: Change ID + change style: Change style + change all styles: Change style (all cards) + use custom style: Use custom style + show reminder text: Show reminder text + hide reminder text: Hide reminder text + + # keywords + #TODO: Localize + keyword mode: Keyword mode + # list boxes add item: Añadir %s remove item: Eliminar %s @@ -1140,6 +1182,8 @@ error: multiple back faces: Card '%s' has multiple cards linked as back faces. #TODO: Localize cant link to self: Cannot link a card to itself. (This assignment will be ignored.) + #TODO: Localize + no cards selected: No cards selected. Select up to 4 cards to link. could not find input: Could not find input card. could not find linked: Could not find linked card. diff --git a/data/fr.mse-locale/locale b/data/fr.mse-locale/locale index ac93740c..42e8284f 100644 --- a/data/fr.mse-locale/locale +++ b/data/fr.mse-locale/locale @@ -1,7 +1,7 @@ mse version: 2.5.8 -installer group: translations/français +installer group: Magic Set Editor/translations/french full name: Français (French) -version: 2025-06-18 +version: 2026-02-28 icon: fr.png #By GenevensiS @@ -608,12 +608,12 @@ label: Taille à laquelle stocker les images en interne. Changer cette valeur peut modifer l'apparence des images utilisant le filtre de netteté. Ne s'applique pas rétroactivement aux images déjà stockées. - check at startup: Vérifier les mises à jour au démarrage + check at startup: Chercher des mises à jour au démarrage + check what targets: Chercher des mises à jour pour les éléments suivants checking requires internet: - Vous avez besoin d'une connexion internet pour vérifier les mises à jour. - Il n'y a aucune vérification si vous n'êtes pas connecté à internet. + Aucune recherche n'est effectuée si vous n'êtes pas connecté à internet. - Aucune information n'est collectée lors de la vérification des mises à jour. + Aucune information n'est collectée lors de la recherche des mises à jour. # column select dialog select columns: Sélectionnez les colonnes à afficher @@ -690,6 +690,7 @@ label: package name: Package package status: État package action: Action + awaiting package list: (En attente de la liste des paquets depuis Internet) package conflicts: modifications en conflit package modified: modifications locales @@ -700,6 +701,9 @@ label: reinstall package: réinstaller upgrade package: upgrader remove package: supprimer + updates found: + Des mises à jour ont été trouvées. + Souhaitez-vous ouvrir le gestionnaire de paquets? installed version: Version installée: installable version: Dernière version: @@ -774,8 +778,13 @@ button: spellcheck enabled: Afficher les fautes d'orthographe sur les cartes check now: &Vérifier maintenant always: Toujours + every 5 startups: Tous les 5 démarrages + every 10 startups: Tous les 10 démarrages if internet connection exists: Si il y a une connexion internet never: Jamais + check app: Application uniquement + check games: Application, jeux et styles + check everything: Tout internal image extension: Stocker les images avec une extension en interne allow image download: Autoriser le téléchargement des images. @@ -826,6 +835,7 @@ button: title: # window titles magic set editor: Magic Set Editor + magic set editor updater: Updater %s - magic set editor: %s - Magic Set Editor untitled: Sans Titre about: À propos de Magic Set Editor @@ -890,8 +900,27 @@ title: installing updates: Installation des mises à jours cannot create file: Impossible de créer le fichier + # misc + info: Info + warning: Avertissement + error: Erreur + ############################################################## Action (undo/redo) names action: + # cards + reorder cards: Réorganiser les cartes + change link: Modifier le lien + change notes: Modifier les notes + change id: Modifier l'ID + change style: Modifier le style + change all styles: Modifier le style (toutes les cartes) + use custom style: Utiliser un style personnalisé + show reminder text: Afficher le texte de rappel + hide reminder text: Masquer le texte de rappel + + # keywords + keyword mode: Mode du mot-clé + # list boxes add item: Ajouter %s remove item: Supprimer %s @@ -1061,6 +1090,7 @@ error: multiple front faces: La carte '%s' contient plusieurs cartes liées comme face avant. multiple back faces: La carte '%s' contient plusieurs cartes liées comme face arrière. cant link to self: Impossible de lier une carte à elle-même. (Cet assignation sera ignorée.) + no cards selected: Aucune carte sélectionnée. Sélectionnez jusqu'à 4 cartes à lier. could not find input: Carte d'input introuvable. could not find linked: Carte liée (linked_card) introuvable. diff --git a/data/it.mse-locale/locale b/data/it.mse-locale/locale index 8a2b6de8..07697844 100644 --- a/data/it.mse-locale/locale +++ b/data/it.mse-locale/locale @@ -1,7 +1,7 @@ mse version: 2.5.8 -installer group: translations/italiano +installer group: Magic Set Editor/translations/italian full name: Italiano (Italian) -version: 2025-06-18 +version: 2026-02-28 icon: it.png @@ -608,9 +608,9 @@ label: Scala per archiviare internamente le immagini delle carte. La modifica di questa impostazione potrebbe influire sull'aspetto della Nitidezza. Non si applica retroattivamente alle immagini esistenti. - check at startup: Controlla aggiornamenti all'avvio + check at startup: Controlla gli aggiornamenti all'avvio + check what targets: Controlla gli aggiornamenti per quanto segue checking requires internet: - Controllare gli aggiornamenti richiede una connessione a Internet. Se non viene trovata nessuna connessione a Internet gli aggiornamenti non vengono controllati. Non sono raccolte informazioni quando si controllano gli aggiornamenti. @@ -690,6 +690,7 @@ label: package name: Pacchetto package status: Stato package action: Azione + awaiting package list: (In attesa dell'elenco dei pacchetti da Internet) package conflicts: conflitto modifiche package modified: modifiche locali @@ -700,6 +701,9 @@ label: reinstall package: reinstallare upgrade package: aggiornamento remove package: rimuovere + updates found: + Sono stati trovati aggiornamenti. + Vuoi aprire il gestore pacchetti? installed version: Versione installata: installable version: Ultima versione: @@ -774,8 +778,13 @@ button: spellcheck enabled: Mostra gli errori di ortografia sulle carte check now: Controlla ora (&N) always: Sempre + every 5 startups: Ogni 5 avvii + every 10 startups: Ogni 10 avvii if internet connection exists: Se è presente una connessione a Internet never: Mai + check app: Solo app + check games: App, giochi e stili + check everything: Tutto internal image extension: Memorizza le immagini internamente con l'estensione del file allow image download: Consenti il download delle immagini. @@ -826,6 +835,7 @@ button: title: # window titles magic set editor: Magic Set Editor + magic set editor updater: Updater %s - magic set editor: %s - Magic Set Editor untitled: Senza titolo about: Informazioni su Magic Set Editor @@ -890,8 +900,27 @@ title: installing updates: Installazione di aggiornamenti cannot create file: Impossibile creare il file + # misc + info: Informazioni + warning: Avviso + error: Errore + ############################################################## Action (undo/redo) names action: + # cards + reorder cards: Riordina le carte + change link: Modifica collegamento + change notes: Modifica note + change id: Modifica ID + change style: Modifica stile + change all styles: Modifica stile (tutte le carte) + use custom style: Usa stile personalizzato + show reminder text: Mostra testo promemoria + hide reminder text: Nascondi testo promemoria + + # keywords + keyword mode: Modalità parola chiave + # list boxes add item: Aggiungi %s remove item: Rimuovi %s @@ -1061,6 +1090,7 @@ error: multiple front faces: La carta '%s' ha più carte collegate come lati anteriori multiple back faces: La carta '%s' ha più carte collegate come lati posteriori cant link to self: Impossibile collegare una carta a se stessa. (Questa assegnazione verrà ignorata.) + no cards selected: Nessuna carta selezionata. Seleziona fino a 4 carte da collegare. could not find input: Impossibile trovare la carta di input could not find linked: Impossibile trovare la carta collegata (linked_card) diff --git a/data/jp.mse-locale/locale b/data/jp.mse-locale/locale index 5b492816..e8329c6e 100644 --- a/data/jp.mse-locale/locale +++ b/data/jp.mse-locale/locale @@ -1,7 +1,7 @@ mse version: 2.5.8 -installer group: translations/japanese +installer group: Magic Set Editor/translations/japanese full name: 日本語 (Japanese) -version: 2025-06-18 +version: 2026-02-28 icon: jp.png @@ -651,6 +651,8 @@ label: これを変更すると、シャープ化の見た目に影響する可能性があります。 既存のイメージには遡って適用されません。 check at startup: 起動ごとのバージョン・チェック + #TODO: Localize + check what targets: Check for new versions of the following checking requires internet: アップデートを調べることはインターネット接続を必要とします。 インターネット接続が利用可能でない時、これはチェックされません。 @@ -735,6 +737,8 @@ label: package name: パッケージ package status: 地位 package action: アクション + #TODO: Localize + awaiting package list: (Waiting for package list from internet) package conflicts: 競合する変更 package modified: ローカルの変更 @@ -745,6 +749,10 @@ label: reinstall package: 再インストール upgrade package: アップグレード remove package: 取り外す + #TODO: Localize + updates found: + Updates have been found. + Would you like to open the package manager? installed version: インストールされているバージョン installable version: 最新バージョン @@ -827,8 +835,18 @@ button: spellcheck enabled: カードのスペルミスを表示する check now: &今のチェック always: 常に行う + #TODO: Localize + every 5 startups: Every 5 startups + #TODO: Localize + every 10 startups: Every 10 startups if internet connection exists: インターネットに接続していれば never: 行わない + #TODO: Localize + check app: Application only + #TODO: Localize + check games: Application, games and styles + #TODO: Localize + check everything: Everything internal image extension: ファイル拡張子を付けて画像を内部に保存する #TODO: Localize allow image download: @@ -880,6 +898,8 @@ button: title: # window titles magic set editor: Magic Set Editor + #TODO: Localize + magic set editor updater: Updater %s - magic set editor: %s - Magic Set Editor #TODO: Localize untitled: Untitled @@ -951,8 +971,30 @@ title: installing updates: 更新プログラムのインストール cannot create file: ファイルを作成することはできません。 + # misc + #TODO: Localize Section + info: Information + warning: Warning + error: Error + ############################################################## Action (undo/redo) names action: + # cards + #TODO: Localize Section + reorder cards: Reorder cards + change link: Change link + change notes: Change notes + change id: Change ID + change style: Change style + change all styles: Change style (all cards) + use custom style: Use custom style + show reminder text: Show reminder text + hide reminder text: Hide reminder text + + # keywords + #TODO: Localize + keyword mode: Keyword mode + # list boxes add item: 追加する %s remove item: 取り外す %s @@ -1139,6 +1181,8 @@ error: multiple back faces: Card '%s' has multiple cards linked as back faces. #TODO: Localize cant link to self: Cannot link a card to itself. (This assignment will be ignored.) + #TODO: Localize + no cards selected: No cards selected. Select up to 4 cards to link. could not find input: Could not find input card. could not find linked: Could not find linked card. diff --git a/data/ko.mse-locale/locale b/data/ko.mse-locale/locale index ef59b9ac..14ab7f1f 100644 --- a/data/ko.mse-locale/locale +++ b/data/ko.mse-locale/locale @@ -1,7 +1,7 @@ mse version: 2.5.8 -installer group: translations/korean +installer group: Magic Set Editor/translations/korean full name: 한국어 (Korean) -version: 2025-06-18 +version: 2026-02-28 icon: ko.png #TODO: Get actual speaker to localize this better and not via google translate @@ -657,6 +657,8 @@ label: 이를 변경하면 선명 효과가 나타나는 방식에 영향을 줄 수 있습니다. 기존 이미지에는 소급 적용되지 않습니다. check at startup: 시작 시 새 버전 확인 + #TODO: Localize + check what targets: Check for new versions of the following checking requires internet: 업데이트를 확인하려면 인터넷 연결이 필요합니다. 인터넷 연결이 없으면 업데이트가 확인되지 않습니다. @@ -741,6 +743,8 @@ label: package name: 패키지 package status: 상태 package action: 행동 + #TODO: Localize + awaiting package list: (Waiting for package list from internet) package conflicts: 충돌하는 코드 변경 package modified: 개인 - 코드 변경 @@ -751,6 +755,10 @@ label: reinstall package: 재설치 upgrade package: 업데이트 remove package: 제거하다 + #TODO: Localize + updates found: + Updates have been found. + Would you like to open the package manager? installed version: 설치된 버전: installable version: 최신 버전: @@ -833,8 +841,18 @@ button: spellcheck enabled: 철자 오류 표시 check now: 지금 확인하세요 always: 언제나 + #TODO: Localize + every 5 startups: Every 5 startups + #TODO: Localize + every 10 startups: Every 10 startups if internet connection exists: 인터넷 연결이 존재하는 경우 never: 절대 + #TODO: Localize + check app: Application only + #TODO: Localize + check games: Application, games and styles + #TODO: Localize + check everything: Everything internal image extension: 파일 확장자로 이미지 저장 #TODO: Localize allow image download: @@ -886,6 +904,8 @@ button: title: # window titles magic set editor: Magic Set Editor + #TODO: Localize + magic set editor updater: Updater %s - magic set editor: %s - Magic Set Editor untitled: 제목 없음 #TODO: Localize @@ -957,8 +977,30 @@ title: installing updates: 업데이트 설치 cannot create file: 파일을 만들 수 없습니다 + # misc + #TODO: Localize Section + info: Information + warning: Warning + error: Error + ############################################################## Action (undo/redo) names action: + # cards + #TODO: Localize Section + reorder cards: Reorder cards + change link: Change link + change notes: Change notes + change id: Change ID + change style: Change style + change all styles: Change style (all cards) + use custom style: Use custom style + show reminder text: Show reminder text + hide reminder text: Hide reminder text + + # keywords + #TODO: Localize + keyword mode: Keyword mode + # list boxes add item: 추가하다 %s remove item: 제거하다 %s @@ -1146,6 +1188,8 @@ error: multiple back faces: Card '%s' has multiple cards linked as back faces. #TODO: Localize cant link to self: Cannot link a card to itself. (This assignment will be ignored.) + #TODO: Localize + no cards selected: No cards selected. Select up to 4 cards to link. could not find input: Could not find input card. could not find linked: Could not find linked card. diff --git a/data/pl.mse-locale/locale b/data/pl.mse-locale/locale index 867ecf0e..916aae25 100644 --- a/data/pl.mse-locale/locale +++ b/data/pl.mse-locale/locale @@ -1,7 +1,7 @@ mse version: 2.5.8 -installer group: translations/polski +installer group: Magic Set Editor/translations/polski full name: Polski (Polish) -version: 2025-06-18 +version: 2026-02-28 icon: pl.png #By Liosan, 03.2009; Licenced under GFDL where applicable @@ -695,6 +695,8 @@ label: Changing this may impact how Sharpening looks. Does not retroactively apply to existing images. check at startup: Sprawdzaj uaktualnienia przy uruchomieniu + #TODO: Localize + check what targets: Check for new versions of the following checking requires internet: Szukanie nowszych wersji wymaga podłączenia do Internetu. Przy braku połączenia nie uda się sprawdzić uaktualnień. @@ -785,6 +787,8 @@ label: package name: Paczka package status: Stan package action: Czynność + #TODO: Localize + awaiting package list: (Waiting for package list from internet) package conflicts: konfliktujące zmiany package modified: zmiany lokalne @@ -795,6 +799,10 @@ label: reinstall package: zainstaluj ponownie upgrade package: aktualizuj remove package: usuń + #TODO: Localize + updates found: + Updates have been found. + Would you like to open the package manager? installed version: Zainstalowana wersja: installable version: Najnowsza wersja: @@ -880,9 +888,19 @@ button: spellcheck enabled: Show &spelling errors on cards check now: Sprawdź &teraz always: Zawsze + #TODO: Localize + every 5 startups: Every 5 startups + #TODO: Localize + every 10 startups: Every 10 startups if internet connection exists: Jeśli jest połączenie never: Nigdy #TODO: Localize + check app: Application only + #TODO: Localize + check games: Application, games and styles + #TODO: Localize + check everything: Everything + #TODO: Localize internal image extension: Store images internally with file extension #TODO: Localize allow image download: @@ -934,6 +952,8 @@ button: title: # window titles magic set editor: Magic Set Editor + #TODO: Localize + magic set editor updater: Updater %s - magic set editor: %s - Magic Set Editor untitled: Bez tytułu about: O programie Magic Set Editor @@ -1006,8 +1026,30 @@ title: installing updates: Instalowanie uaktualnień cannot create file: Nie można utworzyć pliku + # misc + #TODO: Localize Section + info: Information + warning: Warning + error: Error + ############################################################## Action (undo/redo) names action: + # cards + #TODO: Localize Section + reorder cards: Reorder cards + change link: Change link + change notes: Change notes + change id: Change ID + change style: Change style + change all styles: Change style (all cards) + use custom style: Use custom style + show reminder text: Show reminder text + hide reminder text: Hide reminder text + + # keywords + #TODO: Localize + keyword mode: Keyword mode + # list boxes add item: Dodaj %s remove item: Usuń %s @@ -1196,6 +1238,8 @@ error: multiple back faces: Card '%s' has multiple cards linked as back faces. #TODO: Localize cant link to self: Cannot link a card to itself. (This assignment will be ignored.) + #TODO: Localize + no cards selected: No cards selected. Select up to 4 cards to link. could not find input: Could not find input card. could not find linked: Could not find linked card. diff --git a/data/pt-br.mse-locale/locale b/data/pt-br.mse-locale/locale index 9644c59c..2eefdc75 100644 --- a/data/pt-br.mse-locale/locale +++ b/data/pt-br.mse-locale/locale @@ -1,7 +1,7 @@ mse version: 2.5.8 -installer group: translations/portuguese/brazilian +installer group: Magic Set Editor/translations/portuguese brazilian full name: Português do Brasil (Brazilian Portuguese) -version: 2025-06-18 +version: 2026-02-28 icon: br.png #By Luciano da Silva @@ -609,9 +609,9 @@ label: Dimensione para armazenar internamente imagens de Card. Alterar isso pode afetar a aparência da Nitidez. Não se aplica retroativamente a imagens existentes. - check at startup: Proucurar por novo gatilho de inicialização + check at startup: Verificar atualizações na inicialização + check what targets: Verificar atualizações dos seguintes itens checking requires internet: - Proucura por atualizações que requeira uma conexão com a internet. Quando não houver uma conexão com a internet, as atualizações não será proucurada. Suas Informações pessoais não serão vistas durante a proucura por atualizações. @@ -691,6 +691,7 @@ label: package name: Pacotes package status: Status package action: Ação + awaiting package list: (Aguardando lista de pacotes da internet) package conflicts: modificações conflitantes package modified: modificações locais @@ -701,6 +702,9 @@ label: reinstall package: reinstalar upgrade package: atualizar remove package: remover + updates found: + Atualizações encontradas. + Deseja abrir o gerenciador de pacotes? installed version: Versão da instalação: installable version: Última versão: @@ -774,9 +778,14 @@ button: dos metadados da imagem spellcheck enabled: Mostra erro&s de ortografia nos Cards check now: Proucurar Agor&a - always: Futuramente + always: Sempre + every 5 startups: A cada 5 inicializações + every 10 startups: A cada 10 inicializações if internet connection exists: Se a conexão da internet existir never: Nunca + check app: Somente aplicativo + check games: Aplicativo, jogos e estilos + check everything: Tudo internal image extension: Armazenar imagens internamente com extensão de arquivo allow image download: Permita o download das imagens. @@ -827,6 +836,7 @@ button: title: # window titles magic set editor: Magic Set Editor + magic set editor updater: Atualizador %s - magic set editor: %s - Magic Set Editor untitled: Em branco about: Sobre Magic Set Editor @@ -891,8 +901,27 @@ title: installing updates: Instalando Atualizações cannot create file: Não pode criar arquivos + # misc + info: Informação + warning: Aviso + error: Erro + ############################################################## Action (undo/redo) names action: + # cards + reorder cards: Reordenar Cards + change link: Alterar link + change notes: Alterar notas + change id: Alterar ID + change style: Alterar estilo + change all styles: Alterar estilo (todos os Cards) + use custom style: Usar estilo personalizado + show reminder text: Mostrar texto de lembrete + hide reminder text: Ocultar texto de lembrete + + # keywords + keyword mode: Modo de palavra-chave + # list boxes add item: Adicionar %s remove item: Remover %s @@ -1058,11 +1087,12 @@ error: not enough free links: O Card '%s' não tem vínculos suficientes disponíveis. Só é possível vincular até 4 Cards. not enough free links for copy: O Card '%s' não tem vínculos suficientes disponíveis para cópia. Só é possível vincular até 4 Cards. could not link: Os seguintes Cards não puderam ser vinculados, pois já têm 4 vínculos: - missing free links: O Card possui apenas %s links livres disponíveis. Selecione menos cartões. + missing free links: O Card possui apenas %s links livres disponíveis. Selecione menos Cards. link duplicate: Nome de link localizado duplicado. '%s' corresponde tanto a '%s' quanto a '%s'. multiple front faces: O Card '%s' possui vários Cards vinculados como faces frontais. multiple back faces: O Card '%s' possui vários Cards vinculados como faces traseiras. cant link to self: Não é possível vincular um cartão a si mesmo. (Esta tarefa será ignorada.) + no cards selected: Nenhum Card selecionado. Selecione até 4 Card para vincular. could not find input: Não foi possível encontrar o Card de entrada (input). could not find linked: Não foi possível encontrar o Card vinculado (linked_card). diff --git a/data/ru.mse-locale/locale b/data/ru.mse-locale/locale index 997545b6..14315436 100644 --- a/data/ru.mse-locale/locale +++ b/data/ru.mse-locale/locale @@ -1,7 +1,7 @@ mse version: 2.5.8 -installer group: translations/russian +installer group: Magic Set Editor/translations/russian full name: Русский (Russian) -version: 2025-06-18 +version: 2026-02-28 icon: ru.png @@ -684,6 +684,8 @@ label: Changing this may impact how Sharpening looks. Does not retroactively apply to existing images. check at startup: Проверять наличие новых версий при запуске + #TODO: Localize + check what targets: Check for new versions of the following checking requires internet: Для проверки обновлений необходимо подключение к интернету. При отсутствии подключения к интернету проверка обновлений не происходит. @@ -775,6 +777,8 @@ label: package name: Пакет модификации package status: Статус package action: Состояние + #TODO: Localize + awaiting package list: (Waiting for package list from internet) package conflicts: Конфликт модификаций package modified: Локальные модификации @@ -785,6 +789,10 @@ label: reinstall package: Переустановить upgrade package: Апдейт remove package: Удалить + #TODO: Localize + updates found: + Updates have been found. + Would you like to open the package manager? installed version: Установленная версия: installable version: Последняя версия: @@ -868,9 +876,19 @@ button: spellcheck enabled: Показать орфографические ошибки в картах check now: Проверить сейчас always: Всегда + #TODO: Localize + every 5 startups: Every 5 startups + #TODO: Localize + every 10 startups: Every 10 startups if internet connection exists: При наличии подключения к интернету never: Никогда #TODO: Localize + check app: Application only + #TODO: Localize + check games: Application, games and styles + #TODO: Localize + check everything: Everything + #TODO: Localize internal image extension: Store images internally with file extension #TODO: Localize allow image download: @@ -922,6 +940,8 @@ button: title: # window titles magic set editor: Magic Set Editor + #TODO: Localize + magic set editor updater: Updater %s - magic set editor: %s - Magic Set Editor untitled: Без названия about: О Magic Set Editor @@ -994,8 +1014,30 @@ title: installing updates: Установка обновлений cannot create file: Невозможно создать файл + # misc + #TODO: Localize Section + info: Information + warning: Warning + error: Error + ############################################################## Action (undo/redo) names action: + # cards + #TODO: Localize Section + reorder cards: Reorder cards + change link: Change link + change notes: Change notes + change id: Change ID + change style: Change style + change all styles: Change style (all cards) + use custom style: Use custom style + show reminder text: Show reminder text + hide reminder text: Hide reminder text + + # keywords + #TODO: Localize + keyword mode: Keyword mode + # list boxes add item: Добавить %s remove item: Удалить %s @@ -1194,6 +1236,8 @@ error: multiple back faces: Card '%s' has multiple cards linked as back faces. #TODO: Localize cant link to self: Cannot link a card to itself. (This assignment will be ignored.) + #TODO: Localize + no cards selected: No cards selected. Select up to 4 cards to link. could not find input: Could not find input card. could not find linked: Could not find linked card. diff --git a/src/data/action/keyword.cpp b/src/data/action/keyword.cpp index c9dca0e2..d66d323d 100644 --- a/src/data/action/keyword.cpp +++ b/src/data/action/keyword.cpp @@ -197,11 +197,11 @@ bool KeywordReminderTextValue::checkScript(const ScriptP& script) { // ----------------------------------------------------------------------------- : Changing keywords : mode ChangeKeywordModeAction::ChangeKeywordModeAction(Keyword& keyword, const String& new_mode) - : keyword(keyword), mode(new_mode) + : keyword(keyword), mode(new_mode) {} String ChangeKeywordModeAction::getName(bool to_undo) const { - return _("Keyword mode"); + return _ACTION_("keyword mode"); } void ChangeKeywordModeAction::perform(bool to_undo) { diff --git a/src/data/action/set.cpp b/src/data/action/set.cpp index 304fb895..335bcdbc 100644 --- a/src/data/action/set.cpp +++ b/src/data/action/set.cpp @@ -57,7 +57,6 @@ AddCardAction::AddCardAction(AddingOrRemoving ar, Set& set, const vector& LINK_PAIRS(linked_pairs, added_card); FOR_EACH(linked_pair, linked_pairs) { String& linked_uid = linked_pair.first.get(); - String& linked_relation = linked_pair.second.get(); if (linked_uid.empty()) continue; // If it's an added card, replace the link if (all_added_uids.find(linked_uid) != all_added_uids.end()) { @@ -99,7 +98,7 @@ ReorderCardsAction::ReorderCardsAction(Set& set, size_t card_id1, size_t card_id {} String ReorderCardsAction::getName(bool to_undo) const { - return _("Reorder cards"); + return _ACTION_("reorder cards"); } void ReorderCardsAction::perform(bool to_undo) { @@ -120,31 +119,34 @@ OneWayLinkCardsAction::OneWayLinkCardsAction(Set& set, CardP& card, const String : CardListAction(set), card(card), uid(uid), relation(relation) { switch (index) { - case 1: { + case 0: { linked_uid = &card->linked_card_1; linked_relation = &card->linked_relation_1; return; } - case 2: { + case 1: { linked_uid = &card->linked_card_2; linked_relation = &card->linked_relation_2; return; } - case 3: { + case 2: { linked_uid = &card->linked_card_3; linked_relation = &card->linked_relation_3; return; } - default: { + case 3: { linked_uid = &card->linked_card_4; linked_relation = &card->linked_relation_4; return; + } + default: { + throw ScriptError(_("OneWayLinkCardsAction created with invalid index")); } } } String OneWayLinkCardsAction::getName(bool to_undo) const { - return _("Change link"); + return _ACTION_("change link"); } void OneWayLinkCardsAction::perform(bool to_undo) { @@ -167,7 +169,7 @@ ChangeCardStyleAction::ChangeCardStyleAction(const CardP& card, const StyleSheet : card(card), stylesheet(stylesheet), has_styling(false) // styling_data(empty) {} String ChangeCardStyleAction::getName(bool to_undo) const { - return _("Change style"); + return _ACTION_("change style"); } void ChangeCardStyleAction::perform(bool to_undo) { swap(card->stylesheet, stylesheet); @@ -180,7 +182,7 @@ ChangeSetStyleAction::ChangeSetStyleAction(Set& set, const CardP& card) : set(set), card(card) {} String ChangeSetStyleAction::getName(bool to_undo) const { - return _("Change style (all cards)"); + return _ACTION_("change all styles"); } void ChangeSetStyleAction::perform(bool to_undo) { if (!to_undo) { @@ -216,7 +218,7 @@ ChangeCardHasStylingAction::ChangeCardHasStylingAction(Set& set, const CardP& ca } } String ChangeCardHasStylingAction::getName(bool to_undo) const { - return _("Use custom style"); + return _ACTION_("use custom style"); } void ChangeCardHasStylingAction::perform(bool to_undo) { card->has_styling = !card->has_styling; @@ -229,7 +231,7 @@ ChangeCardNotesAction::ChangeCardNotesAction(const CardP& card, const String& no : card(card), notes(notes) {} String ChangeCardNotesAction::getName(bool to_undo) const { - return _("Change notes"); + return _ACTION_("change notes"); } void ChangeCardNotesAction::perform(bool to_undo) { swap(card->notes, notes); @@ -241,7 +243,7 @@ ChangeCardUIDAction::ChangeCardUIDAction(Set& set, const CardP& card, const Stri : CardListAction(set), card(card), uid(uid) {} String ChangeCardUIDAction::getName(bool to_undo) const { - return _("Change ID"); + return _ACTION_("change id"); } void ChangeCardUIDAction::perform(bool to_undo) { FOR_EACH(c, set.cards) { diff --git a/src/data/action/value.cpp b/src/data/action/value.cpp index b8f7d3f3..bfacd39f 100644 --- a/src/data/action/value.cpp +++ b/src/data/action/value.cpp @@ -334,7 +334,7 @@ TextToggleReminderAction::TextToggleReminderAction(const TextValueP& value, size old = enable ? _('1') : _('0'); } String TextToggleReminderAction::getName(bool to_undo) const { - return enable ? _("Show reminder text") : _("Hide reminder text"); + return enable ? _ACTION_("show reminder text") : _ACTION_("hide reminder text"); } void TextToggleReminderAction::perform(bool to_undo) { @@ -375,12 +375,18 @@ void ScriptStyleEvent::perform(bool) { // ----------------------------------------------------------------------------- : Bulk action -BulkAction::BulkAction(const vector& actions, const SetP& set, CardListBase* card_list_window) +BulkAction::BulkAction(const vector& actions, const SetP& set, CardListBase* card_list_window, bool change_name) : actions(actions), set(set), card_list_window(card_list_window) { - if (actions.empty()) throw ScriptError(_("BulkAction created with no actions")); - name_do = _ACTION_1_("bulk", actions.front()->getName(false)); - name_undo = _ACTION_1_("bulk", actions.front()->getName(true)); + if (actions.empty()) throw ScriptError(_("BulkAction created with no actions")); + if (change_name) { + name_do = _ACTION_1_("bulk", actions.front()->getName(false)); + name_undo = _ACTION_1_("bulk", actions.front()->getName(true)); + } + else { + name_do = actions.front()->getName(false); + name_undo = actions.front()->getName(true); + } } BulkAction::~BulkAction() {} diff --git a/src/data/action/value.hpp b/src/data/action/value.hpp index 3477ab56..07db1144 100644 --- a/src/data/action/value.hpp +++ b/src/data/action/value.hpp @@ -214,7 +214,7 @@ public: // An action that's just a list of other actions class BulkAction : public Action { public: - BulkAction(const vector& actions, const SetP& set, CardListBase* card_list_window); + BulkAction(const vector& actions, const SetP& set, CardListBase* card_list_window, bool change_name); ~BulkAction() override; String getName(bool to_undo) const override; diff --git a/src/data/card.cpp b/src/data/card.cpp index a2d2a17a..5a52f35f 100644 --- a/src/data/card.cpp +++ b/src/data/card.cpp @@ -76,7 +76,7 @@ vector Card::findFreeLinks(vector& linked_uids, const unordered_set for (int j = 0; j < linked_pairs.size(); ++j) { auto& linked_pair = linked_pairs[j]; if (linked_pair.first.get() == linked_uid && - std::find(freeIndexes.begin(), freeIndexes.end(), j) != freeIndexes.end() + std::find(freeIndexes.begin(), freeIndexes.end(), j) == freeIndexes.end() ) { freeIndexes.push_back(j); goto continue_outer; @@ -86,7 +86,7 @@ vector Card::findFreeLinks(vector& linked_uids, const unordered_set for (int j = 0; j < linked_pairs.size(); ++j) { auto& linked_pair = linked_pairs[j]; if (linked_pair.first.get().empty() && - std::find(freeIndexes.begin(), freeIndexes.end(), j) != freeIndexes.end() + std::find(freeIndexes.begin(), freeIndexes.end(), j) == freeIndexes.end() ) { freeIndexes.push_back(j); goto continue_outer; @@ -96,7 +96,7 @@ vector Card::findFreeLinks(vector& linked_uids, const unordered_set for (int j = 0; j < linked_pairs.size(); ++j) { auto& linked_pair = linked_pairs[j]; if (all_existing_uids.find(linked_pair.first.get()) == all_existing_uids.end() && - std::find(freeIndexes.begin(), freeIndexes.end(), j) != freeIndexes.end() + std::find(freeIndexes.begin(), freeIndexes.end(), j) == freeIndexes.end() ) { freeIndexes.push_back(j); goto continue_outer; @@ -131,18 +131,20 @@ vector Card::findRelationLinks(const String& linked_relation) { String& Card::getLinkedUID(int index) { switch (index) { - case 3: return linked_card_4; - case 2: return linked_card_3; + case 0: return linked_card_1; case 1: return linked_card_2; - default: return linked_card_1; + case 2: return linked_card_3; + case 3: return linked_card_4; + default: throw ScriptError(_("getLinkedUID called with invalid index")); } } String& Card::getLinkedRelation(int index) { switch (index) { - case 3: return linked_relation_4; - case 2: return linked_relation_3; + case 0: return linked_relation_1; case 1: return linked_relation_2; - default: return linked_relation_1; + case 2: return linked_relation_3; + case 3: return linked_relation_4; + default: throw ScriptError(_("getLinkedRelation called with invalid index")); } } @@ -215,7 +217,7 @@ void Card::addLink(const Set& set, CardP& linked_card, const String& selected_re return; } getLinkedUID(index) = linked_card->uid; - getLinkedRelation(index) = selected_relation; + getLinkedRelation(index) = linked_relation; index = linked_card->findFreeLink(uid, all_existing_uids); if (index < 0) { @@ -223,7 +225,7 @@ void Card::addLink(const Set& set, CardP& linked_card, const String& selected_re } else { linked_card->getLinkedUID(index) = uid; - linked_card->getLinkedRelation(index) = linked_relation; + linked_card->getLinkedRelation(index) = selected_relation; } } diff --git a/src/gui/bulk_modification_window.cpp b/src/gui/bulk_modification_window.cpp index dc98a27e..9f826398 100644 --- a/src/gui/bulk_modification_window.cpp +++ b/src/gui/bulk_modification_window.cpp @@ -378,7 +378,7 @@ void BulkModificationWindow::onOk(wxCommandEvent&) { return; } else { - set->actions.addAction(make_unique(actions, set, card_list_window), false); + set->actions.addAction(make_unique(actions, set, card_list_window, actions.size() > 1), false); wxMessageDialog dial = wxMessageDialog(this, _ERROR_1_("bulk modify success", String() << actions.size())); dial.ShowModal(); EndModal(wxID_OK); diff --git a/src/gui/card_link_window.cpp b/src/gui/card_link_window.cpp index 32cae5fd..ee21c7ca 100644 --- a/src/gui/card_link_window.cpp +++ b/src/gui/card_link_window.cpp @@ -112,9 +112,15 @@ void CardLinkWindow::onOk(wxCommandEvent&) { getSelection(linked_cards); // Check that we are not linking to self if (std::find(linked_cards.begin(), linked_cards.end(), selected_card) != linked_cards.end()) { - queue_message(MESSAGE_WARNING, _ERROR_("cant link to self")); + wxMessageDialog dial = wxMessageDialog(this, _ERROR_("cant link to self"), _TITLE_("warning"), wxICON_WARNING | wxOK); + dial.ShowModal(); linked_cards.erase(std::remove(linked_cards.begin(), linked_cards.end(), selected_card), linked_cards.end()); } + if (linked_cards.empty()) { + wxMessageDialog dial = wxMessageDialog(this, _ERROR_("no cards selected"), _TITLE_("warning"), wxICON_WARNING | wxOK); + dial.ShowModal(); + return; + } vector linked_uids; for (int i = 0; i < linked_cards.size(); ++i) { linked_uids.push_back(linked_cards[i]->uid); @@ -151,7 +157,7 @@ void CardLinkWindow::onOk(wxCommandEvent&) { vector actions; for (int i = 0; i < free_link_indexes.size(); ++i) { if (free_link_indexes[i] >= 0) { - actions.push_back(make_intrusive(*set, selected_card, linked_uids[i], selected_relation_string, free_link_indexes[i])); + actions.push_back(make_intrusive(*set, selected_card, linked_uids[i], linked_relation_string, free_link_indexes[i])); } } // Find reciprocal free slots and make actions @@ -159,11 +165,11 @@ void CardLinkWindow::onOk(wxCommandEvent&) { for (int i = 0; i < linked_cards.size(); ++i) { int free_link_index = linked_cards[i]->findFreeLink(selected_uid, all_existing_uids); if (free_link_index >= 0) { - actions.push_back(make_intrusive(*set, linked_cards[i], selected_uid, linked_relation_string, free_link_index)); + actions.push_back(make_intrusive(*set, linked_cards[i], selected_uid, selected_relation_string, free_link_index)); } } // Add action to set - set->actions.addAction(make_unique(actions, set, card_list_window), false); + set->actions.addAction(make_unique(actions, set, card_list_window, false), false); // Done EndModal(wxID_OK); } diff --git a/src/gui/control/card_list.cpp b/src/gui/control/card_list.cpp index 665d449c..4b98fb63 100644 --- a/src/gui/control/card_list.cpp +++ b/src/gui/control/card_list.cpp @@ -74,7 +74,7 @@ void CardListBase::onChangeSet() { rebuild(); } -struct Freezer{ +struct Freezer { Window* window; Freezer(Window* window) : window(window) { window->Freeze(); } ~Freezer() { window->Thaw(); } @@ -439,8 +439,14 @@ bool CardListBase::parseData(bool ignore_cards_from_own_card_list) { bool CardListBase::canLink() const { vector selected_cards; - getSelection(selected_cards); - return selected_cards.size() == 1; + getSelection(selected_cards); + if (selected_cards.size() != 1) return false; + unordered_set all_existing_uids; + FOR_EACH(card, set->cards) { + all_existing_uids.insert(card->uid); + } + CardP card = selected_cards[0]; + return card->findFreeLink(card->uid, all_existing_uids) >= 0; } bool CardListBase::doLink() { CardLinkWindow wnd(this, set, getCard()); @@ -455,7 +461,7 @@ bool CardListBase::doUnlink(CardP linked_card) { vector actions; actions.emplace_back(make_intrusive(*set, selected_card, _(""), _(""), selected_card->findUIDLink(linked_card->uid))); actions.emplace_back(make_intrusive(*set, linked_card, _(""), _(""), linked_card->findUIDLink(selected_card->uid))); - set->actions.addAction(make_unique(actions, set, this), false); + set->actions.addAction(make_unique(actions, set, this, false), false); return true; } diff --git a/src/gui/control/card_viewer.cpp b/src/gui/control/card_viewer.cpp index 79d9c0ee..539af1e9 100644 --- a/src/gui/control/card_viewer.cpp +++ b/src/gui/control/card_viewer.cpp @@ -37,7 +37,7 @@ wxSize CardViewer::DoGetBestSize() const { double dpi_factor = stylesheet->card_dpi <= 150.0 ? 1.0 : 150.0 / stylesheet->card_dpi; double width = stylesheet->card_width * dpi_factor * ss.card_zoom(); double height = stylesheet->card_height * dpi_factor * ss.card_zoom(); - double link_factor = GetId() == ID_CARD_LINK_VIEWER ? (height * 0.5 - 41.0) / height : GetId() == ID_CARD_LINK_EDITOR ? (height * 0.97 - 41.0) / height : 1.0; // Subtract 41 pixels for the link title + double link_factor = GetId() == ID_CARD_LINK_VIEWER ? (height * 0.5 - 41.0) / height : GetId() == ID_CARD_LINK_EDITOR ? (height * 0.96 - 41.0) / height : 1.0; // Subtract 41 pixels for the link title wxSize size(int(link_factor * width), int(link_factor * height)); if (is_sideways(deg_to_rad(ss.card_angle()))) swap(size.x, size.y); return size + ws - cs; @@ -169,7 +169,7 @@ Rotation CardViewer::getRotation() const { int dy = CanScroll(wxVERTICAL) ? GetScrollPos(wxVERTICAL) : 0; double dpi_factor = stylesheet->card_dpi <= 150.0 ? 1.0 : 150.0 / stylesheet->card_dpi; double height = stylesheet->card_height * dpi_factor * ss.card_zoom(); - double link_factor = GetId() == ID_CARD_LINK_VIEWER ? (height * 0.5 - 41.0) / height : GetId() == ID_CARD_LINK_EDITOR ? (height * 0.97 - 41.0) / height : 1.0; // Subtract 41 pixels for the link title + double link_factor = GetId() == ID_CARD_LINK_VIEWER ? (height * 0.5 - 41.0) / height : GetId() == ID_CARD_LINK_EDITOR ? (height * 0.96 - 41.0) / height : 1.0; // Subtract 41 pixels for the link title return Rotation(deg_to_rad(ss.card_angle()), stylesheet->getCardRect().move(-dx,-dy,0,0), link_factor * dpi_factor * ss.card_zoom(), 1.0, ROTATION_ATTACH_TOP_LEFT); } diff --git a/src/gui/downloadable_installers.hpp b/src/gui/downloadable_installers.hpp index 53c3c6a3..7d7c0835 100644 --- a/src/gui/downloadable_installers.hpp +++ b/src/gui/downloadable_installers.hpp @@ -12,6 +12,7 @@ #include #include #include +#include class DownloadableInstallerList; @@ -28,6 +29,10 @@ public: /// Check for updates if the settings say so inline void check_updates() { settings.check_updates_counter++; + wxDialUpManager* manager = wxDialUpManager::Create(); + bool connected = manager->IsOk() && manager->IsOnline(); + delete manager; + if (!connected) return; if ( (settings.check_updates_when == CHECK_ALWAYS) || (settings.check_updates_when == CHECK_5 && settings.check_updates_counter > 4) diff --git a/src/gui/set/cards_panel.cpp b/src/gui/set/cards_panel.cpp index c8840aba..ff5202a8 100644 --- a/src/gui/set/cards_panel.cpp +++ b/src/gui/set/cards_panel.cpp @@ -448,13 +448,23 @@ void CardsPanel::onCommand(int id) { card_list->doLink(); setCard(card_list->getCard(), true); break; - case ID_CARD_LINK_UNLINK_1: case ID_CARD_LINK_UNLINK_2: case ID_CARD_LINK_UNLINK_3: case ID_CARD_LINK_UNLINK_4: { - card_list->doUnlink(( - id == ID_CARD_LINK_UNLINK_1 ? link_viewer_1 - : id == ID_CARD_LINK_UNLINK_2 ? link_viewer_2 - : id == ID_CARD_LINK_UNLINK_3 ? link_viewer_3 - : link_viewer_4 - )->getCard()); + case ID_CARD_LINK_UNLINK_1: { + card_list->doUnlink(link_viewer_1->getCard()); + setCard(card_list->getCard(), true); + break; + } + case ID_CARD_LINK_UNLINK_2: { + card_list->doUnlink(link_viewer_2->getCard()); + setCard(card_list->getCard(), true); + break; + } + case ID_CARD_LINK_UNLINK_3: { + card_list->doUnlink(link_viewer_3->getCard()); + setCard(card_list->getCard(), true); + break; + } + case ID_CARD_LINK_UNLINK_4: { + card_list->doUnlink(link_viewer_4->getCard()); setCard(card_list->getCard(), true); break; } diff --git a/src/gui/symbol/window.cpp b/src/gui/symbol/window.cpp index 539c1e43..a362c196 100644 --- a/src/gui/symbol/window.cpp +++ b/src/gui/symbol/window.cpp @@ -65,7 +65,7 @@ SymbolWindow::~SymbolWindow() { } void SymbolWindow::init(Window* parent, SymbolP symbol) { - Create(parent, wxID_ANY, _TITLE_("symbol editor"), wxDefaultPosition, wxSize(650,600), wxDEFAULT_FRAME_STYLE | wxNO_FULL_REPAINT_ON_RESIZE); + Create(parent, wxID_ANY, _TITLE_("symbol editor"), wxDefaultPosition, wxSize(750,600), wxDEFAULT_FRAME_STYLE | wxNO_FULL_REPAINT_ON_RESIZE); SetIcon(load_resource_icon(_("app"))); inSelectionEvent = false;