Change card db handling (#286)

* reorganize card db, add doit file
* make card_db_src a true source by removing untranslated entries, removing the untranslated field
* turn update language script into a better compiler
* move tools into submodule
* remove language db comparison test; add travis compile and check-in of card db
Co-authored-by: Nick Vance <nickv2002@users.noreply.github.com>
This commit is contained in:
Peter 2020-01-04 15:26:51 -08:00 committed by GitHub
parent 6fd593f1b6
commit 69c0a66868
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
57 changed files with 25019 additions and 4677 deletions

1
.gitignore vendored
View File

@ -18,5 +18,6 @@ dominion_dividers.pdf
dominion_dividers.png
tools/card_db
.doit.db
.mypy_cache/
.tox/

View File

@ -1,19 +1,25 @@
language: python
python:
- "3.6"
- '3.6'
install:
- pip install -U setuptools
- pip install .
- pip install -r requirements.txt
- pip install -U setuptools
- pip install .
- pip install -r requirements.txt
script:
- python setup.py test
- if [[ ${TRAVIS_PYTHON_VERSION:0:1} == "3" ]]; then pre-commit run --all-files; fi
- python setup.py test
- if [[ ${TRAVIS_PYTHON_VERSION:0:1} == "3" ]]; then pre-commit run --all-files; fi
- doit update_languages
after_success:
- git diff-index --quiet HEAD -- || .travis/push.sh
deploy:
provider: pypi
user: "__token__"
user: __token__
password:
secure: fwzGM3PUyZSWGcDnrWwo+GLh+kySJiBCNv4QWbM/l2dw2bpdRziDkbqq7zTtTmgxL4HGrd6TtJPq3QJS12JUtp0I8/lZFwMpjk5DkDDLeeIGoysGSIzw0VuI4/rsaRVlWf5BBPKcGouwf4BGSuXImJDn0pv62crrP2fG/Pnn3sWj5m6y+FPCdTB2LQGj1Jw7+lO/lWTXGS6QFc0siAgnLisrVZbOtZJXXv8vbqBNusfomKvxqAfNrYSwLSU52OF3Sk6YP2/JG7YOsMhdkUrEeAcxsWcy5xeDJ/lg773rrWnv2BPsHnZfzOagOY46B33uu02jalPiBRcvzUbWsuXwCBv8zZAJmeyIkf5/R+UDxGDgsnb1jBSFwPnYQDmUqHFpSbBMH87pN8V2aa9pl7yfDy/wx6tdWfpHkAVBfGWAF/MtKKsPjRoJNLYo+aEpd/BGGagDWm/PXDGPpPS2JF0sw4BrhD3w4WEhCiDHuW54vhLXjxx6TNX+0vwKcJA+VuhXq5lowbbUvwh5Yp4m9rWMM/AE/t8fxzukpwRQHuKvWQgbyOgs5X9TbrXspebYRU+4PgtrSwz8I6RiZDugf/ckP4xNjNoMf1DjXPhOUEsqC5H4jSAyJon2s+Mplmu1at91l7VZb1Zi+Cd6R+xwC1Y96k8a4taIKnKRP+4uBk3TS8c=
distributions: "sdist bdist_wheel"
distributions: sdist bdist_wheel
on:
tags: true
condition: $TRAVIS_TAG =~ ^v[0-9]+.[0-9]+.[0-9]+$
condition: "$TRAVIS_TAG =~ ^v[0-9]+.[0-9]+.[0-9]+$"
env:
global:
secure: bYXWpieVWLJctT3xo/2jNnsaiT7RM8C7VttYMZjCstxOr+8qL5jhCXkez/XqbYQ2WJmpW5C9AsK2MIwn1W9zrc9CSZ5VMONrwTqmT/tPmn4TvDTM4hLCVqMMz8wzq8kbfhdqCpTLCj8AqFlG/8emi9B2NN9wnWC/bS7hzSeBDOzl50s2soniyXIizq49BzAf9mOZ/+5MpbIxwt3v++ZfHkjYzamg+oxS3rrejWHi1drVUXhgIf72narfP7kLwfVm4jrfcfXbUm+Yf3MBQ0tO33jHlPhXRPFu1XdqDbYmEpMuQUtBasTrg2fuhraORxKpi7eFToIRg4K8DCN1Bj0ktPd83Voj2PnQBvyUqNHdIAfwER4ZAmBbDRmc7LDk58KqZFE5NB5HeL+/PFxwLRWIC4P+K0WWAWDy+y0rxzhXc8uNaghEBL03WvPKxv9OqGXdSL0vaPzVj5XnEZ7CHOxpCgG/kv5J4YtNCQycGo612IstRFMF0V07+HIpxrCX5F6C4FDt5zAFqnBRm2oB6cM9MV8foofed9z/h0q5qJ9N7btE5qnzqbnNdG/RMuS2EjOLwjz8IfXeRiToq0MC4LGDVISH4c/RUzU970OoIFvOyqi+J4bhUSNwFuB3dPPfGW2a/bg3CAZjM1XWpU6H1xhpBwkDSzNbCsRHRXhhtIGVUfY=

30
.travis/push.sh Executable file
View File

@ -0,0 +1,30 @@
#!/bin/sh
setup_git() {
git config --global user.email "travis@travis-ci.org"
git config --global user.name "Travis CI"
git config --global push.default current
}
commit_carddb_files() {
git status
git stash
git checkout $TRAVIS_BRANCH
git stash pop
git add src/domdiv/card_db
git commit --message "Travis build: $TRAVIS_BUILD_NUMBER"
}
upload_files() {
git remote remove origin
git remote add origin https://${GH_TOKEN}@github.com/${TRAVIS_REPO_SLUG}.git >/dev/null 2>&1
echo "pushing to origin $TRAVIS_BRANCH"
git push origin $TRAVIS_BRANCH
}
echo "Branch: $TRAVIS_BRANCH"
setup_git
commit_carddb_files
upload_files
# credit: https://gist.github.com/willprice/e07efd73fb7f13f917ea

View File

@ -18,7 +18,9 @@ The script has an extensive set of options that are relatively well documented v
## Translations
If you would like to help with translations to new (or updating existing) languages, please see [instructions here](https://github.com/sumpfork/dominiontabs/blob/master/domdiv/card_db/translation.md).
When changing any of the [card database files](card_db_src) you should run the language update tool via `doit update_languages`. This produces [the package version of the card db](src/domdiv/card_db) from the card db source. This will also be run automatically and checked into git when you push to github. You should make sure that the resulting changes to the package are what you intend.
If you would like to help with translations to new (or updating existing) languages, please see [instructions here](src/domdiv/card_db/translation.md).
## Fonts

5662
card_db_src/cards_db.json Normal file

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,16 @@
{
"exclude": [
"token",
"Tokens"
],
"include": [
"Coins",
"Coin",
"Cards",
"Card",
"Buys",
"Buy",
"Actions",
"Action"
]
}

View File

@ -0,0 +1,758 @@
{
"Alms": {},
"Amulet": {},
"Artificer": {},
"Ball": {},
"Bonfire": {},
"Borrow": {},
"Bridge Troll": {},
"Caravan Guard": {},
"Champion": {},
"Coin of the Realm": {},
"Disciple": {},
"Distant Lands": {},
"Dungeon": {},
"Duplicate": {},
"Expedition": {},
"Ferry": {},
"Fugitive": {},
"Gear": {},
"Giant": {},
"Guide": {},
"Haunted Woods": {},
"Hero": {},
"Hireling": {},
"Inheritance": {},
"Lost Arts": {},
"Lost City": {},
"Magpie": {},
"Messenger": {},
"Miser": {},
"Mission": {},
"Page": {},
"Pathfinding": {},
"Peasant": {},
"Pilgrimage": {},
"Plan": {},
"Port": {},
"Quest": {},
"Raid": {},
"Ranger": {},
"Ratcatcher": {},
"Raze": {},
"Relic": {},
"Royal Carriage": {},
"Save": {},
"Scouting Party": {},
"Seaway": {},
"Soldier": {},
"Storyteller": {},
"Swamp Hag": {},
"Teacher": {},
"Trade": {},
"Training": {},
"Transmogrify": {},
"Travelling Fair": {},
"Treasure Hunter": {},
"Treasure Trove": {},
"Warrior": {},
"Wine Merchant": {},
"Alchemist": {},
"Apothecary": {},
"Apprentice": {},
"Familiar": {},
"Golem": {},
"Herbalist": {},
"Philosopher's Stone": {},
"Possession": {},
"Scrying Pool": {},
"Transmute": {},
"University": {},
"Vineyard": {},
"Grey Mustang": {},
"Rabbits": {},
"Yard Dog": {},
"Potion": {},
"Copper": {
"name": "Stríbrnák"
},
"Curse": {
"name": "Kletba"
},
"Duchy": {
"name": "Vévodství"
},
"Estate": {
"name": "Statek"
},
"Gold": {
"name": "Zlaták"
},
"Province": {
"name": "Provincie"
},
"Silver": {
"name": "Medák"
},
"Start Deck": {},
"Trash": {
"name": "Smetište"
},
"Colony": {
"name": "Kolonie"
},
"Platinum": {
"name": "Platina"
},
"Bag of Gold": {},
"Diadem": {},
"Fairgrounds": {},
"Farming Village": {},
"Followers": {},
"Fortune Teller": {},
"Hamlet": {},
"Harvest": {},
"Horn of Plenty": {},
"Horse Traders": {},
"Hunting Party": {},
"Jester": {},
"Menagerie": {},
"Princess": {},
"Remake": {},
"Tournament": {},
"Trusty Steed": {},
"Young Witch": {},
"Altar": {},
"Armory": {},
"Band of Misfits": {},
"Bandit Camp": {},
"Beggar": {},
"Catacombs": {},
"Count": {},
"Counterfeit": {},
"Cultist": {},
"Death Cart": {},
"Feodum": {},
"Forager": {},
"Fortress": {},
"Graverobber": {},
"Hermit": {},
"Hovel": {},
"Hunting Grounds": {},
"Ironmonger": {},
"Junk Dealer": {},
"Knights": {},
"Madman": {},
"Marauder": {},
"Market Square": {},
"Mercenary": {},
"Mystic": {},
"Necropolis": {},
"Overgrown Estate": {},
"Pillage": {},
"Poor House": {},
"Procession": {},
"Rats": {},
"Rebuild": {},
"Rogue": {},
"Ruins": {},
"Sage": {},
"Scavenger": {},
"Spoils": {},
"Squire": {},
"Storeroom": {},
"Urchin": {},
"Vagrant": {},
"Wandering Minstrel": {},
"Adventurer": {
"name": "Dobrodruh"
},
"Chancellor": {
"name": "Kanclér"
},
"Feast": {
"name": "Hostina"
},
"Spy": {
"name": "Špion"
},
"Thief": {
"name": "Zlodej"
},
"Woodcutter": {
"name": "Drevorubec"
},
"Bureaucrat": {
"name": "Úredník"
},
"Cellar": {
"name": "Sklepení"
},
"Chapel": {
"name": "Kaple"
},
"Council Room": {
"name": "Zasedání Rady"
},
"Festival": {
"name": "Jarmark"
},
"Gardens": {
"name": "Zahrady"
},
"Laboratory": {
"name": "Laborator"
},
"Library": {
"name": "Knihovna"
},
"Market": {
"name": "Trh"
},
"Militia": {
"name": "Milice"
},
"Mine": {
"name": "Dul"
},
"Moat": {
"name": "Hradní Príkop"
},
"Moneylender": {
"name": "Lichvár"
},
"Remodel": {
"name": "Prestavba"
},
"Smithy": {
"name": "Kovárna"
},
"Throne Room": {
"name": "Trunní sál"
},
"Village": {
"name": "Vesnice"
},
"Witch": {
"name": "Carodejnice"
},
"Workshop": {
"name": "Dílna"
},
"Artisan": {},
"Bandit": {},
"Harbinger": {},
"Merchant": {},
"Poacher": {},
"Sentry": {},
"Vassal": {},
"Advance": {},
"Annex": {},
"Aqueduct": {},
"Archive": {},
"Arena": {},
"Bandit Fort": {},
"Banquet": {},
"Basilica": {},
"Baths": {},
"Battlefield": {},
"Bustling Village": {},
"Capital": {},
"Castles": {},
"Catapult": {},
"Chariot Race": {},
"Charm": {},
"City Quarter": {},
"Colonnade": {},
"Conquest": {},
"Crown": {},
"Defiled Shrine": {},
"Delve": {},
"Dominate": {},
"Donate": {},
"Emporium": {},
"Encampment": {},
"Enchantress": {},
"Engineer": {},
"Farmers' Market": {},
"Fortune": {},
"Forum": {},
"Fountain": {},
"Gladiator": {},
"Groundskeeper": {},
"Keep": {},
"Labyrinth": {},
"Legionary": {},
"Mountain Pass": {},
"Museum": {},
"Obelisk": {},
"Orchard": {},
"Overlord": {},
"Palace": {},
"Patrician": {},
"Plunder": {},
"Ritual": {},
"Rocks": {},
"Royal Blacksmith": {},
"Sacrifice": {},
"Salt the Earth": {},
"Settlers": {},
"Tax": {},
"Temple": {},
"Tomb": {},
"Tower": {},
"Triumph": {},
"Triumphal Arch": {},
"Villa": {},
"Wall": {},
"Wedding": {},
"Wild Hunt": {},
"Windfall": {},
"Wolf Den": {},
"Advisor": {},
"Baker": {},
"Butcher": {},
"Candlestick Maker": {},
"Doctor": {},
"Herald": {},
"Journeyman": {},
"Masterpiece": {},
"Merchant Guild": {},
"Plaza": {},
"Soothsayer": {},
"Stonemason": {},
"Taxman": {},
"Border Village": {
"name": "Pohranicní Vesnice"
},
"Cache": {
"name": "Úkryt"
},
"Cartographer": {
"name": "Kartograf"
},
"Crossroads": {
"name": "Križovatka"
},
"Develop": {
"name": "Výstavba"
},
"Duchess": {
"name": "Vévodkyne"
},
"Embassy": {
"name": "Velvyslanectví"
},
"Farmland": {
"name": "Úrodná zeme"
},
"Fool's Gold": {
"name": "Kocicí Zlato"
},
"Haggler": {
"name": "Handlír"
},
"Highway": {
"name": "Silnice"
},
"Ill-Gotten Gains": {
"name": "Necestné zisky"
},
"Inn": {
"name": "Hostinec"
},
"Jack of all Trades": {
"name": "Všeumel"
},
"Mandarin": {
"name": "Mandarín"
},
"Margrave": {
"name": "Markrabe"
},
"Noble Brigand": {
"name": "Zbojník"
},
"Nomad Camp": {
"name": "Tábor Nomádu"
},
"Oasis": {
"name": "Oáza"
},
"Oracle": {
"name": "Veštírna"
},
"Scheme": {
"name": "Pleticha"
},
"Silk Road": {
"name": "Hedvábná stezka"
},
"Spice Merchant": {
"name": "Korenár"
},
"Stables": {
"name": "Stáje"
},
"Trader": {
"name": "Kramár"
},
"Tunnel": {
"name": "Tunel"
},
"Coppersmith": {
"name": "Meditepec"
},
"Great Hall": {
"name": "Velký Sál"
},
"Saboteur": {
"name": "Sabotér"
},
"Scout": {
"name": "Zved"
},
"Secret Chamber": {
"name": "Tajemná Komnata"
},
"Tribute": {
"name": "Dar Poddaných"
},
"Baron": {
"name": "Baron"
},
"Bridge": {
"name": "Most"
},
"Conspirator": {
"name": "Spiklenec"
},
"Courtyard": {
"name": "Hradní Nádvorí"
},
"Duke": {
"name": "Vévoda"
},
"Harem": {
"name": "Harém"
},
"Ironworks": {
"name": "Hute"
},
"Masquerade": {
"name": "Maškary"
},
"Mining Village": {
"name": "Dulní Osada"
},
"Minion": {
"name": "Služebník"
},
"Nobles": {
"name": "Šlechtici"
},
"Pawn": {
"name": "Pešák"
},
"Shanty Town": {
"name": "Chudinská Ctvrt"
},
"Steward": {
"name": "Správce"
},
"Swindler": {
"name": "Podvodník"
},
"Torturer": {
"name": "Žalárník"
},
"Trading Post": {
"name": "Obchodní Místo"
},
"Upgrade": {
"name": "Pokrok"
},
"Wishing Well": {
"name": "Studna Prání"
},
"Courtier": {},
"Diplomat": {},
"Lurker": {},
"Mill": {},
"Patrol": {},
"Replace": {},
"Secret Passage": {},
"Bad Omens": {},
"Bard": {},
"Bat": {},
"Blessed Village": {},
"Cemetery": {},
"Changeling": {},
"Cobbler": {},
"Conclave": {},
"Crypt": {},
"Cursed Gold": {},
"Cursed Village": {},
"Delusion": {},
"Den of Sin": {},
"Devil's Workshop": {},
"Druid": {},
"Envious - Deluded": {},
"Envy": {},
"Exorcist": {},
"Faithful Hound": {},
"Famine": {},
"Fear": {},
"Fool": {},
"Ghost": {},
"Ghost Town": {},
"Goat": {},
"Greed": {},
"Guardian": {},
"Haunted Mirror": {},
"Haunting": {},
"Idol": {},
"Imp": {},
"Leprechaun": {},
"Locusts": {},
"Lost in the Woods": {},
"Lucky Coin": {},
"Magic Lamp": {},
"Miserable - Twice Miserable": {},
"Misery": {},
"Monastery": {},
"Necromancer": {},
"Night Watchman": {},
"Pasture": {},
"Pixie": {},
"Plague": {},
"Pooka": {},
"Pouch": {},
"Poverty": {},
"Raider": {},
"Sacred Grove": {},
"Secret Cave": {},
"Shepherd": {},
"Skulk": {},
"The Earth's Gift": {},
"The Field's Gift": {},
"The Flame's Gift": {},
"The Forest's Gift": {},
"The Moon's Gift": {},
"The Mountain's Gift": {},
"The River's Gift.": {},
"The Sea's Gift": {},
"The Sky's Gift": {},
"The Sun's Gift": {},
"The Swamp's Gift": {},
"The Wind's Gift": {},
"Tormentor": {},
"Tracker": {},
"Tragic Hero": {},
"Vampire": {},
"War": {},
"Werewolf": {},
"Will-O'-Wisp": {},
"Wish": {},
"Zombie Apprentice": {},
"Zombie Mason": {},
"Zombie Spy": {},
"Avanto": {},
"Black Market": {},
"Captain": {},
"Church": {},
"Dismantle": {},
"Envoy": {},
"Governor": {},
"Prince": {},
"Sauna": {},
"Stash": {},
"Summon": {},
"Walled Village": {},
"Bank": {
"name": "Banka"
},
"Bishop": {
"name": "Biskup"
},
"City": {
"name": "Mesto"
},
"Contraband": {
"name": "Kontraband"
},
"Counting House": {
"name": "Zastavárna"
},
"Expand": {
"name": "Rust"
},
"Forge": {
"name": "Kování"
},
"Goons": {
"name": "Hrdlorez"
},
"Grand Market": {
"name": "Velký Trh"
},
"Hoard": {
"name": "Bohatství"
},
"King's Court": {
"name": "Královský Dvur"
},
"Loan": {
"name": "Pujcka"
},
"Mint": {
"name": "Mincovna"
},
"Monument": {
"name": "Památník"
},
"Mountebank": {
"name": "Mastickár"
},
"Peddler": {
"name": "Podomní Obchodník"
},
"Quarry": {
"name": "Kamenolom"
},
"Rabble": {
"name": "Dav"
},
"Royal Seal": {
"name": "Královská pecet"
},
"Talisman": {
"name": "Talisman"
},
"Trade Route": {
"name": "Obchodní Stezka"
},
"Vault": {
"name": "Trezor"
},
"Venture": {
"name": "Odvážlivec"
},
"Watchtower": {
"name": "Strážní Vež"
},
"Worker's Village": {
"name": "Delnická Ctvrt"
},
"Academy": {},
"Acting Troupe": {},
"Barracks": {},
"Border Guard": {},
"Canal": {},
"Capitalism": {},
"Cargo Ship": {},
"Cathedral": {},
"Citadel": {},
"City Gate": {},
"Crop Rotation": {},
"Ducat": {},
"Experiment": {},
"Exploration": {},
"Fair": {},
"Flag": {},
"Flag Bearer": {},
"Fleet": {},
"Guildhall": {},
"Hideout": {},
"Horn": {},
"Improve": {},
"Innovation": {},
"Inventor": {},
"Key": {},
"Lackeys": {},
"Lantern": {},
"Mountain Village": {},
"Old Witch": {},
"Pageant": {},
"Patron": {},
"Piazza": {},
"Priest": {},
"Recruiter": {},
"Research": {},
"Road Network": {},
"Scepter": {},
"Scholar": {},
"Sculptor": {},
"Seer": {},
"Sewers": {},
"Silk Merchant": {},
"Silos": {},
"Sinister Plot": {},
"Spices": {},
"Star Chart": {},
"Swashbuckler": {},
"Treasure Chest": {},
"Treasurer": {},
"Villain": {},
"Ambassador": {},
"Bazaar": {},
"Caravan": {},
"Cutpurse": {},
"Embargo": {},
"Explorer": {},
"Fishing Village": {},
"Ghost Ship": {},
"Haven": {},
"Island": {},
"Lighthouse": {},
"Lookout": {},
"Merchant Ship": {},
"Native Village": {},
"Navigator": {},
"Outpost": {},
"Pearl Diver": {},
"Pirate Ship": {},
"Salvager": {},
"Sea Hag": {},
"Smugglers": {},
"Tactician": {},
"Treasure Map": {},
"Treasury": {},
"Warehouse": {},
"Wharf": {},
"Border Guard - LanternHorn": {},
"Catapult - Rocks": {},
"Cemetery - Haunted Mirror": {},
"Encampment - Plunder": {},
"Flag Bearer - Flag": {},
"Fool - Lucky Coin": {},
"Gladiator - Fortune": {},
"Hermit - Madman": {},
"Necromancer - Zombies": {},
"Page -> Champion": {},
"Patrician - Emporium": {},
"Peasant -> Teacher": {},
"Pixie - Goat": {},
"Pooka - Cursed Gold": {},
"Sauna - Avanto": {},
"Secret Cave - Magic Lamp": {},
"Settlers - Bustling Village": {},
"Shelters": {},
"Shepherd - Pasture": {},
"Swashbuckler - Treasure Chest": {},
"Tournament and Prizes": {},
"Tracker - Pouch": {},
"Treasurer - Key": {},
"Urchin - Mercenary": {},
"Vampire - Bat": {},
"adventures events": {},
"empires events": {},
"empires landmarks": {},
"nocturne boons": {},
"nocturne hexes": {},
"nocturne states": {},
"promo events": {},
"renaissance projects": {},
"events": {},
"landmarks": {}
}

139
card_db_src/cz/sets_cz.json Normal file
View File

@ -0,0 +1,139 @@
{
"adventures": {
"set_name": "Adventures",
"set_text": "Life is either a daring adventure or nothing. You're not sure which, but at least you've narrowed it down. You are rich with life experiences, but have had trouble trading them for goods and services. It's time to seek your fortune, or anyone's really, whoever's is closest. To the west there's a land of milk and honey, full of giant bees and monstrous cows. To the east, a land of eggs and licorice. To the north, treacherous swamps; to the south, loyal jungles. But all of them have been thoroughly pillaged. You've heard legends though of a fifth direction, as yet unspoiled, with its treasures conveniently gathered into troves. You have your sword and your trail mix, handed down from your father, and his father before him. You've recruited some recruits and hired some hirelings; you've shined your armor and distressed a damsel. You put up a sign saying \"Gone Adventuring.\" Then you put up another sign, saying \"Beware of Dog,\" in case people get any ideas. You're ready. You saddle up your trusty steed, and head florst.\nThis is the 9th addition to the game of <i>Dominion</i>. It has 400 cards, 6 mats, and 60 tokens. There are 30 new Kingdom cards, including the return of Duration cards that do things on future turns, plus Reserve cards that can be saved for the right moment. There are also 20 Event cards that give you something to buy besides cards, including tokens that modify cards.",
"text_icon": "Ad"
},
"adventures extras": {
"set_name": "Adventures Extras",
"set_text": "",
"text_icon": "Ad"
},
"alchemy": {
"set_name": "Alchemy",
"set_text": "There are strange things going on in your basement laboratories. They keep calling up for more barrels of quicksilver, or bits of your hair. Well it's all in the name of progress. They're looking for a way to turn lead into gold, or at least into something better than lead. That lead had just been too good of a bargain to pass up; you didn't think, where will I put all this lead, what am I going to do with this lead anyway. Well that will all be sorted out. They're also looking for a universal solvent. If they manage that one, you will take whatever they use to hold it in and build a castle out of it. A castle that can't be dissolved! Now that's progress.\nThis is the 3rd addition to <i>Dominion</i>.",
"text_icon": "A"
},
"animals": {
"set_name": "Animals",
"set_text": "<i>Dominion: Animals</i> is a fan created expansion for the card game <i>Dominion</i>. It contains three new kingdom cards: \"Rabbits\", \"Yard dog\", and \"Gray Mustang\".\nSee https://boardgamegeek.com/boardgameexpansion/203184/animals-expansion-mini-fan-expansion-dominion.",
"text_icon": "An"
},
"base": {
"set_name": "Base",
"set_text": "This is all the basic Victory, Treasure, and Curse cards from the <i>Dominion</i> games and its expansions. It does not include any Victory or Treasure cards that are Kingdom cards.",
"text_icon": "B"
},
"cornucopia": {
"set_name": "Cornucopia",
"set_text": "Autumn. It seemed like the summer would never end, but that fortune teller was right. It's over. Autumn, the time of the harvest. Agriculture has advanced significantly in recent years, ever since the discovery of the maxim, \"leaves of three, let it be.\" Autumn, a time of celebration. The peasants have spent a hard week scything hay in the fields, but tonight the festivities begin, starting with a sumptuous banquet of roast hay. Then, the annual nose-stealing competition. Then you have two jesters, one who always lies, one who always tells the truth, both hilariously. This celebration will truly have something for everyone.\nThis is the 5th addition to the game of <i>Dominion</i>. It adds 13 new Kingdom cards to <i>Dominion</i>, plus 5 unique cards. The central theme is variety; there are cards that reward you for having a variety of cards in your deck, in your hand, and in play, as well cards that help you get that variety.",
"text_icon": "C"
},
"cornucopia extras": {
"set_name": "Cornucopia Extras",
"set_text": "",
"text_icon": "C"
},
"dark ages": {
"set_name": "Dark Ages",
"set_text": "Times have been hard. To save on money, you've moved out of your old castle, and into a luxurious ravine. You didn't like that castle anyway; it was always getting looted, and never at a reasonable hour. And if it wasn't barbarians it was the plague, or sometimes both would come at once, and there wouldn't be enough chairs. The ravine is great; you get lots of sun, and you can just drop garbage wherever you want. In your free time you've taken up begging. Begging is brilliant conceptually, but tricky in practice, since no-one has any money. You beg twigs from the villagers, and they beg them back, but no-one really seems to come out ahead. That's just how life is sometimes. You're quietly conquering people, minding your own business, when suddenly there's a plague, or barbarians, or everyone's illiterate, and it's all you can do to cling to some wreckage as the storm passes through. Still, you are sure that, as always, you will triumph over this adversity, or at least do slightly better than everyone else.\nThis is the 7th addition to the game of <i>Dominion</i>. It adds 35 new Kingdom cards to <i>Dominion</i>, plus new bad cards you give to other players (Ruins), new cards to replace starting Estates (Shelters), and cards you can only get via specific other cards. The central themes are the trash and upgrading. There are cards that do something when trashed, cards that care about the trash, cards that upgrade themselves, and ways to upgrade other cards.",
"text_icon": "DA"
},
"dark ages extras": {
"set_name": "Dark Ages Extras",
"set_text": "",
"text_icon": "DA"
},
"dominion1stEdition": {
"set_name": "Dominion 1st Edition",
"set_text": "You are a monarch, like your parents before you, a ruler of a small pleasant kingdom of rivers and evergreens. Unlike your parents, however, you have hopes and dreams! You want a bigger and more pleasant kingdom, with more rivers and a wider variety of trees. You want a Dominion! In all directions lie fiefs, freeholds, and feodums. All are small bits of land, controlled by petty lords and verging on anarchy. You will bring civilization to these people, uniting them under your banner.\nBut wait! It must be something in the air; several other monarchs have had the exact same idea. You must race to get as much of the unclaimed land as possible, fending them off along the way. To do this you will hire minions, construct buildings, spruce up your castle, and fill the coffers of your treasury. Your parents wouldn't be proud, but your grandparents, on your mother's side, would be delighted.",
"short_name": "Dominion",
"text_icon": "D1"
},
"dominion2ndEdition": {
"set_name": "Dominion 2nd Edition",
"set_text": "You are a monarch, like your parents before you, a ruler of a small pleasant kingdom of rivers and evergreens. Unlike your parents, however, you have hopes and dreams! You want a bigger and more pleasant kingdom, with more rivers and a wider variety of trees. You want a Dominion! In all directions lie fiefs, freeholds, and feodums. All are small bits of land, controlled by petty lords and verging on anarchy. You will bring civilization to these people, uniting them under your banner.\nBut wait! It must be something in the air; several other monarchs have had the exact same idea. You must race to get as much of the unclaimed land as possible, fending them off along the way. To do this you will hire minions, construct buildings, spruce up your castle, and fill the coffers of your treasury. Your parents wouldn't be proud, but your grandparents, on your mother's side, would be delighted.",
"short_name": "Dominion",
"text_icon": "D2"
},
"dominion2ndEditionUpgrade": {
"set_name": "Dominion 2nd Edition Upgrade",
"set_text": "This contains the seven new kingdom cards introduced in the second edition of <i>Dominion</i>, thereby allowing owners of the first edition to obtain these new cards without needing to repurchase the entire game.",
"short_name": "Dominion",
"text_icon": "D2"
},
"empires": {
"set_name": "Empires",
"set_text": "The world is big and your kingdom gigantic. It's no longer a kingdom really; it's an empire — which makes you the emperor. This entitles you to a better chair, plus you can name a salad after yourself.\nIt's not easy being emperor. The day starts early, when you light the sacred flame; then it's hours of committee meetings, trying to establish exactly why the sacred flame keeps going out. Sometimes your armies take over a continent and you just have no idea where to put it. And there's the risk of assassination; you have a food taster, who tastes anything before you eat it, and a dagger tester, who gets stabbed by anything before it stabs you. You've taken to staying at home whenever it's the Ides of anything. Still, overall it's a great job. You wouldn't trade it for the world — especially given how much of the world you already have.\n<i>Dominion: Empires</i>, the tenth addition to the game of <i>Dominion</i>, contains 96 metal tokens and 300 cards, with cards you can buy now and pay for later, piles with two different cards, and Landmarks that add new ways to score. VP tokens and Events return from previous sets.",
"text_icon": "E"
},
"empires extras": {
"set_name": "Empires Extras",
"set_text": "",
"text_icon": "E"
},
"extras": {
"set_name": "Extras",
"set_text": "",
"text_icon": "X"
},
"guilds": {
"set_name": "Guilds",
"set_text": "Jobs, everyones worried about jobs. Whatever happened to tilling the fields in obscurity? The economy is just a trick, like stealing someone's nose, but lately people seem to have seen through it, like when you realize someone hasnt really stolen your nose. So now everyones joining a guild, learning a craft, and working on a masterpiece - a painting so beautiful it blinds you, or a cheese grater so amazing that you never eat cheese again. The only people left tilling the fields are the ones doing it ironically. The guilds cover everything - ironic tilling, butchering, baking, candlestick making, shoemaking, cheesemaking, cheese destruction. Your advisor is convinced that somehow, control of the stonecutters is key to world domination. Very well. You will have stone handled so expertly that the world trembles before you.\nThis is the 8th addition to the game of <i>Dominion</i>. It adds 13 new Kingdom cards to <i>Dominion</i>. It has coin tokens that you can save to spend later, and cards you can get more out of by paying extra for them.",
"text_icon": "G"
},
"hinterlands": {
"set_name": "Hinterlands",
"set_text": "The world is big and your kingdom small. Small when compared to the world, that is; its moderate-sized when compared to other kingdoms. But in a big world like this one - big when compared to smaller worlds anyway, if such things exist; its moderate-sized when compared to worlds of roughly the same size, and a little small when compared to worlds just a little larger - well, to make a long story short - short when compared to longer stories anyway - it is time to stretch your borders. Youve heard of far-off places - exotic countries, where they have pancakes but not waffles, where the people wear the wrong number of shirts, and dont even have a word for the look two people give each other when they each hope that the other will do something that they both want done but which neither of them wants to do. It is to these lands that you now turn your gaze.\nThis is the 6th addition to the game of <i>Dominion</i>. It adds 26 new Kingdom cards to <i>Dominion</i>, including 20 Actions, 3 Treasures, 3 Victory cards, and 3 Reactions. The central theme is cards that do something immediately when you buy them or gain them.",
"text_icon": "H"
},
"intrigue1stEdition": {
"set_name": "Intrigue 1st Edition",
"set_text": "Something's afoot. The steward smiles at you like he has a secret, or like he thinks you have a secret, or like you think he thinks you have a secret. There are secret plots brewing, you're sure of it. At the very least, there are yours. A passing servant murmurs, \"The eggs are on the plate.\" You frantically search your codebook for the translation before realizing he means that breakfast is ready. Excellent. Everything is going according to plan.\n<i>Dominion: Intrigue</i> adds rules for playing with up to 8 players at two tables or for playing a single game with up to 6 players when combined with <i>Dominion</i>. This game adds 25 new Kingdom cards and a complete set of Treasure and Victory cards. The game can be played alone by players experienced in <i>Dominion</i> or with the basic game of <i>Dominion</i>.",
"short_name": "Intrigue",
"text_icon": "I1"
},
"intrigue2ndEdition": {
"set_name": "Intrigue 2nd Edition",
"set_text": "Something's afoot. The steward smiles at you like he has a secret, or like he thinks you have a secret, or like you think he thinks you have a secret. There are secret plots brewing, you're sure of it. At the very least, there are yours. A passing servant murmurs, \"The eggs are on the plate.\" You frantically search your codebook for the translation before realizing he means that breakfast is ready. Excellent. Everything is going according to plan.\n<i>Dominion: Intrigue (Second Edition)</i>, an expansion for <i>Dominion</i> or <i>Dominion (Second Edition)</i>, contains 26 Kingdom card types that can be used with the base game, while also adding rules for playing with up to eight players at two tables or for playing a single game with up to six players.\n<i>Dominion: Intrigue (Second Edition)</i> replaces six Kingdom card types from the first edition with six new types of Kingdom cards, while also replacing the blank cards in that item with a seventh new Kingdom card; these new cards are also available on their own in the <i>Dominion: Intrigue Update Pack</i>. In addition, the rulebook has been rewritten, one card has had a mild functional change (Masquerade skips players with no cards in hand), and other cards have received updated wording while remaining functionally the same.",
"short_name": "Intrigue",
"text_icon": "I2"
},
"intrigue2ndEditionUpgrade": {
"set_name": "Intrigue 2nd Edition Upgrade",
"set_text": "This contains the seven new kingdom cards introduced in the second edition of <i>Dominion: Intrigue</i>, thereby allowing owners of the first edition to obtain these new cards without needing to repurchase the entire game.",
"short_name": "Intrigue",
"text_icon": "I2"
},
"nocturne": {
"set_name": "Nocturne",
"set_text": "You've always been a night person; lately you've even considered becoming a vampire. There are a lot of advantages: you don't age; you don't have to see yourself in mirrors anymore; if someone asks you to do something, you can just turn into a bat, and then say, sorry, I'm a bat. There are probably some downsides though. You always think of the statue in the town square that came to life and now works as the tavern barmaid. The pedestal came to life too, so she has to hop around. The village blacksmith turns into a wolf whenever there's a full moon; when there's a crescent moon, he turns into a chihuahua. That's how this stuff goes sometimes. Still, when you breathe in the night air, you feel ready for anything.\n<i>Dominion: Nocturne</i>, the 11th expansion to <i>Dominion</i>, has 500 cards, with 33 new Kingdom cards. There are Night cards, which are played after the Buy phase; Heirlooms that replace starting Coppers; Fate and Doom cards that give out Boons and Hexes; and a variety of extra cards that other cards can provide.",
"short_name": "Nocturne",
"text_icon": "N"
},
"nocturne extras": {
"set_name": "Nocturne Extras",
"set_text": "",
"text_icon": "N"
},
"promo": {
"set_name": "Promo",
"set_text": "Promotional cards are official <i>Dominion</i> kingdom cards and Events which do not belong to any particular set. They are typically either released to help promote <i>Dominion</i> at conventions (such as Origins or GenCon), or to commemorate the anniversary of another game in order to help promote both.",
"text_icon": "Po"
},
"prosperity": {
"set_name": "Prosperity",
"set_text": "Ah, money. There's nothing like the sound of coins clinking in your hands. You vastly prefer it to the sound of coins clinking in someone else's hands, or the sound of coins just sitting there in a pile that no-one can quite reach without getting up. Getting up, that's all behind you now. Life has been good to you. Just ten years ago, you were tilling your own fields in a simple straw hat. Today, your kingdom stretches from sea to sea, and your straw hat is the largest the world has ever known. You also have the world's smallest dog, and a life-size statue of yourself made out of baklava. Sure, money can't buy happiness, but it can buy envy, anger, and also this kind of blank feeling. You still have problems - troublesome neighbors that must be conquered. But this time, you'll conquer them in style.\nThis is the 4th addition to the game of <i>Dominion</i>. It adds 25 new Kingdom cards to <i>Dominion</i>, plus 2 new Basic cards that let players keep building up past Gold and Province. The central theme is wealth; there are treasures with abilities, cards that interact with treasures, and powerful expensive cards.",
"text_icon": "Py"
},
"renaissance": {
"set_name": "Renaissance",
"set_text": "It's a momentous time. Art has been revolutionized by the invention of \"perspective,\" and also of \"funding.\" A picture used to be worth a dozen or so words; these new ones are more like a hundred. Oil paintings have gotten so realistic that you've hired an artist to do a portrait of you each morning, so you can make sure your hair is good. Busts have gotten better too; no more stopping at the shoulders, they go all the way to the ground. Science and medicine have advanced; there's no more superstition, now they know the perfect number of leeches to apply for each ailment. You have a clock accurate to within an hour, and a calendar accurate to within a week. Your physician heals himself, and your barber cuts his own hair. This is truly a golden age.\nThis is the 12th expansion to <i>Dominion</i>. It has 300 cards, with 25 new Kingdom cards. There are tokens that let you save coins and actions for later, Projects that grant abilities, and Artifacts to fight over.",
"text_icon": "R"
},
"seaside": {
"set_name": "Seaside",
"set_text": "All you ask is a tall ship and a star to steer her by. And someone who knows how to steer ships using stars. You finally got some of those rivers you'd wanted, and they led to the sea. These are dangerous, pirate-infested waters, and you cautiously send rat-infested ships across them, to establish lucrative trade at far-off merchant-infested ports. First, you will take over some islands, as a foothold. The natives seem friendly enough, crying their peace cries, and giving you spears and poison darts before you are even close enough to accept them properly. When you finally reach those ports you will conquer them, and from there you will look for more rivers. One day, all the rivers will be yours.\nThis is the 2nd addition to <i>Dominion</i>. It adds 26 new Kingdom cards to <i>Dominion</i>. Its central theme is your next turn; there are cards that do something this turn and next, cards that set up your next turn, and other ways to step outside of the bounds of a normal turn.",
"text_icon": "S"
}
}

View File

@ -0,0 +1,38 @@
{
"Action": "Action",
"Artifact": "Artifact",
"Attack": "Attack",
"Blank": "Blank",
"Boon": "Boon",
"Castle": "Castle",
"Curse": "Curse",
"Doom": "Doom",
"Duration": "Duration",
"Event": "Event",
"Events": "Events",
"Expansion": "Expansion",
"Fate": "Fate",
"Gathering": "Gathering",
"Heirloom": "Heirloom",
"Hex": "Hex",
"Landmark": "Landmark",
"Landmarks": "Landmarks",
"Looter": "Looter",
"Night": "Night",
"Prize": "Prize",
"Prizes": "Prizes",
"Project": "Project",
"Reaction": "Reaction",
"Reserve": "Reserve",
"Ruins": "Ruins",
"Shelter": "Shelter",
"Shelters": "Shelters",
"Spirit": "Spirit",
"Start Deck": "Start Deck",
"State": "State",
"Trash": "Trash",
"Traveller": "Traveller",
"Treasure": "Treasure",
"Victory": "Victory",
"Zombie": "Zombie"
}

View File

@ -0,0 +1,19 @@
{
"exclude": [
"Token",
"Tokens",
"Marker"
],
"include": [
"Coins",
"Coin",
"Karten",
"Karte",
"Käufe",
"Kauf",
"Aktionen",
"Aktion",
"Punkt",
"Punkte"
]
}

2689
card_db_src/de/cards_de.json Normal file

File diff suppressed because it is too large Load Diff

139
card_db_src/de/sets_de.json Normal file
View File

@ -0,0 +1,139 @@
{
"adventures": {
"set_name": "Abenteuer",
"set_text": "Entweder ist dein Leben ein aufregendes Abenteuer oder auch nicht! Entweder hast du das Zeug zum Champion oder eben nicht! Auch wenn du dir noch nicht ganz sicher bist, wie du es mit deinem eigenen Leben hältst oder ob du etwas daran verändern willst … jetzt ist die richtige Zeit gekommen, endlich eine Entscheidung zu treffen. Wolltest du nicht immer schon einmal ferne Lande bereisen und verlorene Städte entdecken, auf Schatzsuche gehen, spannende Expeditionen leiten oder den Seeweg in entfernte Hafenstädte suchen? Dein Vater wäre stolz auf dich, dass du dich endlich deiner ganz persönlichen Herausforderung stellst. Habe keine Furcht vor den Wagnissen des Lebens ob Sumpfhexe oder Brückentroll, Geisterwälder oder diebische Elstern... dein Leben ist dazu bestimmt, ein Abenteuer zu sein. Vertraue deinem Instinkt und du wirst als Held in die Heimat zurückkehren.<n>Abenteuer ist eine DOMINION-Erweiterung und kann nur zusammen mit einem Basisspiel oder den Basiskarten gespielt werden. Sie enthält 304 Königreichkarten, 40 Eintausch-Karten, 20 Ereignisse, 30 Platzhalterkarten (blaue Rückseite) und 6 Leerkarten.Außerdem enthält sie 48 runde Marker, 12 rechteckige Marker und 6 Wirtshaustableaus.",
"text_icon": "Ab"
},
"adventures extras": {
"set_name": "Adventures Extras",
"set_text": "",
"text_icon": "Ad"
},
"alchemy": {
"set_name": "Die Alchemisten",
"set_text": "Wissen ist Macht! Doch seit du deine Kellergewölbe und Laboratorien für geheime Forschungen der Universität hergegeben hast, gehen dort unten seltsame Dinge vor selbstverständlich alles im Namen der Wissenschaft. Wenn sie doch nur endlich den Stein der Weisen finden und Blei in Gold verwandeln würden dann wäre das alles zumindest sinnvoll. Wofür allerdings die vielen Fässer Quecksilber benötigt werden oder warum dir der Lehrling schon wieder einige Haare entwendet hat... das würdest du so langsam wirklich gerne wissen. Vertraue auf dein Gefühl und die Vision, die du letzte Nacht hattest die Wissenschaft wird dir den Weg in das goldene Zeitalter zeigen. Der Triumph am Ende ist dir so gut wie sicher sagt zumindest der Alchemist.\nDies ist die dritte Erweiterung von <i>Dominion</i>.",
"text_icon": "Al"
},
"animals": {
"set_name": "Animals",
"set_text": "<i>Dominion: Animals</i> is a fan created expansion for the card game <i>Dominion</i>. It contains three new kingdom cards: \"Karnickel\", \"Hofhund\", and \"Edler Schimmel\".\nSee https://boardgamegeek.com/boardgameexpansion/203184/animals-expansion-mini-fan-expansion-dominion.",
"text_icon": "An"
},
"base": {
"set_name": "Base",
"set_text": "This is all the basic Victory, Treasure, and Curse cards from the <i>Dominion</i> games and its expansions. It does not include any Victory or Treasure cards that are Kingdom cards.",
"text_icon": "B"
},
"cornucopia": {
"set_name": "Reiche Ernte",
"set_text": "Der Herbst! Es sah aus, als wollte der Sommer niemals enden. Doch die Wahrsagerin hatte Recht behalten, der Sommer ist wirklich vorbei. Herbst, die Zeit der Ernte: Die landwirtschaft hat bedeutende Fortschritte gemacht, seit man entdeckt hat, dass die Knolle viel verträglicher ist, als das Grün der Kartoffeln. Herbst, die Zeit der feste: Die Bauern hatten viel zu tun, das Heu einzuholen. Aber heute wird gefeiert; mit gebratenem Heu in wohlschmeckenden Variationen und dem alljährlichen Wettbewerb im Luft-Leier-Spielen. Dann sind da noch die beiden Narren, von denen einer immer die Wahrheit sagt und einer immer lügt. ... Sehr unterhaltsam. Hier ist wirklich für jeden etwas dabei!\nDies ist die vierte Erweiterung von <i>Dominion</i>. Sie enthält 13 neue Königreichkarten, plus 5 Preiskarten. Das zentrale Thema ist Abwechslung; es gibt Karten, die Dich dafür belohnen, eine Vielzahl von Karten in Deinem Deck zu habenThe central theme is variety; there are cards that reward you for having a variety of cards in your deck, in your hand, and in play, as well cards that help you get that variety.",
"text_icon": "RE"
},
"cornucopia extras": {
"set_name": "Cornucopia Extras",
"set_text": "",
"text_icon": "C"
},
"dark ages": {
"set_name": "Dark Ages",
"set_text": "Die Zeiten waren hart. Um Geld zu sparen bist du aus deiner Burg in eine recht gemütliche Schlucht gezogen. Die alte Burg war ohnehin nicht mehr das, was sie mal war. Ständig wurde sie geplündert und das auch noch zu unmöglichsten Uhrzeiten. Wenn nicht gerade Barbaren einfielen, dann kam die Pest und ma nchmal sogar beide gleichzeitig. Die Schlucht ist großartig, es ist immer g ut gelüftet und du kannst deinen Müll hinwerfen, wo du willst. Du hast hobbymäßig mit dem Betteln angefangen. Betteln ist eigentlich brilliant, in der Praxis aber etwas tückisch, weil niemand Geld hat. Du bettelst bei den Do rfbewohnern, die Dorfbewohner betteln zurück, aber niemand scheint so richtig vorwärts zu kommen. So ist das Leben wohl. Im Moment bleibt dir nichts anderes übrig, als dich an den dich umgebenden Trümmern festzuhalten, bis der Sturm vorüber ist. Am Ende wirst du wie immer siegreich bleiben, oder zumindest ein kleines bisschen besser als die anderen.\nDies ist die siebte Erweiterung des Spiels <i>Dominion</i>. Sie enthält 35 neue Königreichkarten, plus neue schlechte Karten, die man anderen Spielern gibt (Ruinen), neue Karten, die die Anwesen am Start ersetzen (Unterschlupfkarten), und Karten, die man nur durch bestimmte andere Karten erhalten kann. Das zentrale Thema sind Müller und Verbesserung. Es gibt Karten, die etwas bewirken, wenn man sie entsorgt, Karten, die sich selbt aufwerten und Wege, andere Karten aufzuwerten.",
"text_icon": "DA"
},
"dark ages extras": {
"set_name": "Dark Ages Extras",
"set_text": "",
"text_icon": "DA"
},
"dominion1stEdition": {
"set_name": "Dominion 1. Ausgabe",
"set_text": "Ein wenig Geld, kleine Ländereien, mehr hast du zu Beginn des Spiels nicht. Doch die Welt steht dir offen, denn du kannst dir ein Reich aufbauen, indem du Dörfer baust, einen Markt oder einen Thronsaal errichtest. Schließlich willst du dein Reich vergrößern, und zwar schneller als deine Mitspieler. Dazu baust du dir dein Kartendeck auf, um die Mitspieler zu übertrumpfen und eher zum Ziel zu kommen. Das raffinierte und innovative Spielsystem sorgt mit jeder Partie immer wieder für neue Spannung. Dominion eine Welt voller packender Abenteuer.",
"short_name": "Dominion",
"text_icon": "D1"
},
"dominion2ndEdition": {
"set_name": "Dominion 2. Ausgabe",
"set_text": "You are a monarch, like your parents before you, a ruler of a small pleasant kingdom of rivers and evergreens. Unlike your parents, however, you have hopes and dreams! You want a bigger and more pleasant kingdom, with more rivers and a wider variety of trees. You want a Dominion! In all directions lie fiefs, freeholds, and feodums. All are small bits of land, controlled by petty lords and verging on anarchy. You will bring civilization to these people, uniting them under your banner.\nBut wait! It must be something in the air; several other monarchs have had the exact same idea. You must race to get as much of the unclaimed land as possible, fending them off along the way. To do this you will hire minions, construct buildings, spruce up your castle, and fill the coffers of your treasury. Your parents wouldn't be proud, but your grandparents, on your mother's side, would be delighted.",
"short_name": "Dominion",
"text_icon": "D2"
},
"dominion2ndEditionUpgrade": {
"set_name": "Dominion 2. Ausgabe Aktualisierung",
"set_text": "This contains the seven new kingdom cards introduced in the second edition of <i>Dominion</i>, thereby allowing owners of the first edition to obtain these new cards without needing to repurchase the entire game.",
"short_name": "Dominion",
"text_icon": "D2"
},
"empires": {
"set_name": "Empires",
"set_text": "Ist diese Welt nicht schön? Auf jeden Fall ist sie ziemlich groß und dein Königreich absolut gigantisch. Eigentlich ist es schon gar kein Königreich mehr, sondern ein Imperium. Was dich ja dann zum Imperator macht. Und was wäre dieser Titel ohne ein gewaltiges Vermögen, prunkvolle Wagenrennen zu deinen Ehren oder ein echtes Königsschloss, in das du bald einziehen kannst? Immerhin ist die Villa, in der du jetzt noch wohnst, schon in die Jahre gekommen und eine neue Gärtnerin wäre mittlerweile auch nicht schlecht. Endlich kannst du den Lohn deiner harten Arbeit und den Opfern, die du auf den Schlachtfeldern dieser Welt bringen musstest, einsacken und dich von deinen Legionären und Siedlern so richtig feiern lassen. Ja, diese Welt ist schön, erst recht, wenn du sie dir unterworfen hast.\n<i>Dominion: Empires</i>, the tenth addition to the game of <i>Dominion</i>, contains 96 metal tokens and 300 cards, with cards you can buy now and pay for later, piles with two different cards, and Landmarks that add new ways to score. VP tokens and Events return from previous sets.",
"text_icon": "E"
},
"empires extras": {
"set_name": "Empires Extras",
"set_text": "",
"text_icon": "E"
},
"extras": {
"set_name": "Extras",
"set_text": "",
"text_icon": "Ex"
},
"guilds": {
"set_name": "Die Gilden",
"set_text": "Handwerk, alles in dieser Welt dreht sich plötzlich nur noch ums Handwerk … Bäcker und Wandergesellen, Ärzte und Steuereintreiber bevölkern jetzt dein Dominion und leisten ganze Arbeit, um dir bei der Verwirklichung deiner Träume zu helfen. Jeder denkt, das Geheimnis des Erfolgs läge allein in seiner Gilde. Ob aber das geheime Wissen der Steinmetze oder die mächtige Kaufmannsgilde wirklich der Schlüssel zum Erfolg ist, mag dir vielleicht dein Berater sagen. Doch welchen Weg du auch wählst, deine Zukunft sieht goldig aus das meint zumindest der Wahrsager. Dies ist die 8. Dominion-Erweiterung und beinhaltet 13 neue Königreichkarten sowie 25 Metall-Münzen, die über einen Zug hinaus aufbewahrt werden dürfen. Wer kann die Macht der Gilden richtig nutzen?",
"text_icon": "G"
},
"hinterlands": {
"set_name": "Hinterland",
"set_text": "Die Welt ist groß, dein Königreich ist klein... klein, wenn man es mit unserer Welt vergleicht. Im Vergleich mit anderen Königreichen ist es sicher ansehnlich, aber nicht in einer Welt, die so groß ist, wie diese groß zumindest im vergleich mit kleineren Welten (falls es die überhaupt gibt). Verglichen mit einer Welt die ungefähr gleich groß ist, wäre sie wohl durchschnittlich, gegenüber einer etwas größeren vielleicht ein Bisschen kleiner. Aber um die geschichte nicht unnötig in die Länge zu ziehen - zumindest nicht länger als eine kürzere geschichte Es ist Zeit, deine grenzen auszudehnen! Du hast von fernen Ländern gehört, exotischen Orten, wo es Pfannkuchen gibt, aber keine Waffeln, wo die Menschen eine andere Anzahl Kleidungsstücke tragen und wo sie nicht einmal ein Wort dafür haben, wenn sich zwei Menschen ansehen und hoffen, der andere macht was beide möchten, aber keiner von beiden tun will. Es ist alles ziemlich relativ dort.\nThis is the 6th addition to the game of <i>Dominion</i>. It adds 26 new Kingdom cards to <i>Dominion</i>, including 20 Actions, 3 Treasures, 3 Victory cards, and 3 Reactions. The central theme is cards that do something immediately when you buy them or gain them.",
"text_icon": "H"
},
"intrigue1stEdition": {
"set_name": "Intrige 1. Ausgabe",
"set_text": "Da ist etwas im Busch. Einer deiner Verwalter sieht aus, als hätte er ein Geheimnis ... oder als ob er denkt, du hast ein geheimnis. Auf jeden fall geht etwas vor sich, dessen bist du dir sicher. Du schmiedest einen geheimen Plan, zumindest das weißt du genau. Ein Diener murmelt im vorbei gehen „Es ist vollbracht.“ Hektisch durchsuchst du deine Aufzeichnungen, bevor du realisierst, was er damit meint: Das Frühstück ist fertig. Ausgezeichnet! Alles verläuft genau nach Plan. Dominion Die Intrige eine Welt voller packender Geheimnisse. Die Intrige kann eigenständig gespielt oder mit dem Basisspiel kombiniert werden. Auf jeden Fall bietet Dominion unzählige Variationen und abwechslungsreiches Spielvergnügen.",
"short_name": "Intrige",
"text_icon": "I1"
},
"intrigue2ndEdition": {
"set_name": "Intrige 2. Ausgabe",
"set_text": "Pssst … sieht dein Verwalter nicht so aus, als hätte er ein dunkles Geheimnis? Und dein neuer Kupferschmied dort drüben schaut sich verdächtig häufig um, bevor er ganz schnell hinter der schweren Holztür am Ende des Burghofs verschwindet...die Welt ist voller Machenschaften & Intrigen, dessen bist du dir sicher. Schließlich hast du selbst einen geheimen Plan, den du mit Hilfe deines Spähers und eines Handlangers in die Tat umsetzen willst. Aber auch die anderen Adligen sind nicht untätig und lassen sich nur ungern in die Karten schauen. Nutze geschickt das Können deiner fähigsten Mitstreiter und sabotiere die Vorhaben deiner Mitspieler dann verläuft alles genau nach Plan und du wirst am Ende des Spiels das mächtigste Dominion haben. Mit dieser Auflage erscheint Dominion-Die Intrige erstmals als Erweiterung, beinhaltet 25 neue Königreichkarten und kann mit allen anderen Dominion-Erweiterungen kombiniert werden. Wer kann die Machenschaften & Intrigen in der Dominion-Welt richtig nutzen?\n<i>Dominion: Intrigue (Second Edition)</i> replaces six Kingdom card types from the first edition with six new types of Kingdom cards, while also replacing the blank cards in that item with a seventh new Kingdom card; these new cards are also available on their own in the <i>Dominion: Intrigue Update Pack</i>. In addition, the rulebook has been rewritten, one card has had a mild functional change (Masquerade skips players with no cards in hand), and other cards have received updated wording while remaining functionally the same.",
"short_name": "Intrigue",
"text_icon": "I2"
},
"intrigue2ndEditionUpgrade": {
"set_name": "Intrige 2. Ausgabe Aktualisierung",
"set_text": "This contains the seven new kingdom cards introduced in the second edition of <i>Dominion: Intrigue</i>, thereby allowing owners of the first edition to obtain these new cards without needing to repurchase the entire game.",
"short_name": "Intrigue",
"text_icon": "I2"
},
"nocturne": {
"set_name": "Nocturne",
"set_text": "Schon immer bist du ein Nachtmensch gewesen. Letztens noch hast du es bedauert, kein Vampir geworden zu sein. Denn das hätte enorme Vorteile: Man altert nicht, man muss sich nicht mehr im Spiegel anschauen und wenn dich jemand um einen Gefallen bittet, kannst du dich einfach in eine Fledermaus verwandeln. Okay, so ein Dasein hat natürlich auch seine Schattenseiten man denke nur an die arme lebendig gewordene Statue unten in der Stadt … sie arbeitet jetzt als Barmädchen in der Taverne. Oder auch der Dorfschmied, der sich bei jedem Vollmond in einen Werwolf verwandelt...und bei Neumond in einen Chihuahua. Tja, so gehen die Dinge manchmal. Aber du bist und bleibst eben ein Nachtmensch wenn du die Nachtluft einatmest, fühlst du dich bereit für alles.\n<i>Dominion: Nocturne</i>, the 11th expansion to <i>Dominion</i>, has 500 cards, with 33 new Kingdom cards. There are Night cards, which are played after the Buy phase; Heirlooms that replace starting Coppers; Fate and Doom cards that give out Boons and Hexes; and a variety of extra cards that other cards can provide.",
"short_name": "Nocturne",
"text_icon": "N"
},
"nocturne extras": {
"set_name": "Nocturne Extras",
"set_text": "",
"text_icon": "N"
},
"promo": {
"set_name": "Promo",
"set_text": "Promotional cards are official <i>Dominion</i> kingdom cards and Events which do not belong to any particular set. They are typically either released to help promote <i>Dominion</i> at conventions (such as Origins or GenCon), or to commemorate the anniversary of another game in order to help promote both.",
"text_icon": "Pm"
},
"prosperity": {
"set_name": "Blütezeit",
"set_text": "Oh Platin! Nichts ist so schön wie Platin, außer Gold oder Silber und vielleicht auch noch Kupfer, aber Hauptsache Geld. Es fühlt sich so schön in deinen Händen an und so viel besser als in den Fingern von jemand anderem. Deine Finger musst du sowieso nicht mehr krumm machen, denn du hast deine Reichtümer schon gehortet und ein Teil liegt auf der Bank. Vielleicht ist da auch ein bisschen Schmuggelware mit dabei, aber das ist den Leuten in deiner Stadt egal. Schließlich haben sie dir ja ein riesiges Denkmal aus Honigwaben auf dem Marktplatz gebaut. Nimm dich nur vor dem neidischen Gesindel in Acht, aber die wickelst du auch noch um den Finger … und zwar mit Stil.\nThis is the 4th addition to the game of <i>Dominion</i>. It adds 25 new Kingdom cards to <i>Dominion</i>, plus 2 new Basic cards that let players keep building up past Gold and Province. The central theme is wealth; there are treasures with abilities, cards that interact with treasures, and powerful expensive cards.",
"text_icon": "Bl"
},
"renaissance": {
"set_name": "Renaissance",
"set_text": "It's a momentous time. Art has been revolutionized by the invention of \"perspective,\" and also of \"funding.\" A picture used to be worth a dozen or so words; these new ones are more like a hundred. Oil paintings have gotten so realistic that you've hired an artist to do a portrait of you each morning, so you can make sure your hair is good. Busts have gotten better too; no more stopping at the shoulders, they go all the way to the ground. Science and medicine have advanced; there's no more superstition, now they know the perfect number of leeches to apply for each ailment. You have a clock accurate to within an hour, and a calendar accurate to within a week. Your physician heals himself, and your barber cuts his own hair. This is truly a golden age.\nThis is the 12th expansion to <i>Dominion</i>. It has 300 cards, with 25 new Kingdom cards. There are tokens that let you save coins and actions for later, Projects that grant abilities, and Artifacts to fight over.",
"text_icon": "R"
},
"seaside": {
"set_name": "Seaside",
"set_text": "Gebt mir ein Schiff und einen Stern, der mich leitet … und jemanden der weiß, wie man sich von den Sternen leiten lässt. Endlich kannst du dich auf den Weg machen. Hinaus auf die hohe See, die von Piraten übersät ist, schickst du Schiffe, die von Ratten übersät sind, um fernab von Häfen, die von Händlern übersät sind, neue Handelsrouten aufzubauen. Zuerst wirst du Stützpunkte auf fernen Inseln errichten. Die Eingeborenen scheinen freundlich gesonnen, du kannst ihre Friedensrufe von Weitem hören und schon aus der Ferne werfen sie dir Speere und giftige Pfeile als Willkommensgeschenke zu. Eines Tages wird all das dir gehören.\nThis is the 2nd addition to <i>Dominion</i>. It adds 26 new Kingdom cards to <i>Dominion</i>. Its central theme is your next turn; there are cards that do something this turn and next, cards that set up your next turn, and other ways to step outside of the bounds of a normal turn.",
"text_icon": "S"
}
}

View File

@ -0,0 +1,38 @@
{
"Action": "Aktion",
"Artifact": "Artefakt",
"Attack": "Angriff",
"Blank": "Leerkarte",
"Boon": "Gabe",
"Castle": "Schloss",
"Curse": "Fluch",
"Doom": "Unheil",
"Duration": "Dauer",
"Event": "Ereignis",
"Events": "Ereignisse",
"Expansion": "Erweiterung",
"Fate": "Segen",
"Gathering": "Sammlung",
"Heirloom": "Erbstück",
"Hex": "Plage",
"Landmark": "Wahrzeichen",
"Landmarks": "Wahrzeichen",
"Looter": "Plündern",
"Night": "Nacht",
"Prize": "Preis",
"Prizes": "Preise",
"Project": "Projekt",
"Reaction": "Reaktion",
"Reserve": "Reserve",
"Ruins": "Ruine",
"Shelter": "Unterschlupf",
"Shelters": "Unterschlüpfe",
"Spirit": "Erscheinung",
"Start Deck": "Startkarten",
"State": "Zustand",
"Trash": "Müll",
"Traveller": "Reisender",
"Treasure": "Geld",
"Victory": "Punkt",
"Zombie": "Zombie"
}

View File

@ -0,0 +1,21 @@
{
"exclude": [
"token",
"Tokens"
],
"include": [
"Coins",
"Coin",
"Cards",
"Card",
"Buys",
"Buy",
"Actions",
"Action",
"Coffer",
"Coffers",
"Villager",
"Villagers",
"<VP>"
]
}

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,139 @@
{
"adventures": {
"set_name": "Adventures",
"set_text": "Life is either a daring adventure or nothing. You're not sure which, but at least you've narrowed it down. You are rich with life experiences, but have had trouble trading them for goods and services. It's time to seek your fortune, or anyone's really, whoever's is closest. To the west there's a land of milk and honey, full of giant bees and monstrous cows. To the east, a land of eggs and licorice. To the north, treacherous swamps; to the south, loyal jungles. But all of them have been thoroughly pillaged. You've heard legends though of a fifth direction, as yet unspoiled, with its treasures conveniently gathered into troves. You have your sword and your trail mix, handed down from your father, and his father before him. You've recruited some recruits and hired some hirelings; you've shined your armor and distressed a damsel. You put up a sign saying \"Gone Adventuring.\" Then you put up another sign, saying \"Beware of Dog,\" in case people get any ideas. You're ready. You saddle up your trusty steed, and head florst.\nThis is the 9th addition to the game of <i>Dominion</i>. It has 400 cards, 6 mats, and 60 tokens. There are 30 new Kingdom cards, including the return of Duration cards that do things on future turns, plus Reserve cards that can be saved for the right moment. There are also 20 Event cards that give you something to buy besides cards, including tokens that modify cards.",
"text_icon": "Ad"
},
"adventures extras": {
"set_name": "Adventures Extras",
"set_text": "",
"text_icon": "Ad"
},
"alchemy": {
"set_name": "Alchemy",
"set_text": "There are strange things going on in your basement laboratories. They keep calling up for more barrels of quicksilver, or bits of your hair. Well it's all in the name of progress. They're looking for a way to turn lead into gold, or at least into something better than lead. That lead had just been too good of a bargain to pass up; you didn't think, where will I put all this lead, what am I going to do with this lead anyway. Well that will all be sorted out. They're also looking for a universal solvent. If they manage that one, you will take whatever they use to hold it in and build a castle out of it. A castle that can't be dissolved! Now that's progress.\nThis is the 3rd addition to <i>Dominion</i>.",
"text_icon": "A"
},
"animals": {
"set_name": "Animals",
"set_text": "<i>Dominion: Animals</i> is a fan created expansion for the card game <i>Dominion</i>. It contains three new kingdom cards: \"Rabbits\", \"Yard dog\", and \"Gray Mustang\".\nSee https://boardgamegeek.com/boardgameexpansion/203184/animals-expansion-mini-fan-expansion-dominion.",
"text_icon": "An"
},
"base": {
"set_name": "Base",
"set_text": "This is all the basic Victory, Treasure, and Curse cards from the <i>Dominion</i> games and its expansions. It does not include any Victory or Treasure cards that are Kingdom cards.",
"text_icon": "B"
},
"cornucopia": {
"set_name": "Cornucopia",
"set_text": "Autumn. It seemed like the summer would never end, but that fortune teller was right. It's over. Autumn, the time of the harvest. Agriculture has advanced significantly in recent years, ever since the discovery of the maxim, \"leaves of three, let it be.\" Autumn, a time of celebration. The peasants have spent a hard week scything hay in the fields, but tonight the festivities begin, starting with a sumptuous banquet of roast hay. Then, the annual nose-stealing competition. Then you have two jesters, one who always lies, one who always tells the truth, both hilariously. This celebration will truly have something for everyone.\nThis is the 5th addition to the game of <i>Dominion</i>. It adds 13 new Kingdom cards to <i>Dominion</i>, plus 5 unique cards. The central theme is variety; there are cards that reward you for having a variety of cards in your deck, in your hand, and in play, as well cards that help you get that variety.",
"text_icon": "C"
},
"cornucopia extras": {
"set_name": "Cornucopia Extras",
"set_text": "",
"text_icon": "C"
},
"dark ages": {
"set_name": "Dark Ages",
"set_text": "Times have been hard. To save on money, you've moved out of your old castle, and into a luxurious ravine. You didn't like that castle anyway; it was always getting looted, and never at a reasonable hour. And if it wasn't barbarians it was the plague, or sometimes both would come at once, and there wouldn't be enough chairs. The ravine is great; you get lots of sun, and you can just drop garbage wherever you want. In your free time you've taken up begging. Begging is brilliant conceptually, but tricky in practice, since no-one has any money. You beg twigs from the villagers, and they beg them back, but no-one really seems to come out ahead. That's just how life is sometimes. You're quietly conquering people, minding your own business, when suddenly there's a plague, or barbarians, or everyone's illiterate, and it's all you can do to cling to some wreckage as the storm passes through. Still, you are sure that, as always, you will triumph over this adversity, or at least do slightly better than everyone else.\nThis is the 7th addition to the game of <i>Dominion</i>. It adds 35 new Kingdom cards to <i>Dominion</i>, plus new bad cards you give to other players (Ruins), new cards to replace starting Estates (Shelters), and cards you can only get via specific other cards. The central themes are the trash and upgrading. There are cards that do something when trashed, cards that care about the trash, cards that upgrade themselves, and ways to upgrade other cards.",
"text_icon": "DA"
},
"dark ages extras": {
"set_name": "Dark Ages Extras",
"set_text": "",
"text_icon": "DA"
},
"dominion1stEdition": {
"set_name": "Dominion 1st Edition",
"set_text": "You are a monarch, like your parents before you, a ruler of a small pleasant kingdom of rivers and evergreens. Unlike your parents, however, you have hopes and dreams! You want a bigger and more pleasant kingdom, with more rivers and a wider variety of trees. You want a Dominion! In all directions lie fiefs, freeholds, and feodums. All are small bits of land, controlled by petty lords and verging on anarchy. You will bring civilization to these people, uniting them under your banner.\nBut wait! It must be something in the air; several other monarchs have had the exact same idea. You must race to get as much of the unclaimed land as possible, fending them off along the way. To do this you will hire minions, construct buildings, spruce up your castle, and fill the coffers of your treasury. Your parents wouldn't be proud, but your grandparents, on your mother's side, would be delighted.",
"short_name": "Dominion",
"text_icon": "D1"
},
"dominion2ndEdition": {
"set_name": "Dominion 2nd Edition",
"set_text": "You are a monarch, like your parents before you, a ruler of a small pleasant kingdom of rivers and evergreens. Unlike your parents, however, you have hopes and dreams! You want a bigger and more pleasant kingdom, with more rivers and a wider variety of trees. You want a Dominion! In all directions lie fiefs, freeholds, and feodums. All are small bits of land, controlled by petty lords and verging on anarchy. You will bring civilization to these people, uniting them under your banner.\nBut wait! It must be something in the air; several other monarchs have had the exact same idea. You must race to get as much of the unclaimed land as possible, fending them off along the way. To do this you will hire minions, construct buildings, spruce up your castle, and fill the coffers of your treasury. Your parents wouldn't be proud, but your grandparents, on your mother's side, would be delighted.",
"short_name": "Dominion",
"text_icon": "D2"
},
"dominion2ndEditionUpgrade": {
"set_name": "Dominion 2nd Edition Upgrade",
"set_text": "This contains the seven new kingdom cards introduced in the second edition of <i>Dominion</i>, thereby allowing owners of the first edition to obtain these new cards without needing to repurchase the entire game.",
"short_name": "Dominion",
"text_icon": "D2"
},
"empires": {
"set_name": "Empires",
"set_text": "The world is big and your kingdom gigantic. It's no longer a kingdom really; it's an empire — which makes you the emperor. This entitles you to a better chair, plus you can name a salad after yourself.\nIt's not easy being emperor. The day starts early, when you light the sacred flame; then it's hours of committee meetings, trying to establish exactly why the sacred flame keeps going out. Sometimes your armies take over a continent and you just have no idea where to put it. And there's the risk of assassination; you have a food taster, who tastes anything before you eat it, and a dagger tester, who gets stabbed by anything before it stabs you. You've taken to staying at home whenever it's the Ides of anything. Still, overall it's a great job. You wouldn't trade it for the world — especially given how much of the world you already have.\n<i>Dominion: Empires</i>, the tenth addition to the game of <i>Dominion</i>, contains 96 metal tokens and 300 cards, with cards you can buy now and pay for later, piles with two different cards, and Landmarks that add new ways to score. VP tokens and Events return from previous sets.",
"text_icon": "E"
},
"empires extras": {
"set_name": "Empires Extras",
"set_text": "",
"text_icon": "E"
},
"extras": {
"set_name": "Extras",
"set_text": "",
"text_icon": "X"
},
"guilds": {
"set_name": "Guilds",
"set_text": "Jobs, everyones worried about jobs. Whatever happened to tilling the fields in obscurity? The economy is just a trick, like stealing someone's nose, but lately people seem to have seen through it, like when you realize someone hasnt really stolen your nose. So now everyones joining a guild, learning a craft, and working on a masterpiece - a painting so beautiful it blinds you, or a cheese grater so amazing that you never eat cheese again. The only people left tilling the fields are the ones doing it ironically. The guilds cover everything - ironic tilling, butchering, baking, candlestick making, shoemaking, cheesemaking, cheese destruction. Your advisor is convinced that somehow, control of the stonecutters is key to world domination. Very well. You will have stone handled so expertly that the world trembles before you.\nThis is the 8th addition to the game of <i>Dominion</i>. It adds 13 new Kingdom cards to <i>Dominion</i>. It has coin tokens that you can save to spend later, and cards you can get more out of by paying extra for them.",
"text_icon": "G"
},
"hinterlands": {
"set_name": "Hinterlands",
"set_text": "The world is big and your kingdom small. Small when compared to the world, that is; its moderate-sized when compared to other kingdoms. But in a big world like this one - big when compared to smaller worlds anyway, if such things exist; its moderate-sized when compared to worlds of roughly the same size, and a little small when compared to worlds just a little larger - well, to make a long story short - short when compared to longer stories anyway - it is time to stretch your borders. Youve heard of far-off places - exotic countries, where they have pancakes but not waffles, where the people wear the wrong number of shirts, and dont even have a word for the look two people give each other when they each hope that the other will do something that they both want done but which neither of them wants to do. It is to these lands that you now turn your gaze.\nThis is the 6th addition to the game of <i>Dominion</i>. It adds 26 new Kingdom cards to <i>Dominion</i>, including 20 Actions, 3 Treasures, 3 Victory cards, and 3 Reactions. The central theme is cards that do something immediately when you buy them or gain them.",
"text_icon": "H"
},
"intrigue1stEdition": {
"set_name": "Intrigue 1st Edition",
"set_text": "Something's afoot. The steward smiles at you like he has a secret, or like he thinks you have a secret, or like you think he thinks you have a secret. There are secret plots brewing, you're sure of it. At the very least, there are yours. A passing servant murmurs, \"The eggs are on the plate.\" You frantically search your codebook for the translation before realizing he means that breakfast is ready. Excellent. Everything is going according to plan.\n<i>Dominion: Intrigue</i> adds rules for playing with up to 8 players at two tables or for playing a single game with up to 6 players when combined with <i>Dominion</i>. This game adds 25 new Kingdom cards and a complete set of Treasure and Victory cards. The game can be played alone by players experienced in <i>Dominion</i> or with the basic game of <i>Dominion</i>.",
"short_name": "Intrigue",
"text_icon": "I1"
},
"intrigue2ndEdition": {
"set_name": "Intrigue 2nd Edition",
"set_text": "Something's afoot. The steward smiles at you like he has a secret, or like he thinks you have a secret, or like you think he thinks you have a secret. There are secret plots brewing, you're sure of it. At the very least, there are yours. A passing servant murmurs, \"The eggs are on the plate.\" You frantically search your codebook for the translation before realizing he means that breakfast is ready. Excellent. Everything is going according to plan.\n<i>Dominion: Intrigue (Second Edition)</i>, an expansion for <i>Dominion</i> or <i>Dominion (Second Edition)</i>, contains 26 Kingdom card types that can be used with the base game, while also adding rules for playing with up to eight players at two tables or for playing a single game with up to six players.\n<i>Dominion: Intrigue (Second Edition)</i> replaces six Kingdom card types from the first edition with six new types of Kingdom cards, while also replacing the blank cards in that item with a seventh new Kingdom card; these new cards are also available on their own in the <i>Dominion: Intrigue Update Pack</i>. In addition, the rulebook has been rewritten, one card has had a mild functional change (Masquerade skips players with no cards in hand), and other cards have received updated wording while remaining functionally the same.",
"short_name": "Intrigue",
"text_icon": "I2"
},
"intrigue2ndEditionUpgrade": {
"set_name": "Intrigue 2nd Edition Upgrade",
"set_text": "This contains the seven new kingdom cards introduced in the second edition of <i>Dominion: Intrigue</i>, thereby allowing owners of the first edition to obtain these new cards without needing to repurchase the entire game.",
"short_name": "Intrigue",
"text_icon": "I2"
},
"nocturne": {
"set_name": "Nocturne",
"set_text": "You've always been a night person; lately you've even considered becoming a vampire. There are a lot of advantages: you don't age; you don't have to see yourself in mirrors anymore; if someone asks you to do something, you can just turn into a bat, and then say, sorry, I'm a bat. There are probably some downsides though. You always think of the statue in the town square that came to life and now works as the tavern barmaid. The pedestal came to life too, so she has to hop around. The village blacksmith turns into a wolf whenever there's a full moon; when there's a crescent moon, he turns into a chihuahua. That's how this stuff goes sometimes. Still, when you breathe in the night air, you feel ready for anything.\n<i>Dominion: Nocturne</i>, the 11th expansion to <i>Dominion</i>, has 500 cards, with 33 new Kingdom cards. There are Night cards, which are played after the Buy phase; Heirlooms that replace starting Coppers; Fate and Doom cards that give out Boons and Hexes; and a variety of extra cards that other cards can provide.",
"short_name": "Nocturne",
"text_icon": "N"
},
"nocturne extras": {
"set_name": "Nocturne Extras",
"set_text": "",
"text_icon": "N"
},
"promo": {
"set_name": "Promo",
"set_text": "Promotional cards are official <i>Dominion</i> kingdom cards and Events which do not belong to any particular set. They are typically either released to help promote <i>Dominion</i> at conventions (such as Origins or GenCon), or to commemorate the anniversary of another game in order to help promote both.",
"text_icon": "Pm"
},
"prosperity": {
"set_name": "Prosperity",
"set_text": "Ah, money. There's nothing like the sound of coins clinking in your hands. You vastly prefer it to the sound of coins clinking in someone else's hands, or the sound of coins just sitting there in a pile that no-one can quite reach without getting up. Getting up, that's all behind you now. Life has been good to you. Just ten years ago, you were tilling your own fields in a simple straw hat. Today, your kingdom stretches from sea to sea, and your straw hat is the largest the world has ever known. You also have the world's smallest dog, and a life-size statue of yourself made out of baklava. Sure, money can't buy happiness, but it can buy envy, anger, and also this kind of blank feeling. You still have problems - troublesome neighbors that must be conquered. But this time, you'll conquer them in style.\nThis is the 4th addition to the game of <i>Dominion</i>. It adds 25 new Kingdom cards to <i>Dominion</i>, plus 2 new Basic cards that let players keep building up past Gold and Province. The central theme is wealth; there are treasures with abilities, cards that interact with treasures, and powerful expensive cards.",
"text_icon": "P"
},
"renaissance": {
"set_name": "Renaissance",
"set_text": "It's a momentous time. Art has been revolutionized by the invention of \"perspective,\" and also of \"funding.\" A picture used to be worth a dozen or so words; these new ones are more like a hundred. Oil paintings have gotten so realistic that you've hired an artist to do a portrait of you each morning, so you can make sure your hair is good. Busts have gotten better too; no more stopping at the shoulders, they go all the way to the ground. Science and medicine have advanced; there's no more superstition, now they know the perfect number of leeches to apply for each ailment. You have a clock accurate to within an hour, and a calendar accurate to within a week. Your physician heals himself, and your barber cuts his own hair. This is truly a golden age.\nThis is the 12th expansion to <i>Dominion</i>. It has 300 cards, with 25 new Kingdom cards. There are tokens that let you save coins and actions for later, Projects that grant abilities, and Artifacts to fight over.",
"text_icon": "R"
},
"seaside": {
"set_name": "Seaside",
"set_text": "All you ask is a tall ship and a star to steer her by. And someone who knows how to steer ships using stars. You finally got some of those rivers you'd wanted, and they led to the sea. These are dangerous, pirate-infested waters, and you cautiously send rat-infested ships across them, to establish lucrative trade at far-off merchant-infested ports. First, you will take over some islands, as a foothold. The natives seem friendly enough, crying their peace cries, and giving you spears and poison darts before you are even close enough to accept them properly. When you finally reach those ports you will conquer them, and from there you will look for more rivers. One day, all the rivers will be yours.\nThis is the 2nd addition to <i>Dominion</i>. It adds 26 new Kingdom cards to <i>Dominion</i>. Its central theme is your next turn; there are cards that do something this turn and next, cards that set up your next turn, and other ways to step outside of the bounds of a normal turn.",
"text_icon": "S"
}
}

View File

@ -0,0 +1,38 @@
{
"Action": "Action",
"Artifact": "Artifact",
"Attack": "Attack",
"Blank": "Blank",
"Boon": "Boon",
"Castle": "Castle",
"Curse": "Curse",
"Doom": "Doom",
"Duration": "Duration",
"Event": "Event",
"Events": "Events",
"Expansion": "Expansion",
"Fate": "Fate",
"Gathering": "Gathering",
"Heirloom": "Heirloom",
"Hex": "Hex",
"Landmark": "Landmark",
"Landmarks": "Landmarks",
"Looter": "Looter",
"Night": "Night",
"Prize": "Prize",
"Prizes": "Prizes",
"Project": "Project",
"Reaction": "Reaction",
"Reserve": "Reserve",
"Ruins": "Ruins",
"Shelter": "Shelter",
"Shelters": "Shelters",
"Spirit": "Spirit",
"Start Deck": "Start Deck",
"State": "State",
"Trash": "Trash",
"Traveller": "Traveller",
"Treasure": "Treasure",
"Victory": "Victory",
"Zombie": "Zombie"
}

View File

@ -0,0 +1,22 @@
{
"exclude": [
"token",
"Tokens"
],
"include": [
"Coins",
"Coin",
"Pièces",
"Pièce",
"Cards",
"Card",
"Cartes",
"Carte",
"Buys",
"Buy",
"Achats",
"Achat",
"Actions",
"Action"
]
}

1375
card_db_src/fr/cards_fr.json Normal file

File diff suppressed because it is too large Load Diff

139
card_db_src/fr/sets_fr.json Normal file
View File

@ -0,0 +1,139 @@
{
"adventures": {
"set_name": "Aventures",
"set_text": "Life is either a daring adventure or nothing. You're not sure which, but at least you've narrowed it down. You are rich with life experiences, but have had trouble trading them for goods and services. It's time to seek your fortune, or anyone's really, whoever's is closest. To the west there's a land of milk and honey, full of giant bees and monstrous cows. To the east, a land of eggs and licorice. To the north, treacherous swamps; to the south, loyal jungles. But all of them have been thoroughly pillaged. You've heard legends though of a fifth direction, as yet unspoiled, with its treasures conveniently gathered into troves. You have your sword and your trail mix, handed down from your father, and his father before him. You've recruited some recruits and hired some hirelings; you've shined your armor and distressed a damsel. You put up a sign saying \"Gone Adventuring.\" Then you put up another sign, saying \"Beware of Dog,\" in case people get any ideas. You're ready. You saddle up your trusty steed, and head florst.\nThis is the 9th addition to the game of <i>Dominion</i>. It has 400 cards, 6 mats, and 60 tokens. There are 30 new Kingdom cards, including the return of Duration cards that do things on future turns, plus Reserve cards that can be saved for the right moment. There are also 20 Event cards that give you something to buy besides cards, including tokens that modify cards.",
"text_icon": "Ad"
},
"adventures extras": {
"set_name": "Adventures Extras",
"set_text": "",
"text_icon": "Ad"
},
"alchemy": {
"set_name": "Alchimie",
"set_text": "There are strange things going on in your basement laboratories. They keep calling up for more barrels of quicksilver, or bits of your hair. Well it's all in the name of progress. They're looking for a way to turn lead into gold, or at least into something better than lead. That lead had just been too good of a bargain to pass up; you didn't think, where will I put all this lead, what am I going to do with this lead anyway. Well that will all be sorted out. They're also looking for a universal solvent. If they manage that one, you will take whatever they use to hold it in and build a castle out of it. A castle that can't be dissolved! Now that's progress.\nThis is the 3rd addition to <i>Dominion</i>.",
"text_icon": "Al"
},
"animals": {
"set_name": "Animals",
"set_text": "<i>Dominion: Animals</i> is a fan created expansion for the card game <i>Dominion</i>. It contains three new kingdom cards: \"Rabbits\", \"Yard dog\", and \"Gray Mustang\".\nSee https://boardgamegeek.com/boardgameexpansion/203184/animals-expansion-mini-fan-expansion-dominion.",
"text_icon": "An"
},
"base": {
"set_name": "Base",
"set_text": "This is all the basic Victory, Treasure, and Curse cards from the <i>Dominion</i> games and its expansions. It does not include any Victory or Treasure cards that are Kingdom cards.",
"text_icon": "B"
},
"cornucopia": {
"set_name": "Abondance",
"set_text": "Autumn. It seemed like the summer would never end, but that fortune teller was right. It's over. Autumn, the time of the harvest. Agriculture has advanced significantly in recent years, ever since the discovery of the maxim, \"leaves of three, let it be.\" Autumn, a time of celebration. The peasants have spent a hard week scything hay in the fields, but tonight the festivities begin, starting with a sumptuous banquet of roast hay. Then, the annual nose-stealing competition. Then you have two jesters, one who always lies, one who always tells the truth, both hilariously. This celebration will truly have something for everyone.\nThis is the 5th addition to the game of <i>Dominion</i>. It adds 13 new Kingdom cards to <i>Dominion</i>, plus 5 unique cards. The central theme is variety; there are cards that reward you for having a variety of cards in your deck, in your hand, and in play, as well cards that help you get that variety.",
"text_icon": "Ab"
},
"cornucopia extras": {
"set_name": "Cornucopia Extras",
"set_text": "",
"text_icon": "C"
},
"dark ages": {
"set_name": "Age Des Ténèbres",
"set_text": "Times have been hard. To save on money, you've moved out of your old castle, and into a luxurious ravine. You didn't like that castle anyway; it was always getting looted, and never at a reasonable hour. And if it wasn't barbarians it was the plague, or sometimes both would come at once, and there wouldn't be enough chairs. The ravine is great; you get lots of sun, and you can just drop garbage wherever you want. In your free time you've taken up begging. Begging is brilliant conceptually, but tricky in practice, since no-one has any money. You beg twigs from the villagers, and they beg them back, but no-one really seems to come out ahead. That's just how life is sometimes. You're quietly conquering people, minding your own business, when suddenly there's a plague, or barbarians, or everyone's illiterate, and it's all you can do to cling to some wreckage as the storm passes through. Still, you are sure that, as always, you will triumph over this adversity, or at least do slightly better than everyone else.\nThis is the 7th addition to the game of <i>Dominion</i>. It adds 35 new Kingdom cards to <i>Dominion</i>, plus new bad cards you give to other players (Ruins), new cards to replace starting Estates (Shelters), and cards you can only get via specific other cards. The central themes are the trash and upgrading. There are cards that do something when trashed, cards that care about the trash, cards that upgrade themselves, and ways to upgrade other cards.",
"text_icon": "AT"
},
"dark ages extras": {
"set_name": "Dark Ages Extras",
"set_text": "",
"text_icon": "DA"
},
"dominion1stEdition": {
"set_name": "Dominion 1er Édition",
"set_text": "You are a monarch, like your parents before you, a ruler of a small pleasant kingdom of rivers and evergreens. Unlike your parents, however, you have hopes and dreams! You want a bigger and more pleasant kingdom, with more rivers and a wider variety of trees. You want a Dominion! In all directions lie fiefs, freeholds, and feodums. All are small bits of land, controlled by petty lords and verging on anarchy. You will bring civilization to these people, uniting them under your banner.\nBut wait! It must be something in the air; several other monarchs have had the exact same idea. You must race to get as much of the unclaimed land as possible, fending them off along the way. To do this you will hire minions, construct buildings, spruce up your castle, and fill the coffers of your treasury. Your parents wouldn't be proud, but your grandparents, on your mother's side, would be delighted.",
"short_name": "Dominion",
"text_icon": "D1"
},
"dominion2ndEdition": {
"set_name": "Dominion 2e Édition",
"set_text": "You are a monarch, like your parents before you, a ruler of a small pleasant kingdom of rivers and evergreens. Unlike your parents, however, you have hopes and dreams! You want a bigger and more pleasant kingdom, with more rivers and a wider variety of trees. You want a Dominion! In all directions lie fiefs, freeholds, and feodums. All are small bits of land, controlled by petty lords and verging on anarchy. You will bring civilization to these people, uniting them under your banner.\nBut wait! It must be something in the air; several other monarchs have had the exact same idea. You must race to get as much of the unclaimed land as possible, fending them off along the way. To do this you will hire minions, construct buildings, spruce up your castle, and fill the coffers of your treasury. Your parents wouldn't be proud, but your grandparents, on your mother's side, would be delighted.",
"short_name": "Dominion",
"text_icon": "D2"
},
"dominion2ndEditionUpgrade": {
"set_name": "Dominion 2e Édition Surclassement",
"set_text": "This contains the seven new kingdom cards introduced in the second edition of <i>Dominion</i>, thereby allowing owners of the first edition to obtain these new cards without needing to repurchase the entire game.",
"short_name": "Dominion",
"text_icon": "D2"
},
"empires": {
"set_name": "Empires",
"set_text": "The world is big and your kingdom gigantic. It's no longer a kingdom really; it's an empire — which makes you the emperor. This entitles you to a better chair, plus you can name a salad after yourself.\nIt's not easy being emperor. The day starts early, when you light the sacred flame; then it's hours of committee meetings, trying to establish exactly why the sacred flame keeps going out. Sometimes your armies take over a continent and you just have no idea where to put it. And there's the risk of assassination; you have a food taster, who tastes anything before you eat it, and a dagger tester, who gets stabbed by anything before it stabs you. You've taken to staying at home whenever it's the Ides of anything. Still, overall it's a great job. You wouldn't trade it for the world — especially given how much of the world you already have.\n<i>Dominion: Empires</i>, the tenth addition to the game of <i>Dominion</i>, contains 96 metal tokens and 300 cards, with cards you can buy now and pay for later, piles with two different cards, and Landmarks that add new ways to score. VP tokens and Events return from previous sets.",
"text_icon": "E"
},
"empires extras": {
"set_name": "Empires Extras",
"set_text": "",
"text_icon": "E"
},
"extras": {
"set_name": "Supplémentaire",
"set_text": "",
"text_icon": "S"
},
"guilds": {
"set_name": "Guildes",
"set_text": "Jobs, everyones worried about jobs. Whatever happened to tilling the fields in obscurity? The economy is just a trick, like stealing someone's nose, but lately people seem to have seen through it, like when you realize someone hasnt really stolen your nose. So now everyones joining a guild, learning a craft, and working on a masterpiece - a painting so beautiful it blinds you, or a cheese grater so amazing that you never eat cheese again. The only people left tilling the fields are the ones doing it ironically. The guilds cover everything - ironic tilling, butchering, baking, candlestick making, shoemaking, cheesemaking, cheese destruction. Your advisor is convinced that somehow, control of the stonecutters is key to world domination. Very well. You will have stone handled so expertly that the world trembles before you.\nThis is the 8th addition to the game of <i>Dominion</i>. It adds 13 new Kingdom cards to <i>Dominion</i>. It has coin tokens that you can save to spend later, and cards you can get more out of by paying extra for them.",
"text_icon": "G"
},
"hinterlands": {
"set_name": "L'Arrière-pays",
"set_text": "The world is big and your kingdom small. Small when compared to the world, that is; its moderate-sized when compared to other kingdoms. But in a big world like this one - big when compared to smaller worlds anyway, if such things exist; its moderate-sized when compared to worlds of roughly the same size, and a little small when compared to worlds just a little larger - well, to make a long story short - short when compared to longer stories anyway - it is time to stretch your borders. Youve heard of far-off places - exotic countries, where they have pancakes but not waffles, where the people wear the wrong number of shirts, and dont even have a word for the look two people give each other when they each hope that the other will do something that they both want done but which neither of them wants to do. It is to these lands that you now turn your gaze.\nThis is the 6th addition to the game of <i>Dominion</i>. It adds 26 new Kingdom cards to <i>Dominion</i>, including 20 Actions, 3 Treasures, 3 Victory cards, and 3 Reactions. The central theme is cards that do something immediately when you buy them or gain them.",
"text_icon": "Ar"
},
"intrigue1stEdition": {
"set_name": "L'Intrigue 1er Édition",
"set_text": "Something's afoot. The steward smiles at you like he has a secret, or like he thinks you have a secret, or like you think he thinks you have a secret. There are secret plots brewing, you're sure of it. At the very least, there are yours. A passing servant murmurs, \"The eggs are on the plate.\" You frantically search your codebook for the translation before realizing he means that breakfast is ready. Excellent. Everything is going according to plan.\n<i>Dominion: Intrigue</i> adds rules for playing with up to 8 players at two tables or for playing a single game with up to 6 players when combined with <i>Dominion</i>. This game adds 25 new Kingdom cards and a complete set of Treasure and Victory cards. The game can be played alone by players experienced in <i>Dominion</i> or with the basic game of <i>Dominion</i>.",
"short_name": "L'Intrigue",
"text_icon": "I1"
},
"intrigue2ndEdition": {
"set_name": "L'Intrigue 2e Édition",
"set_text": "Something's afoot. The steward smiles at you like he has a secret, or like he thinks you have a secret, or like you think he thinks you have a secret. There are secret plots brewing, you're sure of it. At the very least, there are yours. A passing servant murmurs, \"The eggs are on the plate.\" You frantically search your codebook for the translation before realizing he means that breakfast is ready. Excellent. Everything is going according to plan.\n<i>Dominion: Intrigue (Second Edition)</i>, an expansion for <i>Dominion</i> or <i>Dominion (Second Edition)</i>, contains 26 Kingdom card types that can be used with the base game, while also adding rules for playing with up to eight players at two tables or for playing a single game with up to six players.\n<i>Dominion: Intrigue (Second Edition)</i> replaces six Kingdom card types from the first edition with six new types of Kingdom cards, while also replacing the blank cards in that item with a seventh new Kingdom card; these new cards are also available on their own in the <i>Dominion: Intrigue Update Pack</i>. In addition, the rulebook has been rewritten, one card has had a mild functional change (Masquerade skips players with no cards in hand), and other cards have received updated wording while remaining functionally the same.",
"short_name": "L'Intrigue",
"text_icon": "I2"
},
"intrigue2ndEditionUpgrade": {
"set_name": "L'Intrigue 2e Édition Surclassement",
"set_text": "This contains the seven new kingdom cards introduced in the second edition of <i>Dominion: Intrigue</i>, thereby allowing owners of the first edition to obtain these new cards without needing to repurchase the entire game.",
"short_name": "L'Intrigue",
"text_icon": "I2"
},
"nocturne": {
"set_name": "Nocturne",
"set_text": "You've always been a night person; lately you've even considered becoming a vampire. There are a lot of advantages: you don't age; you don't have to see yourself in mirrors anymore; if someone asks you to do something, you can just turn into a bat, and then say, sorry, I'm a bat. There are probably some downsides though. You always think of the statue in the town square that came to life and now works as the tavern barmaid. The pedestal came to life too, so she has to hop around. The village blacksmith turns into a wolf whenever there's a full moon; when there's a crescent moon, he turns into a chihuahua. That's how this stuff goes sometimes. Still, when you breathe in the night air, you feel ready for anything.\n<i>Dominion: Nocturne</i>, the 11th expansion to <i>Dominion</i>, has 500 cards, with 33 new Kingdom cards. There are Night cards, which are played after the Buy phase; Heirlooms that replace starting Coppers; Fate and Doom cards that give out Boons and Hexes; and a variety of extra cards that other cards can provide.",
"short_name": "Nocturne",
"text_icon": "N"
},
"nocturne extras": {
"set_name": "Nocturne Extras",
"set_text": "",
"text_icon": "N"
},
"promo": {
"set_name": "Promo",
"set_text": "Promotional cards are official <i>Dominion</i> kingdom cards and Events which do not belong to any particular set. They are typically either released to help promote <i>Dominion</i> at conventions (such as Origins or GenCon), or to commemorate the anniversary of another game in order to help promote both.",
"text_icon": "Pm"
},
"prosperity": {
"set_name": "Prosperité",
"set_text": "Ah, money. There's nothing like the sound of coins clinking in your hands. You vastly prefer it to the sound of coins clinking in someone else's hands, or the sound of coins just sitting there in a pile that no-one can quite reach without getting up. Getting up, that's all behind you now. Life has been good to you. Just ten years ago, you were tilling your own fields in a simple straw hat. Today, your kingdom stretches from sea to sea, and your straw hat is the largest the world has ever known. You also have the world's smallest dog, and a life-size statue of yourself made out of baklava. Sure, money can't buy happiness, but it can buy envy, anger, and also this kind of blank feeling. You still have problems - troublesome neighbors that must be conquered. But this time, you'll conquer them in style.\nThis is the 4th addition to the game of <i>Dominion</i>. It adds 25 new Kingdom cards to <i>Dominion</i>, plus 2 new Basic cards that let players keep building up past Gold and Province. The central theme is wealth; there are treasures with abilities, cards that interact with treasures, and powerful expensive cards.",
"text_icon": "P"
},
"renaissance": {
"set_name": "Renaissance",
"set_text": "It's a momentous time. Art has been revolutionized by the invention of \"perspective,\" and also of \"funding.\" A picture used to be worth a dozen or so words; these new ones are more like a hundred. Oil paintings have gotten so realistic that you've hired an artist to do a portrait of you each morning, so you can make sure your hair is good. Busts have gotten better too; no more stopping at the shoulders, they go all the way to the ground. Science and medicine have advanced; there's no more superstition, now they know the perfect number of leeches to apply for each ailment. You have a clock accurate to within an hour, and a calendar accurate to within a week. Your physician heals himself, and your barber cuts his own hair. This is truly a golden age.\nThis is the 12th expansion to <i>Dominion</i>. It has 300 cards, with 25 new Kingdom cards. There are tokens that let you save coins and actions for later, Projects that grant abilities, and Artifacts to fight over.",
"text_icon": "R"
},
"seaside": {
"set_name": "Rivages",
"set_text": "All you ask is a tall ship and a star to steer her by. And someone who knows how to steer ships using stars. You finally got some of those rivers you'd wanted, and they led to the sea. These are dangerous, pirate-infested waters, and you cautiously send rat-infested ships across them, to establish lucrative trade at far-off merchant-infested ports. First, you will take over some islands, as a foothold. The natives seem friendly enough, crying their peace cries, and giving you spears and poison darts before you are even close enough to accept them properly. When you finally reach those ports you will conquer them, and from there you will look for more rivers. One day, all the rivers will be yours.\nThis is the 2nd addition to <i>Dominion</i>. It adds 26 new Kingdom cards to <i>Dominion</i>. Its central theme is your next turn; there are cards that do something this turn and next, cards that set up your next turn, and other ways to step outside of the bounds of a normal turn.",
"text_icon": "R"
}
}

View File

@ -0,0 +1,38 @@
{
"Action": "Action",
"Artifact": "Artifact",
"Attack": "Attaque",
"Blank": "Vierge",
"Boon": "Boon",
"Castle": "Castle",
"Curse": "Malédiction",
"Doom": "Fléau",
"Duration": "Durée",
"Event": "Événement",
"Events": "Événements",
"Expansion": "Extension",
"Fate": "Fate",
"Gathering": "Gathering",
"Heirloom": "Heirloom",
"Hex": "Hex",
"Landmark": "Landmark",
"Landmarks": "Landmarks",
"Looter": "Pillard",
"Night": "Night",
"Prize": "Prix",
"Prizes": "Prix",
"Project": "Project",
"Reaction": "Réaction",
"Reserve": "Taverne",
"Ruins": "Ruines",
"Shelter": "Refuge",
"Shelters": "Refuges",
"Spirit": "Spirit",
"Start Deck": "Deck de départ",
"State": "State",
"Trash": "Rebut",
"Traveller": "Itinérant",
"Treasure": "Trésor",
"Victory": "Victoire",
"Zombie": "Zombie"
}

View File

@ -0,0 +1,16 @@
{
"exclude": [
"token",
"Tokens"
],
"include": [
"Monete",
"Moneta",
"Carte",
"Carta",
"Acquisti",
"Acquisto",
"Azioni",
"Azione"
]
}

1215
card_db_src/it/cards_it.json Normal file

File diff suppressed because it is too large Load Diff

139
card_db_src/it/sets_it.json Normal file
View File

@ -0,0 +1,139 @@
{
"adventures": {
"set_name": "Adventures",
"set_text": "Life is either a daring adventure or nothing. You're not sure which, but at least you've narrowed it down. You are rich with life experiences, but have had trouble trading them for goods and services. It's time to seek your fortune, or anyone's really, whoever's is closest. To the west there's a land of milk and honey, full of giant bees and monstrous cows. To the east, a land of eggs and licorice. To the north, treacherous swamps; to the south, loyal jungles. But all of them have been thoroughly pillaged. You've heard legends though of a fifth direction, as yet unspoiled, with its treasures conveniently gathered into troves. You have your sword and your trail mix, handed down from your father, and his father before him. You've recruited some recruits and hired some hirelings; you've shined your armor and distressed a damsel. You put up a sign saying \"Gone Adventuring.\" Then you put up another sign, saying \"Beware of Dog,\" in case people get any ideas. You're ready. You saddle up your trusty steed, and head florst.\nThis is the 9th addition to the game of <i>Dominion</i>. It has 400 cards, 6 mats, and 60 tokens. There are 30 new Kingdom cards, including the return of Duration cards that do things on future turns, plus Reserve cards that can be saved for the right moment. There are also 20 Event cards that give you something to buy besides cards, including tokens that modify cards.",
"text_icon": "Ad"
},
"adventures extras": {
"set_name": "Adventures Extras",
"set_text": "",
"text_icon": "Ad"
},
"alchemy": {
"set_name": "Alchimia",
"set_text": "There are strange things going on in your basement laboratories. They keep calling up for more barrels of quicksilver, or bits of your hair. Well it's all in the name of progress. They're looking for a way to turn lead into gold, or at least into something better than lead. That lead had just been too good of a bargain to pass up; you didn't think, where will I put all this lead, what am I going to do with this lead anyway. Well that will all be sorted out. They're also looking for a universal solvent. If they manage that one, you will take whatever they use to hold it in and build a castle out of it. A castle that can't be dissolved! Now that's progress.\nThis is the 3rd addition to <i>Dominion</i>.",
"text_icon": "Al"
},
"animals": {
"set_name": "Animals",
"set_text": "<i>Dominion: Animals</i> is a fan created expansion for the card game <i>Dominion</i>. It contains three new kingdom cards: \"Rabbits\", \"Yard dog\", and \"Gray Mustang\".\nSee https://boardgamegeek.com/boardgameexpansion/203184/animals-expansion-mini-fan-expansion-dominion.",
"text_icon": "An"
},
"base": {
"set_name": "Base",
"set_text": "This is all the basic Victory, Treasure, and Curse cards from the <i>Dominion</i> games and its expansions. It does not include any Victory or Treasure cards that are Kingdom cards.",
"text_icon": "B"
},
"cornucopia": {
"set_name": "Cornucopia",
"set_text": "Autumn. It seemed like the summer would never end, but that fortune teller was right. It's over. Autumn, the time of the harvest. Agriculture has advanced significantly in recent years, ever since the discovery of the maxim, \"leaves of three, let it be.\" Autumn, a time of celebration. The peasants have spent a hard week scything hay in the fields, but tonight the festivities begin, starting with a sumptuous banquet of roast hay. Then, the annual nose-stealing competition. Then you have two jesters, one who always lies, one who always tells the truth, both hilariously. This celebration will truly have something for everyone.\nThis is the 5th addition to the game of <i>Dominion</i>. It adds 13 new Kingdom cards to <i>Dominion</i>, plus 5 unique cards. The central theme is variety; there are cards that reward you for having a variety of cards in your deck, in your hand, and in play, as well cards that help you get that variety.",
"text_icon": "C"
},
"cornucopia extras": {
"set_name": "Cornucopia Extras",
"set_text": "",
"text_icon": "C"
},
"dark ages": {
"set_name": "Dark Ages",
"set_text": "Times have been hard. To save on money, you've moved out of your old castle, and into a luxurious ravine. You didn't like that castle anyway; it was always getting looted, and never at a reasonable hour. And if it wasn't barbarians it was the plague, or sometimes both would come at once, and there wouldn't be enough chairs. The ravine is great; you get lots of sun, and you can just drop garbage wherever you want. In your free time you've taken up begging. Begging is brilliant conceptually, but tricky in practice, since no-one has any money. You beg twigs from the villagers, and they beg them back, but no-one really seems to come out ahead. That's just how life is sometimes. You're quietly conquering people, minding your own business, when suddenly there's a plague, or barbarians, or everyone's illiterate, and it's all you can do to cling to some wreckage as the storm passes through. Still, you are sure that, as always, you will triumph over this adversity, or at least do slightly better than everyone else.\nThis is the 7th addition to the game of <i>Dominion</i>. It adds 35 new Kingdom cards to <i>Dominion</i>, plus new bad cards you give to other players (Ruins), new cards to replace starting Estates (Shelters), and cards you can only get via specific other cards. The central themes are the trash and upgrading. There are cards that do something when trashed, cards that care about the trash, cards that upgrade themselves, and ways to upgrade other cards.",
"text_icon": "D"
},
"dark ages extras": {
"set_name": "Dark Ages Extras",
"set_text": "",
"text_icon": "DA"
},
"dominion1stEdition": {
"set_name": "Dominion 1° Edizione",
"set_text": "You are a monarch, like your parents before you, a ruler of a small pleasant kingdom of rivers and evergreens. Unlike your parents, however, you have hopes and dreams! You want a bigger and more pleasant kingdom, with more rivers and a wider variety of trees. You want a Dominion! In all directions lie fiefs, freeholds, and feodums. All are small bits of land, controlled by petty lords and verging on anarchy. You will bring civilization to these people, uniting them under your banner.\nBut wait! It must be something in the air; several other monarchs have had the exact same idea. You must race to get as much of the unclaimed land as possible, fending them off along the way. To do this you will hire minions, construct buildings, spruce up your castle, and fill the coffers of your treasury. Your parents wouldn't be proud, but your grandparents, on your mother's side, would be delighted.",
"short_name": "Dominion",
"text_icon": "D1"
},
"dominion2ndEdition": {
"set_name": "Dominion 2° Edizione",
"set_text": "You are a monarch, like your parents before you, a ruler of a small pleasant kingdom of rivers and evergreens. Unlike your parents, however, you have hopes and dreams! You want a bigger and more pleasant kingdom, with more rivers and a wider variety of trees. You want a Dominion! In all directions lie fiefs, freeholds, and feodums. All are small bits of land, controlled by petty lords and verging on anarchy. You will bring civilization to these people, uniting them under your banner.\nBut wait! It must be something in the air; several other monarchs have had the exact same idea. You must race to get as much of the unclaimed land as possible, fending them off along the way. To do this you will hire minions, construct buildings, spruce up your castle, and fill the coffers of your treasury. Your parents wouldn't be proud, but your grandparents, on your mother's side, would be delighted.",
"short_name": "Dominion",
"text_icon": "D2"
},
"dominion2ndEditionUpgrade": {
"set_name": "Dominion 2° Edizione di Aggiornamento",
"set_text": "This contains the seven new kingdom cards introduced in the second edition of <i>Dominion</i>, thereby allowing owners of the first edition to obtain these new cards without needing to repurchase the entire game.",
"short_name": "Dominion",
"text_icon": "D2"
},
"empires": {
"set_name": "Empires",
"set_text": "The world is big and your kingdom gigantic. It's no longer a kingdom really; it's an empire — which makes you the emperor. This entitles you to a better chair, plus you can name a salad after yourself.\nIt's not easy being emperor. The day starts early, when you light the sacred flame; then it's hours of committee meetings, trying to establish exactly why the sacred flame keeps going out. Sometimes your armies take over a continent and you just have no idea where to put it. And there's the risk of assassination; you have a food taster, who tastes anything before you eat it, and a dagger tester, who gets stabbed by anything before it stabs you. You've taken to staying at home whenever it's the Ides of anything. Still, overall it's a great job. You wouldn't trade it for the world — especially given how much of the world you already have.\n<i>Dominion: Empires</i>, the tenth addition to the game of <i>Dominion</i>, contains 96 metal tokens and 300 cards, with cards you can buy now and pay for later, piles with two different cards, and Landmarks that add new ways to score. VP tokens and Events return from previous sets.",
"text_icon": "E"
},
"empires extras": {
"set_name": "Empires Extras",
"set_text": "",
"text_icon": "E"
},
"extras": {
"set_name": "Extra",
"set_text": "",
"text_icon": "Ex"
},
"guilds": {
"set_name": "Guilds",
"set_text": "Jobs, everyones worried about jobs. Whatever happened to tilling the fields in obscurity? The economy is just a trick, like stealing someone's nose, but lately people seem to have seen through it, like when you realize someone hasnt really stolen your nose. So now everyones joining a guild, learning a craft, and working on a masterpiece - a painting so beautiful it blinds you, or a cheese grater so amazing that you never eat cheese again. The only people left tilling the fields are the ones doing it ironically. The guilds cover everything - ironic tilling, butchering, baking, candlestick making, shoemaking, cheesemaking, cheese destruction. Your advisor is convinced that somehow, control of the stonecutters is key to world domination. Very well. You will have stone handled so expertly that the world trembles before you.\nThis is the 8th addition to the game of <i>Dominion</i>. It adds 13 new Kingdom cards to <i>Dominion</i>. It has coin tokens that you can save to spend later, and cards you can get more out of by paying extra for them.",
"text_icon": "G"
},
"hinterlands": {
"set_name": "Nuovi Orizzonti",
"set_text": "The world is big and your kingdom small. Small when compared to the world, that is; its moderate-sized when compared to other kingdoms. But in a big world like this one - big when compared to smaller worlds anyway, if such things exist; its moderate-sized when compared to worlds of roughly the same size, and a little small when compared to worlds just a little larger - well, to make a long story short - short when compared to longer stories anyway - it is time to stretch your borders. Youve heard of far-off places - exotic countries, where they have pancakes but not waffles, where the people wear the wrong number of shirts, and dont even have a word for the look two people give each other when they each hope that the other will do something that they both want done but which neither of them wants to do. It is to these lands that you now turn your gaze.\nThis is the 6th addition to the game of <i>Dominion</i>. It adds 26 new Kingdom cards to <i>Dominion</i>, including 20 Actions, 3 Treasures, 3 Victory cards, and 3 Reactions. The central theme is cards that do something immediately when you buy them or gain them.",
"text_icon": "NO"
},
"intrigue1stEdition": {
"set_name": "Intrigo 2° Edizione",
"set_text": "Something's afoot. The steward smiles at you like he has a secret, or like he thinks you have a secret, or like you think he thinks you have a secret. There are secret plots brewing, you're sure of it. At the very least, there are yours. A passing servant murmurs, \"The eggs are on the plate.\" You frantically search your codebook for the translation before realizing he means that breakfast is ready. Excellent. Everything is going according to plan.\n<i>Dominion: Intrigue</i> adds rules for playing with up to 8 players at two tables or for playing a single game with up to 6 players when combined with <i>Dominion</i>. This game adds 25 new Kingdom cards and a complete set of Treasure and Victory cards. The game can be played alone by players experienced in <i>Dominion</i> or with the basic game of <i>Dominion</i>.",
"short_name": "Intrigo",
"text_icon": "I1"
},
"intrigue2ndEdition": {
"set_name": "Intrigo 2° Edizione",
"set_text": "Something's afoot. The steward smiles at you like he has a secret, or like he thinks you have a secret, or like you think he thinks you have a secret. There are secret plots brewing, you're sure of it. At the very least, there are yours. A passing servant murmurs, \"The eggs are on the plate.\" You frantically search your codebook for the translation before realizing he means that breakfast is ready. Excellent. Everything is going according to plan.\n<i>Dominion: Intrigue (Second Edition)</i>, an expansion for <i>Dominion</i> or <i>Dominion (Second Edition)</i>, contains 26 Kingdom card types that can be used with the base game, while also adding rules for playing with up to eight players at two tables or for playing a single game with up to six players.\n<i>Dominion: Intrigue (Second Edition)</i> replaces six Kingdom card types from the first edition with six new types of Kingdom cards, while also replacing the blank cards in that item with a seventh new Kingdom card; these new cards are also available on their own in the <i>Dominion: Intrigue Update Pack</i>. In addition, the rulebook has been rewritten, one card has had a mild functional change (Masquerade skips players with no cards in hand), and other cards have received updated wording while remaining functionally the same.",
"short_name": "Intrigo",
"text_icon": "I2"
},
"intrigue2ndEditionUpgrade": {
"set_name": "Intrigo 2° Edizione di Aggiornamento",
"set_text": "This contains the seven new kingdom cards introduced in the second edition of <i>Dominion: Intrigue</i>, thereby allowing owners of the first edition to obtain these new cards without needing to repurchase the entire game.",
"short_name": "Intrigo",
"text_icon": "I2"
},
"nocturne": {
"set_name": "Nocturne",
"set_text": "You've always been a night person; lately you've even considered becoming a vampire. There are a lot of advantages: you don't age; you don't have to see yourself in mirrors anymore; if someone asks you to do something, you can just turn into a bat, and then say, sorry, I'm a bat. There are probably some downsides though. You always think of the statue in the town square that came to life and now works as the tavern barmaid. The pedestal came to life too, so she has to hop around. The village blacksmith turns into a wolf whenever there's a full moon; when there's a crescent moon, he turns into a chihuahua. That's how this stuff goes sometimes. Still, when you breathe in the night air, you feel ready for anything.\n<i>Dominion: Nocturne</i>, the 11th expansion to <i>Dominion</i>, has 500 cards, with 33 new Kingdom cards. There are Night cards, which are played after the Buy phase; Heirlooms that replace starting Coppers; Fate and Doom cards that give out Boons and Hexes; and a variety of extra cards that other cards can provide.",
"short_name": "Nocturne",
"text_icon": "N"
},
"nocturne extras": {
"set_name": "Nocturne Extras",
"set_text": "",
"text_icon": "N"
},
"promo": {
"set_name": "Promo",
"set_text": "Promotional cards are official <i>Dominion</i> kingdom cards and Events which do not belong to any particular set. They are typically either released to help promote <i>Dominion</i> at conventions (such as Origins or GenCon), or to commemorate the anniversary of another game in order to help promote both.",
"text_icon": "Pm"
},
"prosperity": {
"set_name": "Prosperità",
"set_text": "Ah, money. There's nothing like the sound of coins clinking in your hands. You vastly prefer it to the sound of coins clinking in someone else's hands, or the sound of coins just sitting there in a pile that no-one can quite reach without getting up. Getting up, that's all behind you now. Life has been good to you. Just ten years ago, you were tilling your own fields in a simple straw hat. Today, your kingdom stretches from sea to sea, and your straw hat is the largest the world has ever known. You also have the world's smallest dog, and a life-size statue of yourself made out of baklava. Sure, money can't buy happiness, but it can buy envy, anger, and also this kind of blank feeling. You still have problems - troublesome neighbors that must be conquered. But this time, you'll conquer them in style.\nThis is the 4th addition to the game of <i>Dominion</i>. It adds 25 new Kingdom cards to <i>Dominion</i>, plus 2 new Basic cards that let players keep building up past Gold and Province. The central theme is wealth; there are treasures with abilities, cards that interact with treasures, and powerful expensive cards.",
"text_icon": "P"
},
"renaissance": {
"set_name": "Renaissance",
"set_text": "It's a momentous time. Art has been revolutionized by the invention of \"perspective,\" and also of \"funding.\" A picture used to be worth a dozen or so words; these new ones are more like a hundred. Oil paintings have gotten so realistic that you've hired an artist to do a portrait of you each morning, so you can make sure your hair is good. Busts have gotten better too; no more stopping at the shoulders, they go all the way to the ground. Science and medicine have advanced; there's no more superstition, now they know the perfect number of leeches to apply for each ailment. You have a clock accurate to within an hour, and a calendar accurate to within a week. Your physician heals himself, and your barber cuts his own hair. This is truly a golden age.\nThis is the 12th expansion to <i>Dominion</i>. It has 300 cards, with 25 new Kingdom cards. There are tokens that let you save coins and actions for later, Projects that grant abilities, and Artifacts to fight over.",
"text_icon": "R"
},
"seaside": {
"set_name": "Seaside",
"set_text": "All you ask is a tall ship and a star to steer her by. And someone who knows how to steer ships using stars. You finally got some of those rivers you'd wanted, and they led to the sea. These are dangerous, pirate-infested waters, and you cautiously send rat-infested ships across them, to establish lucrative trade at far-off merchant-infested ports. First, you will take over some islands, as a foothold. The natives seem friendly enough, crying their peace cries, and giving you spears and poison darts before you are even close enough to accept them properly. When you finally reach those ports you will conquer them, and from there you will look for more rivers. One day, all the rivers will be yours.\nThis is the 2nd addition to <i>Dominion</i>. It adds 26 new Kingdom cards to <i>Dominion</i>. Its central theme is your next turn; there are cards that do something this turn and next, cards that set up your next turn, and other ways to step outside of the bounds of a normal turn.",
"text_icon": "S"
}
}

View File

@ -0,0 +1,38 @@
{
"Action": "Action",
"Artifact": "Artifact",
"Attack": "Attack",
"Blank": "Blank",
"Boon": "Boon",
"Castle": "Castle",
"Curse": "Curse",
"Doom": "Doom",
"Duration": "Duration",
"Event": "Event",
"Events": "Events",
"Expansion": "Expansion",
"Fate": "Fate",
"Gathering": "Gathering",
"Heirloom": "Heirloom",
"Hex": "Hex",
"Landmark": "Landmark",
"Landmarks": "Landmarks",
"Looter": "Looter",
"Night": "Night",
"Prize": "Prize",
"Prizes": "Prizes",
"Project": "Project",
"Reaction": "Reaction",
"Reserve": "Reserve",
"Ruins": "Ruins",
"Shelter": "Shelter",
"Shelters": "Shelters",
"Spirit": "Spirit",
"Start Deck": "Start Deck",
"State": "State",
"Trash": "Trash",
"Traveller": "Traveller",
"Treasure": "Treasure",
"Victory": "Victory",
"Zombie": "Zombie"
}

View File

@ -0,0 +1,87 @@
[
{
"gap-horizontal": 0.76,
"gap-vertical": 0.0,
"height": 1.27,
"margin-left": 0.75,
"margin-top": 1.27,
"name": "Label Avery 8867 Letter",
"names": [
"8867",
"5167",
"5267",
"5667",
"5967",
"8167",
"8667",
"8927",
"15267",
"15667",
"18167",
"18667",
"28667",
"48267",
"48467",
"48867",
"95667"
],
"pad-horizontal": 0.1,
"pad-vertical": 0.1,
"paper": "LETTER",
"tab-only": true,
"width": 4.45
},
{
"gap-horizontal": 0.116,
"gap-vertical": 0.0,
"height": 1.69,
"margin-left": 1.02,
"margin-top": 1.08,
"name": "Label Avery L4732 A4",
"names": [
"L4732",
"L7632"
],
"pad-horizontal": 0.1,
"pad-vertical": 0.1,
"paper": "A4",
"tab-height": 1.2,
"tab-only": true,
"width": 3.56
},
{
"gap-horizontal": 0.295,
"gap-vertical": 0.0,
"height": 2.115,
"margin-left": 0.95,
"margin-top": 2.15,
"name": "Label Avery L4736 A4",
"names": [
"L4736",
"L6113"
],
"pad-horizontal": 0.1,
"pad-vertical": 0.1,
"paper": "A4",
"tab-height": 1.0,
"tab-only": false,
"width": 4.53
},
{
"gap-horizontal": 0.96,
"gap-vertical": 0.42,
"height": 5.93,
"margin-left": 1.74,
"margin-top": 1.47,
"name": "Label Avery Presta 94211 Letter",
"names": [
"94211"
],
"pad-horizontal": 0.1,
"pad-vertical": 0.1,
"paper": "LETTER",
"tab-height": 0.9,
"tab-only": false,
"width": 8.57
}
]

View File

@ -0,0 +1,17 @@
{
"exclude": [
"fiche",
"Token",
"Tokens"
],
"include": [
"Coins",
"Coin",
"Kaarten",
"Kaart",
"Aanschaffen",
"Aanschaf",
"Acties",
"Actie"
]
}

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,139 @@
{
"adventures": {
"set_name": "Avonturen",
"set_text": "Life is either a daring adventure or nothing. You're not sure which, but at least you've narrowed it down. You are rich with life experiences, but have had trouble trading them for goods and services. It's time to seek your fortune, or anyone's really, whoever's is closest. To the west there's a land of milk and honey, full of giant bees and monstrous cows. To the east, a land of eggs and licorice. To the north, treacherous swamps; to the south, loyal jungles. But all of them have been thoroughly pillaged. You've heard legends though of a fifth direction, as yet unspoiled, with its treasures conveniently gathered into troves. You have your sword and your trail mix, handed down from your father, and his father before him. You've recruited some recruits and hired some hirelings; you've shined your armor and distressed a damsel. You put up a sign saying \"Gone Adventuring.\" Then you put up another sign, saying \"Beware of Dog,\" in case people get any ideas. You're ready. You saddle up your trusty steed, and head florst.\nThis is the 9th addition to the game of <i>Dominion</i>. It has 400 cards, 6 mats, and 60 tokens. There are 30 new Kingdom cards, including the return of Duration cards that do things on future turns, plus Reserve cards that can be saved for the right moment. There are also 20 Event cards that give you something to buy besides cards, including tokens that modify cards.",
"text_icon": "Av"
},
"adventures extras": {
"set_name": "Avonturen Extras",
"set_text": "",
"text_icon": "Av"
},
"alchemy": {
"set_name": "Alchemisten",
"set_text": "There are strange things going on in your basement laboratories. They keep calling up for more barrels of quicksilver, or bits of your hair. Well it's all in the name of progress. They're looking for a way to turn lead into gold, or at least into something better than lead. That lead had just been too good of a bargain to pass up; you didn't think, where will I put all this lead, what am I going to do with this lead anyway. Well that will all be sorted out. They're also looking for a universal solvent. If they manage that one, you will take whatever they use to hold it in and build a castle out of it. A castle that can't be dissolved! Now that's progress.\nThis is the 3rd addition to <i>Dominion</i>.",
"text_icon": "A"
},
"animals": {
"set_name": "Animals",
"set_text": "<i>Dominion: Animals</i> is a fan created expansion for the card game <i>Dominion</i>. It contains three new kingdom cards: \"Rabbits\", \"Yard dog\", and \"Gray Mustang\".\nSee https://boardgamegeek.com/boardgameexpansion/203184/animals-expansion-mini-fan-expansion-dominion.",
"text_icon": "An"
},
"base": {
"set_name": "Basis",
"set_text": "This is all the basic Victory, Treasure, and Curse cards from the <i>Dominion</i> games and its expansions. It does not include any Victory or Treasure cards that are Kingdom cards.",
"text_icon": "B"
},
"cornucopia": {
"set_name": "Overvloed",
"set_text": "Autumn. It seemed like the summer would never end, but that fortune teller was right. It's over. Autumn, the time of the harvest. Agriculture has advanced significantly in recent years, ever since the discovery of the maxim, \"leaves of three, let it be.\" Autumn, a time of celebration. The peasants have spent a hard week scything hay in the fields, but tonight the festivities begin, starting with a sumptuous banquet of roast hay. Then, the annual nose-stealing competition. Then you have two jesters, one who always lies, one who always tells the truth, both hilariously. This celebration will truly have something for everyone.\nThis is the 5th addition to the game of <i>Dominion</i>. It adds 13 new Kingdom cards to <i>Dominion</i>, plus 5 unique cards. The central theme is variety; there are cards that reward you for having a variety of cards in your deck, in your hand, and in play, as well cards that help you get that variety.",
"text_icon": "O"
},
"cornucopia extras": {
"set_name": "Overvloed Extras",
"set_text": "",
"text_icon": "O"
},
"dark ages": {
"set_name": "De Donkere Middeleeuwen",
"set_text": "Times have been hard. To save on money, you've moved out of your old castle, and into a luxurious ravine. You didn't like that castle anyway; it was always getting looted, and never at a reasonable hour. And if it wasn't barbarians it was the plague, or sometimes both would come at once, and there wouldn't be enough chairs. The ravine is great; you get lots of sun, and you can just drop garbage wherever you want. In your free time you've taken up begging. Begging is brilliant conceptually, but tricky in practice, since no-one has any money. You beg twigs from the villagers, and they beg them back, but no-one really seems to come out ahead. That's just how life is sometimes. You're quietly conquering people, minding your own business, when suddenly there's a plague, or barbarians, or everyone's illiterate, and it's all you can do to cling to some wreckage as the storm passes through. Still, you are sure that, as always, you will triumph over this adversity, or at least do slightly better than everyone else.\nThis is the 7th addition to the game of <i>Dominion</i>. It adds 35 new Kingdom cards to <i>Dominion</i>, plus new bad cards you give to other players (Ruins), new cards to replace starting Estates (Shelters), and cards you can only get via specific other cards. The central themes are the trash and upgrading. There are cards that do something when trashed, cards that care about the trash, cards that upgrade themselves, and ways to upgrade other cards.",
"text_icon": "DM"
},
"dark ages extras": {
"set_name": "De Donkere Middeleeuwen Extras",
"set_text": "",
"text_icon": "DM"
},
"dominion1stEdition": {
"set_name": "Dominion 1st Edition",
"set_text": "You are a monarch, like your parents before you, a ruler of a small pleasant kingdom of rivers and evergreens. Unlike your parents, however, you have hopes and dreams! You want a bigger and more pleasant kingdom, with more rivers and a wider variety of trees. You want a Dominion! In all directions lie fiefs, freeholds, and feodums. All are small bits of land, controlled by petty lords and verging on anarchy. You will bring civilization to these people, uniting them under your banner.\nBut wait! It must be something in the air; several other monarchs have had the exact same idea. You must race to get as much of the unclaimed land as possible, fending them off along the way. To do this you will hire minions, construct buildings, spruce up your castle, and fill the coffers of your treasury. Your parents wouldn't be proud, but your grandparents, on your mother's side, would be delighted.",
"short_name": "Dominion",
"text_icon": "D1"
},
"dominion2ndEdition": {
"set_name": "Dominion 2nd Edition",
"set_text": "You are a monarch, like your parents before you, a ruler of a small pleasant kingdom of rivers and evergreens. Unlike your parents, however, you have hopes and dreams! You want a bigger and more pleasant kingdom, with more rivers and a wider variety of trees. You want a Dominion! In all directions lie fiefs, freeholds, and feodums. All are small bits of land, controlled by petty lords and verging on anarchy. You will bring civilization to these people, uniting them under your banner.\nBut wait! It must be something in the air; several other monarchs have had the exact same idea. You must race to get as much of the unclaimed land as possible, fending them off along the way. To do this you will hire minions, construct buildings, spruce up your castle, and fill the coffers of your treasury. Your parents wouldn't be proud, but your grandparents, on your mother's side, would be delighted.",
"short_name": "Dominion",
"text_icon": "D2"
},
"dominion2ndEditionUpgrade": {
"set_name": "Dominion 2nd Edition Upgrade",
"set_text": "This contains the seven new kingdom cards introduced in the second edition of <i>Dominion</i>, thereby allowing owners of the first edition to obtain these new cards without needing to repurchase the entire game.",
"short_name": "Dominion",
"text_icon": "D2"
},
"empires": {
"set_name": "Keizerrijken",
"set_text": "De wereld is te groot en jouw koninkrijk gigantish. Het is eigenlijk geen koninkrijk meer, maar een keizerrijk. Dat maakt jou dus een keizer, wat je het recht op een eigen stoel geeft, en je mag een salade naar jezelf noemen. Het is niet eenvoudig om keizer te zijn. De dag start vroeg als je het heilig vuur ontsteekt, waarna je uren moet vergaderen om uit te zoeken waarom het heilig vuur steeds dooft. Soms nemen je legers een continent over, maar je hebt geen idee waar je dat kwijt moet. En er is altijd het risico op sluipmoord: je hebt een voedselproever, die alles proeft voordat jij het eet en een pijlentester, die wordt gestoken voordat jij erdoor gestoken wordt. Je hebt je voorgenomen om thuis te blijven als het de Dag van bijna alles is. Maar over het algemeen is het een prima beroep. Je zou het nog niet tegen de wereld willen ruilen, vooral als je beseft welk groot deel van die wereld je al in je bezit hebt.",
"text_icon": "E"
},
"empires extras": {
"set_name": "Empires Extras",
"set_text": "",
"text_icon": "E"
},
"extras": {
"set_name": "Extras",
"set_text": "",
"text_icon": "X"
},
"guilds": {
"set_name": "Gilden",
"set_text": "Jobs, everyones worried about jobs. Whatever happened to tilling the fields in obscurity? The economy is just a trick, like stealing someone's nose, but lately people seem to have seen through it, like when you realize someone hasnt really stolen your nose. So now everyones joining a guild, learning a craft, and working on a masterpiece - a painting so beautiful it blinds you, or a cheese grater so amazing that you never eat cheese again. The only people left tilling the fields are the ones doing it ironically. The guilds cover everything - ironic tilling, butchering, baking, candlestick making, shoemaking, cheesemaking, cheese destruction. Your advisor is convinced that somehow, control of the stonecutters is key to world domination. Very well. You will have stone handled so expertly that the world trembles before you.\nThis is the 8th addition to the game of <i>Dominion</i>. It adds 13 new Kingdom cards to <i>Dominion</i>. It has coin tokens that you can save to spend later, and cards you can get more out of by paying extra for them.",
"text_icon": "G"
},
"hinterlands": {
"set_name": "Achterland",
"set_text": "The world is big and your kingdom small. Small when compared to the world, that is; its moderate-sized when compared to other kingdoms. But in a big world like this one - big when compared to smaller worlds anyway, if such things exist; its moderate-sized when compared to worlds of roughly the same size, and a little small when compared to worlds just a little larger - well, to make a long story short - short when compared to longer stories anyway - it is time to stretch your borders. Youve heard of far-off places - exotic countries, where they have pancakes but not waffles, where the people wear the wrong number of shirts, and dont even have a word for the look two people give each other when they each hope that the other will do something that they both want done but which neither of them wants to do. It is to these lands that you now turn your gaze.\nThis is the 6th addition to the game of <i>Dominion</i>. It adds 26 new Kingdom cards to <i>Dominion</i>, including 20 Actions, 3 Treasures, 3 Victory cards, and 3 Reactions. The central theme is cards that do something immediately when you buy them or gain them.",
"text_icon": "Ac"
},
"intrigue1stEdition": {
"set_name": "Intrige 1st Edition",
"set_text": "Something's afoot. The steward smiles at you like he has a secret, or like he thinks you have a secret, or like you think he thinks you have a secret. There are secret plots brewing, you're sure of it. At the very least, there are yours. A passing servant murmurs, \"The eggs are on the plate.\" You frantically search your codebook for the translation before realizing he means that breakfast is ready. Excellent. Everything is going according to plan.\n<i>Dominion: Intrigue</i> adds rules for playing with up to 8 players at two tables or for playing a single game with up to 6 players when combined with <i>Dominion</i>. This game adds 25 new Kingdom cards and a complete set of Treasure and Victory cards. The game can be played alone by players experienced in <i>Dominion</i> or with the basic game of <i>Dominion</i>.",
"short_name": "Intrige",
"text_icon": "I1"
},
"intrigue2ndEdition": {
"set_name": "Intrige 2nd Edition",
"set_text": "Something's afoot. The steward smiles at you like he has a secret, or like he thinks you have a secret, or like you think he thinks you have a secret. There are secret plots brewing, you're sure of it. At the very least, there are yours. A passing servant murmurs, \"The eggs are on the plate.\" You frantically search your codebook for the translation before realizing he means that breakfast is ready. Excellent. Everything is going according to plan.\n<i>Dominion: Intrigue (Second Edition)</i>, an expansion for <i>Dominion</i> or <i>Dominion (Second Edition)</i>, contains 26 Kingdom card types that can be used with the base game, while also adding rules for playing with up to eight players at two tables or for playing a single game with up to six players.\n<i>Dominion: Intrigue (Second Edition)</i> replaces six Kingdom card types from the first edition with six new types of Kingdom cards, while also replacing the blank cards in that item with a seventh new Kingdom card; these new cards are also available on their own in the <i>Dominion: Intrigue Update Pack</i>. In addition, the rulebook has been rewritten, one card has had a mild functional change (Masquerade skips players with no cards in hand), and other cards have received updated wording while remaining functionally the same.",
"short_name": "Intrige",
"text_icon": "I2"
},
"intrigue2ndEditionUpgrade": {
"set_name": "Intrige 2nd Edition Upgrade",
"set_text": "This contains the seven new kingdom cards introduced in the second edition of <i>Dominion: Intrigue</i>, thereby allowing owners of the first edition to obtain these new cards without needing to repurchase the entire game.",
"short_name": "Intrige",
"text_icon": "I2"
},
"nocturne": {
"set_name": "Nocturne",
"set_text": "You've always been a night person; lately you've even considered becoming a vampire. There are a lot of advantages: you don't age; you don't have to see yourself in mirrors anymore; if someone asks you to do something, you can just turn into a bat, and then say, sorry, I'm a bat. There are probably some downsides though. You always think of the statue in the town square that came to life and now works as the tavern barmaid. The pedestal came to life too, so she has to hop around. The village blacksmith turns into a wolf whenever there's a full moon; when there's a crescent moon, he turns into a chihuahua. That's how this stuff goes sometimes. Still, when you breathe in the night air, you feel ready for anything.\n<i>Dominion: Nocturne</i>, the 11th expansion to <i>Dominion</i>, has 500 cards, with 33 new Kingdom cards. There are Night cards, which are played after the Buy phase; Heirlooms that replace starting Coppers; Fate and Doom cards that give out Boons and Hexes; and a variety of extra cards that other cards can provide.",
"short_name": "Nocturne",
"text_icon": "N"
},
"nocturne extras": {
"set_name": "Nocturne Extras",
"set_text": "",
"text_icon": "N"
},
"promo": {
"set_name": "Promo",
"set_text": "Promotional cards are official <i>Dominion</i> kingdom cards and Events which do not belong to any particular set. They are typically either released to help promote <i>Dominion</i> at conventions (such as Origins or GenCon), or to commemorate the anniversary of another game in order to help promote both.",
"text_icon": "Pm"
},
"prosperity": {
"set_name": "Welvaart",
"set_text": "Ah, money. There's nothing like the sound of coins clinking in your hands. You vastly prefer it to the sound of coins clinking in someone else's hands, or the sound of coins just sitting there in a pile that no-one can quite reach without getting up. Getting up, that's all behind you now. Life has been good to you. Just ten years ago, you were tilling your own fields in a simple straw hat. Today, your kingdom stretches from sea to sea, and your straw hat is the largest the world has ever known. You also have the world's smallest dog, and a life-size statue of yourself made out of baklava. Sure, money can't buy happiness, but it can buy envy, anger, and also this kind of blank feeling. You still have problems - troublesome neighbors that must be conquered. But this time, you'll conquer them in style.\nThis is the 4th addition to the game of <i>Dominion</i>. It adds 25 new Kingdom cards to <i>Dominion</i>, plus 2 new Basic cards that let players keep building up past Gold and Province. The central theme is wealth; there are treasures with abilities, cards that interact with treasures, and powerful expensive cards.",
"text_icon": "W"
},
"renaissance": {
"set_name": "Renaissance",
"set_text": "It's a momentous time. Art has been revolutionized by the invention of \"perspective,\" and also of \"funding.\" A picture used to be worth a dozen or so words; these new ones are more like a hundred. Oil paintings have gotten so realistic that you've hired an artist to do a portrait of you each morning, so you can make sure your hair is good. Busts have gotten better too; no more stopping at the shoulders, they go all the way to the ground. Science and medicine have advanced; there's no more superstition, now they know the perfect number of leeches to apply for each ailment. You have a clock accurate to within an hour, and a calendar accurate to within a week. Your physician heals himself, and your barber cuts his own hair. This is truly a golden age.\nThis is the 12th expansion to <i>Dominion</i>. It has 300 cards, with 25 new Kingdom cards. There are tokens that let you save coins and actions for later, Projects that grant abilities, and Artifacts to fight over.",
"text_icon": "R"
},
"seaside": {
"set_name": "Hijs De Zeilen",
"set_text": "All you ask is a tall ship and a star to steer her by. And someone who knows how to steer ships using stars. You finally got some of those rivers you'd wanted, and they led to the sea. These are dangerous, pirate-infested waters, and you cautiously send rat-infested ships across them, to establish lucrative trade at far-off merchant-infested ports. First, you will take over some islands, as a foothold. The natives seem friendly enough, crying their peace cries, and giving you spears and poison darts before you are even close enough to accept them properly. When you finally reach those ports you will conquer them, and from there you will look for more rivers. One day, all the rivers will be yours.\nThis is the 2nd addition to <i>Dominion</i>. It adds 26 new Kingdom cards to <i>Dominion</i>. Its central theme is your next turn; there are cards that do something this turn and next, cards that set up your next turn, and other ways to step outside of the bounds of a normal turn.",
"text_icon": "HZ"
}
}

View File

@ -0,0 +1,38 @@
{
"Action": "Actie",
"Artifact": "Artifact",
"Attack": "Aanval",
"Blank": "Blank",
"Boon": "Boon",
"Castle": "Kasteel",
"Curse": "Vloek",
"Doom": "Doom",
"Duration": "Duratie",
"Event": "Gebeurtenis",
"Events": "Gebeurtenissen",
"Expansion": "Uitbreiding",
"Fate": "Fate",
"Gathering": "Verzamel",
"Heirloom": "Heirloom",
"Hex": "Hex",
"Landmark": "Bezienswaardigheid",
"Landmarks": "Bezienswaardigheden",
"Looter": "Plunderaar",
"Night": "Night",
"Prize": "Prijs",
"Prizes": "Prijzen",
"Project": "Project",
"Reaction": "Reactie",
"Reserve": "Reserve",
"Ruins": "Ruïne",
"Shelter": "Onderdak",
"Shelters": "Onderdakkaarten",
"Spirit": "Spirit",
"Start Deck": "Start Deck",
"State": "State",
"Trash": "Vernietigde Kaarten",
"Traveller": "Traveller",
"Treasure": "Geld",
"Victory": "Overwinning",
"Zombie": "Zombie"
}

271
card_db_src/sets_db.json Normal file
View File

@ -0,0 +1,271 @@
{
"adventures": {
"edition": [
"1",
"latest"
],
"image": "adventures_set.png",
"set_name": "*adventures*",
"set_text": "",
"text_icon": "*"
},
"adventures extras": {
"edition": [
"1",
"latest"
],
"image": "adventures_set.png",
"no_randomizer": true,
"set_name": "*adventures extras*",
"set_text": "",
"text_icon": "*"
},
"alchemy": {
"edition": [
"1",
"latest"
],
"image": "alchemy_set.png",
"set_name": "*alchemy*",
"set_text": "",
"text_icon": "*"
},
"animals": {
"edition": [
"1",
"latest"
],
"fan": true,
"image": "animals.png",
"set_name": "*animals*",
"set_text": "",
"text_icon": "*"
},
"base": {
"edition": [
"1",
"2",
"latest"
],
"image": "",
"no_randomizer": true,
"set_name": "*base*",
"set_text": "",
"text_icon": "*"
},
"cornucopia": {
"edition": [
"1",
"latest"
],
"image": "cornucopia_set.png",
"set_name": "*cornucopia*",
"set_text": "",
"text_icon": "*"
},
"cornucopia extras": {
"edition": [
"1",
"latest"
],
"image": "cornucopia_set.png",
"no_randomizer": true,
"set_name": "*cornucopia extras*",
"set_text": "",
"text_icon": "*"
},
"dark ages": {
"edition": [
"1",
"latest"
],
"image": "dark_ages_set.png",
"set_name": "*dark ages*",
"set_text": "",
"text_icon": "*"
},
"dark ages extras": {
"edition": [
"1",
"latest"
],
"image": "dark_ages_set.png",
"no_randomizer": true,
"set_name": "*dark ages extras*",
"set_text": "",
"text_icon": "*"
},
"dominion1stEdition": {
"edition": [
"1"
],
"image": "dominion1stEdition_set.png",
"set_name": "*dominion1stEdition*",
"set_text": "",
"short_name": "Dominion",
"text_icon": "*"
},
"dominion2ndEdition": {
"edition": [
"2",
"latest"
],
"image": "dominion2ndEdition_set.png",
"set_name": "*dominion2ndEdition*",
"set_text": "",
"short_name": "Dominion",
"text_icon": "*"
},
"dominion2ndEditionUpgrade": {
"edition": [
"1"
],
"image": "dominion2ndEdition_set.png",
"set_name": "*dominion2ndEditionUpgrade*",
"set_text": "",
"text_icon": "*"
},
"empires": {
"edition": [
"1",
"latest"
],
"image": "empires_set.png",
"set_name": "*empires*",
"set_text": "",
"text_icon": "*"
},
"empires extras": {
"edition": [
"1",
"latest"
],
"image": "empires_set.png",
"no_randomizer": true,
"set_name": "*empires extras*",
"set_text": "",
"text_icon": "*"
},
"extras": {
"edition": [
"1",
"latest"
],
"image": "",
"no_randomizer": true,
"set_name": "*extras*",
"set_text": "",
"text_icon": "*"
},
"guilds": {
"edition": [
"1",
"latest"
],
"image": "guilds_set.png",
"set_name": "*guilds*",
"set_text": "",
"text_icon": "*"
},
"hinterlands": {
"edition": [
"1",
"latest"
],
"image": "hinterlands_set.png",
"set_name": "*hinterlands*",
"set_text": "",
"text_icon": "*"
},
"intrigue1stEdition": {
"edition": [
"1"
],
"image": "intrigue1stEdition_set.png",
"set_name": "*intrigue1stEdition*",
"set_text": "",
"short_name": "Intrigue",
"text_icon": "*"
},
"intrigue2ndEdition": {
"edition": [
"2",
"latest"
],
"image": "intrigue2ndEdition_set.png",
"set_name": "*intrigue2ndEdition*",
"set_text": "",
"short_name": "Intrigue",
"text_icon": "*"
},
"intrigue2ndEditionUpgrade": {
"edition": [
"1"
],
"image": "intrigue2ndEdition_set.png",
"set_name": "*intrigue2ndEditionUpgrade*",
"set_text": "",
"text_icon": "*"
},
"nocturne": {
"edition": [
"1",
"latest"
],
"image": "nocturne_set.png",
"set_name": "*nocturne*",
"set_text": "",
"text_icon": "*"
},
"nocturne extras": {
"edition": [
"1",
"latest"
],
"image": "nocturne_set.png",
"no_randomizer": true,
"set_name": "*nocturne extras*",
"set_text": "",
"text_icon": "*"
},
"promo": {
"edition": [
"1",
"latest"
],
"image": "promo_set.png",
"set_name": "*promo*",
"set_text": "",
"text_icon": "*"
},
"prosperity": {
"edition": [
"1",
"latest"
],
"image": "prosperity_set.png",
"set_name": "*prosperity*",
"set_text": "",
"text_icon": "*"
},
"renaissance": {
"edition": [
"1",
"latest"
],
"image": "renaissance_set.png",
"set_name": "*renaissance*",
"set_text": "",
"text_icon": "*"
},
"seaside": {
"edition": [
"1",
"latest"
],
"image": "seaside_set.png",
"set_name": "*seaside*",
"set_text": "",
"text_icon": "*"
}
}

180
card_db_src/translation.md Normal file
View File

@ -0,0 +1,180 @@
# Translation Instructions
## File Format
/card_db/
xx/
bonuses_xx.json
cards_xx.json
sets_xx.json
types_xx.json
where xx is ISO 639-1 standard language code in lower case with under bar '_' replacing dash '-'
Please rename the directory and the files to match the language you are providing.
## Character encoding
The files:
bonuses_xx.json
cards_xx.json
sets_xx.json
types_xx.json
must be encoded in ISO 8859-15, also known as "Latin alphabet no. 9"
This character set is used throughout the Americas, Western Europe, Oceania, and much of Africa.
It is also commonly used in most standard romanizations of East-Asian languages.
If you have a language that is not supported by ISO 8859-15 please contact the developers by [creating a new issue](https://github.com/sumpfork/dominiontabs/issues/new).
## Anatomy of sets_xx.json
Entries in this file represent Dominion sets/expansions. A typical entry looks like:
"alchemy": {
"set_name": "Alchimia",
"text_icon": "Al"
},
- The set key word (e.g., `alchemy` for the above entry) MUST NOT BE CHANGED. This value is used to identify the translation entry.
- The key word `set_name` MUST NOT BE CHANGED, but the value after the `:` should be changed to the name of the set in the target language.
- The key word `text_icon` MUST NOT BE CHANGED, but the value after the `:` should be a one or two letter identifier to be used by the set if the set graphics are not displayed. This is usually the first letter of the set name in the target language.
- Do not change any punctuation outside of the quotes `"`. For example, brackets `{` or `}`, colons `:`, quotes `"` or commas `,`.
## Anatomy of bonuses_xx.json
Entries in this file represent Dominion bonuses. A typical entry looks like:
"exclude": [
"token",
"Tokens"
],
"include": [
"Coins",
"Coin",
"Cards",
"Card",
"Buys",
"Buy",
"Actions",
"Action",
"<VP>"
]
The items in the `include` list are items that will be marked **bold** (i.e., `<b>..</b>`)
when found in the card text in the following format:
`+# item_from_include_list`
as long as this is not followed by a item from the `exclude` list.
For example in English:
`+2 Buys` will be made bold, but
`+1 Action token` will not, since the key word token follows.
- Just replace the English terms with the terms used in the target language.
- Generally you should include the singular as well as the plural version of the term.
- English versions do not need to be duplicated, since they are used automatically.
- The key words `exclude` and `include` MUST NOT BE CHANGED.
- Do not change any punctuation outside of the quotes `"`. For example, brackets `{` or `}`, colons `:`, quotes `"` or commas `,`.
## Anatomy of types_xx.json
Entries in this file represent Dominion card types. A typical entry looks like:
"Action": "Action in new language",
- The type key word (i.e., the `Action` for the above entry) MUST NOT BE CHANGED. This value is used to identify the translation entry.
- Do not change any punctuation outside of the quotes `"`. For example, brackets `{` or `}`, colons `:`, quotes `"` or commas `,`.
## Anatomy of cards_xx.json
Entries in this file represent Dominion cards, and groups of cards. A typical entry looks like:
"Gold": {
"description": "Worth 3 Coins.",
"extra": "30 cards per game.",
"name": "Gold",
"untranslated" : "description, extra, name"
},
- The card key word (e.g., `Gold` for the above entry) MUST NOT BE CHANGED. This value is used to identify the translation entry.
- The key word `name` MUST NOT BE CHANGED, but the value after the `:` should be changed to the name of the card in the target language.
- The key word `description` MUST NOT BE CHANGED, but the value after the `:` should be changed to the card text in the target language.
- The key word `extra` MUST NOT BE CHANGED, but the value after the `:` should be changed to any extra rules or explanations for the card in the target language. If you purposely want no extra text, enter `""`.
- The key word `untranslated` MUST NOT BE CHANGED, but the value after the `:` should be changed. Removed any key word for which you have provided a translation.
For example:
- if you provided the `name` of the card, and only the `name`, then change to `description, extra`
- if you provided the `name` of the card and it's `description`, but have not translated the `extra`, then change to `extra`
- if you provided all 3 entries, then change to `""`
The "untranslated" entry is used during maintanance of the language files to update any remaining default language entries that might have changed.
## Special Text
These character sequences have special meaning in the "description" and "extra" text:
- `<b>` ... `</b>` for **bold**
- `<i>` ... `</i>` for *italics*
- `<u>` ... `</u>` for underline
- `<tab>` and `<t>` and `\t` to add a tab (4 spaces)
- `<n>` and `\n` for a "hard new line"
- `<br>` and `<br/>` and `<br />` for a "soft new line"
- `<c>` and `<center>` add hard new line and center text until the next hard new line
- `<l>` and `<left>` add hard new line and left align text until the next hard new line
- `<r>` and `<right>` add hard new line and right align text until the next hard new line
- `<j>` and `<justify>` add hard new line and justify align text until the next hard new line
- `<line>` to add a hard new line, a centered dividing line, and a trailing hard new line
Hard new lines (`\n` and `<n>`), will reset the paragraph formatting back to the default.
Soft new lines will insert a new line, but will continue the current formatting.
The `description` will be default to "center" text.
The `extra` will default to "justify" text.
## Special Images
Special character sequences are recognized by the program to substitute graphics in the text. These include:
- `<VP>` and ` VP ` for a Victory Point graphic
- `Potion` for a small Potion graphic
- `# Coin` where # is a number 0 - 13, a question mark `?`, `_`, or the letters `empty` for a small coin graphic with the # on top
- `# Coins` where # is a number 0 - 13, a question mark `?`, `_`, or the letters `empty` for a small coin graphic with the # on top
- `# coin` where # is a number 0 - 13, a question mark `?`, `_`, or the letters `empty` for a small coin graphic with the # on top
- `# coins` where # is a number 0 - 13, a question mark `?`, `_`, or the letters `empty` for a small coin graphic with the # on top
- `# Debt` where # is a number 0 - 13, for a small debt graphic with the # on top
- `# <*COIN*>` where # is a number 0 - 13, will produce a large coin graphic with the # on top
- `# <*VP*>` where # is a number, will produce a large Victory Point graphic with the # before it
- `# <*POTION*>` where # is a number, will produce a large Potion graphic with the # before it
For example:
- the text `1 coin` would produce a graphic of a coin with the number 1 on top.
- the text `empty coin` and `_ coin` would produce a graphic of only a coin.
IMPORTANT: To keep the special images, please do not translate any of the above Special character sequences into the target language.
## Style Guide
- If bonuses_xx.json for the target language is configured correctly, bonuses within the text will automatically be bolded.
In English, it will not bold the text if it is followed by `token` or `Token`. Example:
`Choose one: +3 Cards; or +2 Actions.` will bold `+3 Cards` and `+2 Actions`.
- Bonuses should be listed in the following order:
* `+ Cards`,
* `+ Actions`,
* `+ Buys`,
* `+ Coins`,
* `+ <VP>`
- When possible, bonuses should be listed vertically and centered. Examples:
* `+1 Card<br>+1 Action<br>+1 Buy<br>+1 Coin<br>+2 <VP><n>`
* `+1 Card\n+1 Action\n+1 Buy\n+1 Coin\n+2 <VP>\n`
The `description` field by default is centered. `<br>`, `<n>`, and `\n` will all provide new lines.
- If a Dividers/Tab has more than one card explanation, if space permits, try to mimic a stand alone Dividers/Tab in the overall format. Example from "Settlers - Bustling Village":
`<left><u>Settlers</u>:<n>+1 Card<br>+1 Action<n>Look through your discard pile.
You may reveal a Copper from it and put it into your hand.<n>
<left><u>Bustling Village</u>:<n><center>+1 Card<br>+3 Actions<n>
Look through your discard pile. You may reveal a Settlers from it and put it into your hand.`

614
card_db_src/types_db.json Normal file
View File

@ -0,0 +1,614 @@
[
{
"card_type": [
"Action"
],
"card_type_image": "action.png",
"defaultCardCount": 10,
"tabCostHeightOffset": -1,
"tabTextHeightOffset": 0
},
{
"card_type": [
"Action",
"Attack"
],
"card_type_image": "action.png",
"defaultCardCount": 10,
"tabCostHeightOffset": -1,
"tabTextHeightOffset": 0
},
{
"card_type": [
"Action",
"Attack",
"Doom"
],
"card_type_image": "action.png",
"defaultCardCount": 10,
"tabCostHeightOffset": -1,
"tabTextHeightOffset": 0
},
{
"card_type": [
"Action",
"Attack",
"Duration"
],
"card_type_image": "duration.png",
"defaultCardCount": 10,
"tabCostHeightOffset": -1,
"tabTextHeightOffset": 0
},
{
"card_type": [
"Action",
"Attack",
"Looter"
],
"card_type_image": "action.png",
"defaultCardCount": 10,
"tabCostHeightOffset": -1,
"tabTextHeightOffset": 0
},
{
"card_type": [
"Action",
"Attack",
"Night",
"Doom"
],
"card_type_image": "action.png",
"defaultCardCount": 10,
"tabCostHeightOffset": -1,
"tabTextHeightOffset": 0
},
{
"card_type": [
"Action",
"Attack",
"Prize"
],
"card_type_image": "action.png",
"defaultCardCount": 1,
"tabCostHeightOffset": -1,
"tabTextHeightOffset": 0
},
{
"card_type": [
"Action",
"Attack",
"Traveller"
],
"card_type_image": "action.png",
"defaultCardCount": 5,
"tabCostHeightOffset": -1,
"tabTextHeightOffset": 0
},
{
"card_type": [
"Action",
"Doom"
],
"card_type_image": "action.png",
"defaultCardCount": 10,
"tabCostHeightOffset": -1,
"tabTextHeightOffset": 0
},
{
"card_type": [
"Action",
"Duration"
],
"card_type_image": "duration.png",
"defaultCardCount": 10,
"tabCostHeightOffset": -1,
"tabTextHeightOffset": 0
},
{
"card_type": [
"Action",
"Duration",
"Reaction"
],
"card_type_image": "duration-reaction.png",
"defaultCardCount": 10,
"tabCostHeightOffset": -1,
"tabTextHeightOffset": 0
},
{
"card_type": [
"Action",
"Fate"
],
"card_type_image": "action.png",
"defaultCardCount": 10,
"tabCostHeightOffset": -1,
"tabTextHeightOffset": 0
},
{
"card_type": [
"Action",
"Gathering"
],
"card_type_image": "action.png",
"defaultCardCount": 10,
"tabCostHeightOffset": -1,
"tabTextHeightOffset": 0
},
{
"card_type": [
"Action",
"Looter"
],
"card_type_image": "action.png",
"defaultCardCount": 10,
"tabCostHeightOffset": -1,
"tabTextHeightOffset": 0
},
{
"card_type": [
"Action",
"Prize"
],
"card_type_image": "action.png",
"defaultCardCount": 1,
"tabCostHeightOffset": -1,
"tabTextHeightOffset": 0
},
{
"card_type": [
"Action",
"Reaction"
],
"card_type_image": "reaction.png",
"defaultCardCount": 10,
"tabCostHeightOffset": -1,
"tabTextHeightOffset": 0
},
{
"card_type": [
"Action",
"Reserve"
],
"card_type_image": "reserve.png",
"defaultCardCount": 10,
"tabCostHeightOffset": -1,
"tabTextHeightOffset": 0
},
{
"card_type": [
"Action",
"Reserve",
"Victory"
],
"card_type_image": "reserve-victory.png",
"defaultCardCount": 12,
"tabCostHeightOffset": -1,
"tabTextHeightOffset": 0
},
{
"card_type": [
"Action",
"Ruins"
],
"card_type_image": "ruins.png",
"defaultCardCount": 10,
"tabCostHeightOffset": 1,
"tabTextHeightOffset": 0
},
{
"card_type": [
"Action",
"Shelter"
],
"card_type_image": "action-shelter.png",
"defaultCardCount": 6,
"tabCostHeightOffset": -1,
"tabTextHeightOffset": 0
},
{
"card_type": [
"Action",
"Spirit"
],
"card_type_image": "action.png",
"defaultCardCount": 10,
"tabCostHeightOffset": -1,
"tabTextHeightOffset": 0
},
{
"card_type": [
"Action",
"Traveller"
],
"card_type_image": "action.png",
"defaultCardCount": 5,
"tabCostHeightOffset": -1,
"tabTextHeightOffset": 0
},
{
"card_type": [
"Action",
"Treasure"
],
"card_type_image": "action-treasure.png",
"defaultCardCount": 10,
"tabCostHeightOffset": -1,
"tabTextHeightOffset": 0
},
{
"card_type": [
"Action",
"Victory"
],
"card_type_image": "action-victory.png",
"defaultCardCount": 12,
"tabCostHeightOffset": -1,
"tabTextHeightOffset": 0
},
{
"card_type": [
"Action",
"Zombie"
],
"card_type_image": "action.png",
"defaultCardCount": 10,
"tabCostHeightOffset": -1,
"tabTextHeightOffset": 0
},
{
"card_type": [
"Artifact"
],
"card_type_image": "artifact.png",
"defaultCardCount": 1,
"tabCostHeightOffset": -1,
"tabTextHeightOffset": 0
},
{
"card_type": [
"Blank"
],
"card_type_image": "",
"defaultCardCount": 10,
"tabCostHeightOffset": -1,
"tabTextHeightOffset": 0
},
{
"card_type": [
"Boon"
],
"card_type_image": "boon.png",
"defaultCardCount": 1,
"tabCostHeightOffset": -1,
"tabTextHeightOffset": 0
},
{
"card_type": [
"Curse"
],
"card_type_image": "curse.png",
"defaultCardCount": 30,
"tabCostHeightOffset": -1,
"tabTextHeightOffset": 3
},
{
"card_type": [
"Event"
],
"card_type_image": "event.png",
"defaultCardCount": 1,
"tabCostHeightOffset": -1,
"tabTextHeightOffset": 0
},
{
"card_type": [
"Events"
],
"card_type_image": "event.png",
"defaultCardCount": 0,
"tabCostHeightOffset": -1,
"tabTextHeightOffset": 0
},
{
"card_type": [
"Expansion"
],
"card_type_image": "expansion.png",
"defaultCardCount": 0,
"tabCostHeightOffset": -1,
"tabTextHeightOffset": 4
},
{
"card_type": [
"Hex"
],
"card_type_image": "hex.png",
"defaultCardCount": 1,
"tabCostHeightOffset": -1,
"tabTextHeightOffset": 0
},
{
"card_type": [
"Landmark"
],
"card_type_image": "landmark.png",
"defaultCardCount": 1,
"tabCostHeightOffset": -1,
"tabTextHeightOffset": 0
},
{
"card_type": [
"Landmarks"
],
"card_type_image": "landmark.png",
"defaultCardCount": 0,
"tabCostHeightOffset": -1,
"tabTextHeightOffset": 0
},
{
"card_type": [
"Night"
],
"card_type_image": "night.png",
"defaultCardCount": 10,
"tabCostHeightOffset": -1,
"tabTextHeightOffset": 0
},
{
"card_type": [
"Night",
"Attack",
"Doom"
],
"card_type_image": "night.png",
"defaultCardCount": 10,
"tabCostHeightOffset": -1,
"tabTextHeightOffset": 0
},
{
"card_type": [
"Night",
"Duration"
],
"card_type_image": "duration.png",
"defaultCardCount": 10,
"tabCostHeightOffset": -1,
"tabTextHeightOffset": 0
},
{
"card_type": [
"Night",
"Duration",
"Attack"
],
"card_type_image": "duration.png",
"defaultCardCount": 10,
"tabCostHeightOffset": -1,
"tabTextHeightOffset": 0
},
{
"card_type": [
"Night",
"Duration",
"Spirit"
],
"card_type_image": "duration.png",
"defaultCardCount": 10,
"tabCostHeightOffset": -1,
"tabTextHeightOffset": 0
},
{
"card_type": [
"Prize"
],
"card_type_image": "action.png",
"defaultCardCount": 1,
"tabCostHeightOffset": -1,
"tabTextHeightOffset": 0
},
{
"card_type": [
"Prizes"
],
"card_type_image": "action.png",
"defaultCardCount": 0,
"tabCostHeightOffset": -1,
"tabTextHeightOffset": 0
},
{
"card_type": [
"Project"
],
"card_type_image": "project.png",
"defaultCardCount": 1,
"tabCostHeightOffset": -1,
"tabTextHeightOffset": 0
},
{
"card_type": [
"Reaction"
],
"card_type_image": "reaction.png",
"defaultCardCount": 10,
"tabCostHeightOffset": -1,
"tabTextHeightOffset": 0
},
{
"card_type": [
"Reaction",
"Shelter"
],
"card_type_image": "reaction-shelter.png",
"defaultCardCount": 6,
"tabCostHeightOffset": -1,
"tabTextHeightOffset": 0
},
{
"card_type": [
"Shelters"
],
"card_type_image": "shelter.png",
"defaultCardCount": 0,
"tabCostHeightOffset": -1,
"tabTextHeightOffset": 0
},
{
"card_type": [
"Start Deck"
],
"card_type_image": "action.png",
"defaultCardCount": 0,
"tabCostHeightOffset": -1,
"tabTextHeightOffset": 0
},
{
"card_type": [
"State"
],
"card_type_image": "state.png",
"defaultCardCount": 1,
"tabCostHeightOffset": -1,
"tabTextHeightOffset": 0
},
{
"card_type": [
"Trash"
],
"card_type_image": "action.png",
"defaultCardCount": 1,
"tabCostHeightOffset": -1,
"tabTextHeightOffset": 0
},
{
"card_type": [
"Treasure"
],
"card_type_image": "treasure.png",
"defaultCardCount": 10,
"tabCostHeightOffset": 0,
"tabTextHeightOffset": 3
},
{
"card_type": [
"Treasure",
"Attack"
],
"card_type_image": "treasure.png",
"defaultCardCount": 10,
"tabCostHeightOffset": -1,
"tabTextHeightOffset": 0
},
{
"card_type": [
"Treasure",
"Attack",
"Fate"
],
"card_type_image": "treasure.png",
"defaultCardCount": 10,
"tabCostHeightOffset": -1,
"tabTextHeightOffset": 0
},
{
"card_type": [
"Treasure",
"Heirloom"
],
"card_type_image": "treasure.png",
"defaultCardCount": 6,
"tabCostHeightOffset": -1,
"tabTextHeightOffset": 0
},
{
"card_type": [
"Treasure",
"Prize"
],
"card_type_image": "treasure.png",
"defaultCardCount": 1,
"tabCostHeightOffset": 0,
"tabTextHeightOffset": 3
},
{
"card_type": [
"Treasure",
"Reaction"
],
"card_type_image": "treasure-reaction.png",
"defaultCardCount": 10,
"tabCostHeightOffset": 1,
"tabTextHeightOffset": 0
},
{
"card_type": [
"Treasure",
"Reserve"
],
"card_type_image": "reserve-treasure.png",
"defaultCardCount": 10,
"tabCostHeightOffset": -1,
"tabTextHeightOffset": 0
},
{
"card_type": [
"Treasure",
"Victory"
],
"card_type_image": "treasure-victory.png",
"defaultCardCount": 12,
"tabCostHeightOffset": -1,
"tabTextHeightOffset": 0
},
{
"card_type": [
"Treasure",
"Victory",
"Heirloom"
],
"card_type_image": "treasure-victory.png",
"defaultCardCount": 6,
"tabCostHeightOffset": -1,
"tabTextHeightOffset": 0
},
{
"card_type": [
"Victory"
],
"card_type_image": "victory.png",
"defaultCardCount": 12,
"tabCostHeightOffset": -1,
"tabTextHeightOffset": 0
},
{
"card_type": [
"Victory",
"Castle"
],
"card_type_image": "victory.png",
"defaultCardCount": 12,
"tabCostHeightOffset": -1,
"tabTextHeightOffset": 0
},
{
"card_type": [
"Victory",
"Reaction"
],
"card_type_image": "victory-reaction.png",
"defaultCardCount": 12,
"tabCostHeightOffset": 1,
"tabTextHeightOffset": 0
},
{
"card_type": [
"Victory",
"Shelter"
],
"card_type_image": "victory-shelter.png",
"defaultCardCount": 6,
"tabCostHeightOffset": -1,
"tabTextHeightOffset": 0
}
]

View File

@ -0,0 +1,21 @@
{
"exclude": [
"token",
"Tokens"
],
"include": [
"Coins",
"Coin",
"Cards",
"Card",
"Buys",
"Buy",
"Actions",
"Action",
"Coffer",
"Coffers",
"Villager",
"Villagers",
"<VP>"
]
}

3206
card_db_src/xx/cards_xx.json Normal file

File diff suppressed because it is too large Load Diff

139
card_db_src/xx/sets_xx.json Normal file
View File

@ -0,0 +1,139 @@
{
"adventures": {
"set_name": "Adventures",
"set_text": "Life is either a daring adventure or nothing. You're not sure which, but at least you've narrowed it down. You are rich with life experiences, but have had trouble trading them for goods and services. It's time to seek your fortune, or anyone's really, whoever's is closest. To the west there's a land of milk and honey, full of giant bees and monstrous cows. To the east, a land of eggs and licorice. To the north, treacherous swamps; to the south, loyal jungles. But all of them have been thoroughly pillaged. You've heard legends though of a fifth direction, as yet unspoiled, with its treasures conveniently gathered into troves. You have your sword and your trail mix, handed down from your father, and his father before him. You've recruited some recruits and hired some hirelings; you've shined your armor and distressed a damsel. You put up a sign saying \"Gone Adventuring.\" Then you put up another sign, saying \"Beware of Dog,\" in case people get any ideas. You're ready. You saddle up your trusty steed, and head florst.\nThis is the 9th addition to the game of <i>Dominion</i>. It has 400 cards, 6 mats, and 60 tokens. There are 30 new Kingdom cards, including the return of Duration cards that do things on future turns, plus Reserve cards that can be saved for the right moment. There are also 20 Event cards that give you something to buy besides cards, including tokens that modify cards.",
"text_icon": "Ad"
},
"adventures extras": {
"set_name": "Adventures Extras",
"set_text": "",
"text_icon": "Ad"
},
"alchemy": {
"set_name": "Alchemy",
"set_text": "There are strange things going on in your basement laboratories. They keep calling up for more barrels of quicksilver, or bits of your hair. Well it's all in the name of progress. They're looking for a way to turn lead into gold, or at least into something better than lead. That lead had just been too good of a bargain to pass up; you didn't think, where will I put all this lead, what am I going to do with this lead anyway. Well that will all be sorted out. They're also looking for a universal solvent. If they manage that one, you will take whatever they use to hold it in and build a castle out of it. A castle that can't be dissolved! Now that's progress.\nThis is the 3rd addition to <i>Dominion</i>.",
"text_icon": "A"
},
"animals": {
"set_name": "Animals",
"set_text": "<i>Dominion: Animals</i> is a fan created expansion for the card game <i>Dominion</i>. It contains three new kingdom cards: \"Rabbits\", \"Yard dog\", and \"Gray Mustang\".\nSee https://boardgamegeek.com/boardgameexpansion/203184/animals-expansion-mini-fan-expansion-dominion.",
"text_icon": "An"
},
"base": {
"set_name": "Base",
"set_text": "This is all the basic Victory, Treasure, and Curse cards from the <i>Dominion</i> games and its expansions. It does not include any Victory or Treasure cards that are Kingdom cards.",
"text_icon": "B"
},
"cornucopia": {
"set_name": "Cornucopia",
"set_text": "Autumn. It seemed like the summer would never end, but that fortune teller was right. It's over. Autumn, the time of the harvest. Agriculture has advanced significantly in recent years, ever since the discovery of the maxim, \"leaves of three, let it be.\" Autumn, a time of celebration. The peasants have spent a hard week scything hay in the fields, but tonight the festivities begin, starting with a sumptuous banquet of roast hay. Then, the annual nose-stealing competition. Then you have two jesters, one who always lies, one who always tells the truth, both hilariously. This celebration will truly have something for everyone.\nThis is the 5th addition to the game of <i>Dominion</i>. It adds 13 new Kingdom cards to <i>Dominion</i>, plus 5 unique cards. The central theme is variety; there are cards that reward you for having a variety of cards in your deck, in your hand, and in play, as well cards that help you get that variety.",
"text_icon": "C"
},
"cornucopia extras": {
"set_name": "Cornucopia Extras",
"set_text": "",
"text_icon": "C"
},
"dark ages": {
"set_name": "Dark Ages",
"set_text": "Times have been hard. To save on money, you've moved out of your old castle, and into a luxurious ravine. You didn't like that castle anyway; it was always getting looted, and never at a reasonable hour. And if it wasn't barbarians it was the plague, or sometimes both would come at once, and there wouldn't be enough chairs. The ravine is great; you get lots of sun, and you can just drop garbage wherever you want. In your free time you've taken up begging. Begging is brilliant conceptually, but tricky in practice, since no-one has any money. You beg twigs from the villagers, and they beg them back, but no-one really seems to come out ahead. That's just how life is sometimes. You're quietly conquering people, minding your own business, when suddenly there's a plague, or barbarians, or everyone's illiterate, and it's all you can do to cling to some wreckage as the storm passes through. Still, you are sure that, as always, you will triumph over this adversity, or at least do slightly better than everyone else.\nThis is the 7th addition to the game of <i>Dominion</i>. It adds 35 new Kingdom cards to <i>Dominion</i>, plus new bad cards you give to other players (Ruins), new cards to replace starting Estates (Shelters), and cards you can only get via specific other cards. The central themes are the trash and upgrading. There are cards that do something when trashed, cards that care about the trash, cards that upgrade themselves, and ways to upgrade other cards.",
"text_icon": "DA"
},
"dark ages extras": {
"set_name": "Dark Ages Extras",
"set_text": "",
"text_icon": "DA"
},
"dominion1stEdition": {
"set_name": "Dominion 1st Edition",
"set_text": "You are a monarch, like your parents before you, a ruler of a small pleasant kingdom of rivers and evergreens. Unlike your parents, however, you have hopes and dreams! You want a bigger and more pleasant kingdom, with more rivers and a wider variety of trees. You want a Dominion! In all directions lie fiefs, freeholds, and feodums. All are small bits of land, controlled by petty lords and verging on anarchy. You will bring civilization to these people, uniting them under your banner.\nBut wait! It must be something in the air; several other monarchs have had the exact same idea. You must race to get as much of the unclaimed land as possible, fending them off along the way. To do this you will hire minions, construct buildings, spruce up your castle, and fill the coffers of your treasury. Your parents wouldn't be proud, but your grandparents, on your mother's side, would be delighted.",
"short_name": "Dominion",
"text_icon": "D1"
},
"dominion2ndEdition": {
"set_name": "Dominion 2nd Edition",
"set_text": "You are a monarch, like your parents before you, a ruler of a small pleasant kingdom of rivers and evergreens. Unlike your parents, however, you have hopes and dreams! You want a bigger and more pleasant kingdom, with more rivers and a wider variety of trees. You want a Dominion! In all directions lie fiefs, freeholds, and feodums. All are small bits of land, controlled by petty lords and verging on anarchy. You will bring civilization to these people, uniting them under your banner.\nBut wait! It must be something in the air; several other monarchs have had the exact same idea. You must race to get as much of the unclaimed land as possible, fending them off along the way. To do this you will hire minions, construct buildings, spruce up your castle, and fill the coffers of your treasury. Your parents wouldn't be proud, but your grandparents, on your mother's side, would be delighted.",
"short_name": "Dominion",
"text_icon": "D2"
},
"dominion2ndEditionUpgrade": {
"set_name": "Dominion 2nd Edition Upgrade",
"set_text": "This contains the seven new kingdom cards introduced in the second edition of <i>Dominion</i>, thereby allowing owners of the first edition to obtain these new cards without needing to repurchase the entire game.",
"short_name": "Dominion",
"text_icon": "D2"
},
"empires": {
"set_name": "Empires",
"set_text": "The world is big and your kingdom gigantic. It's no longer a kingdom really; it's an empire — which makes you the emperor. This entitles you to a better chair, plus you can name a salad after yourself.\nIt's not easy being emperor. The day starts early, when you light the sacred flame; then it's hours of committee meetings, trying to establish exactly why the sacred flame keeps going out. Sometimes your armies take over a continent and you just have no idea where to put it. And there's the risk of assassination; you have a food taster, who tastes anything before you eat it, and a dagger tester, who gets stabbed by anything before it stabs you. You've taken to staying at home whenever it's the Ides of anything. Still, overall it's a great job. You wouldn't trade it for the world — especially given how much of the world you already have.\n<i>Dominion: Empires</i>, the tenth addition to the game of <i>Dominion</i>, contains 96 metal tokens and 300 cards, with cards you can buy now and pay for later, piles with two different cards, and Landmarks that add new ways to score. VP tokens and Events return from previous sets.",
"text_icon": "E"
},
"empires extras": {
"set_name": "Empires Extras",
"set_text": "",
"text_icon": "E"
},
"extras": {
"set_name": "Extras",
"set_text": "",
"text_icon": "X"
},
"guilds": {
"set_name": "Guilds",
"set_text": "Jobs, everyones worried about jobs. Whatever happened to tilling the fields in obscurity? The economy is just a trick, like stealing someone's nose, but lately people seem to have seen through it, like when you realize someone hasnt really stolen your nose. So now everyones joining a guild, learning a craft, and working on a masterpiece - a painting so beautiful it blinds you, or a cheese grater so amazing that you never eat cheese again. The only people left tilling the fields are the ones doing it ironically. The guilds cover everything - ironic tilling, butchering, baking, candlestick making, shoemaking, cheesemaking, cheese destruction. Your advisor is convinced that somehow, control of the stonecutters is key to world domination. Very well. You will have stone handled so expertly that the world trembles before you.\nThis is the 8th addition to the game of <i>Dominion</i>. It adds 13 new Kingdom cards to <i>Dominion</i>. It has coin tokens that you can save to spend later, and cards you can get more out of by paying extra for them.",
"text_icon": "G"
},
"hinterlands": {
"set_name": "Hinterlands",
"set_text": "The world is big and your kingdom small. Small when compared to the world, that is; its moderate-sized when compared to other kingdoms. But in a big world like this one - big when compared to smaller worlds anyway, if such things exist; its moderate-sized when compared to worlds of roughly the same size, and a little small when compared to worlds just a little larger - well, to make a long story short - short when compared to longer stories anyway - it is time to stretch your borders. Youve heard of far-off places - exotic countries, where they have pancakes but not waffles, where the people wear the wrong number of shirts, and dont even have a word for the look two people give each other when they each hope that the other will do something that they both want done but which neither of them wants to do. It is to these lands that you now turn your gaze.\nThis is the 6th addition to the game of <i>Dominion</i>. It adds 26 new Kingdom cards to <i>Dominion</i>, including 20 Actions, 3 Treasures, 3 Victory cards, and 3 Reactions. The central theme is cards that do something immediately when you buy them or gain them.",
"text_icon": "H"
},
"intrigue1stEdition": {
"set_name": "Intrigue 1st Edition",
"set_text": "Something's afoot. The steward smiles at you like he has a secret, or like he thinks you have a secret, or like you think he thinks you have a secret. There are secret plots brewing, you're sure of it. At the very least, there are yours. A passing servant murmurs, \"The eggs are on the plate.\" You frantically search your codebook for the translation before realizing he means that breakfast is ready. Excellent. Everything is going according to plan.\n<i>Dominion: Intrigue</i> adds rules for playing with up to 8 players at two tables or for playing a single game with up to 6 players when combined with <i>Dominion</i>. This game adds 25 new Kingdom cards and a complete set of Treasure and Victory cards. The game can be played alone by players experienced in <i>Dominion</i> or with the basic game of <i>Dominion</i>.",
"short_name": "Intrigue",
"text_icon": "I1"
},
"intrigue2ndEdition": {
"set_name": "Intrigue 2nd Edition",
"set_text": "Something's afoot. The steward smiles at you like he has a secret, or like he thinks you have a secret, or like you think he thinks you have a secret. There are secret plots brewing, you're sure of it. At the very least, there are yours. A passing servant murmurs, \"The eggs are on the plate.\" You frantically search your codebook for the translation before realizing he means that breakfast is ready. Excellent. Everything is going according to plan.\n<i>Dominion: Intrigue (Second Edition)</i>, an expansion for <i>Dominion</i> or <i>Dominion (Second Edition)</i>, contains 26 Kingdom card types that can be used with the base game, while also adding rules for playing with up to eight players at two tables or for playing a single game with up to six players.\n<i>Dominion: Intrigue (Second Edition)</i> replaces six Kingdom card types from the first edition with six new types of Kingdom cards, while also replacing the blank cards in that item with a seventh new Kingdom card; these new cards are also available on their own in the <i>Dominion: Intrigue Update Pack</i>. In addition, the rulebook has been rewritten, one card has had a mild functional change (Masquerade skips players with no cards in hand), and other cards have received updated wording while remaining functionally the same.",
"short_name": "Intrigue",
"text_icon": "I2"
},
"intrigue2ndEditionUpgrade": {
"set_name": "Intrigue 2nd Edition Upgrade",
"set_text": "This contains the seven new kingdom cards introduced in the second edition of <i>Dominion: Intrigue</i>, thereby allowing owners of the first edition to obtain these new cards without needing to repurchase the entire game.",
"short_name": "Intrigue",
"text_icon": "I2"
},
"nocturne": {
"set_name": "Nocturne",
"set_text": "You've always been a night person; lately you've even considered becoming a vampire. There are a lot of advantages: you don't age; you don't have to see yourself in mirrors anymore; if someone asks you to do something, you can just turn into a bat, and then say, sorry, I'm a bat. There are probably some downsides though. You always think of the statue in the town square that came to life and now works as the tavern barmaid. The pedestal came to life too, so she has to hop around. The village blacksmith turns into a wolf whenever there's a full moon; when there's a crescent moon, he turns into a chihuahua. That's how this stuff goes sometimes. Still, when you breathe in the night air, you feel ready for anything.\n<i>Dominion: Nocturne</i>, the 11th expansion to <i>Dominion</i>, has 500 cards, with 33 new Kingdom cards. There are Night cards, which are played after the Buy phase; Heirlooms that replace starting Coppers; Fate and Doom cards that give out Boons and Hexes; and a variety of extra cards that other cards can provide.",
"short_name": "Nocturne",
"text_icon": "N"
},
"nocturne extras": {
"set_name": "Nocturne Extras",
"set_text": "",
"text_icon": "N"
},
"promo": {
"set_name": "Promo",
"set_text": "Promotional cards are official <i>Dominion</i> kingdom cards and Events which do not belong to any particular set. They are typically either released to help promote <i>Dominion</i> at conventions (such as Origins or GenCon), or to commemorate the anniversary of another game in order to help promote both.",
"text_icon": "Po"
},
"prosperity": {
"set_name": "Prosperity",
"set_text": "Ah, money. There's nothing like the sound of coins clinking in your hands. You vastly prefer it to the sound of coins clinking in someone else's hands, or the sound of coins just sitting there in a pile that no-one can quite reach without getting up. Getting up, that's all behind you now. Life has been good to you. Just ten years ago, you were tilling your own fields in a simple straw hat. Today, your kingdom stretches from sea to sea, and your straw hat is the largest the world has ever known. You also have the world's smallest dog, and a life-size statue of yourself made out of baklava. Sure, money can't buy happiness, but it can buy envy, anger, and also this kind of blank feeling. You still have problems - troublesome neighbors that must be conquered. But this time, you'll conquer them in style.\nThis is the 4th addition to the game of <i>Dominion</i>. It adds 25 new Kingdom cards to <i>Dominion</i>, plus 2 new Basic cards that let players keep building up past Gold and Province. The central theme is wealth; there are treasures with abilities, cards that interact with treasures, and powerful expensive cards.",
"text_icon": "Py"
},
"renaissance": {
"set_name": "Renaissance",
"set_text": "It's a momentous time. Art has been revolutionized by the invention of \"perspective,\" and also of \"funding.\" A picture used to be worth a dozen or so words; these new ones are more like a hundred. Oil paintings have gotten so realistic that you've hired an artist to do a portrait of you each morning, so you can make sure your hair is good. Busts have gotten better too; no more stopping at the shoulders, they go all the way to the ground. Science and medicine have advanced; there's no more superstition, now they know the perfect number of leeches to apply for each ailment. You have a clock accurate to within an hour, and a calendar accurate to within a week. Your physician heals himself, and your barber cuts his own hair. This is truly a golden age.\nThis is the 12th expansion to <i>Dominion</i>. It has 300 cards, with 25 new Kingdom cards. There are tokens that let you save coins and actions for later, Projects that grant abilities, and Artifacts to fight over.",
"text_icon": "R"
},
"seaside": {
"set_name": "Seaside",
"set_text": "All you ask is a tall ship and a star to steer her by. And someone who knows how to steer ships using stars. You finally got some of those rivers you'd wanted, and they led to the sea. These are dangerous, pirate-infested waters, and you cautiously send rat-infested ships across them, to establish lucrative trade at far-off merchant-infested ports. First, you will take over some islands, as a foothold. The natives seem friendly enough, crying their peace cries, and giving you spears and poison darts before you are even close enough to accept them properly. When you finally reach those ports you will conquer them, and from there you will look for more rivers. One day, all the rivers will be yours.\nThis is the 2nd addition to <i>Dominion</i>. It adds 26 new Kingdom cards to <i>Dominion</i>. Its central theme is your next turn; there are cards that do something this turn and next, cards that set up your next turn, and other ways to step outside of the bounds of a normal turn.",
"text_icon": "S"
}
}

View File

@ -0,0 +1,137 @@
# Translation Instructions
## File Format
/card_db/
xx/
bonuses_xx.json
cards_xx.json
sets_xx.json
types_xx.json
where xx is ISO 639-1 standard language code in lower case with under bar '_' replacing dash '-'
Please rename the directory and the files to match the language you are providing.
## Character encoding
The files:
bonuses_xx.json
cards_xx.json
sets_xx.json
types_xx.json
must be encoded in ISO 8859-15, also known as "Latin alphabet no. 9"
This character set is used throughout the Americas, Western Europe, Oceania, and much of Africa.
It is also commonly used in most standard romanizations of East-Asian languages.
If you have a language that is not supported by ISO 8859-15 please contact the developers.
## Anatomy of sets_xx.json
Entries in this file represent Dominion sets/expansions. A typical entry looks like:
"alchemy": {
"set_name": "Alchimia",
"text_icon": "Al"
},
The set key word (e.g., "alchemy" for the above entry) MUST NOT BE CHANGED. This value is used to identify the translation entry.
The key word "set_name" MUST NOT BE CHANGED, but the value after the : should be changed to the name of the set in the target language.
The key word "text_icon" MUST NOT BE CHANGED, but the value after the : should be a one or two letter identifier to be used by the set if the set graphics are not displayed. This is usually the first letter of the set name in the target language.
Do not change any punctuation outside of the quotes '"'. For example, brackets '{' or '}', colons ':', quotes '"' or commas ','.
## Anatomy of bonuses_xx.json
Entries in this file represent Dominion bonuses. The items in the "include" list are items that will be marked bold (i.e., <b>..</b>)
when found in the card text in the following format:
+# item_from_include_list
as long as this is not followed by a item from the "exclude" list.
For example in English:
"+2 Buys" will be made bold, but
"+1 Action token" will not, since the key word token follows.
Just replace the English terms with the terms used in the target language.
Generally you should include the singular as well as the plural version of the term.
English versions do not need to be duplicated, since they are used automatically.
The key words "exclude" and "include" MUST NOT BE CHANGED.
Do not change any punctuation outside of the quotes '"'. For example, brackets '{' or '}', colons ':', quotes '"' or commas ','.
## Anatomy of types_xx.json
Entries in this file represent Dominion card types. A typical entry looks like:
"Action": "Action in new language",
The type key word (i.e., the "Action": for the above entry) MUST NOT BE CHANGED. This value is used to identify the translation entry.
Do not change any punctuation outside of the quotes '"'. For example, brackets '{' or '}', colons ':', quotes '"' or commas ','.
## Anatomy of cards_xx.json
Entries in this file represent Dominion cards, and groups of cards. A typical entry looks like:
"Gold": {
"description": "Worth 3 Coins.",
"extra": "30 cards per game.",
"name": "Gold",
"untranslated" : "description, extra, name"
},
The card key word (e.g., "Gold": for the above entry) MUST NOT BE CHANGED. This value is used to identify the translation entry.
The key word "name" MUST NOT BE CHANGED, but the value after the : should be changed to the name of the card in the target language.
The key word "description" MUST NOT BE CHANGED, but the value after the : should be changed to the card text in the target language.
The key word "extra" MUST NOT BE CHANGED, but the value after the : should be changed to any extra rules or explanations for the card in the target language. If you purposely want no extra text, enter "".
The key word "untranslated" MUST NOT BE CHANGED, but the value after the : should be changed. Removed any key word for which you have provided a translation.
For example:
- if you provided the "name" of the card, and only the "name", then change to "description, extra"
- if you provided the "name" of the card and it's "description", but have not translated the "extra", then change to "extra"
- if you provided all 3 entries, then change to ""
The "untranslated" entry is used during maintanance of the language files to update any remaining default language entries that might have changed.
## Special Text
These character sequences have special meaning in the "description" and "extra" text:
'<b>' ... '</b>' for bold
'<i>' ... '</i>' for italics
'<u>' ... '</u>' for underline
'<tab>' and '<t>' and '\t' to add a tab (4 spaces)
'<n>' and '\n' for a "hard new line"
'<br>' and '<br/>' and '<br />' for a "soft new line"
'<c>' and '<center>' add hard new line and center text until the next hard new line
'<l>' and '<left>' add hard new line and left align text until the next hard new line
'<r>' and '<right>' add hard new line and right align text until the next hard new line
'<j>' and '<justify>' add hard new line and justify align text until the next hard new line
'<line>' to add a hard new line, a centered dividing line, and a trailing hard new line
Hard new lines ('\n' and '<n>'), will reset the paragraph formatting back to the default.
Soft new lines will insert a new line, but will continue the current formatting.
The "description" will be default to "center" text.
The "extra" will default to "justify" text.
## Special Images
Special character sequences are recognized by the program to substitute graphics in the text. These include:
'<VP>' and ' VP ' for a Victory Point graphic
'Potion' for a small Potion graphic
'# Coin' where # is a number 0 - 13, a question mark '?', '_', or the letters 'empty' for a small coin graphic with the # on top
'# Coins' where # is a number 0 - 13, a question mark '?', '_', or the letters 'empty' for a small coin graphic with the # on top
'# coin' where # is a number 0 - 13, a question mark '?', '_', or the letters 'empty' for a small coin graphic with the # on top
'# coins' where # is a number 0 - 13, a question mark '?', '_', or the letters 'empty' for a small coin graphic with the # on top
For example:
- the text '1 coin' would produce a graphic of a coin with the number 1 on top.
- the text 'empty coin' and '_ coin' would produce a graphic of only a coin.
'# <*COIN*>' where # is a number 0 - 13, will produce a large coin graphic with the # on top
'# <*VP*>' where # is a number, will produce a large Victory Point graphic with the # before it
'# <*POTION*>' where # is a number, will produce a large Potion graphic with the # before it
To keep the special images, please do not translate '<VP>', 'Potion', or the 'coin' variations into the target language.
## Style Guide
- If bonuses_xx.json for the target language is configured correctly, bonuses within the text will automatically be bolded.
It will not bold the text if it is followed by 'token' or 'Token'.
Example: "Choose one: +3 Cards; or +2 Actions." will bold '+3 Cards' and '+2 Actions'.
- Bonuses should be listed in the following order:
+Cards, +Actions, +Buys, +Coins, then +<VP>
- When possible, bonuses should be listed vertically and centered.
Examples: "+1 Card<br>+1 Action<br>+1 Buy<br>+1 Coin<br>+2 <VP><n>"
"+1 Card\n+1 Action\n+1 Buy\n+1 Coin\n+2 <VP>\n"
The "description" field by default is centered. '<br>', '<n>', and '\n' will all provide new lines.
- If a Dividers/Tab has more than one card explanation, if space permits, try to mimic a stand alone Dividers/Tab in the overall format.
Example from "Settlers - Bustling Village": "<left><u>Settlers</u>:<n>+1 Card<br>+1 Action<n>Look through your discard pile. You may reveal a Copper from it and put it into your hand.<n><left><u>Bustling Village</u>:<n><center>+1 Card<br>+3 Actions<n>Look through your discard pile. You may reveal a Settlers from it and put it into your hand."

View File

@ -0,0 +1,38 @@
{
"Action": "Action",
"Artifact": "Artifact",
"Attack": "Attack",
"Blank": "Blank",
"Boon": "Boon",
"Castle": "Castle",
"Curse": "Curse",
"Doom": "Doom",
"Duration": "Duration",
"Event": "Event",
"Events": "Events",
"Expansion": "Expansion",
"Fate": "Fate",
"Gathering": "Gathering",
"Heirloom": "Heirloom",
"Hex": "Hex",
"Landmark": "Landmark",
"Landmarks": "Landmarks",
"Looter": "Looter",
"Night": "Night",
"Prize": "Prize",
"Prizes": "Prizes",
"Project": "Project",
"Reaction": "Reaction",
"Reserve": "Reserve",
"Ruins": "Ruins",
"Shelter": "Shelter",
"Shelters": "Shelters",
"Spirit": "Spirit",
"Start Deck": "Start Deck",
"State": "State",
"Trash": "Trash",
"Traveller": "Traveller",
"Treasure": "Treasure",
"Victory": "Victory",
"Zombie": "Zombie"
}

59
dodo.py Normal file
View File

@ -0,0 +1,59 @@
import glob
import os
import distutils.core
from domdiv.tools import update_language
DOIT_CONFIG = {"default_tasks": ["build"]}
def glob_no_dirs(spec):
return [fname for fname in glob.glob(spec) if os.path.isfile(fname)]
def task_compile_requirements():
return {
"file_dep": ["requirements.in"],
"actions": [
"pip-compile requirements.in",
# pip-compile will add macfsevents on mac, which breaks installation
# on other platforms, so hack in the 'doit' requirement after the
# compile
'echo "doit # hacked in via doit\n" >> requirements.txt',
],
"targets": ["requirements.txt"],
}
def task_update_languages():
files = glob.glob("card_db_src/**/*.json") + glob.glob("card_db_src/*.json")
return {
"file_dep": files + ["src/domdiv/tools/update_language.py"],
"actions": [lambda: update_language.main("card_db_src", "src/domdiv/card_db")],
"targets": [
os.path.join("src/domdiv/card_db", "/".join(fname.split("/")[1:]))
for fname in files
],
"clean": True,
}
def task_build():
files = [
fname
for fname in glob_no_dirs("src/domdiv/**/*")
+ glob.glob("card_db_src/**/*.json" + "setup.py")
if os.path.isfile(fname)
]
return {
"file_dep": files,
"task_dep": ["update_languages"],
"actions": [
lambda: True if distutils.core.run_setup("setup.py", "sdist") else False
],
}
def task_test():
files = glob_no_dirs("src/domdiv/**")
return {"file_dep": files, "actions": ["python setup.py test"]}

4
pyproject.toml Normal file
View File

@ -0,0 +1,4 @@
[build-system]
requires = ["setuptools>=42", "wheel", "setuptools_scm[toml]>=3.3", "pytest-runner"]
[tools.setuptools_scm]

View File

@ -5,23 +5,25 @@
# pip-compile requirements.in
#
aspy.yaml==1.3.0 # via pre-commit
atomicwrites==1.3.0 # via pytest
attrs==19.3.0 # via pytest
cfgv==2.0.1 # via pre-commit
identify==1.4.8 # via pre-commit
importlib-metadata==1.2.0 # via pluggy, pre-commit, pytest
more-itertools==8.0.2 # via pytest, zipp
identify==1.4.7 # via pre-commit
importlib-metadata==0.23 # via pluggy, pre-commit, pytest
more-itertools==7.2.0 # via pytest, zipp
nodeenv==1.3.3 # via pre-commit
packaging==19.2 # via pytest
pillow==6.2.1
pluggy==0.13.1 # via pytest
pluggy==0.13.0 # via pytest
pre-commit==1.20.0
py==1.8.0 # via pytest
pyparsing==2.4.5 # via packaging
pytest==5.3.1
pyyaml==5.2 # via aspy.yaml, pre-commit
pyparsing==2.4.2 # via packaging
pytest==5.2.2
pyyaml==5.1.2 # via aspy.yaml, pre-commit
reportlab==3.5.32
six==1.13.0 # via cfgv, packaging, pre-commit
six==1.12.0 # via cfgv, packaging, pre-commit
toml==0.10.0 # via pre-commit
virtualenv==16.7.8 # via pre-commit
virtualenv==16.7.7 # via pre-commit
wcwidth==0.1.7 # via pytest
zipp==0.6.0 # via importlib-metadata
doit

View File

@ -2,13 +2,18 @@ from setuptools import setup
setup(
name="domdiv",
entry_points={"console_scripts": ["dominion_dividers = domdiv.main:main"]},
entry_points={
"console_scripts": [
"dominion_dividers = domdiv.main:main",
"domdiv_update_language = domdiv.tools.update_language:run",
]
},
package_dir={"": "src"},
packages=["domdiv"],
use_scm_version=True,
setup_requires=["setuptools_scm", "pytest-runner"],
install_requires=["reportlab", "Pillow"],
tests_require=["pytest", "six", "pytest-flake8", "pre-commit"],
tests_require=["pytest", "six", "pytest-flake8", "pre-commit", "doit"],
url="http://domtabs.sandflea.org",
include_package_data=True,
author="Peter Gorniak",

File diff suppressed because it is too large Load Diff

View File

@ -1942,14 +1942,12 @@
"Captain": {
"description": "Now and at the start of your next turn: Play a non-Duration Action card from the Supply costing up to 4 Coins, leaving it there.",
"extra": "On the second turn, you can choose to play a different card, or the same card if there is still a copy of it in the Supply.<n>Captain can only play a visible card in the Supply, and the top card of a pile; it cannot play a card from an empty pile, or a card that has not been uncovered from a split pile, or a card from a split pile that has been bought out, or a non-Supply card (such as Mercenary).<n>The Action card stays in the Supply; if an effect tries to move it (such as Island putting itself on your Island Mat) it will fail to move it.<n>Captain can play a card that trashes itself when played; if the card checks to see if it was trashed (such as Mining Village), it was not, but if the card does not check (such as Acting Troupe), it will function normally.<n>Cards that normally move other cards from the Supply can move themselves when played via Captain; for example playing Workshop can gain itself, and playing Lurker can trash itself.<n>Since the played card is not in play, 'while this is in play' abilities (such as Goons's) will not do anything.<n>If there are no non-Duration Action cards in the Supply that cost up to 4 Coins the turn you play Captain, Captain still stays in play and tries to play a card at the start of your next turn.<n>If Captain plays a card that plays a Duration card, that does not affect which turn Captain is discarded from play.<n>You can enter an infinite loop with Captain, Band of Misfits, Ferry, and cost reduction: With your 2 Coins cost token on the Captain Supply pile, Band of Misfits can be played as Captain, and with cost reduction, Captain can play Band of Misfits. Since this results in Captain being played arbitrarily many times, at the start of your next turn you can play arbitrarily many Actions costing up to 4 Coins.",
"name": "Captain",
"untranslated": "description, extra, name"
"name": "Captain"
},
"Church": {
"description": "+1 Action<br>Set aside up to 3 cards from your hand face down. At the start of your next turn, put them into your hand, then you may trash a card from your hand.",
"extra": "You may set aside zero, one, two, or three cards from your hand. Put them face down; you may look at them.<n>No matter how many cards you set aside, you may trash a card at the start of your next turn and Church is discarded at the end of that turn.<n>The card you trash can be a card you had set aside, or a card that was already in your hand.<n>If you play multiple Churches (or one Church multiple times such as via Throne Room), you may set aside multiple batches of up to three cards. What happens on your next turn is this: you put one batch of set-aside cards in hand, then trash, then put the next batch of set-aside cards in hand, then trash. You can choose which batch of set-aside cards you put in hand first.",
"name": "Church",
"untranslated": "description, extra, name"
"name": "Church"
},
"Dismantle": {
"description": "Entsorge eine Handkarte. Wenn sie 1 Coin oder mehr kostet, nimm eine billigere Karte und ein Gold.",
@ -2671,44 +2669,44 @@
"extra": "Die Landmarken sind in der Übersicht alphabetisch sortiert. Einmal im Spiel, haben sie für alle Spieler gleichermaßen Gültigkeit. Sie können nicht gekauft werden. Einige Landmarken enthalten Anweisungen für die Spielvorbereitung (unterhalb der Trennlinie). Spielt ihr mit einer dieser Karten, beachtet dies in der Spielvorbereitung. Darfst du dir auf Grund einer Anweisung 1<VP>-Marker von einer Landmarkenkarte oder einem Vorratsstapel nehmen und dort sind zu diesem Zeitpunkt keine 1<VP>d-Marker vorhanden, erhältst du nichts. Sind die zu Spielbeginn platzierten 1<VP>-Marker aufgebraucht, werden keine neuen 1<VP>-Marker platziert.",
"name": "Landmarken (Wahrzeichen)"
},
"Ruined Market": {
"description": "+1 Kauf",
"Abandoned Mine": {
"description": "+1 Coin",
"extra": "",
"name": "Zerstörter Markt",
"untranslated": [
"Note: This card is currently not used."
]
},
"Ruined Village": {
"description": "+1 Aktion",
"extra": "",
"name": "Zerstörtes Dorf",
"untranslated": [
"Note: This card is currently not used."
"name": "Verlassene Mine",
"notes": [
"This card is currently not used."
]
},
"Ruined Library": {
"description": "+1 Karte",
"extra": "",
"name": "Zerstörte Bibliothek",
"untranslated": [
"Note: This card is currently not used."
"notes": [
"This card is currently not used."
]
},
"Ruined Market": {
"description": "+1 Kauf",
"extra": "",
"name": "Zerstörter Markt",
"notes": [
"This card is currently not used."
]
},
"Ruined Village": {
"description": "+1 Aktion",
"extra": "",
"name": "Zerstörtes Dorf",
"notes": [
"This card is currently not used."
]
},
"Survivors": {
"description": "Sieh dir die obersten beiden Karten von deinem Nachziehstapel an. Lege beide Karten ab oder lege beide Karten in beliebiger Reihenfolge zurück auf deinen Nachziehstapel.",
"extra": "",
"name": "Überlebende",
"untranslated": [
"Note: This card is currently not used."
]
},
"Abandoned Mine": {
"description": "+1 Coin",
"extra": "",
"name": "Verlassene Mine",
"untranslated": [
"Note: This card is currently not used."
"notes": [
"This card is currently not used."
]
}
}

View File

@ -2669,52 +2669,52 @@
"extra": "Landmarks are not Kingdom cards. It is recommended that no more than two Landmarks be used per game. Players may choose how to determine what Landmarks to play with. They may shuffle them with Events and deal out 2 cards from that pile every game; they may shuffle them into the Randomizer deck and use 0-2 depending on how many come up before finding 10 Kingdom cards; or they may use any method they like.",
"name": "Landmarks - All"
},
"Abandoned Mine": {
"description": "+1 Coin",
"extra": "If any Kingdom card has the type Looter (e.g. Cultist, Death Cart, and Marauder), add the all the Ruins cards (Abandoned Mine, Ruined Library, Ruined Market, Ruined Village, Survivors), shuffle, then count 10 per player after the first: 10 for two players, 20 for three players, 30 for four players, and so on. Put the pile face down with the top card face up. Return any remaining Ruins cards to the box.<n>Players can buy Ruins. Ruins cards are Actions; they may be played in the Action phase, and count as Actions for things that refer to Action cards, such as Procession. The Ruins pile, when used, is in the Supply, and if it is empty that counts towards the normal end condition.",
"name": "Abandoned Mine",
"notes": [
"This card is currently not used."
]
},
"Possession 2/2": {
"description": "<justify>During the Possessed turn, whenever one of that player's cards is trashed, set it aside, and that player puts it into his discard pile at the end of the turn, after Clean-up. This counts as the card being trashed, so, for example, you could trash a Mining Village (from Intrigue) and get the 2 coins. Getting those cards back at end of turn does not count as those cards being gained (so for example, you won't get them). Other players' cards that are trashed during that turn are not returned.<n>-If you make another player play an Attack via Possession, that Attack will hit you like it would normally. If you want to use a Reaction in response to that Attack (such as Secret Chamber from Intrigue), you would be the one revealing the Reaction, not the player being Possessed.<n>-Possession is cumulative; if you play it twice in one turn, there will be two extra turns after this one.<n>-Cards passed with Masquerade (from Intrigue) are not being gained or trashed, and so are passed normally. Cards returned to the Supply with Ambassador (from Seaside) are also not being trashed, and so return to the Supply normally.</justify>",
"extra": "Possession causes an extra turn to be played, like the card Outpost does (from Seaside). The extra turn happens only after this turn is completely over - you will have discarded everything and drawn your next hand. Outpost only prevents itself from giving a player two consecutive turns, it does not prevent other cards or the rules from doing so. So, for example, if you play Possession in a two player game, then after the Possession turn, that player still gets his normal turn. If he played Outpost during that turn though, it would not give him an extra turn. If you play both Outpost and Possession in the same turn, the Outpost turn happens first. If you make someone play Outpost during a turn in which you Possessed them, that player will get the extra turn and make decisions during it and so forth, not you; if you make someone play Possession during a turn in which you Possessed them, that will make that player Possess the player to his left, rather than you getting to Possess anyone further. Possession turns (and other extra turns) do not count for the tiebreaker. Once the game ends, no further turns are played, including extra turns from Possession and Outpost. -Unlike Outpost, Possession is not a Duration card. It is discarded in the Clean-up phase of the turn you played it. [Possession also gives the Possessing player all tokens the Possessed player would get, including _ Coins, <VP>, and Debt tokens.]",
"name": "Possession 2/2",
"untranslated": [
"Note: This card is currently not used."
]
},
"Ruined Market": {
"description": "+1 Buy",
"extra": "If any Kingdom card has the type Looter (e.g. Cultist, Death Cart, and Marauder), add the all the Ruins cards (Abandoned Mine, Ruined Library, Ruined Market, Ruined Village, Survivors), shuffle, then count 10 per player after the first: 10 for two players, 20 for three players, 30 for four players, and so on. Put the pile face down with the top card face up. Return any remaining Ruins cards to the box.<n>Players can buy Ruins. Ruins cards are Actions; they may be played in the Action phase, and count as Actions for things that refer to Action cards, such as Procession. The Ruins pile, when used, is in the Supply, and if it is empty that counts towards the normal end condition.",
"name": "Ruined Market",
"untranslated": [
"Note: This card is currently not used."
]
},
"Ruined Village": {
"description": "+1 Action",
"extra": "If any Kingdom card has the type Looter (e.g. Cultist, Death Cart, and Marauder), add the all the Ruins cards (Abandoned Mine, Ruined Library, Ruined Market, Ruined Village, Survivors), shuffle, then count 10 per player after the first: 10 for two players, 20 for three players, 30 for four players, and so on. Put the pile face down with the top card face up. Return any remaining Ruins cards to the box.<n>Players can buy Ruins. Ruins cards are Actions; they may be played in the Action phase, and count as Actions for things that refer to Action cards, such as Procession. The Ruins pile, when used, is in the Supply, and if it is empty that counts towards the normal end condition.",
"name": "Ruined Village",
"untranslated": [
"Note: This card is currently not used."
"notes": [
"This card is currently not used."
]
},
"Ruined Library": {
"description": "+1 Card",
"extra": "If any Kingdom card has the type Looter (e.g. Cultist, Death Cart, and Marauder), add the all the Ruins cards (Abandoned Mine, Ruined Library, Ruined Market, Ruined Village, Survivors), shuffle, then count 10 per player after the first: 10 for two players, 20 for three players, 30 for four players, and so on. Put the pile face down with the top card face up. Return any remaining Ruins cards to the box.<n>Players can buy Ruins. Ruins cards are Actions; they may be played in the Action phase, and count as Actions for things that refer to Action cards, such as Procession. The Ruins pile, when used, is in the Supply, and if it is empty that counts towards the normal end condition.",
"name": "Ruined Library",
"untranslated": [
"Note: This card is currently not used."
"notes": [
"This card is currently not used."
]
},
"Ruined Market": {
"description": "+1 Buy",
"extra": "If any Kingdom card has the type Looter (e.g. Cultist, Death Cart, and Marauder), add the all the Ruins cards (Abandoned Mine, Ruined Library, Ruined Market, Ruined Village, Survivors), shuffle, then count 10 per player after the first: 10 for two players, 20 for three players, 30 for four players, and so on. Put the pile face down with the top card face up. Return any remaining Ruins cards to the box.<n>Players can buy Ruins. Ruins cards are Actions; they may be played in the Action phase, and count as Actions for things that refer to Action cards, such as Procession. The Ruins pile, when used, is in the Supply, and if it is empty that counts towards the normal end condition.",
"name": "Ruined Market",
"notes": [
"This card is currently not used."
]
},
"Ruined Village": {
"description": "+1 Action",
"extra": "If any Kingdom card has the type Looter (e.g. Cultist, Death Cart, and Marauder), add the all the Ruins cards (Abandoned Mine, Ruined Library, Ruined Market, Ruined Village, Survivors), shuffle, then count 10 per player after the first: 10 for two players, 20 for three players, 30 for four players, and so on. Put the pile face down with the top card face up. Return any remaining Ruins cards to the box.<n>Players can buy Ruins. Ruins cards are Actions; they may be played in the Action phase, and count as Actions for things that refer to Action cards, such as Procession. The Ruins pile, when used, is in the Supply, and if it is empty that counts towards the normal end condition.",
"name": "Ruined Village",
"notes": [
"This card is currently not used."
]
},
"Survivors": {
"description": "Look at the top 2 cards of your deck. Discard them or put them back in any order.",
"extra": "If any Kingdom card has the type Looter (e.g. Cultist, Death Cart, and Marauder), add the all the Ruins cards (Abandoned Mine, Ruined Library, Ruined Market, Ruined Village, Survivors), shuffle, then count 10 per player after the first: 10 for two players, 20 for three players, 30 for four players, and so on. Put the pile face down with the top card face up. Return any remaining Ruins cards to the box.<n>Players can buy Ruins. Ruins cards are Actions; they may be played in the Action phase, and count as Actions for things that refer to Action cards, such as Procession. The Ruins pile, when used, is in the Supply, and if it is empty that counts towards the normal end condition.",
"name": "Survivors",
"untranslated": [
"Note: This card is currently not used."
]
},
"Abandoned Mine": {
"description": "+1 Coin",
"extra": "If any Kingdom card has the type Looter (e.g. Cultist, Death Cart, and Marauder), add the all the Ruins cards (Abandoned Mine, Ruined Library, Ruined Market, Ruined Village, Survivors), shuffle, then count 10 per player after the first: 10 for two players, 20 for three players, 30 for four players, and so on. Put the pile face down with the top card face up. Return any remaining Ruins cards to the box.<n>Players can buy Ruins. Ruins cards are Actions; they may be played in the Action phase, and count as Actions for things that refer to Action cards, such as Procession. The Ruins pile, when used, is in the Supply, and if it is empty that counts towards the normal end condition.",
"name": "Abandoned Mine",
"untranslated": [
"Note: This card is currently not used."
"notes": [
"This card is currently not used."
]
}
}

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,15 @@
## Fonts
I believe I cannot distribute one font (Minion Pro) domdiv uses as they are owned by Adobe with a License that I understand to disallow redistribution. However, you can download the [3 font files from a third party here](https://www.dropbox.com/s/tsqk69mayoa3pfz/MinionPro-ForDominionTabs.zip?dl=1).
Other sources for the font files (included for historical record but probably unneeded as long as long as the download above works:
- http://fontsgeek.com/fonts/Minion-Pro-Regular
- http://fontsgeek.com/fonts/Minion-Pro-Italic
- http://fontsgeek.com/fonts/Minion-Pro-Bold
Alternatively, the font files are included with every install of the free Adobe Reader. For example, on Windows 7 they are in C:\Program Files (x86)\Adobe\Reader 9.0\Resource\Font called `MinionPro-Regular.otf`, `MinionPro-Bold.otf` and `MinionPro-It.otf`.
Sadly, all these fonts use features that are not support by the reportlab package. Thus, they need to first be converted to ttf (TrueType) format. I used the open source package fontforge to do the conversion. Included as 'convert.ff' is a script for fontforge to do the conversion, on Mac OS X with fontforge installed through macports or homebrew you can just run `./convert.ff MinionPro-Regular.otf`, `./convert.ff MinionPro-Bold.otf` and `./convert.ff MinionPro-It.otf`. With other fontforge installations, you'll need to change the first line of convert.ff to point to your fontforge executable. I have not done this step under Windows - I imagine it may be possible with a cygwin install of fontforge or some such method.
Copy the converted `.ttf` files to the `fonts` directory in the `domdiv` package/directory, then perform the package install below.

View File

View File

@ -0,0 +1,13 @@
import sys
from domdiv.tools.common import get_languages, load_language_cards
def check_languages(card_db_dir):
languages = get_languages(card_db_dir)
for lang in languages:
_ = load_language_cards(lang, card_db_dir)
if __name__ == "__main__":
check_languages(sys.argv[1])

View File

@ -0,0 +1,95 @@
import codecs
import io
import json
import os
LANGUAGE_DEFAULT = "en_us" # default language, which takes priority
LANGUAGE_XX = "xx" # language for starting a translation
# Multikey sort
# see: http://stackoverflow.com/questions/1143671/python-sorting-list-of-dictionaries-by-multiple-keys
def multikeysort(items, columns):
from operator import itemgetter
for c in columns[::-1]:
items = sorted(items, key=itemgetter(c))
return items
def get_languages(card_db_dir):
languages = get_lang_dirs(card_db_dir)
languages.remove(LANGUAGE_DEFAULT)
languages.insert(0, LANGUAGE_DEFAULT)
if LANGUAGE_XX not in languages:
languages.append(LANGUAGE_XX)
return languages
def get_lang_dirs(path):
# Find all valid languages.
lang_dirs = []
for name in os.listdir(path):
dir_path = os.path.join(path, name)
if os.path.isdir(dir_path):
cards_file = os.path.join(dir_path, "cards_" + name + ".json")
sets_file = os.path.join(dir_path, "sets_" + name + ".json")
if os.path.isfile(cards_file) and os.path.isfile(sets_file):
lang_dirs.append(name)
return lang_dirs
def get_json_data(json_file_path):
print(("reading {}".format(json_file_path)))
# Read in the json from the specified file
with codecs.open(json_file_path, "r", "utf-8") as json_file:
data = json.load(json_file)
assert data, "Could not load json at: '%r' " % json_file_path
return data
def load_language_cards(lang, card_db_dir):
# contruct the cards json file name
lang_file = f"cards_{lang}.json"
fname = os.path.join(card_db_dir, lang, lang_file)
if os.path.isfile(fname):
lang_data = get_json_data(fname)
else:
lang_data = {}
return lang_data
def write_data(data, fname):
# Process the file
print(f"writing {fname}")
with io.open(os.path.join(fname), "w", encoding="utf-8") as lang_out:
json.dump(data, lang_out, indent=4, ensure_ascii=False)
lang_out.write("\n")
def write_language_cards(cards, lang, card_db_dir):
lang_file = f"cards_{lang}.json"
fname = os.path.join(card_db_dir, lang, lang_file)
write_data(cards, fname)
def load_card_data(card_db_dir):
###########################################################################
# Get the cards_db information
# Store in a list in the order found in cards[]. Ordered as follows:
# 1. card_tags, 2. group_tags, 3. super groups
###########################################################################
# Get the card data
card_data = get_json_data(os.path.join(card_db_dir, "cards_db.json"))
# Sort the cardset_tags
for card in card_data:
card["cardset_tags"].sort()
# But put all the base cards together by moving to front of the list
if "base" in card["cardset_tags"]:
card["cardset_tags"].remove("base")
card["cardset_tags"].insert(0, "base")
# Sort the cards by cardset_tags, then card_tag
return multikeysort(card_data, ["cardset_tags", "card_tag"])

View File

@ -13,68 +13,28 @@
import os
import os.path
import io
import codecs
import json
from shutil import copyfile
import argparse
import collections
LANGUAGE_DEFAULT = "en_us" # default language, which takes priority
LANGUAGE_XX = "xx" # language for starting a translation
from domdiv.tools.common import (
get_json_data,
load_language_cards,
LANGUAGE_XX,
LANGUAGE_DEFAULT,
get_languages,
multikeysort,
load_card_data,
write_data,
write_language_cards,
)
def get_lang_dirs(path):
# Find all valid languages.
languages = []
for name in os.listdir(path):
dir_path = os.path.join(path, name)
if os.path.isdir(dir_path):
cards_file = os.path.join(dir_path, "cards_" + name + ".json")
sets_file = os.path.join(dir_path, "sets_" + name + ".json")
if os.path.isfile(cards_file) and os.path.isfile(sets_file):
languages.append(name)
return languages
def get_json_data(json_file_path):
print(("reading {}".format(json_file_path)))
# Read in the json from the specified file
with codecs.open(json_file_path, "r", "utf-8") as json_file:
data = json.load(json_file)
assert data, "Could not load json at: '%r' " % json_file_path
return data
def json_dict_entry(entry, separator=""):
# Return a nicely formated json dict entry.
# It does not include the enclosing {} and removes trailing white space
json_data = json.dumps(entry, indent=4, ensure_ascii=False, sort_keys=True)
json_data = json_data.strip(
"{}"
).rstrip() # Remove outer{} and then trailing whitespace
return separator + json_data
# Multikey sort
# see: http://stackoverflow.com/questions/1143671/python-sorting-list-of-dictionaries-by-multiple-keys
def multikeysort(items, columns):
from operator import itemgetter
for c in columns[::-1]:
items = sorted(items, key=itemgetter(c))
return items
def main(args):
def main(card_db_dir, output_dir):
###########################################################################
# Get all the languages, and place the default language first in the list
###########################################################################
languages = get_lang_dirs(args.card_db_dir)
languages.remove(LANGUAGE_DEFAULT)
languages.insert(0, LANGUAGE_DEFAULT)
if LANGUAGE_XX not in languages:
languages.append(LANGUAGE_XX)
languages = get_languages(card_db_dir)
print("Languages:")
print(languages)
print()
@ -84,13 +44,13 @@ def main(args):
###########################################################################
# main output directory
if not os.path.exists(args.output_dir):
os.makedirs(args.output_dir)
if not os.path.exists(output_dir):
os.makedirs(output_dir)
# each language directory
for lang in languages:
# Make sure the directory is there to hold the file
lang_dir = os.path.join(args.output_dir, lang)
lang_dir = os.path.join(output_dir, lang)
if not os.path.exists(lang_dir):
os.makedirs(lang_dir)
@ -102,15 +62,12 @@ def main(args):
type_parts = set()
# Get the card data
type_data = get_json_data(os.path.join(args.card_db_dir, "types_db.json"))
type_data = get_json_data(os.path.join(card_db_dir, "types_db.json"))
# Sort the cards by cardset_tags, then card_tag
sorted_type_data = multikeysort(type_data, ["card_type"])
with io.open(
os.path.join(args.output_dir, "types_db.json"), "w", encoding="utf-8"
) as f:
json.dump(sorted_type_data, f, indent=4, ensure_ascii=False)
write_data(sorted_type_data, os.path.join(output_dir, "types_db.json"))
type_parts = list(set().union(*[set(t["card_type"]) for t in sorted_type_data]))
type_parts.sort()
@ -125,14 +82,10 @@ def main(args):
all_labels = []
# Get the card data
label_data = get_json_data(os.path.join(args.card_db_dir, "labels_db.json"))
label_data = get_json_data(os.path.join(card_db_dir, "labels_db.json"))
all_labels = list(set().union(*[set(label["names"]) for label in label_data]))
with io.open(
os.path.join(args.output_dir, "labels_db.json"), "w", encoding="utf-8"
) as f:
json.dump(label_data, f, indent=4, ensure_ascii=False)
write_data(label_data, os.path.join(output_dir, "labels_db.json"))
all_labels.sort()
print("Labels: ")
@ -149,7 +102,7 @@ def main(args):
###########################################################################
for lang in languages:
lang_file = "types_" + lang + ".json"
fname = os.path.join(args.card_db_dir, lang, lang_file)
fname = os.path.join(card_db_dir, lang, lang_file)
if os.path.isfile(fname):
lang_type_data = get_json_data(fname)
else:
@ -162,43 +115,16 @@ def main(args):
lang_type_default = lang_type_data
else:
lang_type_data[t] = lang_type_default[t]
with io.open(
os.path.join(args.output_dir, lang, lang_file), "w", encoding="utf-8"
) as f:
json.dump(lang_type_data, f, indent=4, ensure_ascii=False)
write_data(lang_type_data, os.path.join(output_dir, lang, lang_file))
if lang == LANGUAGE_DEFAULT:
lang_type_default = lang_type_data # Keep for later languages
###########################################################################
# Get the cards_db information
# Store in a list in the order found in cards[]. Ordered as follows:
# 1. card_tags, 2. group_tags, 3. super groups
###########################################################################
# Get the card data
card_data = get_json_data(os.path.join(args.card_db_dir, "cards_db.json"))
cards = set(card["card_tag"] for card in card_data)
groups = set(card["group_tag"] for card in card_data if "group_tag" in card)
sorted_card_data = load_card_data(card_db_dir)
groups = set(card["group_tag"] for card in sorted_card_data if "group_tag" in card)
super_groups = set(["events", "landmarks"])
# Sort the cardset_tags
for card in card_data:
card["cardset_tags"].sort()
# But put all the base cards together by moving to front of the list
if "base" in card["cardset_tags"]:
card["cardset_tags"].remove("base")
card["cardset_tags"].insert(0, "base")
# Sort the cards by cardset_tags, then card_tag
sorted_card_data = multikeysort(card_data, ["cardset_tags", "card_tag"])
with io.open(
os.path.join(args.output_dir, "cards_db.json"), "w", encoding="utf-8"
) as lang_out:
json.dump(sorted_card_data, lang_out, indent=4, ensure_ascii=False)
write_data(sorted_card_data, os.path.join(output_dir, "cards_db.json"))
# maintain the sorted order, but expand with groups and super_groups
cards = [c["card_tag"] for c in sorted_card_data]
@ -221,17 +147,12 @@ def main(args):
for lang in languages:
# contruct the cards json file name
lang_file = "cards_" + lang + ".json"
fname = os.path.join(args.card_db_dir, lang, lang_file)
if os.path.isfile(fname):
lang_data = get_json_data(fname)
else:
lang_data = {}
lang_data = load_language_cards(lang, card_db_dir)
sorted_lang_data = collections.OrderedDict()
fields = ["description", "extra", "name"]
for card_tag in cards:
lang_card = lang_data.get(card_tag)
# print(f'looking at {card_tag}: {lang_card}')
if not lang_card or lang == LANGUAGE_XX:
# Card is missing, need to add it
@ -239,63 +160,34 @@ def main(args):
if lang == LANGUAGE_DEFAULT:
# Default language gets bare minimum. Really need to add by hand.
lang_card["extra"] = ""
lang_card["name"] = card
lang_card["name"] = card_tag
lang_card["description"] = ""
lang_card["untranslated"] = fields
lang_default = lang_data
else:
# All other languages should get the default languages' text
lang_card["extra"] = lang_default[card_tag]["extra"]
lang_card["name"] = lang_default[card_tag]["name"]
lang_card["description"] = lang_default[card_tag]["description"]
lang_card["untranslated"] = fields
else:
# Card exists, figure out what needs updating (don't update default language)
if lang != LANGUAGE_DEFAULT:
if "untranslated" in lang_card:
# Has an 'untranslated' field. Process accordingly
if not lang_card["untranslated"]:
# It is empty, so just remove it
del lang_card["untranslated"]
else:
# If a field remains untranslated, then replace with the default languages copy
for field in fields:
if field in lang_card["untranslated"]:
lang_card[field] = lang_default[card_tag][field]
else:
# Need to create the 'untranslated' field and update based upon existing fields
untranslated = []
for field in fields:
if field not in lang_data[card_tag]:
lang_card[field] = lang_default[card_tag][field]
untranslated.append(field)
if untranslated:
# only add if something is still needing translation
lang_card["untranslated"] = untranslated
lang_card["used"] = True
lang_card = lang_default[card_tag].copy()
elif lang != LANGUAGE_DEFAULT:
# Card exists, figure out what needs updating
lang_card.update(
{
field: value
for field, value in lang_default[card_tag].items()
if field not in lang_card
}
)
sorted_lang_data[card_tag] = lang_card
unused = [c for c in lang_data.values() if "used" not in c]
unused = set(lang_data) - set(sorted_lang_data)
print(
f'unused in {lang}: {len(unused)}, used: {len([c for c in lang_data.values() if "used" in c])}'
f"unused in {lang}: {len(unused)}, used: {len(set(lang_data) & set(sorted_lang_data))}"
)
print([c["name"] for c in unused])
print(unused)
# Now keep any unused values just in case needed in the future
for card_tag in lang_data:
for card_tag in sorted(unused):
lang_card = lang_data.get(card_tag)
if "used" not in lang_card:
if lang != LANGUAGE_XX:
lang_card["untranslated"] = [
"Note: This card is currently not used."
]
sorted_lang_data[card_tag] = lang_card
else:
del lang_card["used"]
lang_card["notes"] = ["This card is currently not used."]
sorted_lang_data[card_tag] = lang_card
# Process the file
with io.open(
os.path.join(args.output_dir, lang, lang_file), "w", encoding="utf-8"
) as lang_out:
json.dump(sorted_lang_data, lang_out, indent=4, ensure_ascii=False)
write_language_cards(sorted_lang_data, lang, output_dir)
if lang == LANGUAGE_DEFAULT:
lang_default = lang_data # Keep for later languages
@ -305,12 +197,9 @@ def main(args):
# Place entries in alphabetical order
###########################################################################
lang_file = "sets_db.json"
set_data = get_json_data(os.path.join(args.card_db_dir, lang_file))
set_data = get_json_data(os.path.join(card_db_dir, lang_file))
with io.open(
os.path.join(args.output_dir, lang_file), "w", encoding="utf-8"
) as lang_out:
json.dump(set_data, lang_out, sort_keys=True, indent=4, ensure_ascii=False)
write_data(set_data, os.path.join(output_dir, lang_file))
print("Sets:")
print(set(set_data))
@ -325,7 +214,7 @@ def main(args):
###########################################################################
for lang in languages:
lang_file = "sets_" + lang + ".json"
fname = os.path.join(args.card_db_dir, lang, lang_file)
fname = os.path.join(card_db_dir, lang, lang_file)
if os.path.isfile(fname):
lang_set_data = get_json_data(fname)
else:
@ -357,10 +246,7 @@ def main(args):
if lang == LANGUAGE_DEFAULT:
lang_default = lang_set_data # Keep for later languages
with io.open(
os.path.join(args.output_dir, lang, lang_file), "w", encoding="utf-8"
) as lang_out:
json.dump(lang_set_data, lang_out, ensure_ascii=False, indent=4)
write_data(lang_set_data, os.path.join(output_dir, lang, lang_file))
###########################################################################
# bonuses_xx files
@ -373,42 +259,39 @@ def main(args):
copyfile(
os.path.join(
args.card_db_dir, fromLanguage, "bonuses_" + fromLanguage + ".json"
card_db_dir, fromLanguage, "bonuses_" + fromLanguage + ".json"
),
os.path.join(args.output_dir, lang, "bonuses_" + lang + ".json"),
os.path.join(output_dir, lang, "bonuses_" + lang + ".json"),
)
###########################################################################
# translation.txt
###########################################################################
copyfile(
os.path.join(args.card_db_dir, "translation.md"),
os.path.join(args.output_dir, "translation.md"),
os.path.join(card_db_dir, "translation.md"),
os.path.join(output_dir, "translation.md"),
)
# Since xx is the starting point for new translations,
# make sure xx has the latest copy of translation.txt
copyfile(
os.path.join(args.card_db_dir, LANGUAGE_XX, "translation.txt"),
os.path.join(args.output_dir, LANGUAGE_XX, "translation.txt"),
os.path.join(card_db_dir, LANGUAGE_XX, "translation.txt"),
os.path.join(output_dir, LANGUAGE_XX, "translation.txt"),
)
def run():
parser = argparse.ArgumentParser()
parser.add_argument(
"card_db_dir",
help="directory of card data (usually card_db_src at the top level of the distribution)",
)
parser.add_argument(
"output_dir", help="directory for output data (usually src/domdiv/card_db)"
)
args = parser.parse_args()
main(args.card_db_dir, args.output_dir)
if __name__ == "__main__":
parser = argparse.ArgumentParser()
parser.add_argument(
"--card_db_dir",
default=os.path.join(
os.path.dirname(os.path.abspath(__file__)), "..", "src", "domdiv", "card_db"
),
help="directory of card data",
)
parser.add_argument(
"--output_dir",
default=os.path.join(
os.path.dirname(os.path.abspath(__file__)), ".", "card_db"
),
help="directory for output data",
)
args = parser.parse_args()
main(args)
run()

View File

@ -1,5 +1,4 @@
from __future__ import print_function
import subprocess
import shutil
import os
import contextlib
@ -23,12 +22,12 @@ def rmtestcardb(request):
def test_cardread():
cardsExpected = 576
num_cards_expected = 576
options = main.parse_opts([])
options.data_path = "."
cards = main.read_card_data(options)
assert len(cards) == cardsExpected
assert len(cards) == num_cards_expected
valid_cardsets = {
u"base",
u"dominion1stEdition",
@ -73,7 +72,7 @@ def test_cardread():
# Curse: +2 * 4 sets = +8
# Start Decks: +4 * 4 sets = +16
# Blanks: +7 = +7
assert len(cards) == cardsExpected + 28
assert len(cards) == num_cards_expected + 28
def test_languages():
@ -103,19 +102,6 @@ def change_cwd(d):
os.chdir(curdir)
def test_languagetool_run(pytestconfig):
with change_cwd(str(pytestconfig.rootdir)):
cmd = "python tools/update_language.py"
print(cmd)
assert subprocess.check_call(cmd.split()) == 0
cmd = "diff -rwB src/domdiv/card_db tools/card_db"
try:
out = subprocess.check_output(cmd.split(), stderr=subprocess.STDOUT)
except subprocess.CalledProcessError as e:
assert e.output == ""
assert out.decode("utf-8") == ""
def test_only_type():
options = main.parse_opts(
[