add some labels

This commit is contained in:
add-le
2022-11-01 18:59:45 +01:00
parent b870491e35
commit 7762e4695f
12 changed files with 115 additions and 62 deletions

View File

@@ -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";
}
}

View File

@@ -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<GameObject> targets = getTargets(sa);
// Should never allow more than one Attachment per card

View File

@@ -2280,13 +2280,17 @@ public class Card extends GameEntity implements Comparable<Card>, 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<Card>, 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<KeywordInterface> 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);
}

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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.

View File

@@ -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

View File

@@ -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=競りの始まりの点数を選ぶ

View File

@@ -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

View File

@@ -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=选择一个初始价钱

View File

@@ -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)