You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
If a _Few key is missing for Russian/Polish, the mod falls back to _Format.
String Reference
Below is every key in en.json with context about where it appears and what the placeholders mean.
General UI
Key
English
Context
ModLoaded
"MTGA Accessibility Mod loaded"
Announced once when the game starts
Back
"Back"
Announced when navigating back
NoSelection
"No selection"
When nothing is focused
NoAlternateAction
"No alternate action available"
When user tries an alternate action on an element that doesn't have one
NoNextItem
"No next item"
Reached end of a list
NoPreviousItem
"No previous item"
Reached beginning of a list
ItemDisabled
"Item is disabled"
When trying to activate a disabled element
Card Actions
Key
English
Placeholders
Context
Activating_Format
"Activating {0}"
{0} = element name
Announced when clicking a UI element
CannotActivate_Format
"Cannot activate {0}"
{0} = element name
Element couldn't be activated
CouldNotPlay_Format
"Could not play {0}"
{0} = card name
Card play failed
NoAbilityAvailable_Format
"{0} has no activatable ability"
{0} = card name
Right-click on card with no ability
NoCardSelected
"No card selected"
Trying to play when nothing is focused
Navigation Hints
Key
English
Context
NavigateWithArrows
"Arrow keys to navigate"
Appended to screen announcements as a hint
BeginningOfList
"Beginning of list"
Navigated past the first item
EndOfList
"End of list"
Navigated past the last item
NavigateHint
"Arrow keys to navigate, Enter to select"
General navigation hint
BrowserHint
"Tab to see card, Enter to keep on top"
Scry/Surveil browser hint
EnterToSelect
"Enter to select"
Short action hint
TabToNavigate
"Tab to navigate"
Short action hint
Menu Actions
Key
English
Context
OpeningPlayModes
"Opening play modes..."
Navigating to play mode screen
OpeningDeckManager
"Opening deck manager..."
Navigating to deck screen
OpeningStore
"Opening store..."
Navigating to store
OpeningMastery
"Opening mastery..."
Navigating to mastery/battle pass
OpeningProfile
"Opening profile..."
Navigating to player profile
OpeningSettings
"Opening settings..."
Navigating to settings
QuittingGame
"Quitting game..."
Player is quitting
CannotNavigateHome
"Cannot navigate to Home"
Home navigation failed
HomeNotAvailable
"Home button not available"
Home button not found
ReturningHome
"Returning to Home"
Going back to home screen
OpeningColorChallenges
"Opening color challenges"
Navigating to color challenge
NavigatingBack
"Back"
Going back one screen
ClosingSettings
"Closing settings"
Leaving settings screen
ClosingPlayBlade
"Closing play menu"
Closing the play mode panel
ExitingDeckBuilder
"Exiting deck builder"
Leaving deck builder
Deck Info
Key
English
Context
DeckInfoCardCount
"Card Count"
Deck statistics section label
DeckInfoManaCurve
"Mana Curve"
Deck statistics section label
DeckInfoTypeBreakdown
"Types"
Deck statistics section label
Login and Account Fields
Key
English
Context
BirthYearField
"Birth year field. Use arrow keys to select year."
Account creation form
BirthMonthField
"Birth month field. Use arrow keys to select month."
Account creation form
BirthDayField
"Birth day field. Use arrow keys to select day."
Account creation form
CountryField
"Country field. Use arrow keys to select country."
Account creation form
EmailField
"Email field. Type your email address."
Login/account form
PasswordField
"Password field. Type your password."
Login/account form
ConfirmPasswordField
"Confirm password field. Retype your password."
Account creation form
AcceptTermsCheckbox
"Accept terms checkbox. Press Enter to toggle."
Account creation form
LoggingIn
"Logging in..."
During login
CreatingAccount
"Creating account..."
During account creation
SubmittingPasswordReset
"Submitting password reset request..."
Password reset
CheckingQueuePosition
"Checking queue position..."
Server queue
OpeningSupportWebsite
"Opening support website..."
Help link
NoTermsContentFound
"No terms content found"
Terms of service empty
Battlefield Navigation
Key
English
Placeholders
Context
EndOfBattlefield
"End of battlefield"
Scrolled past last row
BeginningOfBattlefield
"Beginning of battlefield"
Scrolled past first row
EndOfRow
"End of row"
Last card in a battlefield row
BeginningOfRow
"Beginning of row"
First card in a battlefield row
RowEmpty_Format
"{0} is empty"
{0} = row name (e.g., "Creatures")
Empty battlefield row
RowWithCount_One
"{0}, 1 card"
{0} = row name
Row with one card
RowWithCount_Format
"{0}, {1} cards"
{0} = row name, {1} = count
Row with multiple cards
RowEmptyShort_Format
"{0}, empty"
{0} = row name
Short form for empty row
Zone Navigation
Key
English
Placeholders
Context
EndOfZone
"End of zone"
Last card in hand/graveyard/exile
BeginningOfZone
"Beginning of zone"
First card in zone
ZoneNotFound_Format
"{0} not found"
{0} = zone name
Zone doesn't exist
ZoneEmpty_Format
"{0}, empty"
{0} = zone name
Zone has no cards
ZoneWithCount_One
"{0}, 1 card"
{0} = zone name
Zone with one card
ZoneWithCount_Format
"{0}, {1} cards"
{0} = zone name, {1} = count
Zone with multiple cards
ZoneEntry_Format
"{0}: {1} cards. {2}, 1 of {3}"
{0} = zone name, {1} = total, {2} = first card, {3} = total
Entering a zone
ZoneEntryEmpty_Format
"{0}: empty"
{0} = zone name
Entering an empty zone
CardInZone_Format
"{0}, {1}, {2} of {3}"
{0} = card, {1} = zone label, {2} = position, {3} = total
Card position in zone
Targeting
Key
English
Placeholders
Context
NoValidTargets
"No valid targets"
No targets available
NoTargetSelected
"No target selected"
Confirm without selecting
TargetingCancelled
"Targeting cancelled"
User cancelled targeting
SelectTargetNoValid
"Select a target. No valid targets found."
Targeting with none available
Targeted_Format
"Targeted {0}"
{0} = target name
Successfully targeted
CouldNotTarget_Format
"Could not target {0}"
{0} = target name
Target failed
Spells and Abilities
Key
English
Context
NoPlayableCards
"No playable cards"
No cards can be played right now
SpellCast
"Spell cast"
A spell was successfully cast
SpellCastPrefix
"Cast"
Prefix: "Cast Lightning Bolt"
SpellUnknown
"unknown spell"
Spell name couldn't be determined
ResolveStackFirst
"Resolve stack first. Press Space to resolve or Tab to select targets."
Stack needs resolving
AbilityTriggered
"triggered"
Label for triggered abilities on stack
AbilityActivated
"activated"
Label for activated abilities on stack
AbilityUnknown
"Ability"
Fallback ability name
WaitingForPlayable
"Waiting for playable cards..."
Auto-pass while no actions available
Discard
Key
English
Placeholders
Context
NoSubmitButtonFound
"No submit button found"
Internal error
CouldNotSubmitDiscard
"Could not submit discard"
Discard submission failed
DiscardCount_One
"Discard 1 card"
Discard prompt for 1
DiscardCount_Format
"Discard {0} cards"
{0} = count
Discard prompt for multiple
CardsSelected_One
"1 card selected"
Selection count
CardsSelected_Format
"{0} cards selected"
{0} = count
Selection count
NeedHaveSelected_Format
"Need {0}, have {1} selected"
{0} = required, {1} = current
How many more to select
SubmittingDiscard_Format
"Submitting {0} cards for discard"
{0} = count
Confirming discard
CouldNotSelect_Format
"Could not select {0}"
{0} = card name
Card selection failed
Card Details
Key
English
Context
EndOfCard
"End of card"
Scrolled past last detail line
BeginningOfCard
"Beginning of card"
Scrolled past first detail line
CardInfoName
"Name"
Card detail label
CardInfoQuantity
"Quantity"
How many copies owned
CardInfoCollection
"Collection"
Collection/set name
CardInfoManaCost
"Mana Cost"
Card's mana cost
CardInfoPowerToughness
"Power and Toughness"
Creature P/T
CardInfoType
"Type"
Card type line
CardInfoRules
"Rules"
Rules text
CardInfoFlavor
"Flavor"
Flavor text
CardInfoArtist
"Artist"
Card artist
CardPosition_Format
"{0}{1}, {2} of {3}"
{0} = card name, {1} = status suffix, {2} = position, {3} = total
Library, Hand, and Counts
Key
English
Placeholders
Context
LibraryCount_One
"Library, 1 card"
Your library has 1 card
LibraryCount_Format
"Library, {0} cards"
{0} = count
Your library count
OpponentLibraryCount_One
"Opponent's library, 1 card"
Opponent's library has 1 card
OpponentLibraryCount_Format
"Opponent's library, {0} cards"
{0} = count
Opponent's library count
OpponentHandCount_One
"Opponent's hand, 1 card"
Opponent has 1 card in hand
OpponentHandCount_Format
"Opponent's hand, {0} cards"
{0} = count
Opponent's hand count
LibraryCountNotAvailable
"Library count not available"
Data unavailable
OpponentLibraryCountNotAvailable
"Opponent's library count not available"
Data unavailable
OpponentHandCountNotAvailable
"Opponent's hand count not available"
Data unavailable
Player Info
Key
English
Placeholders
Context
PlayerInfo
"Player info"
Player info zone label
You
"You"
Label for your player
Opponent
"Opponent"
Label for opponent
EndOfProperties
"End of properties"
Scrolled past last property
PlayerType
"player"
Word "player" for announcements
Life_Format
"{0} life"
{0} = life total
Life announcement
LifeNotAvailable
"Life not available"
Life data unavailable
TimerNotAvailable
"Timer not available"
Timer data unavailable
Timeouts_One
"1 timeout"
Player has 1 timeout
Timeouts_Format
"{0} timeouts"
{0} = count
Player timeout count
GamesWon_One
"1 game won"
Best-of-3 wins
GamesWon_Format
"{0} games won"
{0} = count
Best-of-3 wins
WinsNotAvailable
"Wins not available"
Data unavailable
RankNotAvailable
"Rank not available"
Data unavailable
Emotes
Key
English
Placeholders
Context
Emotes
"Emotes"
Emote menu label
EmoteSent_Format
"{0} sent"
{0} = emote name
Emote was sent
EmotesNotAvailable
"Emotes not available"
Emote system unavailable
Input Fields
Key
English
Placeholders
Context
InputFieldEmpty
"empty"
Input field has no text
InputFieldStart
"start"
Cursor at start
InputFieldEnd
"end"
Cursor at end
InputFieldStar
"star"
Star character for passwords
InputFieldCharacterCount_One
"1 character"
Field has 1 character
InputFieldCharacterCount_Format
"{0} characters"
{0} = count
Character count
InputFieldContent_Format
"{0}: {1}"
{0} = label, {1} = content
Field with content
InputFieldEmptyWithLabel_Format
"{0}, empty"
{0} = label
Empty field with label
InputFieldPasswordWithCount_Format
"{0}, {1} characters"
{0} = label, {1} = count
Password field (content hidden)
EditingTextField
"Editing. Type to enter text, Escape to exit."
Entered edit mode
ExitedEditMode
"Exited edit mode"
Left edit mode
TextField
"text field"
Generic label
HasCharacters_Format
"has {0} characters"
{0} = count
Character count info
ExitedInputField
"Exited input field"
Left input field
Character Names (for reading input aloud)
These are the spoken names for special characters when reading input fields character by character.
Key
English
Context
CharSpace
"space"
Space character
CharDot
"dot"
Period (.)
CharComma
"comma"
Comma (,)
CharExclamation
"exclamation"
Exclamation mark (!)
CharQuestion
"question"
Question mark (?)
CharAt
"at"
At sign (@)
CharHash
"hash"
Hash (#)
CharDollar
"dollar"
Dollar ($)
CharPercent
"percent"
Percent (%)
CharAnd
"and"
Ampersand (&)
CharStar
"star"
Asterisk (*)
CharDash
"dash"
Hyphen (-)
CharUnderscore
"underscore"
Underscore (_)
CharPlus
"plus"
Plus (+)
CharEquals
"equals"
Equals (=)
CharSlash
"slash"
Forward slash (/)
CharBackslash
"backslash"
Backslash ()
CharColon
"colon"
Colon (:)
CharSemicolon
"semicolon"
Semicolon (;)
CharQuote
"quote"
Double quote (")
CharApostrophe
"apostrophe"
Single quote (')
CharOpenParen
"open paren"
Opening parenthesis
CharCloseParen
"close paren"
Closing parenthesis
CharOpenBracket
"open bracket"
Opening square bracket
CharCloseBracket
"close bracket"
Closing square bracket
CharOpenBrace
"open brace"
Opening curly brace
CharCloseBrace
"close brace"
Closing curly brace
CharLessThan
"less than"
Less than (<)
CharGreaterThan
"greater than"
Greater than (>)
CharPipe
"pipe"
Pipe (
CharTilde
"tilde"
Tilde (~)
CharBacktick
"backtick"
Backtick (`)
CharCaret
"caret"
Caret (^)
Mana Symbols
Spoken names for mana symbols on cards.
Key
English
Placeholders
Context
ManaTap
"Tap"
Tap symbol (T)
ManaUntap
"Untap"
Untap symbol (Q)
ManaWhite
"White"
White mana (W)
ManaBlue
"Blue"
Blue mana (U)
ManaBlack
"Black"
Black mana (B)
ManaRed
"Red"
Red mana (R)
ManaGreen
"Green"
Green mana (G)
ManaColorless
"Colorless"
Colorless mana (C)
ManaX
"X"
Variable mana (X)
ManaSnow
"Snow"
Snow mana (S)
ManaEnergy
"Energy"
Energy counter (E)
ManaPhyrexian_Format
"Phyrexian {0}"
{0} = color name
Phyrexian mana (e.g., "Phyrexian Red")
ManaHybrid_Format
"{0} or {1}"
{0} = color 1, {1} = color 2
Hybrid mana (e.g., "White or Blue")
Settings Menu (F2)
Key
English
Context
SettingsMenuTitle
"Mod Settings"
Settings menu title
SettingsMenuInstructions
"Arrow Up and Down to navigate, Enter to change, Backspace or F2 to close"
Settings hint
SettingsMenuClosed
"Mod settings closed"
Leaving settings
SettingLanguage
"Language"
Language setting label
SettingTutorialMessages
"Tutorial messages"
Tutorial hints toggle
SettingVerboseAnnouncements
"Verbose announcements"
Verbose mode toggle
SettingOn
"On"
Toggle state
SettingOff
"Off"
Toggle state
SettingChanged_Format
"{0} set to {1}"
{0} = setting name, {1} = new value
SettingItemPosition_Format
"{0} of {1}: {2}"
{0} = position, {1} = total, {2} = item text
Help Menu (F1)
Key
English
Context
HelpMenuTitle
"Help Menu"
Help screen title
HelpMenuInstructions
"Arrow Up and Down to navigate, Backspace or F1 to close"
Help hint
HelpItemPosition_Format
"{0} of {1}: {2}"
{0} = position, {1} = total, {2} = help text
HelpMenuClosed
"Help closed"
Leaving help
Help Categories
Key
English
Context
HelpCategoryGlobal
"Global shortcuts"
Help section heading
HelpCategoryMenuNavigation
"Menu navigation"
Help section heading
HelpCategoryDuelZones
"Zones in duel"
Help section heading
HelpCategoryDuelInfo
"Duel information"
Help section heading
HelpCategoryCardNavigation
"Card navigation in zone"
Help section heading
HelpCategoryCardDetails
"Card details"
Help section heading
HelpCategoryCombat
"Combat"
Help section heading
HelpCategoryBrowser
"Browser (Scry, Surveil, Mulligan)"
Help section heading
HelpCategoryInputFields
"Input fields"
Help section heading
HelpCategoryDebug
"Debug keys (developers)"
Help section heading
Help Items
These are the individual shortcut descriptions shown in the help menu. Translate naturally - the key names describe the shortcut, but the value should read well as a spoken instruction.
Key
English
HelpF1Help
"F1: Help menu"
HelpF2Settings
"F2: Settings menu"
HelpF3Context
"F3: Current screen"
HelpCtrlRRepeat
"Control plus R: Repeat last announcement"
HelpBackspace
"Backspace: Back, dismiss, or cancel"
HelpArrowUpDown
"Arrow Up or Down: Navigate menu items"
HelpTabNavigation
"Tab or Shift plus Tab: Navigate menu items, or switch groups in collection"
HelpArrowLeftRight
"Arrow Left or Right: Carousel and stepper controls"
HelpHomeEnd
"Home or End: Jump to first or last item"
HelpPageUpDown
"Page Up or Page Down: Previous or next page in collection"
HelpNumberKeysFilters
"Number keys 1 to 0: Activate filters 1 to 10 in collection"
HelpEnterSpace
"Enter or Space: Activate"
HelpEnterEditField
"Enter: Start editing text field"
HelpEscapeExitField
"Escape: Stop editing, stay on field"
HelpTabNextField
"Tab: Stop editing and move to next element"
HelpShiftTabPrevField
"Shift plus Tab: Stop editing and move to previous element"
HelpArrowsInField
"Arrows in field: Left or Right reads character, Up or Down reads content"
HelpCHand
"C: Your hand, Shift plus C: Opponent hand count"
HelpBBattlefield
"B: Your creatures, Shift plus B: Opponent creatures"
HelpALands
"A: Your lands, Shift plus A: Opponent lands"
HelpRNonCreatures
"R: Your non-creatures, Shift plus R: Opponent non-creatures"
HelpGGraveyard
"G: Your graveyard, Shift plus G: Opponent graveyard"
HelpXExile
"X: Your exile, Shift plus X: Opponent exile"
HelpSStack
"S: Stack"
HelpDLibrary
"D: Your library count, Shift plus D: Opponent library count"
HelpLLifeTotals
"L: Life totals"
HelpTTurnPhase
"T: Turn and phase"
HelpVPlayerInfo
"V: Player info zone"
HelpLeftRightCards
"Left or Right arrow: Previous or next card"
HelpHomeEndCards
"Home or End: First or last card"
HelpEnterPlay
"Enter: Play or activate card"
HelpTabTargets
"Tab: Cycle through targets or playable cards"
HelpUpDownDetails
"Up or Down arrow: Navigate card details"
HelpSpaceCombat
"Space: Confirm attackers or blockers"
HelpBackspaceCombat
"Backspace: No attacks or cancel blocks"
HelpTabBrowser
"Tab: Navigate all cards"
HelpCDZones
"C or D: Jump to keep or bottom zone"
HelpEnterToggle
"Enter: Toggle card between zones"
HelpSpaceConfirm
"Space: Confirm selection"
HelpF4Refresh
"F4: Refresh current navigator"
HelpF11CardDump
"F11: Dump card details to log (pack opening)"
HelpF12UIDump
"F12: Dump UI hierarchy to log"
Browser (Scry, Surveil, Mulligan)
Key
English
Placeholders
Context
NoCards
"No cards"
Browser has no cards
NoButtonSelected
"No button selected"
No browser button focused
NoButtonsAvailable
"No buttons available"
No browser buttons exist
CouldNotTogglePosition
"Could not toggle position"
Card move failed
Selected
"selected"
Card toggled to selected state
Deselected
"deselected"
Card toggled to deselected state
InHand
"in hand"
Card location label
OnStack
"on stack"
Card location label
Confirmed
"Confirmed"
Browser submission confirmed
Cancelled
"Cancelled"
Browser submission cancelled
NoConfirmButton
"No confirm button found"
Confirm button missing
KeepOnTop
"keep"
Scry: card stays on top of library
PutOnBottom
"selected"
Scry: card put on bottom of library
CouldNotClick_Format
"Could not click {0}"
{0} = button name
Button click failed
BrowserCards_One
"{0}. 1 card. Tab to navigate, Enter to select"
{0} = browser title
Browser with 1 card
BrowserCards_Format
"{0}. {1} cards. Tab to navigate, Enter to select"
{0} = browser title, {1} = count
Browser with multiple cards
BrowserOptions_Format
"{0}. Tab to navigate options"
{0} = browser title
Browser with options
Mastery / Battle Pass
Key
English
Placeholders
Context
MasteryActivation_Format
"{0}. Level {1} of {2}, {3}. Arrow keys to navigate levels."
"{0} enters battlefield from library, enchanting {1}"
{0} = card name, {1} = target
Card entering from library attached to target
Duel_TokenCreated_Format
"{0} token created"
{0} = token name
A token was created
Duel_Played_Format
"{0} played {1}"
{0} = player, {1} = card name
Player played a card
Duel_Enchanted_Format
"{0} enchanted {1}"
{0} = aura name, {1} = target
Aura attached to a permanent
Graveyard Events:
Key
English
Placeholders
Context
Duel_CardToYourGraveyard
"Card went to your graveyard"
Generic graveyard event (name unknown)
Duel_CardToOpponentGraveyard
"Card went to opponent's graveyard"
Generic graveyard event for opponent
Duel_Died_Format
"{0}{1} died"
{0} = owner prefix, {1} = card name
Creature died (state-based action)
Duel_Destroyed_Format
"{0}{1} was destroyed"
{0} = owner prefix, {1} = card name
Permanent was destroyed
Duel_Sacrificed_Format
"{0}{1} was sacrificed"
{0} = owner prefix, {1} = card name
Permanent was sacrificed
Duel_Countered_Format
"{0}{1} was countered"
{0} = owner prefix, {1} = spell name
Spell was countered
Duel_Discarded_Format
"{0}{1} was discarded"
{0} = owner prefix, {1} = card name
Card was discarded
Duel_Milled_Format
"{0}{1} was milled"
{0} = owner prefix, {1} = card name
Card was milled from library
Duel_WentToGraveyard_Format
"{0}{1} went to graveyard"
{0} = owner prefix, {1} = card name
Generic card-to-graveyard
Duel_SpellResolved
"Spell resolved"
A spell on the stack resolved
Duel_ReturnedFromGraveyard_Format
"{0} returned from graveyard"
{0} = card name
Card returned from graveyard to battlefield
Duel_ReturnedFromGraveyardEnchanting_Format
"{0} returned from graveyard, enchanting {1}"
{0} = card name, {1} = target
Card returned from graveyard attached to target
Exile Events:
Key
English
Placeholders
Context
Duel_Exiled_Format
"{0}{1} was exiled"
{0} = owner prefix, {1} = card name
Card was exiled from battlefield
Duel_ExiledFromGraveyard_Format
"{0}{1} was exiled from graveyard"
{0} = owner prefix, {1} = card name
Card exiled from graveyard
Duel_ExiledFromHand_Format
"{0}{1} was exiled from hand"
{0} = owner prefix, {1} = card name
Card exiled from hand
Duel_ExiledFromLibrary_Format
"{0}{1} was exiled from library"
{0} = owner prefix, {1} = card name
Card exiled from library
Duel_CounteredAndExiled_Format
"{0}{1} was countered and exiled"
{0} = owner prefix, {1} = spell name
Spell countered and exiled
Duel_ReturnedFromExile_Format
"{0} returned from exile"
{0} = card name
Card returned from exile to battlefield
Duel_ReturnedFromExileEnchanting_Format
"{0} returned from exile, enchanting {1}"
{0} = card name, {1} = target
Card returned from exile attached to target
Hand Events:
Key
English
Placeholders
Context
Duel_ReturnedToHand_Format
"{0}{1} returned to hand"
{0} = owner prefix, {1} = card name
Card bounced to hand from battlefield
Duel_ReturnedToHandFromGraveyard_Format
"{0}{1} returned to hand from graveyard"
{0} = owner prefix, {1} = card name
Card returned to hand from graveyard
Duel_ReturnedToHandFromExile_Format
"{0}{1} returned to hand from exile"
{0} = owner prefix, {1} = card name
Card returned to hand from exile
Counters:
Key
English
Placeholders
Context
Duel_CounterGained_Format
"{0} gained {1} {2} counter"
{0} = card name, {1} = count, {2} = counter type
Singular counter gained
Duel_CounterGainedPlural_Format
"{0} gained {1} {2} counters"
{0} = card name, {1} = count, {2} = counter type
Multiple counters gained
Duel_CounterLost_Format
"{0} lost {1} {2} counter"
{0} = card name, {1} = count, {2} = counter type
Singular counter lost
Duel_CounterLostPlural_Format
"{0} lost {1} {2} counters"
{0} = card name, {1} = count, {2} = counter type
Multiple counters lost
Duel_CounterCreature
"creature"
Default counter type label
Reveals:
Key
English
Placeholders
Context
Duel_Revealed_Format
"Revealed {0}"
{0} = card name
A card was revealed
Game End:
Key
English
Context
Duel_Victory
"Victory!"
You won the game
Duel_Defeat
"Defeat"
You lost the game
Duel_GameEnded
"Game ended"
Generic game end
Browser Hints:
Key
English
Placeholders
Context
Duel_ScryHint
"Scry. Tab to see card, Enter to keep on top, Space to put on bottom"
Announced when scry browser opens
Duel_SurveilHint
"Surveil. Tab to see card, Enter to keep on top, Space to put in graveyard"
Announced when surveil browser opens
Duel_EffectHint_Format
"{0}. Tab to navigate, Enter to select"
{0} = effect name
Announced for other browser-style effects
Duel_LookAtTopCard
"Look at top card"
Announced for top-of-library peek effects
London Mulligan:
Key
English
Placeholders
Context
Duel_SelectForBottom_One
"Select 1 card to put on bottom. {0} cards. Enter to toggle, Space when done"
{0} = total cards in hand
Mulligan prompt for 1 card
Duel_SelectForBottom_Format
"Select {0} cards to put on bottom. {1} cards. Enter to toggle, Space when done"
{0} = cards to select, {1} = total cards
Mulligan prompt for multiple cards
Duel_SelectedForBottom_Format
"{0} of {1} selected for bottom"
{0} = currently selected, {1} = required
Selection progress during mulligan
Owner Prefix:
Key
English
Context
Duel_OwnerPrefix_Opponent
"Opponent's "
Prepended to card names for opponent's cards in zone change announcements. Note the trailing space.
Translation Tips
Be concise. These strings are read aloud by a screen reader. Short and clear is better than long and formal.
Use your language's MTG terminology. For terms like "Library", "Graveyard", "Exile" - use whatever the official Magic: The Gathering translations use in your language.
Keep key names from help items. Keyboard keys like "F1", "Tab", "Enter", "Backspace", "Space", "Escape" should stay as-is (they are the key labels on the keyboard). Translate the descriptions around them.
Test with a screen reader. If possible, run the mod with your language selected and listen to how the translations sound when spoken aloud. Some phrasing that reads well on screen sounds awkward when spoken.
Placeholders can be reordered. If your language puts the count before the noun, that's fine: "{1} cartes dans {0}" works just as well as "{0}, {1} cards".
NumberWords
The NumberWords key maps spelled-out number words to digits. The mod uses this when the game's prompt text spells out a number as a word instead of a digit (e.g. German "Wirf zwei Karten ab" instead of "Discard 2 cards"). The mod first tries to find a digit with a regex; NumberWords is the fallback.
Format: comma-separated word=number pairs, all lowercase:
Include all grammatical forms your language uses in game prompts (e.g. German needs "eine=1,einer=1,einem=1,einen=1,ein=1,zwei=2,...")
Numbers 1-10 are usually enough - higher counts are rare in game prompts
Languages that always use digits in game prompts (Japanese, Korean, Chinese) can leave this empty: "NumberWords": ""
Matching is case-insensitive and whole-word only, so "ein" won't match inside "einen" (both should be listed separately)
How to Test
Build the mod: dotnet build src/AccessibleArena.csproj
Copy the DLL to the game's Mods folder
Launch the game, press F2 to open settings, change language
Navigate through screens and listen to announcements
If you can't build the mod, you can still submit translations - the maintainers will build and test.
Checking for Missing Keys
To find keys that exist in en.json but are missing from your language file, you can compare the key lists. Every key in en.json should have a corresponding entry in your language file. Missing keys will automatically fall back to English, so partial translations are fine - but complete translations are better.