From 50b649beca2ee68d557130bf1e1b10f4fb6d5687 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: Sat, 9 May 2026 19:23:47 +0200 Subject: [PATCH] add "add double faced card" menu option --- data/ch-s.mse-locale/locale | 6 + data/ch-t.mse-locale/locale | 6 + data/da.mse-locale/locale | 6 + data/de.mse-locale/locale | 5 +- data/en.mse-locale/locale | 3 + data/es.mse-locale/locale | 6 + data/fr.mse-locale/locale | 177 +++++++++++++++--------------- data/it.mse-locale/locale | 3 + data/jp.mse-locale/locale | 6 + data/ko.mse-locale/locale | 6 + data/pl.mse-locale/locale | 6 + data/pt-br.mse-locale/locale | 5 +- data/ru.mse-locale/locale | 6 + resource/tool/card_add_double.png | Bin 0 -> 546 bytes resource/win32_res.rc | 1 + src/gui/control/card_list.cpp | 11 +- src/gui/set/cards_panel.cpp | 17 ++- src/util/window_id.hpp | 1 + 18 files changed, 178 insertions(+), 93 deletions(-) create mode 100644 resource/tool/card_add_double.png diff --git a/data/ch-s.mse-locale/locale b/data/ch-s.mse-locale/locale index da86cd23..1a4878e2 100644 --- a/data/ch-s.mse-locale/locale +++ b/data/ch-s.mse-locale/locale @@ -54,6 +54,8 @@ menu: next card: 选择下一张卡牌 PgDn search cards: 搜索卡 Ctrl+K add card: 添加卡牌 Ctrl+Enter + #TODO: Localize + add card double: &Add Double Faced Card Ctrl+Shift+Enter add cards: 批量添加卡牌... remove card: 删除所选卡牌 #TODO: Localize @@ -208,6 +210,8 @@ help: next card: 选择列表中的下一张卡牌 search cards: 使用搜索词过滤卡片列表 add card: 添加一个新的空白卡牌到本套牌 + #TODO: Localize + add card double: Add a new, blank, card that has a back face to this set add cards: 添加多张卡牌到本套牌 remove card: 从本套牌中删除所选卡牌 #TODO: Localize @@ -468,6 +472,8 @@ tooltip: # cards toolbar add card: 添加卡牌 + #TODO: Localize + add card double: Add double faced card remove card: 移除选中卡牌 #TODO: Localize link card: Link cards to selected card diff --git a/data/ch-t.mse-locale/locale b/data/ch-t.mse-locale/locale index 9b35efe1..ff9a7ff9 100644 --- a/data/ch-t.mse-locale/locale +++ b/data/ch-t.mse-locale/locale @@ -54,6 +54,8 @@ menu: next card: 選擇下一張卡牌 PgDn search cards: 搜尋卡 Ctrl+K add card: 添加卡牌 Ctrl+Enter + #TODO: Localize + add card double: &Add Double Faced Card Ctrl+Shift+Enter add cards: 批量添加卡牌... remove card: 刪除所選卡牌 #TODO: Localize @@ -208,6 +210,8 @@ help: next card: 選擇列表中的下一張卡牌 search cards: 使用搜尋字詞過濾卡片列表 add card: 添加一個新的空白卡牌到本套牌 + #TODO: Localize + add card double: Add a new, blank, card that has a back face to this set add cards: 添加多張卡牌到本套牌 remove card: 從本套牌中刪除所選卡牌 #TODO: Localize @@ -466,6 +470,8 @@ tooltip: # cards toolbar add card: 添加卡牌 + #TODO: Localize + add card double: Add double faced card remove card: 移除選中卡牌 #TODO: Localize link card: Link cards to selected card diff --git a/data/da.mse-locale/locale b/data/da.mse-locale/locale index 87893d72..9ce5918b 100644 --- a/data/da.mse-locale/locale +++ b/data/da.mse-locale/locale @@ -56,6 +56,8 @@ menu: next card: Vælg &Næste Kort PgDn search cards: &Søg kort Ctrl+K add card: &Tilføj Kort Ctrl+Enter + #TODO: Localize + add card double: &Add Double Faced Card Ctrl+Shift+Enter add cards: Tilføj &Flere Kort... remove card: &Slet Valgte Kort #TODO: Localize @@ -214,6 +216,8 @@ help: next card: Vælger det næste kort i listen search cards: Filtrer kortlisten ved hjælp af søgetermer add card: Tilføler et nyt, tomt kort til listen + #TODO: Localize + add card double: Add a new, blank, card that has a back face to this set add cards: Tilføjer flere kort til listen remove card: Sletter det valgte kort fra sættet! #TODO: Localize @@ -477,6 +481,8 @@ tooltip: # cards toolbar add card: Tilføj kort + #TODO: Localize + add card double: Add double faced card remove card: Fjern valgte kort #TODO: Localize link card: Link cards to selected card diff --git a/data/de.mse-locale/locale b/data/de.mse-locale/locale index dded9ae9..be6c5303 100644 --- a/data/de.mse-locale/locale +++ b/data/de.mse-locale/locale @@ -54,6 +54,7 @@ menu: next card: Nächste Karte PgDn search cards: Suchkarten Ctrl+K add card: Karte Hinzufügen Ctrl+Enter + add card double: Doppelseitige Karte hinzufügen Ctrl+Shift+Enter add cards: Mehrere Karten hinzufügen... remove card: Markierte Entfernen Del add card csv: Karten aus CSV oder TSV hinzufügen... @@ -195,7 +196,8 @@ help: previous card: Wählt die vorherige Karte in der Liste aus next card: Wählt die nächste Karte in der Liste aus search cards: Filtert die Kartenliste anhand von Suchbegriffen - add card: Fügt eine neue Karte zur Edition hinzu + add card: Fügt eine neue, leere Karte zur Edition hinzu + add card double: Fügt eine neue, leere Karte mit Rückseite zur Edition hinzu add cards: Fügt mehrere Karten zur Edition hinzu remove card: Entfernt die gewählte Karte aus der Edition link card: Verknüpft eine oder mehrere Karten mit der ausgewählten Karte @@ -442,6 +444,7 @@ tooltip: # cards toolbar add card: Karte hinzufügen + add card double: Doppelseitige Karte hinzufügen remove card: Gewählte Karte entfernen link card: Karten mit ausgewählter Karte verknüpfen copy card and links: Ausgewählte und verknüpfte Karten kopieren diff --git a/data/en.mse-locale/locale b/data/en.mse-locale/locale index 33fef9f4..561324ef 100644 --- a/data/en.mse-locale/locale +++ b/data/en.mse-locale/locale @@ -54,6 +54,7 @@ menu: next card: Select &Next Card PgDn search cards: &Search Cards Ctrl+K add card: &Add Card Ctrl+Enter + add card double: &Add Double Faced Card Ctrl+Shift+Enter add cards: Add &Multiple Cards... remove card: &Delete Selected Card add card csv: Add Cards from CSV or TSV... @@ -196,6 +197,7 @@ help: next card: Selects the next card in the list search cards: Filter the card list using search terms add card: Add a new, blank, card to this set + add card double: Add a new, blank, card that has a back face to this set add cards: Add multiple cards to the set remove card: Delete the selected card from this set link card: Link one or more cards to the selected card @@ -443,6 +445,7 @@ tooltip: # cards toolbar add card: Add card + add card double: Add double faced card remove card: Remove selected card link card: Link cards to selected card copy card and links: Copy selected cards and linked cards diff --git a/data/es.mse-locale/locale b/data/es.mse-locale/locale index 5e740278..d20d64ef 100644 --- a/data/es.mse-locale/locale +++ b/data/es.mse-locale/locale @@ -54,6 +54,8 @@ menu: next card: Seleccionar &carta siguiente PgDn search cards: &Buscar Cartas Ctrl+K add card: &Añadir carta Ctrl+Enter + #TODO: Localize + add card double: &Add Double Faced Card Ctrl+Shift+Enter add cards: Añadir &múltiples cartas... remove card: &Borrar carta seleccionada #TODO: Localize @@ -208,6 +210,8 @@ help: next card: Selecciona la carta siguiente en la lista search cards: Filtra la lista de cartas usando términos de búsqueda add card: Añade una carta nueva, vacía, a este Set + #TODO: Localize + add card double: Add a new, blank, card that has a back face to this set add cards: Añade múltiples cartas al Set remove card: Borra la carta seleccionada de este Set #TODO: Localize @@ -468,6 +472,8 @@ tooltip: # cards toolbar add card: Añadir carta + #TODO: Localize + add card double: Add double faced card remove card: Eliminar carta seleccionada #TODO: Localize link card: Link cards to selected card diff --git a/data/fr.mse-locale/locale b/data/fr.mse-locale/locale index 87af83c2..6ff9c7cf 100644 --- a/data/fr.mse-locale/locale +++ b/data/fr.mse-locale/locale @@ -54,8 +54,9 @@ menu: next card: Carte &Suivante PgDn search cards: Rechercher dans les Cartes Ctrl+K add card: &Ajouter une Carte Ctrl+Enter + add card double: Ajouter une Carte recto-verso Ctrl+Shift+Enter add cards: Ajouter &plusieurs Cartes... - remove card: &Supprimer la carte sélectionnée + remove card: &Supprimer la Carte sélectionnée add card csv: Ajouter plusieurs Cartes depuis un CSV ou TSV... add card json: Ajouter plusieurs Cartes depuis un JSON... link card: &Lier des Cartes à la Carte sélectionnée... @@ -159,15 +160,15 @@ help: save set as directory: Sauver le Set en tant que dossier non compressé export: Exporter le Set... export html: Exporter le Set en tant que fichier HTML - export image: Exporter la carte selectionnée en tant qu'image - export images: Exporter toutes les cartes en tant qu'images + export image: Exporter la Carte selectionnée en tant qu'image + export images: Exporter toutes les Cartes en tant qu'images export apprentice: Exporter le Set pour être utilisé avec Apprentice export mws: Exporter le Set pour être utilisé avec Magic Workstation add card csv: Ajouter des Cartes depuis un fichier à Valeurs Séparées par des Virgules ou Tabulations add card json: Ajouter des Cartes depuis un fichier JSON check updates: Ouvrir une fenêtre de mise à jour pour télécharger les nouveaux packages (Jeux, Styles, Localisations) - print preview: Voir les cartes telles qu'elles vont être imprimées - print: Imprimer les cartes de ce Set + print preview: Voir les Cartes telles qu'elles vont être imprimées + print: Imprimer les Cartes de ce Set reload data: Recharger tous les Templates ainsi que le Set show profiler: Afficher la fenêtre du Profiler, avec la durée d'exécution des scripts; Utilisé pour l'optimisation exit: Quitter Magic Set Editor; Vous demandera de sauvegarder le Set @@ -176,37 +177,38 @@ help: undo: Annuler la dernière action redo: Refaire la dernière action cut: Couper le texte selectionné dans le presse-papier - cut card: Couper la carte selectionnée dans le presse-papier + cut card: Couper la Carte selectionnée dans le presse-papier cut keyword: Couper le Mot-clef selectionné dans le presse-papier copy: Copier le texte selectionné dans le presse-papier - copy card: Copier la carte selectionnée dans le presse-papier + copy card: Copier la Carte selectionnée dans le presse-papier copy keyword: Copier le Mot-clef selectionné dans le presse-papier paste: Insérer le texte depuis le presse-papier - paste card: Insérer la carte depuis le presse-papier + paste card: Insérer la Carte depuis le presse-papier paste keyword: Insérer le mot_clef depuis le presse-papier select all: Sélectionner tout le texte - find: Rechercher un bout de texte dans les cartes + find: Rechercher un bout de texte dans les Cartes find next: Rechercher l'occurrence suivante replace: Remplacer l'occurrence auto replace: Quel texte devra être automatiquement remplacé? preferences: Changer la configuration de Magic Set Editor # cards menu - previous card: Choisir la carte précédente dans la liste - next card: Choisir la carte suivante dans la liste - search cards: Filtrer la liste des carte à l'aide de termes de recherche - add card: Ajouter une nouvelle carte vierge au Set - add cards: Ajouter plusieurs cartes au Set - remove card: Supprimer la carte sélectionnée du Set - link card: Lier des cartes à la carte sélectionnée - copy card and links: Copier les cartes sélectionnées ainsi que toutes leurs cartes liées - bulk modify: Modifier beaucoup de cartes d'un coup - orientation: Orientation de la carte visualisée - rotate card: Tourner la carte de 90° dans le sens des aiguilles d'une montre - rotate 0: Afficher la carte dans son sens original - rotate 270: Afficher la carte tournée dans le sens des aiguilles d'une montre - rotate 90: Afficher la carte tournée dans le sens inverse des aiguilles d'une montre - rotate 180: Afficher la carte à l'envers + previous card: Choisir la Carte précédente dans la liste + next card: Choisir la Carte suivante dans la liste + search cards: Filtrer la liste des Carte à l'aide de termes de recherche + add card: Ajouter une nouvelle Carte vierge au Set + add card double: Ajouter une nouvelle Carte vierge avec un verso au Set + add cards: Ajouter plusieurs Cartes au Set + remove card: Supprimer la Carte sélectionnée du Set + link card: Lier des Cartes à la Carte sélectionnée + copy card and links: Copier les Cartes sélectionnées ainsi que toutes leurs Cartes liées + bulk modify: Modifier beaucoup de Cartes d'un coup + orientation: Orientation de la Carte visualisée + rotate card: Tourner la Carte de 90° dans le sens des aiguilles d'une montre + rotate 0: Afficher la Carte dans son sens original + rotate 270: Afficher la Carte tournée dans le sens des aiguilles d'une montre + rotate 90: Afficher la Carte tournée dans le sens inverse des aiguilles d'une montre + rotate 180: Afficher la Carte à l'envers card list columns: Choisir quelles colonnes doivent être affichées et dans quel ordre # keywords menu @@ -231,10 +233,10 @@ help: no spelling suggestions: Il n'y a pas de suggestions pour corriger cette faute # graph menu - pie: Un graphique en secteurs, l'épaisseur de la tranche indique le nombre de cartes - bar: Un graphique à barres, la hauteur de la barre indique le nombre de cartes + pie: Un graphique en secteurs, l'épaisseur de la tranche indique le nombre de Cartes + bar: Un graphique à barres, la hauteur de la barre indique le nombre de Cartes stack: Un graphique à barres empilées - scatter: Un nuage de points, la taille du point indique le nombre de cartes + scatter: Un nuage de points, la taille du point indique le nombre de Cartes scatter pie: Un nuage de points où chaque point est un petit graphique en secteurs # console menu @@ -242,12 +244,12 @@ help: # window menu new window: Ouvrir une nouvelle fenêtre pour éditer le même Set - cards tab: Éditer les cartes du Set + cards tab: Éditer les Cartes du Set set info tab: Éditer les informations du Set, son créateur, etc... - style tab: Changer le Style des cartes + style tab: Changer le Style des Cartes keywords tab: Définir des Mots-clefs supplémentaires pour le Set - stats tab: Voir les statistiques des cartes du Set - random pack tab: Générer des boosters aléatoires de cartes du Set + stats tab: Voir les statistiques des Cartes du Set + random pack tab: Générer des boosters aléatoires de Cartes du Set console tab: Afficher les messages d'erreurs et executer des scripts # help menu @@ -261,12 +263,12 @@ help: search stylesheet list control: Filtrer la liste des Styles. Utilisez - pour exclure des Styles. Utilisez field: pour rechercher uniquement dans un champ donné. Utilisez des guillemets pour une recherche litterale. Séparez plusieurs filtres par un espace. # card select / image export - filename format: (Utilisez {card.name} pour le nom de la carte ; Le type de fichier est déterminé, basé par l'extension) + filename format: (Utilisez {card.name} pour le nom de la Carte ; Le type de fichier est déterminé, basé par l'extension) # cards panel - collapse notes: Cacher les notes des cartes - expand notes: Afficher les notes des cartes - search cards control: Filtrer la liste des cartes. Utilisez - pour exclure des cartes. Utilisez field: pour rechercher uniquement dans un champ donné. Utilisez des guillemets pour une recherche litterale. Séparez plusieurs filtres par un espace. + collapse notes: Cacher les notes des Cartes + expand notes: Afficher les notes des Cartes + search cards control: Filtrer la liste des Cartes. Utilisez - pour exclure des Cartes. Utilisez field: pour rechercher uniquement dans un champ donné. Utilisez des guillemets pour une recherche litterale. Séparez plusieurs filtres par un espace. # keywords panel search keywords control: Filtrer la liste des mots-clefs. Utilisez - pour exclure des mots-clefs. Utilisez field: pour rechercher uniquement dans un champ donné. Utilisez des guillemets pour une recherche litterale. Séparez plusieurs filtres par un espace. @@ -284,7 +286,7 @@ help: pour que le changement prenne effet. zoom export: (Quand l'option est décochée, les - cartes sont exportées à 100% de leur + Cartes sont exportées à 100% de leur taille et dans leur rotation normale.) # apprentice export @@ -367,7 +369,7 @@ tool: console tab: Console # cards toolbar - search cards: Rechercher des cartes (Ctrl+K) + search cards: Rechercher des Cartes (Ctrl+K) stats card counts 1: %s Au total stats card counts 2: %s Dans le filtre, %s Au total card counts 2: %s Dans la sélection, %s Au total @@ -442,11 +444,12 @@ tooltip: redo: Rétablir%s # cards toolbar - add card: Ajouter une carte - remove card: Supprimer la carte sélectionnée - link card: Lier des cartes à la carte sélectionnée - copy card and links: Copier les cartes sélectionnées et leurs cartes liées - rotate card: Tourner la carte + add card: Ajouter une Carte + add card double: Ajouter une Carte recto-verso + remove card: Supprimer la Carte sélectionnée + link card: Lier des Cartes à la Carte sélectionnée + copy card and links: Copier les Cartes sélectionnées et leurs Cartes liées + rotate card: Tourner la Carte # keywords toolbar add keyword: Ajouter un Mot-clef @@ -513,7 +516,7 @@ tooltip: label: ## app window items labels # cards panel - card notes: Notes de carte: + card notes: Notes de Carte: # keywords panel search keywords: Recherche dans les mots-clefs (Ctrl+K) @@ -542,18 +545,18 @@ label: custom link selected: Générateur, Face Avant, Composant d'Assimilation, etc... custom link linked: Jeton, Face Arrière, Résultat d'Assimilation, etc... custom link undefined: Non Défini - linked cards relation: Choisissez le type de relation entre la carte sélectionnée ('%s') et les cartes liées: + linked cards relation: Choisissez le type de relation entre la Carte sélectionnée ('%s') et les Cartes liées: selected card: Carte sélectionnée: linked cards: Cartes liées: - select linked cards: Choisissez jusqu’à 4 cartes liées: + select linked cards: Choisissez jusqu’à 4 Cartes liées: # bulk modification dialog - bulk modify selection: Quelles cartes doivent être modifiées: - bulk modify all: Toutes les cartes - bulk modify filtered: Les cartes actuellement filtrées - bulk modify selected: Les cartes actuellement sélectionnées - bulk modify predicate: Les cartes qui vérifient un critère - bulk modify predicate description: Quel critère doit être vérifié pour que la carte soit modifiée: + bulk modify selection: Quelles Cartes doivent être modifiées: + bulk modify all: Toutes les Cartes + bulk modify filtered: Les Cartes actuellement filtrées + bulk modify selected: Les Cartes actuellement sélectionnées + bulk modify predicate: Les Cartes qui vérifient un critère + bulk modify predicate description: Quel critère doit être vérifié pour que la Carte soit modifiée: bulk modify predicate example: Example (petites créatures de M:tG): bulk modify field: Quelle valeur doit être modifiée: bulk modify mod description: Que doit être la nouvelle valeur: @@ -572,7 +575,7 @@ label: # new set dialog game type: &Type de jeu: - style type: &Style des carte: + style type: &Style des Carte: search game list: Filtrer les jeux search stylesheet list: Filtrer les Styles @@ -589,7 +592,7 @@ label: dark mode no: Mode clair dark mode yes: Mode sombre app language: Langue de l'interface utilisateur (App Language) - card display: Affichage des cartes + card display: Affichage des Cartes zoom: &Zoom: import: Import export: &Export @@ -602,7 +605,7 @@ label: external programs: Programmes externes apprentice: &Apprentice: apprentice exe: Executable Apprentice - export desc: Lors de l'exportation de cartes en images: + export desc: Lors de l'exportation de Cartes en images: import desc: Lors de l'importation d'images pour les illustrations: internal scale desc: Taille à laquelle stocker les images en interne. @@ -621,8 +624,8 @@ label: # card select / image export dialogs select cards: Cartes à exporter - select cards print: Selectionner les cartes à imprimer - selected card count: %s cartes seront exportées. + select cards print: Selectionner les Cartes à imprimer + selected card count: %s Cartes seront exportées. filename format: &Format: filename conflicts: &Gestion des doublons de fichiers: export filenames: Nom des fichiers @@ -646,7 +649,7 @@ label: # JSON import dialog add card json type: Type de fichier JSON: add card json custom: Fichier JSON customisé - add card json path: Chemin vers la liste de cartes à l'intérieur du fichier: + add card json path: Chemin vers la liste de Cartes à l'intérieur du fichier: add card json file: Chemin du fichier: # image slicer dialog @@ -715,12 +718,12 @@ label: load image: Double-cliquer pour charger une image # print dialog - put space between cards: Ajouter un espace entre les cartes? - spacing print: Espace entre les cartes en millimètres + put space between cards: Ajouter un espace entre les Cartes? + spacing print: Espace entre les Cartes en millimètres bleed print: Marge de fond perdu en millimètres cutter lines print: Ajouter des lignes de découpe? cutter lines all: Toutes - cutter lines no intersect: Si elles n'intersectent pas de carte + cutter lines no intersect: Si elles n'intersectent pas de Carte cutter lines none: Aucune ## symbol editor @@ -733,8 +736,8 @@ button: link select: Sélectionner # style panel - use for all cards: Utiliser pour toutes les c&artes - use custom styling options: Options &spécifique à cette carte + use for all cards: Utiliser pour toutes les C&artes + use custom styling options: Options &spécifique à cette Carte # set info panel edit symbol: Éditer @@ -774,9 +777,9 @@ button: Ajoutez une marge de fond perdu grossière notes export: - Exporter les notes de la carte à + Exporter les notes de la Carte à l'intérieur des Métadonnées de l'image - spellcheck enabled: Afficher les fautes d'orthographe sur les cartes + 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 @@ -802,7 +805,7 @@ button: export entire set: Set complet export generated packs: Packs générés export custom cards selection: Sélection personalisée - select cards: &Sélection des cartes... + select cards: &Sélection des Cartes... select all: Sélectionner &toutes select none: Sélectionner &aucune overwrite: Ecraser les anciens fichiers @@ -909,12 +912,12 @@ title: ############################################################## Action (undo/redo) names action: # cards - reorder cards: Réorganiser les cartes + 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) + 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 @@ -1011,7 +1014,7 @@ error: no field with name: Impossible de trouver le champ de %s nommé '%s' styling data not map: La valeur donnée pour « %s_data » n'est pas un dictionnaire styling data without stylesheet: Valeur donnée pour « %s_data » avant la définition d'un Style - cant set value: Impossible de définir la valeur de la carte '%s', son type est incorrect + cant set value: Impossible de définir la valeur de la Carte '%s', son type est incorrect cant set image value: On ne peut définir la valeur d'une image qu'avec un nom de fichier relatif depuis le package, ou avec les fonctions import_image/download_image (dans le champ '%s') cant set symbol value: On ne peut définir la valeur d'un symbol qu'avec un nom de fichier relatif depuis le package (dans le champ '%s') add card csv file not found: Impossible de trouver ou charger le fichier CSV ou TSV spécifié @@ -1056,7 +1059,7 @@ error: symbol image has alpha: Pour un résultat optimal, l'image doit être en noir et blanc sans transparence. # error from files - no card fields: Le jeu '%s' ne contient aucun champ de carte. Définissez au moins un champ de carte. + no card fields: Le jeu '%s' ne contient aucun champ de Carte. Définissez au moins un champ de Carte. reserved field name: '%s' est un nom de champ réservé. Veuillez utiliser un autre nom. duplicate field name: Le nom de champ alternatif '%s' est un doublon : il s’agit à la fois d’un nom alternatif pour '%s' et '%s'. no game specified: Pas de jeu spécifié pour le %s @@ -1086,15 +1089,15 @@ error: no updates: Il n'y a pas de mises à jour disponibles. # card linking - not enough free links: La carte '%s' n'a pas assez de liens disponibles. Vous pouvez former au maximum 4 liens par carte. - not enough free links for copy: La carte '%s' n'a pas assez de liens disponibles pour copier. Vous pouvez former au maximum 4 liens par carte. - could not link: Les cartes suivantes n'ont pas pu être liées, elles ont déjà 4 liens: - missing free links: La carte ne contient que %s liens libres. Sélectionnez moins de cartes. + not enough free links: La Carte '%s' n'a pas assez de liens disponibles. Vous pouvez former au maximum 4 liens par Carte. + not enough free links for copy: La Carte '%s' n'a pas assez de liens disponibles pour copier. Vous pouvez former au maximum 4 liens par Carte. + could not link: Les Cartes suivantes n'ont pas pu être liées, elles ont déjà 4 liens: + missing free links: La Carte ne contient que %s liens libres. Sélectionnez moins de Cartes. link duplicate: Nom de lien localisé dupliqué. '%s' correspond à la fois à '%s' et à '%s'. - 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. + 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. @@ -1104,11 +1107,11 @@ error: bulk modify mod is not string: La modification doit être une chaîne de caractères, mais a été évaluée à %s. bulk modify mod is not color: La modification doit être une couleur, mais a été évaluée à %s. bulk modify mod is not image: La modification doit être une image, mais a été évaluée à %s. Utilisez les fonctions import_image/download_image pour définir les champs d' images. - bulk modify mod is nil: La modification est null pour la carte '%s'. Elle ne sera pas appliquée. - bulk modify no cards: Aucune carte à modifier. - bulk modify no cards verify: Aucune carte ne correspond au critère. - bulk modify nothing: Aucune carte n'a été modifiée. - bulk modify success: Nombre de cartes modifiées avec succès : %s + bulk modify mod is nil: La modification est null pour la Carte '%s'. Elle ne sera pas appliquée. + bulk modify no cards: Aucune Carte à modifier. + bulk modify no cards verify: Aucune Carte ne correspond au critère. + bulk modify nothing: Aucune Carte n'a été modifiée. + bulk modify success: Nombre de Cartes modifiées avec succès : %s # web request web request failed: Échec de la requête Web @@ -1169,9 +1172,9 @@ type: stylesheet: stylesheet export template: modèle d'export symbol: symbole - card: carte - cards: cartes - extra card: extra carte + card: Carte + cards: Cartes + extra card: extra Carte field: champ style: style styling: style @@ -1179,8 +1182,8 @@ type: keyword: mot-clef keywords: mots-clefs pack: type de pack - card region: région de carte - card regions: régions de carte + card region: région de Carte + card regions: régions de Carte # symbol editor shapes shape: forme diff --git a/data/it.mse-locale/locale b/data/it.mse-locale/locale index c230839f..cc720fee 100644 --- a/data/it.mse-locale/locale +++ b/data/it.mse-locale/locale @@ -54,6 +54,7 @@ menu: next card: Seleziona &carta successiva PgDn search cards: Cerca carte Ctrl+K add card: &Aggiungi carta Ctrl+Enter + add card double: Aggiungi carta fronte-retro Ctrl+Shift+Enter add cards: Aggiungi &carte Multiple... remove card: &Rimuovi carta Del add card csv: Aggiungi carte da CSV o TSV... @@ -196,6 +197,7 @@ help: next card: Seleziona la prossima carta della lista search cards: Filtra l'elenco delle carte utilizzando i termini di ricerca add card: Aggiunge una nuova carta vuota al set + add card double: Aggiunge una nuova carta vuota con il retro al set add cards: Aggiunge carte multiple al set remove card: Cancella la carta selezionata dal set link card: Collega una o più carte alla carta selezionata @@ -443,6 +445,7 @@ tooltip: # cards toolbar add card: Aggiungi carta + add card double: Aggiungi carta fronte-retro remove card: Rimuovi carta selezionata link card: Collega alcune carte alla carta selezionata copy card and links: Copia le carte selezionate e tutte le carte collegate diff --git a/data/jp.mse-locale/locale b/data/jp.mse-locale/locale index 04c13d7a..97a8224f 100644 --- a/data/jp.mse-locale/locale +++ b/data/jp.mse-locale/locale @@ -54,6 +54,8 @@ menu: next card: 次のカードを選択 PgDn search cards: カードの検索 Ctrl+K add card: &カードを追加 Ctrl+Enter + #TODO: Localize + add card double: &Add Double Faced Card Ctrl+Shift+Enter add cards: &複数のカードを追加... remove card: &選択したカードを削除 #TODO: Localize @@ -208,6 +210,8 @@ help: next card: リストの次のカードを選択します。 search cards: 検索語を使用してカードリストをフィルタリングする add card: 新しいカードを現在のセットに加えます。 + #TODO: Localize + add card double: Add a new, blank, card that has a back face to this set add cards: 複数のカードを現在のセットに加えます。 remove card: 現在のセットから選ばれたカードを削除します。 #TODO: Localize @@ -467,6 +471,8 @@ tooltip: # cards toolbar add card: カードを追加 + #TODO: Localize + add card double: Add double faced card remove card: 選択したカードを削除 #TODO: Localize link card: Link cards to selected card diff --git a/data/ko.mse-locale/locale b/data/ko.mse-locale/locale index 2de9a13e..45ac1b1f 100644 --- a/data/ko.mse-locale/locale +++ b/data/ko.mse-locale/locale @@ -54,6 +54,8 @@ menu: next card: 다음 카드 PgDn search cards: &카드 검색 Ctrl+K add card: &카드 추가 Ctrl+Enter + #TODO: Localize + add card double: &Add Double Faced Card Ctrl+Shift+Enter add cards: &여러 카드 추가... remove card: &카드 삭제 #TODO: Localize @@ -208,6 +210,8 @@ help: next card: 목록에서 다음 카드를 선택합니다. search cards: 검색어를 사용하여 카드 목록 필터링 add card: 이 세트에 새로운 빈 카드를 추가하세요. + #TODO: Localize + add card double: Add a new, blank, card that has a back face to this set add cards: 세트에 여러 카드 추가 remove card: 이 세트에서 선택한 카드를 삭제하세요. #TODO: Localize @@ -473,6 +477,8 @@ tooltip: # cards toolbar add card: 카드 추가 + #TODO: Localize + add card double: Add double faced card remove card: 선택한 카드 삭제 #TODO: Localize link card: Link cards to selected card diff --git a/data/pl.mse-locale/locale b/data/pl.mse-locale/locale index df3e3e9c..40749b34 100644 --- a/data/pl.mse-locale/locale +++ b/data/pl.mse-locale/locale @@ -64,6 +64,8 @@ menu: #TODO: Localize search cards: &Search Cards Ctrl+K add card: &Dodaj Kartę Ctrl+Enter + #TODO: Localize + add card double: &Add Double Faced Card Ctrl+Shift+Enter add cards: Dodaj &Wiele Kart... remove card: &Usuń Wybraną Kartę #TODO: Localize @@ -227,6 +229,8 @@ help: #TODO: Localize search cards: Filter the card list using search terms add card: Dodaj nową, pustą kartę do zestawu + #TODO: Localize + add card double: Add a new, blank, card that has a back face to this set add cards: Dodaj wiele kart do zestawu remove card: Usuń wybraną kartę z zestawu #TODO: Localize @@ -502,6 +506,8 @@ tooltip: # cards toolbar add card: Dodaj kartę + #TODO: Localize + add card double: Add double faced card remove card: Usuń wybraną kartę #TODO: Localize link card: Link cards to selected card diff --git a/data/pt-br.mse-locale/locale b/data/pt-br.mse-locale/locale index 46b1b585..23be6c1a 100644 --- a/data/pt-br.mse-locale/locale +++ b/data/pt-br.mse-locale/locale @@ -54,6 +54,7 @@ menu: next card: Selecionar Próximo ca&rd PgDn search cards: &Procurar Cards Ctrl+K add card: &Adicionar Card Ctrl+Enter + add card double: &Adicionar Card de dupla face Ctrl+Shift+Enter add cards: Adicionar &Multiplos Cards... remove card: &Deletar Card Selecionado add card csv: Adicionar Cards de um arquivo CSV ou TSV... @@ -194,8 +195,9 @@ help: # cards menu previous card: Seleciona o Card anterior da lista. next card: Seleciona o próximo Card da lista. - search cards: Filtre a lista de Cards usando termos de pesquisa + search cards: Filtre a lista de Cards usando termos de pesquisa. add card: Adicione um novo, em branco, Card para esta Edição. + add card double: Adicione um novo, em branco, Card com verso para esta Edição. add cards: Adicione multiplos Cards à esta Edição. remove card: Apaga o Card selecionado desta Edição. link card: Vincular um ou mais Cards à Card selecionado @@ -444,6 +446,7 @@ tooltip: # cards toolbar add card: Adiciona um Card + add card double: Adicionar um Card de dupla face remove card: Remove o Card selecionado link card: Vincular Cards ao Card selecionado copy card and links: Copiar Cards selecionados e seus Cards vinculados diff --git a/data/ru.mse-locale/locale b/data/ru.mse-locale/locale index 7a94d3b5..cca9f7d6 100644 --- a/data/ru.mse-locale/locale +++ b/data/ru.mse-locale/locale @@ -55,6 +55,8 @@ menu: next card: Следующая карта PgDn search cards: Найти карты Ctrl+K add card: Добавить карту Ctrl+Enter + #TODO: Localize + add card double: &Add Double Faced Card Ctrl+Shift+Enter add cards: Добавить несколько карт... remove card: Удалить выделенную карту #TODO: Localize @@ -219,6 +221,8 @@ help: next card: Выбрать следующую карту в списке search cards: Отфильтруйте список карточек с помощью условий поиска add card: Добавить новую карту в текущий сет + #TODO: Localize + add card double: Add a new, blank, card that has a back face to this set add cards: Добавить несколько новых карт в текущий сет remove card: Удалить выбранную карту из текущего сета #TODO: Localize @@ -490,6 +494,8 @@ tooltip: # cards toolbar add card: Добавить карту + #TODO: Localize + add card double: Add double faced card remove card: Удалить выделенную карту #TODO: Localize link card: Link cards to selected card diff --git a/resource/tool/card_add_double.png b/resource/tool/card_add_double.png new file mode 100644 index 0000000000000000000000000000000000000000..bce313e8542d6163c6a7755897b5a7bbeaed62d1 GIT binary patch literal 546 zcmV+-0^R+IP)z@;j|==^1poj5AY({UO#lFTCIA3{ga82g0001h=l}q9FaQARU;qF* zm;eA5aGbhPJOBUy32;bRa{vGf6951U69E94oEQKA00(qQO+^Rl1ql#0DFATEmH+?& zcu7P-R5;6>lfN%RQ5?lT^`73>zP3a#2og$HA!?9V4J0D|0h5Wr(#h~{H%Sv)BSx`x zF<}%tgG2|BCPG-c-IrG_>KZhqkLTAJPtG~_-0!_#@FBUE)U2cVB}`})E2ZEG{CoqU zuL4+|pM!b@>W>t-0$^=n8vOtmVKAcP4-NwxfN4`ZzoxEkU@-y~bWhB-2xWTeQ!6QD zD3shwYNb?@bX}KfwMrt9KnT&~FUGdf6~GW^Gse#G2~x_CSt^#mZKy0D4%9%E-a~QW z`Mv|6Lm|XBPUlqiKGzhcL`o>kMjE zn8@HX422P*2oPv4_w~{h5v>8K@f471P;UW2=DUGTgx&6Y1t62j0ML`~0TKmNd@paxP(0J7O^pxJSpZyI>sC(%#4&^-OW k4g3qD|J=Zj?@ssQ6~Kjv%J4KjZ~y=R07*qoM6N<$g5(_5G5`Po literal 0 HcmV?d00001 diff --git a/resource/win32_res.rc b/resource/win32_res.rc index 338ca668..50e2ab37 100644 --- a/resource/win32_res.rc +++ b/resource/win32_res.rc @@ -66,6 +66,7 @@ tool/dark_reminder IMAGE "tool/dark_reminder.png" tool/no_auto IMAGE "tool/no_auto.png" tool/card_add IMAGE "tool/card_add.png" +tool/card_add_double IMAGE "tool/card_add_double.png" tool/card_add_multiple IMAGE "tool/card_add_multiple.png" tool/card_modify_multiple IMAGE "tool/card_modify_multiple.png" tool/card_del IMAGE "tool/card_del.png" diff --git a/src/gui/control/card_list.cpp b/src/gui/control/card_list.cpp index d0883d2a..d9a8a366 100644 --- a/src/gui/control/card_list.cpp +++ b/src/gui/control/card_list.cpp @@ -209,9 +209,15 @@ bool CardListBase::doDelete() { // cards to delete vector cards_to_delete; getSelection(cards_to_delete); - if (cards_to_delete.empty()) return false; + if (cards_to_delete.empty()) return false; + // if there is one double faced card, select the other face to make it clear it hasn't been deleted + CardP other_face = nullptr; + if (cards_to_delete.size() == 1) { + other_face = cards_to_delete[0]->getLinkedOtherFaceCard(*set); + } // delete cards - set->actions.addAction(make_unique(REMOVE, *set, cards_to_delete)); + set->actions.addAction(make_unique(REMOVE, *set, cards_to_delete)); + if (other_face) setCard(other_face, true); return true; } @@ -738,6 +744,7 @@ void CardListBase::onContextMenu(wxContextMenuEvent&) { add_menu_item_tr(&m, wxID_PASTE, "paste", "paste_card"); m.AppendSeparator(); add_menu_item_tr(&m, ID_CARD_ADD, "card_add", "add card"); + add_menu_item_tr(&m, ID_CARD_ADD_DOUBLE, "card_add_double", "add card double"); add_menu_item_tr(&m, ID_CARD_REMOVE, "card_del", "remove card"); add_menu_item_tr(&m, ID_CARD_LINK, settings.darkModePrefix() + "card_link", "link card"); PopupMenu(&m); diff --git a/src/gui/set/cards_panel.cpp b/src/gui/set/cards_panel.cpp index 1285f349..8dc3a756 100644 --- a/src/gui/set/cards_panel.cpp +++ b/src/gui/set/cards_panel.cpp @@ -127,13 +127,14 @@ CardsPanel::CardsPanel(Window* parent, int id) add_menu_item_tr(menuCard, ID_CARD_NEXT, nullptr, "next card"); add_menu_item_tr(menuCard, ID_CARD_SEARCH, nullptr, "search cards"); menuCard->AppendSeparator(); + add_menu_item_tr(menuCard, ID_CARD_ADD, "card_add", "add_card"); + add_menu_item_tr(menuCard, ID_CARD_ADD_DOUBLE, "card_add_double", "add_card_double"); insertManyCardsMenu = add_menu_item_tr(menuCard, ID_CARD_ADD_MULT, "card_add_multiple", "add cards"); // NOTE: space after "Del" prevents wx from making del an accellerator // otherwise we delete a card when delete is pressed inside the editor // Adding a space never hurts, please keep it just to be safe. add_menu_item(menuCard, ID_CARD_ADD_CSV, "card_add_multiple", _MENU_("add card csv") + _(" "), _HELP_("add card csv")); add_menu_item(menuCard, ID_CARD_ADD_JSON, "card_add_multiple", _MENU_("add card json") + _(" "), _HELP_("add card json")); - add_menu_item_tr(menuCard, ID_CARD_ADD, "card_add", "add_card"); add_menu_item(menuCard, ID_CARD_REMOVE, "card_del", _MENU_("remove card")+_(" "), _HELP_("remove card")); add_menu_item(menuCard, ID_CARD_LINK, settings.darkModePrefix() + "card_link", _MENU_("link card") + _(" "), _HELP_("link card")); add_menu_item(menuCard, ID_CARD_AND_LINK_COPY, "card_copy", _MENU_("copy card and links") + _(" "), _HELP_("copy card and links")); @@ -255,7 +256,7 @@ void CardsPanel::onChangeSet() { insertManyCardsMenu->SetSubMenu(makeAddCardsSubmenu(false)); // re-add the menu menuCard->Remove(ID_CARD_ADD_MULT); - ((wxMenu*)menuCard)->Insert(4,insertManyCardsMenu); // HACK: the position is hardcoded + ((wxMenu*)menuCard)->Insert(6,insertManyCardsMenu); // HACK: the position is hardcoded // also for the toolbar dropdown menu if (toolAddCard) { // Originally this was using the menu directly, but there are compatibility issues apparently. @@ -270,6 +271,7 @@ wxMenu* CardsPanel::makeAddCardsSubmenu(bool add_single_card_option) { if (add_single_card_option) { cards_scripts_menu = new wxMenu(); add_menu_item_tr(cards_scripts_menu, ID_CARD_ADD, "card_add", "add_card"); + add_menu_item_tr(cards_scripts_menu, ID_CARD_ADD_DOUBLE, "card_add_double", "add_card_double"); cards_scripts_menu->AppendSeparator(); } // create menu for add_cards_scripts @@ -435,6 +437,17 @@ void CardsPanel::onCommand(int id) { case ID_CARD_ADD: set->actions.addAction(make_unique(*set)); break; + case ID_CARD_ADD_DOUBLE: { + vector cards; + cards.push_back(make_intrusive(*set->game)); + cards.push_back(make_intrusive(*set->game)); + cards[0]->linked_card_1 = cards[1]->uid; + cards[1]->linked_card_1 = cards[0]->uid; + cards[0]->linked_relation_1 = "Back Face"; + cards[1]->linked_relation_1 = "Front Face"; + set->actions.addAction(make_unique(ADD, *set, cards)); + break; + } case ID_CARD_ADD_CSV: card_list->doAddCSV(); break; diff --git a/src/util/window_id.hpp b/src/util/window_id.hpp index 69f51581..ce5493a5 100644 --- a/src/util/window_id.hpp +++ b/src/util/window_id.hpp @@ -96,6 +96,7 @@ enum ChildMenuID { // Cards menu ID_CARD_ADD = 6001, + ID_CARD_ADD_DOUBLE, ID_CARD_ADD_MULT, ID_CARD_REMOVE, ID_CARD_PREV,