diff --git a/forge-core/src/main/java/forge/util/lang/LangFrench.java b/forge-core/src/main/java/forge/util/lang/LangFrench.java index 12d03f4ca2c..419ee466dbc 100644 --- a/forge-core/src/main/java/forge/util/lang/LangFrench.java +++ b/forge-core/src/main/java/forge/util/lang/LangFrench.java @@ -7,9 +7,9 @@ public class LangFrench extends Lang { @Override public String getOrdinal(final int position) { if (position == 1) { - return position + "ᵉʳ"; + return position + "er"; } else { - return position + "ᵉ"; + return position + "e"; } } diff --git a/forge-game/src/main/java/forge/game/ability/effects/AttachEffect.java b/forge-game/src/main/java/forge/game/ability/effects/AttachEffect.java index 695eb84895e..a2238fa1077 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/AttachEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/AttachEffect.java @@ -173,7 +173,7 @@ public class AttachEffect extends SpellAbilityEffect { protected String getStackDescription(SpellAbility sa) { final StringBuilder sb = new StringBuilder(); - sb.append(" Attach to "); + sb.append(" ").append(Localizer.getInstance().getMessage("lblAttachTo")).append(" "); final List targets = getTargets(sa); // Should never allow more than one Attachment per card diff --git a/forge-game/src/main/java/forge/game/card/Card.java b/forge-game/src/main/java/forge/game/card/Card.java index 423dd9d6073..89c7efb7539 100644 --- a/forge-game/src/main/java/forge/game/card/Card.java +++ b/forge-game/src/main/java/forge/game/card/Card.java @@ -2280,13 +2280,17 @@ public class Card extends GameEntity implements Comparable, IHasSVars { || keyword.startsWith("Embalm") || keyword.equals("Prowess") || keyword.startsWith("Eternalize") || keyword.startsWith("Reinforce") || keyword.startsWith("Champion") || keyword.startsWith("Prowl") || keyword.startsWith("Adapt") - || keyword.startsWith("Amplify") || keyword.startsWith("Ninjutsu") || keyword.startsWith("Saga") || keyword.startsWith("Read ahead") + || keyword.startsWith("Amplify") || keyword.startsWith("Ninjutsu") || keyword.startsWith("Saga") || keyword.startsWith("Transfigure") || keyword.startsWith("Aura swap") || keyword.startsWith("Cycling") || keyword.startsWith("TypeCycling") || keyword.startsWith("Encore") || keyword.startsWith("Mutate") || keyword.startsWith("Dungeon") || keyword.startsWith("Class") || keyword.startsWith("Blitz") || keyword.startsWith("Specialize") || keyword.equals("Ravenous")) { // keyword parsing takes care of adding a proper description + } else if(keyword.startsWith("Read ahead")) { + sb.append(Localizer.getInstance().getMessage("lblReadAhead")).append(" (").append(Localizer.getInstance().getMessage("lblReadAheadDesc")); + sb.append(" ").append(Localizer.getInstance().getMessage("lblSagaFooter")).append(" ").append(TextUtil.toRoman(getFinalChapterNr())).append("."); + sb.append(")").append("\r\n\r\n"); } else if (keyword.startsWith("IfReach")) { String[] k = keyword.split(":"); sbLong.append(getName()).append(" can block ") @@ -2390,10 +2394,14 @@ public class Card extends GameEntity implements Comparable, IHasSVars { sb.append("(Gain the next level as a sorcery to add its ability.)").append(linebreak); } - if (type.hasSubtype("Saga")) { - sb.append("(As this Saga enters and after your draw step, add a lore counter."); + // FIXME: Use state.hasKeyword() ? But need to add Read ahead in keyword enum ? + // Check if the saga card has the keyword Read ahead + Collection keywords = getUnhiddenKeywords(); + boolean readAhead = keywords.toString().contains("Read ahead"); + if (type.hasSubtype("Saga") && !readAhead) { + sb.append("(").append(Localizer.getInstance().getMessage("lblSagaHeader")); if (!state.getCard().isDoubleFaced()) { - sb.append(" Sacrifice after ").append(TextUtil.toRoman(getFinalChapterNr())).append("."); + sb.append(" ").append(Localizer.getInstance().getMessage("lblSagaFooter")).append(" ").append(TextUtil.toRoman(getFinalChapterNr())).append("."); } sb.append(")").append(linebreak); } diff --git a/forge-gui/res/languages/de-DE.properties b/forge-gui/res/languages/de-DE.properties index 5f2db5fd084..5700af9a3ff 100644 --- a/forge-gui/res/languages/de-DE.properties +++ b/forge-gui/res/languages/de-DE.properties @@ -1499,6 +1499,10 @@ lblOtherFormats=Andere Formate... lblChooseFormat=Wähle Format #Card.java lblAdventure=Abenteuer +lblReadAhead=Read ahead +lblReadAheadDesc=Choose a chapter and start with that many lore counters. Add one after your draw step. Skipped chapters don''t trigger +lblSagaHeader=As this Saga enters and after your draw step, add a lore counter. +lblSagaFooter=Sacrifice after #TriggerAdapt.java lblAdapt=Adaptieren #TriggerAttached.java @@ -1817,6 +1821,7 @@ lblChooseAbilityForObject=Wähle Fähigkeit für {0} lblDoYouWantAttachSourceToTarget=Möchtest du {0} {1} zuordnen? lblSelectAPlayerAttachSourceTo={0} - wähle Spieler zum Zuordnen. lblSelectACardAttachSourceTo={0} - wähle Karte zum Zuordnen. +lblAttachTo=Attach to #BidLifeEffect.java lblBidLife=Wähle ein höheres Gebot lblChooseStartingBid=Wähle Startgebot diff --git a/forge-gui/res/languages/en-US.properties b/forge-gui/res/languages/en-US.properties index 3e796d16099..37505ad40bf 100644 --- a/forge-gui/res/languages/en-US.properties +++ b/forge-gui/res/languages/en-US.properties @@ -1501,6 +1501,10 @@ lblOtherFormats=Other Formats lblChooseFormat=Choose Format #Card.java lblAdventure=Adventure +lblReadAhead=Read ahead +lblReadAheadDesc=Choose a chapter and start with that many lore counters. Add one after your draw step. Skipped chapters don''t trigger +lblSagaHeader=As this Saga enters and after your draw step, add a lore counter. +lblSagaFooter=Sacrifice after #TriggerAdapt.java lblAdapt=Adapt #TriggerAttached.java @@ -1818,6 +1822,7 @@ lblChooseAbilityForObject=Choose ability for {0} lblDoYouWantAttachSourceToTarget=Do you want to attach {0} to {1}? lblSelectAPlayerAttachSourceTo={0} - Select a player to attach to. lblSelectACardAttachSourceTo={0} - Select a card to attach to. +lblAttachTo=Attach to #BidLifeEffect.java lblBidLife=Choose a higher bid lblChooseStartingBid=Choose a starting bid diff --git a/forge-gui/res/languages/es-ES.properties b/forge-gui/res/languages/es-ES.properties index 5c08cf3a30b..7cae38da44c 100644 --- a/forge-gui/res/languages/es-ES.properties +++ b/forge-gui/res/languages/es-ES.properties @@ -1499,6 +1499,10 @@ lblOtherFormats=Otros formatos... lblChooseFormat=Selecciona formato #Card.java lblAdventure=Aventura +lblReadAhead=Read ahead +lblReadAheadDesc=Choose a chapter and start with that many lore counters. Add one after your draw step. Skipped chapters don''t trigger +lblSagaHeader=As this Saga enters and after your draw step, add a lore counter. +lblSagaFooter=Sacrifice after #TriggerAdapt.java lblAdapt=Adaptar #TriggerAttached.java @@ -1816,6 +1820,7 @@ lblChooseAbilityForObject=Elige la habilidad para {0} lblDoYouWantAttachSourceToTarget=¿Quieres anexar {0} a {1}? lblSelectAPlayerAttachSourceTo={0} - Selecciona el jugador al que se va a anexar. lblSelectACardAttachSourceTo={0} - Selecciona una carta a la que anexar. +lblAttachTo=Attach to #BidLifeEffect.java lblBidLife=Elige una puja más alta lblChooseStartingBid=Elige una apuesta inicial diff --git a/forge-gui/res/languages/fr-FR.properties b/forge-gui/res/languages/fr-FR.properties index 430e18067e8..45c21e061ca 100644 --- a/forge-gui/res/languages/fr-FR.properties +++ b/forge-gui/res/languages/fr-FR.properties @@ -118,11 +118,11 @@ cbpMusicSets=Ensemble de musique cbpStackAdditions=Notifications d''effet de pile cbpDisplayCurrentCardColors=Afficher la couleur détaillée de la carte cbpAutoYieldMode=Rendement automatique -cbpCounterDisplayType=Type d''affichage du compteur -cbpCounterDisplayLocation=Emplacement d''affichage du compteur +cbpCounterDisplayType=Type d''affichage du marqueur +cbpCounterDisplayLocation=Emplacement d''affichage du marqueur cbpGraveyardOrdering=Autoriser les cartes de commande placées dans le cimetière lblAltLifeDisplay=Mise en page alternative du lecteur (mode paysage) -nlAltLifeDisplay=Active une disposition alternative pour l''affichage des compteurs de vie, de poison, d''énergie et d''expérience du joueur. +nlAltLifeDisplay=Active une disposition alternative pour l''affichage des marqueurs de vie, de poison, d''énergie et d''expérience du joueur. lblAltZoneTabs=Mise en page alternative de la zone du lecteur (mode paysage) nlAltZoneTabs=Active une disposition alternative pour l''affichage des zones Main du joueur, Cimetière, Bibliothèque et Exil. lblAnimatedCardTapUntap=Activer les animations de cartes @@ -205,8 +205,8 @@ nlOpenPacksIndiv=Lors de l''ouverture des Fat Packs et des Boosters Box, les boo nlTokensInSeparateRow=Affiche les jetons dans une rangée séparée sur le champ de bataille sous les créatures non-jeton. nlStackCreatures=Empile des créatures identiques sur le champ de bataille comme des terrains, des artefacts et des enchantements. nlTimedTargOverlay=Active l''optimisation basée sur la limitation de la superposition de ciblage pour réduire l''utilisation du processeur (désactiver uniquement si vous rencontrez des saccades sur du matériel plus ancien, nécessite de démarrer une nouvelle correspondance). -nlCounterDisplayType=Sélectionne le style d''affichage du compteur en jeu pour les cartes. Basé sur le texte est un nouvel affichage en forme d''onglet sur les cartes. Basé sur l''image est l''ancienne image de compteur. Hybrid affiche les deux à la fois. -nlCounterDisplayLocation=Détermine où positionner les compteurs textuels sur la carte : près du haut ou près du bas. +nlCounterDisplayType=Sélectionne le style d''affichage du marqueur en jeu pour les cartes. Basé sur le texte est un nouvel affichage en forme d''onglet sur les cartes. Basé sur l''image est l''ancienne image de marqueur. Hybrid affiche les deux à la fois. +nlCounterDisplayLocation=Détermine où positionner les marqueurs textuels sur la carte : près du haut ou près du bas. nlDisplayCurrentCardColors=Affiche la répartition de la couleur actuelle des cartes dans le panneau d''informations sur les détails de la carte. SoundOptions=Options sonores nlEnableSounds=Activer les effets sonores pendant le jeu @@ -372,7 +372,7 @@ lblTeam=Équipe lblKeep=Garder lblYouAreGoingFirst=vous passez en premier ! lblIsGoingFirst=va en premier -lblYouAreGoing=tu vas +lblYouAreGoing=tu vas en lblMulligan=Mulligan lblDoYouWantToKeepYourHand=Voulez-vous garder votre main ? lblReturnForLondon=Renvoyer %d carte(s) au bas de votre bibliothèque @@ -1290,10 +1290,10 @@ lblSetLifetoWhat=Mettre la vie à quoi ? lblSetLifeforWhichPlayer=Définir la vie pour quel joueur kglChoosePermanentstoTap=Choisir les permanents à engager lblChoosePermanentstoUntap=Choisir les permanents à dégager -lblWhichTypeofCounter=Quel type de compteur ? -lblHowManyCounters=Combien de compteurs ? -lblRemoveCountersFromWhichCard=Supprimer des compteurs de quelle carte ? -lblAddCountersToWhichCard=Ajouter des compteurs à quelle carte ? +lblWhichTypeofCounter=Quel type de marqueur ? +lblHowManyCounters=Combien de marqueurs ? +lblRemoveCountersFromWhichCard=Supprimer des marqueurs de quelle carte ? +lblAddCountersToWhichCard=Ajouter des marqueurs à quelle carte ? lblChooseaCard=Choisir une carte lblNoPlayerPriorityDeckCantBeTutoredFrom=Aucun joueur n''a la priorité pour le moment, donc leur deck ne peut pas être tutoré. lblNoPlayerPriorityGameStateCannotBeSetup=Aucun joueur n''a la priorité pour le moment, donc l''état du jeu ne peut pas être configuré. @@ -1357,8 +1357,8 @@ lblLeaveTapped=Laisser tapé lblUntapAndSkipThisTurn=Dégager (et sauter ce tour) lblGauche=Gauche lblDroite=Droite -lblAddCounter=Ajouter un compteur -lblRemoveCounter=Supprimer le compteur +lblAddCounter=Ajouter un marqueur +lblRemoveCounter=Supprimer le marqueur lblWinTheFlip=gagner le flip lblLoseTheFlip=perdre le flip lblChooseAResult=Choisir un résultat @@ -1480,16 +1480,16 @@ lblLogPlayerChosenModeForCard={0} a choisi {1} pour {2}. lblLogPlayerHasRestoredControlThemself={0} a restauré le contrôle sur lui-même lblLogPlayerControlledTargetPlayer={0} est contrôlé par {1} lblDeathtouch=Deathtouch -lblAsM1M1Counters=As -1/-1 Compteurs -lblRemovingNLoyaltyCounter=Suppression de {0} compteur de loyauté +lblAsM1M1Counters=As -1/-1 Marqueurs +lblRemovingNLoyaltyCounter=Suppression de {0} marqueur de loyauté lblSourceDealsNDamageToDest={0} inflige {1} dégâts ({2}) à {3}. lblLogPlayerPlayedLand={0} a joué {1} lblLogTurnNOwnerByPlayer=Tourner {0} ({1}) -lblLogAsPoisonCounters=(comme compteurs de poison) +lblLogAsPoisonCounters=(comme marqueurs de poison) lblCombat=combat lblNonCombat=sans combat lblLogSourceDealsNDamageOfTypeToDest={0} inflige {1} {2} dégâts à {3}{4}. -lblLogPlayerReceivesNPosionCounterFrom={0} reçoit {1} compteur de poison de {2} +lblLogPlayerReceivesNPosionCounterFrom={0} reçoit {1} marqueur de poison de {2} lblLogPlayerAssignedAttackerToAttackTarget={0} a assigné {1} pour attaquer {2}. lblLogPlayerDidntBlockAttacker={0} n''a pas bloqué {1}. lblLogPlayerAssignedBlockerToBlockAttacker={0} a assigné {1} au bloc {2}. @@ -1502,6 +1502,10 @@ lblOtherFormats=Autres formats lblChooseFormat=Choisir le format #Card.java lblAdventure=Aventure +lblReadAhead=Lecture rapide +lblReadAheadDesc=Choisissez un chapitre et commencez avec autant de marqueurs « sapience ». Ajoutez-en un après votre étape de pioche. Les chapitres passés ne se déclenchent pas. +lblSagaHeader=Au moment où cette saga arrive sur le champ de bataille et après votre étape de pioche, ajoutez un marqueur « sapience ». +lblSagaFooter=Sacrifiez après #TriggerAdapt.java lblAdapt=Adapter #TriggerAttached.java @@ -1784,16 +1788,16 @@ lblDoyouWantTo=Voulez-vous lblDoYouWantMillNCardsOrDoAction=Voulez-vous usiner {0} carte(s) ? {1} lblDoYouWantFlipNCoinAction=Voulez-vous lancer {0} pièce(s) ? lblDoYouWantRollNDiceAction=Voulez-vous lancer {0}{1} ? -lblDoYouWantRemoveNTargetTypeCounterFromCard=Voulez-vous supprimer le compteur {0} {1} de {2} ? -lblDoYouWantRemoveCountersFromCard=Voulez-vous supprimer les compteurs de {0} ? +lblDoYouWantRemoveNTargetTypeCounterFromCard=Voulez-vous supprimer le marqueur {0} {1} de {2} ? +lblDoYouWantRemoveCountersFromCard=Voulez-vous supprimer les marqueurs de {0} ? lblDoYouWantExileNCardsFromYourLibrary=Voulez-vous exiler {0} carte(s) de votre bibliothèque ? lblDoYouWantExileAllCardYouGraveyard=Voulez-vous exiler toutes les cartes de votre cimet\u00e8re ? lblDoYouWantDiscardYourHand=Voulez-vous défausser votre main ? -lblDoYouWantSpendNTargetTypeCounter=Voulez-vous dépenser {0} {1} compteur ? +lblDoYouWantSpendNTargetTypeCounter=Voulez-vous dépenser {0} {1} marqueur ? lblDoYouWantLetThatPlayerDrawNCardOrDoAction=Voulez-vous laisser ce joueur piocher {0} carte(s) ?{1} lblDoYouWantDrawNCardOrDoAction=Voulez-vous piocher {0} carte(s) ?{1} -lblSelectRemoveCounterCard=Sélectionnez une carte pour supprimer un compteur -lblSelectRemoveCounterType=Sélectionnez le type de compteurs à supprimer +lblSelectRemoveCounterCard=Sélectionnez une carte pour supprimer un marqueur +lblSelectRemoveCounterType=Sélectionnez le type de marqueurs à supprimer lblExileFromZone=Exiler de {0} lblPutCardFromWhoseZone=Mettre les cartes de dont {0} ? lblPutCardToLibrary=Placer les cartes dans la bibliothèque @@ -1819,6 +1823,7 @@ lblChooseAbilityForObject=Choisir la capacité pour {0} lblDoYouWantAttachSourceToTarget=Voulez-vous joindre {0} à {1} ? lblSelectAPlayerAttachSourceTo={0} - Sélectionnez un joueur auquel s''attacher. lblSelectACardAttachSourceTo={0} - Sélectionnez une carte à joindre. +lblAttachTo=Attaché à #BidLifeEffect.java lblBidLife=Choisir une enchère plus élevée lblChooseStartingBid=Choisir une enchère de départ @@ -1913,33 +1918,33 @@ lblSelectASpellCopy=Sélectionnez un sort à copier lblRemoveDestination=une destination à supprimer #CountersMoveEffect.java lblChooseTakeCountersCard=Choisir la carte sur laquelle prendre {0} marqueurs -lblTakeHowManyTargetCounterFromCard=Prendre combien de {0} compteurs de {1} ? -lblChooseCardToGetCountersFrom=Choisissez des cartes pour obtenir {0} compteurs de {1}. -lblPutHowManyTargetCounterOnCard=Mettre combien de compteurs {0} sur {1} ? -lblTakeHowManyTargetCounters=Prendre combien de compteurs {0} ? +lblTakeHowManyTargetCounterFromCard=Prendre combien de {0} marqueurs de {1} ? +lblChooseCardToGetCountersFrom=Choisissez des cartes pour obtenir {0} marqueurs de {1}. +lblPutHowManyTargetCounterOnCard=Mettre combien de marqueurs {0} sur {1} ? +lblTakeHowManyTargetCounters=Prendre combien de marqueurs {0} ? #CountersProliferateEffect.java lblChooseProliferateTarget=Choisissez n''importe quel nombre de permanents et/ou de joueurs pour proliférer #CountersPutEffect.java -lblDoYouWantPutCounter=Voulez-vous mettre le compteur ? +lblDoYouWantPutCounter=Voulez-vous mettre le marqueur ? lblChooseACreatureWithLeastToughness=Choisissez une créature avec le moins d''endurance -lblSelectCounterTypeAddTo=Sélectionner le type de compteur à ajouter à -lblWithKindCounter=avec le type de compteur que vous souhaitez mettre +lblSelectCounterTypeAddTo=Sélectionner le type de marqueur à ajouter à +lblWithKindCounter=avec le type de marqueur que vous souhaitez mettre lblEachOther=chaque autre créature que vous contrôlez -lblSelectCounterType=Sélectionner le type de compteur -lblHowManyCountersThis=Combien de compteurs voulez-vous mettre sur {0} ? +lblSelectCounterType=Sélectionner le type de marqueur +lblHowManyCountersThis=Combien de marqueurs voulez-vous mettre sur {0} ? lblChooseAnOpponent=Choisir un adversaire -lblDoYouWantPutTargetP1P1CountersOnCard=Voulez-vous mettre {0} compteurs +1/+1 sur {1} ? +lblDoYouWantPutTargetP1P1CountersOnCard=Voulez-vous mettre {0} marqueurs +1/+1 sur {1} ? #CountersPutOrRemoveEffect.java -lblWouldYouLikePutRemoveCounters=Voulez-vous ajouter des compteurs ''{0}'' ou supprimer des compteurs ''{0}'' de {1} ? -lblSelectCounterTypeToAddOrRemove=Sélectionner le type de compteurs à ajouter ou supprimer -lblWhatToDoWithTargetCounter=Choisissez quoi faire avec le compteur ''{0}'' +lblWouldYouLikePutRemoveCounters=Voulez-vous ajouter des marqueurs ''{0}'' ou supprimer des marqueurs ''{0}'' de {1} ? +lblSelectCounterTypeToAddOrRemove=Sélectionner le type de marqueurs à ajouter ou supprimer +lblWhatToDoWithTargetCounter=Choisissez quoi faire avec le marqueur ''{0}'' #CountersRemoveEffect.java -lblAllCounters=tous les compteurs -lblACounters=un compteur -lblCounters=compteurs +lblAllCounters=tous les marqueurs +lblACounters=un marqueur +lblCounters=marqueurs lblChooseCardsToTakeTargetCounters=Choisissez des cartes pour prendre {0} marqueurs -lblSelectRemoveCountersNumberOfTarget=Sélectionnez le nombre de {0} compteurs à supprimer -lblSelectCountersTypeToRemove=Sélectionner le type de compteurs à supprimer +lblSelectRemoveCountersNumberOfTarget=Sélectionnez le nombre de {0} marqueurs à supprimer +lblSelectCountersTypeToRemove=Sélectionner le type de marqueurs à supprimer #DamageDealEffect.java lblDoyouWantDealTargetDamageToTarget=Voulez-vous infliger {0} dégâts à {1} ? #DigEffect.java @@ -2070,8 +2075,8 @@ lblSetupGame=Configurer l''état du jeu lblDumpGame=Vider l''état du jeu lblTutor=Tuteur pour la carte lblRollbackPhase=Phase de restauration -lblAddCounterPermanent=Ajouter des compteurs à la carte -lblSubCounterPermanent=Sous-compteurs de la carte +lblAddCounterPermanent=Ajouter des marqueurs à la carte +lblSubCounterPermanent=Sous-marqueurs de la carte lblTapPermanent=Appuyer sur les permanents lblUntapPermanent=Dégager les permanents lblSetLife=Définir la vie du joueur @@ -2221,7 +2226,7 @@ lblNCommanderDamageFromOwnCommander=Dégâts du commandant de son propre command lblNCommanderDamageFromPlayerCommander=Dégâts du commandant de {0} {1} : {2}\r\n lblUnlimited=illimité lblLifeHas=Vie : {0} -lblTypeCounterHas={0} compteurs : {1} +lblTypeCounterHas={0} marqueurs : {1} lblCardInHandHas=Cartes en main : {0}/{1} lblLandsPlayed=Terrains joués : {0}/{1} lblCardDrawnThisTurnHas=Cartes piochées ce tour : {0} @@ -2404,17 +2409,17 @@ lblPutNCardsFromYourZone=Mettez {0} carte(s) de votre {1} lblFromZonePutToLibrary=Placer de {0} dans la bibliothèque lblPutCardsFromWhoseZone=Mettre les cartes de dont {0} ? lblPutZoneCardsToLibrary=Mettre les cartes de {0} dans la biblioth\u00e8que -lblPutNTypeCounterOnTarget=Mettre le compteur {0} {1} sur {2} +lblPutNTypeCounterOnTarget=Mettre le marqueur {0} {1} sur {2} lblReturnCardToHandConfirm=Remettre {0} en main ? lblNTypeCardsToHand=Remettre {0} {1} carte(s) en main lblSelectNCardOfSameColorToReveal=Sélectionnez {0} carte(s) de même couleur à révéler. lblSelectNMoreTypeCardsTpReveal=Sélectionnez {0} plus {1} carte(s) à révéler. -lblSelectTargetCounter=Sélectionnez {0} pour supprimer un compteur -lblRemoveCounterFromCard=supprimer le compteur de la carte -lblRemoveAllCountersConfirm=Supprimer tous les compteurs ? -lblRemoveNTargetCounterFromCardPayCostSelect=Sélectionnez {2} pour supprimer {0} {1} compteur(s) de -lblRemoveNTargetCounterFromCardPayCostConfirm=Supprimer {0} {1} compteur(s) de {2}? -lblRemoveCountersFromAInZoneCard=Supprimer le(s) compteur(s) d''une carte dans {0} +lblSelectTargetCounter=Sélectionnez {0} pour supprimer un marqueur +lblRemoveCounterFromCard=supprimer le marqueur de la carte +lblRemoveAllCountersConfirm=Supprimer tous les marqueurs ? +lblRemoveNTargetCounterFromCardPayCostSelect=Sélectionnez {2} pour supprimer {0} {1} marqueur(s) de +lblRemoveNTargetCounterFromCardPayCostConfirm=Supprimer {0} {1} marqueur(s) de {2}? +lblRemoveCountersFromAInZoneCard=Supprimer le(s) marqueur(s) d''une carte dans {0} lblSacrificeCardConfirm=Sacrifice {0} ? lblSelectATargetToSacrifice=Sélectionnez {0} à sacrifier ({1} à gauche) lblSelectOneOfCardsToTapAlreadyChosen=S\u00e9lectionnez une des cartes \u00e0 tapoter. Déjà choisi : @@ -2534,8 +2539,8 @@ lblWinGameAfterActivatingCardUltimate=Gagnez une partie après avoir activé {0} #Poisoned.java lblPoisoned=Empoisonné lblWinGameByGivingOppoent=Gagner une partie en donnant à l''adversaire -lblNPoisonCounters={0} compteurs de poison -lblCounter=Compteur +lblNPoisonCounters={0} marqueurs de poison +lblCounter=Marqueur #RagsToRiches.java lblRagsToRiches=Rags to Riches lblWinGameAfterMulliganingTo=Gagner une partie après avoir déclaré mulligan à @@ -2783,7 +2788,7 @@ lblGuideTipsDeckFormats={0} : plusieurs formats de deck M:TG sont pris en charge MTGO, XMage, MTG Goldfish (tous exportés); TappedOut (tous les exportations, mais CSV); DeckStats.net ; Fichiers ".dec". nlGuideExamplesTitle=Exemples lblExample1=10x ÃŽles+ MIR 2 -nlExample1=10 FOIL "ÃŽle" de l''ensemble "Mirage", Art Index 2\. +nlExample1=10 FOIL "Île" de l''ensemble "Mirage", Art Index 2\. lblExample2=4 Citadelle de sombracier (M15) 242 nlExample2=4 "Citadelle de Darksteel" de "M15", Collector Nr. "242".\n\n \ Il s''agit d''un exemple d''entrée au format MTGArena tel qu''exporté par TappedOut. diff --git a/forge-gui/res/languages/it-IT.properties b/forge-gui/res/languages/it-IT.properties index fbb10b84f92..89decfccb54 100644 --- a/forge-gui/res/languages/it-IT.properties +++ b/forge-gui/res/languages/it-IT.properties @@ -1499,6 +1499,10 @@ lblOtherFormats=Altri formati lblChooseFormat=Scegli il formato #Card.java lblAdventure=Avventura +lblReadAhead=Read ahead +lblReadAheadDesc=Choose a chapter and start with that many lore counters. Add one after your draw step. Skipped chapters don''t trigger +lblSagaHeader=As this Saga enters and after your draw step, add a lore counter. +lblSagaFooter=Sacrifice after #TriggerAdapt.java lblAdapt=Adattamento #TriggerAttached.java @@ -1815,6 +1819,7 @@ lblChooseAbilityForObject=Scegli l''abilità per {0} lblDoYouWantAttachSourceToTarget=Vuoi assegnare {0} a {1}? lblSelectAPlayerAttachSourceTo=Scegli un giocatore a cui assegnare {0}. lblSelectACardAttachSourceTo=Scegli una carta a cui assegnare {0}. +lblAttachTo=Attach to #BidLifeEffect.java lblBidLife=Scegli un''offerta più alta lblChooseStartingBid=Scegli un''offerta di partenza diff --git a/forge-gui/res/languages/ja-JP.properties b/forge-gui/res/languages/ja-JP.properties index 1b6233e7ed8..9fb56c5ff1c 100644 --- a/forge-gui/res/languages/ja-JP.properties +++ b/forge-gui/res/languages/ja-JP.properties @@ -1500,6 +1500,10 @@ lblOtherFormats=他のフォーマット... lblChooseFormat=フォーマットを選択 #Card.java lblAdventure=出来事 +lblReadAhead=Read ahead +lblReadAheadDesc=Choose a chapter and start with that many lore counters. Add one after your draw step. Skipped chapters don''t trigger +lblSagaHeader=As this Saga enters and after your draw step, add a lore counter. +lblSagaFooter=Sacrifice after #TriggerAdapt.java lblAdapt=順応 #TriggerAttached.java @@ -1815,6 +1819,7 @@ lblChooseAbilityForObject={0}に適用する能力を選択 lblDoYouWantAttachSourceToTarget={1}に {0}をつけますか? lblSelectAPlayerAttachSourceTo={0} - つけるプレイヤーを選ぶ。 lblSelectACardAttachSourceTo={0} - つけるカードを選ぶ。 +lblAttachTo=Attach to #BidLifeEffect.java lblBidLife=もっと高い点数をつける lblChooseStartingBid=競りの始まりの点数を選ぶ diff --git a/forge-gui/res/languages/pt-BR.properties b/forge-gui/res/languages/pt-BR.properties index 98ef7fd47e9..8ecb7a783da 100644 --- a/forge-gui/res/languages/pt-BR.properties +++ b/forge-gui/res/languages/pt-BR.properties @@ -1535,6 +1535,10 @@ lblOtherFormats=Outros Formatos lblChooseFormat=Escolha o Formato #Card.java lblAdventure=Aventura +lblReadAhead=Read ahead +lblReadAheadDesc=Choose a chapter and start with that many lore counters. Add one after your draw step. Skipped chapters don''t trigger +lblSagaHeader=As this Saga enters and after your draw step, add a lore counter. +lblSagaFooter=Sacrifice after #TriggerAdapt.java lblAdapt=Adaptar #TriggerAttached.java @@ -1877,6 +1881,7 @@ lblChooseAbilityForObject=Escolha a habilidade para {0} lblDoYouWantAttachSourceToTarget=Você deseja anexar {0} a {1}? lblSelectAPlayerAttachSourceTo={0} - Escolha o jogador para anexar. lblSelectACardAttachSourceTo={0} - Escolha a carta para anexar. +lblAttachTo=Attach to #BidLifeEffect.java lblBidLife=Escolher uma oferta maior lblChooseStartingBid=Escolha uma oferta inicial diff --git a/forge-gui/res/languages/zh-CN.properties b/forge-gui/res/languages/zh-CN.properties index c70629f37c8..d0f3421d225 100644 --- a/forge-gui/res/languages/zh-CN.properties +++ b/forge-gui/res/languages/zh-CN.properties @@ -1501,6 +1501,10 @@ lblOtherFormats=其他赛制 lblChooseFormat=选择赛制 #Card.java lblAdventure=历险 +lblReadAhead=Read ahead +lblReadAheadDesc=Choose a chapter and start with that many lore counters. Add one after your draw step. Skipped chapters don''t trigger +lblSagaHeader=As this Saga enters and after your draw step, add a lore counter. +lblSagaFooter=Sacrifice after #TriggerAdapt.java lblAdapt=演化 #TriggerAttached.java @@ -1819,6 +1823,7 @@ lblChooseAbilityForObject=从{0}中选择一个异能 lblDoYouWantAttachSourceToTarget=你想要将{0}装备到{1}吗? lblSelectAPlayerAttachSourceTo={0} - 选择一个要结附的牌手。 lblSelectACardAttachSourceTo={0} - 选择一个要结附的牌。 +lblAttachTo=Attach to #BidLifeEffect.java lblBidLife=选择一个更高的出价 lblChooseStartingBid=选择一个初始价钱 diff --git a/forge-gui/tools/frenchTranslations.py b/forge-gui/tools/frenchTranslations.py index 7a0e7c26b40..60aa0486c80 100644 --- a/forge-gui/tools/frenchTranslations.py +++ b/forge-gui/tools/frenchTranslations.py @@ -12,6 +12,7 @@ import signal import json import sys import re +import os from bs4 import BeautifulSoup @@ -46,16 +47,20 @@ def getImageArt(): missingcardsfile.close() for card in missingcards: - name = card.split('.')[0] + folder = card.split('/')[0] + folder = 'images/' + folder + if not os.path.exists(folder): + os.makedirs(folder) + name = card.split('/')[1].split('.')[0] for bulkdata in bulk: if bulkdata['name'] == name: res = requests.get(bulkdata['image_uris']['png'], stream = True) if res.status_code == 200: - with open('images/' + name + '.fullborder.png','wb') as f: + with open(folder + '/' + name + '.fullborder.png','wb') as f: shutil.copyfileobj(res.raw, f) res = requests.get(bulkdata['image_uris']['art_crop'], stream = True) if res.status_code == 200: - with open('images/' + name + '.artcrop.jpg','wb') as f: + with open(folder + '/' + name + '.artcrop.jpg','wb') as f: shutil.copyfileobj(res.raw, f)