diff --git a/Tormenta20 - Jogo do Ano/translations/en.json b/Tormenta20 - Jogo do Ano/translations/en.json
index c1b82577a2..2dcccea157 100644
--- a/Tormenta20 - Jogo do Ano/translations/en.json
+++ b/Tormenta20 - Jogo do Ano/translations/en.json
@@ -122,97 +122,97 @@
"deslocamento": "Speed",
"melee": "Melee",
"distance": "Ranged",
- "tesouro": "Tesouro:",
+ "tesouro": "Treasure:",
"menace_charactersheet": "Menace Character Sheet",
- "player_charactersheet": "Ficha Jogador",
- "global_charactersheet": "Modificadores Globais",
- "player_eraseglobal": "Limpar Globais",
+ "player_charactersheet": "Character Sheet",
+ "global_charactersheet": "Global Modifiers",
+ "player_eraseglobal": "Erase Global",
"menace-name": "Name",
"menace-type": "Type (Menace) Size (Role)",
"menace-perception": "Menace Perception",
"menace-resistence": "Menace Resistance",
"vestido": "Equipped",
- "rolagem": "Rolagem",
- "global": "Globais",
- "condicoes": "Condições",
- "abalado": "Abalado",
- "agarrado": "Agarrado",
- "alquebrado": "Alquebrado",
- "apavorado": "Apavorado",
- "atordoado": "Atordoado",
- "caido": "Caído",
- "cego": "Cego",
- "confuso": "Confuso",
- "debilitado": "Debilitado",
- "desprevenido": "Desprevenido",
- "doente": "Doente",
- "emchama": "Em Chamas",
- "enfeiticado": "Enfeitiçado",
- "enjoado": "Enjoado",
- "enreado": "Enredado",
- "envenenado": "Envenenado",
- "esmorecido": "Esmorecido",
- "exausto": "Exausto",
- "fascinado": "Fascinado",
- "fatigado": "Fatigado",
- "fraco": "Fraco",
- "frustrado": "Frustrado",
- "imovel": "Imóvel",
- "inconsciente": "Inconsciente",
- "indefeso": "Indefeso",
- "lento": "Lento",
- "ofuscado": "Ofuscado",
- "paralizado": "Paralizado",
- "pasmo": "Pasmo",
- "petrificacao": "Petrificação",
- "sangrando": "Sangrando",
- "surdo": "Surdo",
- "surpreendido": "Surpreendido",
- "vulneravel": "Vulnerável",
- "abalado_descricao": "O personagem sofre –2 em testes de perícia. Se ficar abalado novamente, em vez disso fica apavorado. Medo.",
- "agarrado_descricao": "O personagem fica desprevenido e imóvel, sofre –2 em testes de ataque e só pode atacar com armas leves. Ataques à distância contra um alvo envolvido em uma manobra agarrar têm 50% de chance de acertar o alvo errado. Movimento.",
- "alquebrado_descricao": "O custo em pontos de mana das habilidades do personagem aumenta em +1. Mental.",
- "apavorado_descricao": "O personagem sofre –5 em testes de perícia e não pode se aproximar voluntariamente da fonte do medo. Medo.",
- "atordoado_descricao": "O personagem fica desprevenido e não pode fazer ações. Mental. ",
- "caido_descricao": "O personagem sofre –5 em ataques corpo a corpo e seu deslocamento é reduzido a 1,5m. Além disso, sofre –5 na Defesa contra ataques corpo a corpo e recebe +5 na Defesa contra ataques à distância (cumulativos com outras condições).",
- "cego_descricao": "O personagem fica desprevenido e lento, não pode fazer testes de Percepção para observar e sofre –5 em testes de perícias baseadas em Força ou Destreza. Todos os alvos de seus ataques recebem camuflagem total. Você é considerado cego enquanto estiver em uma área de escuridão total, a menos que algo lhe permita perceber no escuro. Sentidos.",
- "confuso_descricao": "O personagem comporta-se de modo aleatório. Role 1d6 no início de seus turnos: 1) Movimenta-se em uma direção escolhida por uma rolagem de 1d8; 2-3) Não pode fazer ações, e fica balbuciando incoerentemente; 4-5) Usa a arma que estiver empunhando para atacar a criatura mais próxima, ou a si mesmo se estiver sozinho (nesse caso, apenas role o dano); 6) A condição termina e pode agir normalmente. Mental.",
- "debilitado_descricao": "O personagem sofre –5 em testes de Força, Destreza e Constituição e de perícias baseadas nesses atributos. Se o personagem ficar debilitado novamente, em vez disso fica inconsciente.",
- "desprevenido_descricao": "O personagem sofre –5 na Defesa e em Reflexos. Você fica desprevenido contra inimigos que não possa perceber. Doente. Sob efeito de uma doença. Metabolismo.",
- "doente_descricao": "Sob efeito de uma doença. Metabolismo.",
- "emchamas_descricao": "O personagem está pegando fogo. No início de seus turnos, sofre 1d6 pontos de dano de fogo. O personagem pode gastar uma ação padrão para apagar o fogo com as mãos. Imersão em água também apaga as chamas.",
- "enfeiticado_descricao": "O personagem se torna prestativo em relação à fonte da condição. Ele não fica sob controle da fonte, mas percebe suas palavras e ações da maneira mais favorável possível. A fonte da condição recebe +10 em testes de Diplomacia com o personagem. Mental.",
- "enjoado_descricao": "O personagem só pode realizar uma ação padrão ou de movimento (não ambas) por rodada. Ele pode gastar uma ação padrão para fazer uma investida, mas pode avançar no máximo seu deslocamento (e não o dobro). Metabolismo.",
- "enreado_descricao": "O personagem fica lento, vulnerável e sofre –2 em testes de ataque. Movimento.",
- "envenenado_descricao": "O efeito desta condição varia de acordo com o veneno. Pode ser perda de vida recorrente ou outra condição (como fraco ou enjoado). Perda de vida recorrente por venenos é cumulativa. Veneno.",
- "esmorecido_descricao": "O personagem sofre –5 em testes de Inteligência, Sabedoria e Carisma e de perícias baseadas nesses atributos. Mental.",
- "exausto_descricao": "O personagem fica debilitado, lento e vulnerável. Se ficar exausto novamente, em vez disso fica inconsciente. Cansaço.",
- "fascinado_descricao": "Com a atenção presa em alguma coisa. O personagem sofre –5 em Percepção e não pode fazer ações, exceto observar aquilo que o fascinou. Esta condição é anulada por ações hostis contra o personagem ou se o que o fascinou não estiver mais visível. Balançar uma criatura fascinada para tirá-la desse estado gasta uma ação padrão. Mental. Lista de Condições 394 Apêndice",
- "fatigado_descricao": "O personagem fica fraco e vulnerável. Se ficar fatigado novamente, em vez disso fica exausto. Cansaço.",
- "fraco_descricao": "O personagem sofre –2 em testes de Força, Destreza e Constituição e de perícias baseadas nesses atributos. Se ficar fraco novamente, em vez disso fica debilitado.",
- "frustrado_descricao": "O personagem sofre –2 em testes de Inteligência, Sabedoria e Carisma e de perícias baseadas nesses atributos. Se ficar frustrado novamente, em vez disso fica esmorecido. Mental.",
- "imovel_descricao": "Todas as formas de deslocamento do personagem são reduzidas a 0m. Movimento.",
- "inconsciente_descricao": "O personagem fica indefeso e não pode fazer ações, incluindo reações (mas ainda pode fazer testes que sejam naturalmente feitos quando se está inconsciente, como testes de Constituição para estabilizar sangramento). Balançar uma criatura para acordá-la gasta uma ação padrão.",
- "indefeso_descricao": "O personagem fica desprevenido, mas sofre –10 na Defesa, falha automaticamente em testes de Reflexos e pode sofrer golpes de misericórdia.",
- "lento_descricao": "Todas as formas de deslocamento do personagem são reduzidas à metade (arredonde para Cegueira, envenenamento, petrificação, medo. Aventureiros enfrentam todo tipo de situação adversa baixo para o primeiro incremento de 1,5m) e ele não pode correr ou fazer investidas. Movimento.",
- "ofuscado_descricao": "O personagem sofre –2 em testes de ataque e de Percepção. Sentidos.",
- "paralizado_descricao": "Fica imóvel e indefeso e só pode realizar ações puramente mentais. Movimento.",
- "pasmo_descricao": "Não pode fazer ações. Mental.",
- "petrificacao_descricao": " O personagem fica inconsciente e recebe redução de dano 8. Metamorfose.",
- "sangrando_descricao": "No início de seu turno, o personagem deve fazer um teste de Constituição (CD 15). Se falhar, perde 1d6 pontos de vida e continua sangrando. Se passar, remove essa condição. Metabolismo.",
- "surdo_descricao": "O personagem não pode fazer testes de Percepção para ouvir e sofre –5 em testes de Iniciativa. Além disso, é considerado em condição ruim para lançar magias. Sentidos.",
- "surpreendido_descricao": "O personagem fica desprevenido e não pode fazer ações.",
- "vulneravel_descricao": "O personagem sofre –2 na Defesa",
- "spam-attack": "Ataque",
- "spam-damage": "Dano",
- "spam-roll": "Rolagem",
- "spam-skills": "Perícias",
- "spam-defense": "Defesa",
- "spam-armor": "Armadura",
- "spam-shield": "Escudo",
- "shovedefense": "-5 Defesa contra Ataques Corpo à Corpo. +5 de Defesa contra Ataques à Distância.",
- "tipo_critico": "Crítico",
- "dilacerante": "Dilacerante",
- "lancinante": "Lancinante",
- "dado_extra": "Dados Extra"
+ "rolagem": "Roll",
+ "global": "Global",
+ "condicoes": "Conditions",
+ "abalado": "Shaken",
+ "agarrado": "Grappled",
+ "alquebrado": "Broken",
+ "apavorado": "Terrified",
+ "atordoado": "Stunned",
+ "caido": "Prone",
+ "cego": "Blind",
+ "confuso": "Confused",
+ "debilitado": "Debilitated",
+ "desprevenido": "Off guard",
+ "doente": "Sick",
+ "emchama": "Burning",
+ "enfeiticado": "Charmed",
+ "enjoado": "Nauseated",
+ "enreado": "Tangled",
+ "envenenado": "Poisoned",
+ "esmorecido": "Dismayed",
+ "exausto": "Exhausted",
+ "fascinado": "Fascinated",
+ "fatigado": "Fatigued",
+ "fraco": "Weak",
+ "frustrado": "Frustrated",
+ "imovel": "Immobile",
+ "inconsciente": "Unconscious",
+ "indefeso": "Helpless",
+ "lento": "Slow",
+ "ofuscado": "Dazzled",
+ "paralizado": "Paralyzed",
+ "pasmo": "Dazed",
+ "petrificacao": "Petrified",
+ "sangrando": "Bleeding",
+ "surdo": "Deaf",
+ "surpreendido": "Surprised",
+ "vulneravel": "Vulnerable",
+ "abalado_descricao": "The character suffers –2 to skill checks. If you become shaken again, instead you get terrified. Fear condition.",
+ "agarrado_descricao": "The character is off guard and immobile, suffers –2 to attack checks and can only attack with light weapons. A character making a ranged attack against a target involved in the grapple maneuver grapple has a 50% chance to hit the wrong target. Paralysis condition",
+ "alquebrado_descricao": "The mana cost of the character's abilities and spells increases by +1. Mental condition.",
+ "apavorado_descricao": "The character suffers –5 on skill checks and cannot voluntarily approach the source of fear. Fear condition.",
+ "atordoado_descricao": "The character is off guard and can’t perform actions. Mental condition",
+ "caido_descricao": "Lying on the floor. The character suffers –5 to melee attacks and their speed is reduced to 5ft. In addition, they suffer –5 Defense against melee attacks, but gain +5 Defense against ranged attacks.",
+ "cego_descricao": "The character is off guard and slow, cannot make Perception checks to observe and suffers –5 to Strength-based or Dexterity-based skill checks. All targets of their attacks receive total camouflage. Senses condition.",
+ "confuso_descricao": "The character behaves randomly. Roll 1d6 at the start of their turns: 1) Move in a direction chosen by a roll of 1d8; 2-3) Cannot do actions, except reactions, and babble incoherently; 4-5) Use the weapon they are wielding to attack the nearest creature, or themselves if they are alone (in this case, just roll damage); 6) Condition ends and can act normally. Mental condition.",
+ "debilitado_descricao": "The character suffers –5 on physical attribute (Strength, Dexterity and Constitution) checks and skill checks based on those attributes. If the character become debilitated again, they instead become unconscious.",
+ "desprevenido_descricao": "Unprepared to react. The character suffers –5 to Defense and Reflexes. You are off guard against enemies you cannot see.",
+ "doente_descricao": "Under the effects of a disease.",
+ "emchamas_descricao": "The character is on fire. At the start of their turns, they take 1d6 points of fire damage. The character can spend a standard action to put out the fire with their hands. Immersion in water also puts out the flames.",
+ "enfeiticado_descricao": "The character becomes helpful towards the source of the condition. He does not come under the source's control, but perceives his words and actions in the most favorable light. The source of the condition gains +10 on Diplomacy checks with the character. Mental Condition.",
+ "enjoado_descricao": "The character can only make a standard or move action (not both) per round. They can spend a standard action to charge, but can advance only as much as their Speed (not double). Metabolic condition.",
+ "enreado_descricao": "The character becomes slow, vulnerable and suffers –2 to attack rolls. Paralysis condition.",
+ "envenenado_descricao": "The effect of this condition varies according to the poison. It could be another condition (e.g. weak or nauseated) or recurring damage (for example, 1d12 points of damage per round). The poison description determines its duration (if nothing is said, the condition lasts for the scene).",
+ "esmorecido_descricao": "The character suffers –5 to mental attribute (Intelligence, Wisdom, and Charisma) checks and skills based on those attributes. Mental condition.",
+ "exausto_descricao": "The character is debilitated, slowed, and vulnerable. If they become exhausted again, instead they become unconscious. Fatigue condition.",
+ "fascinado_descricao": "With attention fixed on something. The character suffers –5 to Perception and cannot do actions, except to observe what fascinated them. Any hostile action against the character nullifies this condition. Shaking a fascinated creature to get it out from that state costs a standard action. Mental condition.",
+ "fatigado_descricao": "The character becomes weak and vulnerable. If the character becomes fatigued again, instead they become exhausted. Fatigue condition.",
+ "fraco_descricao": "The character suffers –2 to physical attribute (Strength, Dexterity and Constitution) checks and skills based on those attributes. If they become weak again, they become debilitated instead.",
+ "frustrado_descricao": "The character suffers –2 to mental attribute (Intelligence, Wisdom and Charisma) checks and skills based on those attributes. If they become frustrated again, they become dismayed instead. Mental condition.",
+ "imovel_descricao": "All forms of speed are reduced to 0ft. Paralysis condition.",
+ "inconsciente_descricao": "The character is helpless and cannot do actions. Shaking a creature to wake them up costs a standard action.",
+ "indefeso_descricao": "The character is considered off guard, but suffers –10 to Defense, automatically fails Reflexes saves and can be targeted by deathblows.",
+ "lento_descricao": "All speed forms are halved (round down to the closest 5ft increment) and can’t run or charge. Paralysis condition.",
+ "ofuscado_descricao": "The character suffers –2 to attack checks and Perception. Senses condition.",
+ "paralizado_descricao": "The character is immobile and helpless and can only perform purely mental actions. Paralysis condition.",
+ "pasmo_descricao": "The character cannot take actions, except for reactions. Mental condition.",
+ "petrificacao_descricao": "The character becomes unconscious and gains damage resistance 8. Metamorphosis Condition.",
+ "sangrando_descricao": " With an open wound. At the start of their turns, the character must make a Constitution check (DC 15). If they pass, they stabilize and remove this condition. If they fail, they suffer 1d6 damage and continue to bleed. Metabolic Condition.",
+ "surdo_descricao": "The character cannot make Perception checks to hear and suffers –5 to Initiative checks. In addition, they are considered to be in poor condition for casting spells. Senses condition.",
+ "surpreendido_descricao": "Unaware of their enemies. The character is off guard and cannot take actions, except reactions.",
+ "vulneravel_descricao": "The character suffers –2 to Defense",
+ "spam-attack": "Attack",
+ "spam-damage": "Damage",
+ "spam-roll": "Roll",
+ "spam-skills": "Skill",
+ "spam-defense": "Defense",
+ "spam-armor": "Armor",
+ "spam-shield": "Shield",
+ "shovedefense": "-5 in Defense against Melee attacks. +5 Defense against Ranged attacks. ",
+ "tipo_critico": "Critical",
+ "dilacerante": "Tearing",
+ "lancinante": "Lancinating",
+ "dado_extra": "Extra Dices"
}
\ No newline at end of file
diff --git a/Warhammer 4e Character Sheet/README.md b/Warhammer 4e Character Sheet/README.md
index 1c0301aae2..4fbdf647b1 100644
--- a/Warhammer 4e Character Sheet/README.md
+++ b/Warhammer 4e Character Sheet/README.md
@@ -81,6 +81,11 @@ Note conditions are not intended for out of combat situations, GM simply makes t
///// ============ Change Log ============ /////
+February 28th 2022 v1.65b
+
+- Fixed Talent Nobleblood test +SL text during leadership rolls, now correctly dislays as situational bonus SL.
+
+
February 14th 2022 v1.65a
- Fixed some skill rolls not always working due to new Besmirched condition bug
diff --git a/Warhammer 4e Character Sheet/Warhammer 4e Character Sheet.html b/Warhammer 4e Character Sheet/Warhammer 4e Character Sheet.html
index 39897be538..a531c77b74 100644
--- a/Warhammer 4e Character Sheet/Warhammer 4e Character Sheet.html
+++ b/Warhammer 4e Character Sheet/Warhammer 4e Character Sheet.html
@@ -48436,8 +48436,8 @@ on('clicked:repeating_divinemiracles:miracle clicked:repeating_divinemiracles:mi
sitmods = '+@{Talent_MenacingLvl}+@{Talent_NobleBloodLvl}';
rollPart = rollPart2.replaceAll('cond-', `(@{condgen}-@{DrunkMod})`).replaceAll('>sitmod<', sitmods);}
else if (trigger === 'leadership') {cond = '{{cond=[[@{condgen}-@{DrunkMod}]]}} {{drunk=[[0]]}} {{fatigued=[[@{FatiguedMod}]]}} {{broken=[[@{BrokenMod}]]}} {{stuned=[[@{StunedMod}]]}} {{poisoned=[[@{PoisonedMod}]]}} {{prone=[[0]]}} {{entangled=[[0]]}} {{blinded=[[0]]}} {{deafened=[[0]]}} {{warleader=[[@{Talent_WarLeaderLvl}]]}} {{commandingpresence=[[@{Talent_CommandingPresenceLvl}]]}} {{inspiring=[[@{Talent_InspiringLvl}]]}} {{nobleblood=[[@{Talent_NobleBloodLvl}]]}} {{masterandcommander=[[@{Talent_MasterAndCommanderLvl}]]}}';
- addsl = '+@{Talent_CommandingPresenceLvl}+@{Talent_NobleBloodLvl}+@{Talent_MasterAndCommanderLvl}';
- sitmods = '+@{Talent_WarLeaderLvl}+@{Talent_InspiringLvl}';
+ addsl = '+@{Talent_CommandingPresenceLvl}+@{Talent_MasterAndCommanderLvl}';
+ sitmods = '+@{Talent_WarLeaderLvl}+@{Talent_InspiringLvl}+@{Talent_NobleBloodLvl}';
rollPart = rollPart2.replaceAll('cond-', `(@{condgen}-@{DrunkMod})`).replaceAll('>addsl<', addsl).replaceAll('>sitmod<', sitmods);}
else if (trigger === 'row') {cond = '{{cond=[[@{condgen}-@{DrunkMod}]]}} {{drunk=[[0]]}} {{fatigued=[[@{FatiguedMod}]]}} {{broken=[[@{BrokenMod}]]}} {{stuned=[[@{StunedMod}]]}} {{poisoned=[[@{PoisonedMod}]]}} {{prone=[[0]]}} {{entangled=[[0]]}} {{blinded=[[0]]}} {{deafened=[[0]]}} {{strongback=[[@{Talent_StrongBackLvl}]]}} {{pilot=[[@{Talent_PilotLvl}]]}}'
addsl = '+@{Talent_StrongBackLvl}';
diff --git a/alien_rpg/translations/af.json b/alien_rpg/translations/af.json
new file mode 100644
index 0000000000..67a0348003
--- /dev/null
+++ b/alien_rpg/translations/af.json
@@ -0,0 +1,202 @@
+{
+ "no-assigned-crew": "No assigned crew",
+ "successes": "successes",
+ "panic": "panic",
+ "no dice to roll": "no dice to roll",
+ "base damage": "base damage",
+ "tabs-menu-character": "Character",
+ "tabs-menu-ship": "Ship",
+ "tabs-menu-npc": "NPC",
+ "tabs-menu-hostile": "Hostile",
+ "tabs-menu-options": "Options",
+ "tabs-menu-vehicle": "Vehicle",
+ "Personal Agenda": "Personal Agenda",
+ "Relationships": "Relationships",
+ "buddy:": "Buddy:",
+ "rival:": "Rival:",
+ "Stress Level": "Stress Level",
+ "Health": "Health",
+ "Radiation": "Radiation",
+ "Critical Injuries": "Critical Injuries",
+ "Conditions": "Conditions",
+ "starving": "starving",
+ "dehydrated": "dehydrated",
+ "exhausted": "exhausted",
+ "freezing": "freezing",
+ "air": "air",
+ "food": "food",
+ "power": "power",
+ "water": "water",
+ "strength": "strength",
+ "heavy machinery": "heavy machinery",
+ "stamina": "stamina",
+ "close combat": "close combat",
+ "agility": "agility",
+ "ranged combat": "ranged combat",
+ "mobility": "mobility",
+ "piloting": "piloting",
+ "wits": "wits",
+ "observation": "observation",
+ "survival": "survival",
+ "comtech": "comtech",
+ "empathy": "empathy",
+ "command": "command",
+ "medical aid": "medical aid",
+ "manipulation": "manipulation",
+ "Armor": "Armor",
+ "encumberance": "Encumberance",
+ "Weapons": "Weapons",
+ "melee": "melee",
+ "ranged": "ranged",
+ "Talents": "Talents",
+ "Experience Points": "Experience Points",
+ "Story Points": "Story Points",
+ "Tiny Items": "Tiny Items",
+ "Signature Item": "Signature Item",
+ "gear": "gear",
+ "Lease Cost": "Lease Cost",
+ "crew": "crew",
+ "length": "length",
+ "signature": "signature",
+ "hull": "hull",
+ "passengers": "passengers",
+ "ftl rating": "ftl rating",
+ "thrusters": "thrusters",
+ "armor": "armor",
+ "maneuverability": "maneuverability",
+ "speed": "speed",
+ "armaments": "armaments",
+ "bonus": "bonus",
+ "damage": "damage",
+ "range": "range",
+ "size": "size",
+ "crew positions": "crew positions",
+ "character name": "character name",
+ "position": "position",
+ "skill": "skill",
+ "notes": "notes",
+ "passenger": "passenger",
+ "captain": "captain",
+ "sensor operator": "sensor operator",
+ "pilot": "pilot",
+ "gunner": "gunner",
+ "engineer": "engineer",
+ "query": "query",
+ "heavy_machinery": "heavy_machinery",
+ "close_combat": "close_combat",
+ "ranged_combat": "ranged_combat",
+ "medical_aid": "medical_aid",
+ "tabs-menu-initiative": "Initiative",
+ "Records": "Records",
+ "title:": "Title:",
+ "nickname:": "Nickname:",
+ "age:": "Age:",
+ "personality:": "Personality:",
+ "Biography": "Biography",
+ "Data": "Data",
+ "Talent:": "Talent:",
+ "Gear:": "Gear:",
+ "Results": "Results",
+ "close": "close",
+ "engaged": "engaged",
+ "short": "short",
+ "medium": "medium",
+ "long": "long",
+ "extreme": "extreme",
+ "skills:": "Skills:",
+ "talent:": "Talent:",
+ "Gear": "Gear",
+ "Mobility": "Mobility",
+ "Observation": "Observation",
+ "Information": "Information",
+ "Containment and Termination Protocols": "Containment and Termination Protocols",
+ "weapon name": "weapon name",
+ "weapon description": "weapon description",
+ "armament": "armament",
+ "internal modules": "internal modules",
+ "type": "type",
+ "select one": "select one",
+ "artificial intelligence": "artificial intelligence",
+ "air scrubber": "air scrubber",
+ "cargo bay": "cargo bay",
+ "corporate suite": "corporate suite",
+ "cryo deck": "cryo deck",
+ "docking umbilical": "docking umbilical",
+ "emergency escape vehicle": "emergency escape vehicle",
+ "galley": "galley",
+ "hangar": "hangar",
+ "medlab": "medlab",
+ "salvage crane": "salvage crane",
+ "science lab": "science lab",
+ "tractor hitch": "tractor hitch",
+ "vehicle bay": "vehicle bay",
+ "": "",
+ "thrusterRoll": "thrusterRoll",
+ "shipArmor": "shipArmor",
+ "ftl_rating": "ftl_rating",
+ "multiple-pilot-query": "Which pilot is at the helm",
+ "multiple-gunner-query": "Which gunner is firing",
+ "dice to add/subtract for {{rollName}}": "Dice to add/subtract for {{0}}",
+ "push": "push",
+ "ftl-trip-query": "How many parsecs are you traveling",
+ "distance": "distance",
+ "ftl trip": "ftl trip",
+ "attacks": "attacks",
+ "weight": "weight",
+ "name": "name",
+ "abilities": "abilities",
+ "description": "description",
+ "undefined": "undefined",
+ "hostile": "hostile",
+ "stage": "stage",
+ "armor rating:": "armor rating:",
+ "skills": "skills",
+ "tabs-menu-settings": "tabs-menu-settings",
+ "sheet behavior": "sheet behavior",
+ "character type": "character type",
+ "character": "character",
+ "npc": "npc",
+ "ship": "ship",
+ "vehicle": "vehicle",
+ "party screen": "party screen",
+ "whisper to gm": "whisper to gm",
+ "never": "never",
+ "always": "always",
+ "internal module": "internal module",
+ "manufacturer": "manufacturer",
+ "ai": "ai",
+ "ship's log": "ship's log",
+ "date": "date",
+ "location": "location",
+ "minor component damage": "minor component damage",
+ "effect": "effect",
+ "major component damage": "major component damage",
+ "upgrades": "upgrades",
+ "quantity-abbreviation": "qty",
+ "component damage": "component damage",
+ "skill 1": "skill 1",
+ "completed": "completed",
+ "skill 2": "skill 2",
+ "talent name": "talent name",
+ "talent description": "talent description",
+ "e.g. agility": "e.g. agility",
+ "push twice": "push twice",
+ "Panic": "Panic",
+ "radiation_level": "radiation_level",
+ "radiation level": "radiation level",
+ "chance": "chance",
+ "title": "title",
+ "attributes": "attributes",
+ "nickname": "nickname",
+ "age": "age",
+ "personality": "personality",
+ "talent": "talent",
+ "buddy": "buddy",
+ "rival": "rival",
+ "comments": "comments",
+ "results": "results",
+ "gear description": "gear description",
+ "encumbrance": "encumbrance",
+ "qty": "qty",
+ "comment": "comment"
+}
\ No newline at end of file
diff --git a/alien_rpg/translations/ca.json b/alien_rpg/translations/ca.json
new file mode 100644
index 0000000000..67a0348003
--- /dev/null
+++ b/alien_rpg/translations/ca.json
@@ -0,0 +1,202 @@
+{
+ "no-assigned-crew": "No assigned crew",
+ "successes": "successes",
+ "panic": "panic",
+ "no dice to roll": "no dice to roll",
+ "base damage": "base damage",
+ "tabs-menu-character": "Character",
+ "tabs-menu-ship": "Ship",
+ "tabs-menu-npc": "NPC",
+ "tabs-menu-hostile": "Hostile",
+ "tabs-menu-options": "Options",
+ "tabs-menu-vehicle": "Vehicle",
+ "Personal Agenda": "Personal Agenda",
+ "Relationships": "Relationships",
+ "buddy:": "Buddy:",
+ "rival:": "Rival:",
+ "Stress Level": "Stress Level",
+ "Health": "Health",
+ "Radiation": "Radiation",
+ "Critical Injuries": "Critical Injuries",
+ "Conditions": "Conditions",
+ "starving": "starving",
+ "dehydrated": "dehydrated",
+ "exhausted": "exhausted",
+ "freezing": "freezing",
+ "air": "air",
+ "food": "food",
+ "power": "power",
+ "water": "water",
+ "strength": "strength",
+ "heavy machinery": "heavy machinery",
+ "stamina": "stamina",
+ "close combat": "close combat",
+ "agility": "agility",
+ "ranged combat": "ranged combat",
+ "mobility": "mobility",
+ "piloting": "piloting",
+ "wits": "wits",
+ "observation": "observation",
+ "survival": "survival",
+ "comtech": "comtech",
+ "empathy": "empathy",
+ "command": "command",
+ "medical aid": "medical aid",
+ "manipulation": "manipulation",
+ "Armor": "Armor",
+ "encumberance": "Encumberance",
+ "Weapons": "Weapons",
+ "melee": "melee",
+ "ranged": "ranged",
+ "Talents": "Talents",
+ "Experience Points": "Experience Points",
+ "Story Points": "Story Points",
+ "Tiny Items": "Tiny Items",
+ "Signature Item": "Signature Item",
+ "gear": "gear",
+ "Lease Cost": "Lease Cost",
+ "crew": "crew",
+ "length": "length",
+ "signature": "signature",
+ "hull": "hull",
+ "passengers": "passengers",
+ "ftl rating": "ftl rating",
+ "thrusters": "thrusters",
+ "armor": "armor",
+ "maneuverability": "maneuverability",
+ "speed": "speed",
+ "armaments": "armaments",
+ "bonus": "bonus",
+ "damage": "damage",
+ "range": "range",
+ "size": "size",
+ "crew positions": "crew positions",
+ "character name": "character name",
+ "position": "position",
+ "skill": "skill",
+ "notes": "notes",
+ "passenger": "passenger",
+ "captain": "captain",
+ "sensor operator": "sensor operator",
+ "pilot": "pilot",
+ "gunner": "gunner",
+ "engineer": "engineer",
+ "query": "query",
+ "heavy_machinery": "heavy_machinery",
+ "close_combat": "close_combat",
+ "ranged_combat": "ranged_combat",
+ "medical_aid": "medical_aid",
+ "tabs-menu-initiative": "Initiative",
+ "Records": "Records",
+ "title:": "Title:",
+ "nickname:": "Nickname:",
+ "age:": "Age:",
+ "personality:": "Personality:",
+ "Biography": "Biography",
+ "Data": "Data",
+ "Talent:": "Talent:",
+ "Gear:": "Gear:",
+ "Results": "Results",
+ "close": "close",
+ "engaged": "engaged",
+ "short": "short",
+ "medium": "medium",
+ "long": "long",
+ "extreme": "extreme",
+ "skills:": "Skills:",
+ "talent:": "Talent:",
+ "Gear": "Gear",
+ "Mobility": "Mobility",
+ "Observation": "Observation",
+ "Information": "Information",
+ "Containment and Termination Protocols": "Containment and Termination Protocols",
+ "weapon name": "weapon name",
+ "weapon description": "weapon description",
+ "armament": "armament",
+ "internal modules": "internal modules",
+ "type": "type",
+ "select one": "select one",
+ "artificial intelligence": "artificial intelligence",
+ "air scrubber": "air scrubber",
+ "cargo bay": "cargo bay",
+ "corporate suite": "corporate suite",
+ "cryo deck": "cryo deck",
+ "docking umbilical": "docking umbilical",
+ "emergency escape vehicle": "emergency escape vehicle",
+ "galley": "galley",
+ "hangar": "hangar",
+ "medlab": "medlab",
+ "salvage crane": "salvage crane",
+ "science lab": "science lab",
+ "tractor hitch": "tractor hitch",
+ "vehicle bay": "vehicle bay",
+ "": "",
+ "thrusterRoll": "thrusterRoll",
+ "shipArmor": "shipArmor",
+ "ftl_rating": "ftl_rating",
+ "multiple-pilot-query": "Which pilot is at the helm",
+ "multiple-gunner-query": "Which gunner is firing",
+ "dice to add/subtract for {{rollName}}": "Dice to add/subtract for {{0}}",
+ "push": "push",
+ "ftl-trip-query": "How many parsecs are you traveling",
+ "distance": "distance",
+ "ftl trip": "ftl trip",
+ "attacks": "attacks",
+ "weight": "weight",
+ "name": "name",
+ "abilities": "abilities",
+ "description": "description",
+ "undefined": "undefined",
+ "hostile": "hostile",
+ "stage": "stage",
+ "armor rating:": "armor rating:",
+ "skills": "skills",
+ "tabs-menu-settings": "tabs-menu-settings",
+ "sheet behavior": "sheet behavior",
+ "character type": "character type",
+ "character": "character",
+ "npc": "npc",
+ "ship": "ship",
+ "vehicle": "vehicle",
+ "party screen": "party screen",
+ "whisper to gm": "whisper to gm",
+ "never": "never",
+ "always": "always",
+ "internal module": "internal module",
+ "manufacturer": "manufacturer",
+ "ai": "ai",
+ "ship's log": "ship's log",
+ "date": "date",
+ "location": "location",
+ "minor component damage": "minor component damage",
+ "effect": "effect",
+ "major component damage": "major component damage",
+ "upgrades": "upgrades",
+ "quantity-abbreviation": "qty",
+ "component damage": "component damage",
+ "skill 1": "skill 1",
+ "completed": "completed",
+ "skill 2": "skill 2",
+ "talent name": "talent name",
+ "talent description": "talent description",
+ "e.g. agility": "e.g. agility",
+ "push twice": "push twice",
+ "Panic": "Panic",
+ "radiation_level": "radiation_level",
+ "radiation level": "radiation level",
+ "chance": "chance",
+ "title": "title",
+ "attributes": "attributes",
+ "nickname": "nickname",
+ "age": "age",
+ "personality": "personality",
+ "talent": "talent",
+ "buddy": "buddy",
+ "rival": "rival",
+ "comments": "comments",
+ "results": "results",
+ "gear description": "gear description",
+ "encumbrance": "encumbrance",
+ "qty": "qty",
+ "comment": "comment"
+}
\ No newline at end of file
diff --git a/alien_rpg/translations/cs.json b/alien_rpg/translations/cs.json
new file mode 100644
index 0000000000..67a0348003
--- /dev/null
+++ b/alien_rpg/translations/cs.json
@@ -0,0 +1,202 @@
+{
+ "no-assigned-crew": "No assigned crew",
+ "successes": "successes",
+ "panic": "panic",
+ "no dice to roll": "no dice to roll",
+ "base damage": "base damage",
+ "tabs-menu-character": "Character",
+ "tabs-menu-ship": "Ship",
+ "tabs-menu-npc": "NPC",
+ "tabs-menu-hostile": "Hostile",
+ "tabs-menu-options": "Options",
+ "tabs-menu-vehicle": "Vehicle",
+ "Personal Agenda": "Personal Agenda",
+ "Relationships": "Relationships",
+ "buddy:": "Buddy:",
+ "rival:": "Rival:",
+ "Stress Level": "Stress Level",
+ "Health": "Health",
+ "Radiation": "Radiation",
+ "Critical Injuries": "Critical Injuries",
+ "Conditions": "Conditions",
+ "starving": "starving",
+ "dehydrated": "dehydrated",
+ "exhausted": "exhausted",
+ "freezing": "freezing",
+ "air": "air",
+ "food": "food",
+ "power": "power",
+ "water": "water",
+ "strength": "strength",
+ "heavy machinery": "heavy machinery",
+ "stamina": "stamina",
+ "close combat": "close combat",
+ "agility": "agility",
+ "ranged combat": "ranged combat",
+ "mobility": "mobility",
+ "piloting": "piloting",
+ "wits": "wits",
+ "observation": "observation",
+ "survival": "survival",
+ "comtech": "comtech",
+ "empathy": "empathy",
+ "command": "command",
+ "medical aid": "medical aid",
+ "manipulation": "manipulation",
+ "Armor": "Armor",
+ "encumberance": "Encumberance",
+ "Weapons": "Weapons",
+ "melee": "melee",
+ "ranged": "ranged",
+ "Talents": "Talents",
+ "Experience Points": "Experience Points",
+ "Story Points": "Story Points",
+ "Tiny Items": "Tiny Items",
+ "Signature Item": "Signature Item",
+ "gear": "gear",
+ "Lease Cost": "Lease Cost",
+ "crew": "crew",
+ "length": "length",
+ "signature": "signature",
+ "hull": "hull",
+ "passengers": "passengers",
+ "ftl rating": "ftl rating",
+ "thrusters": "thrusters",
+ "armor": "armor",
+ "maneuverability": "maneuverability",
+ "speed": "speed",
+ "armaments": "armaments",
+ "bonus": "bonus",
+ "damage": "damage",
+ "range": "range",
+ "size": "size",
+ "crew positions": "crew positions",
+ "character name": "character name",
+ "position": "position",
+ "skill": "skill",
+ "notes": "notes",
+ "passenger": "passenger",
+ "captain": "captain",
+ "sensor operator": "sensor operator",
+ "pilot": "pilot",
+ "gunner": "gunner",
+ "engineer": "engineer",
+ "query": "query",
+ "heavy_machinery": "heavy_machinery",
+ "close_combat": "close_combat",
+ "ranged_combat": "ranged_combat",
+ "medical_aid": "medical_aid",
+ "tabs-menu-initiative": "Initiative",
+ "Records": "Records",
+ "title:": "Title:",
+ "nickname:": "Nickname:",
+ "age:": "Age:",
+ "personality:": "Personality:",
+ "Biography": "Biography",
+ "Data": "Data",
+ "Talent:": "Talent:",
+ "Gear:": "Gear:",
+ "Results": "Results",
+ "close": "close",
+ "engaged": "engaged",
+ "short": "short",
+ "medium": "medium",
+ "long": "long",
+ "extreme": "extreme",
+ "skills:": "Skills:",
+ "talent:": "Talent:",
+ "Gear": "Gear",
+ "Mobility": "Mobility",
+ "Observation": "Observation",
+ "Information": "Information",
+ "Containment and Termination Protocols": "Containment and Termination Protocols",
+ "weapon name": "weapon name",
+ "weapon description": "weapon description",
+ "armament": "armament",
+ "internal modules": "internal modules",
+ "type": "type",
+ "select one": "select one",
+ "artificial intelligence": "artificial intelligence",
+ "air scrubber": "air scrubber",
+ "cargo bay": "cargo bay",
+ "corporate suite": "corporate suite",
+ "cryo deck": "cryo deck",
+ "docking umbilical": "docking umbilical",
+ "emergency escape vehicle": "emergency escape vehicle",
+ "galley": "galley",
+ "hangar": "hangar",
+ "medlab": "medlab",
+ "salvage crane": "salvage crane",
+ "science lab": "science lab",
+ "tractor hitch": "tractor hitch",
+ "vehicle bay": "vehicle bay",
+ "": "",
+ "thrusterRoll": "thrusterRoll",
+ "shipArmor": "shipArmor",
+ "ftl_rating": "ftl_rating",
+ "multiple-pilot-query": "Which pilot is at the helm",
+ "multiple-gunner-query": "Which gunner is firing",
+ "dice to add/subtract for {{rollName}}": "Dice to add/subtract for {{0}}",
+ "push": "push",
+ "ftl-trip-query": "How many parsecs are you traveling",
+ "distance": "distance",
+ "ftl trip": "ftl trip",
+ "attacks": "attacks",
+ "weight": "weight",
+ "name": "name",
+ "abilities": "abilities",
+ "description": "description",
+ "undefined": "undefined",
+ "hostile": "hostile",
+ "stage": "stage",
+ "armor rating:": "armor rating:",
+ "skills": "skills",
+ "tabs-menu-settings": "tabs-menu-settings",
+ "sheet behavior": "sheet behavior",
+ "character type": "character type",
+ "character": "character",
+ "npc": "npc",
+ "ship": "ship",
+ "vehicle": "vehicle",
+ "party screen": "party screen",
+ "whisper to gm": "whisper to gm",
+ "never": "never",
+ "always": "always",
+ "internal module": "internal module",
+ "manufacturer": "manufacturer",
+ "ai": "ai",
+ "ship's log": "ship's log",
+ "date": "date",
+ "location": "location",
+ "minor component damage": "minor component damage",
+ "effect": "effect",
+ "major component damage": "major component damage",
+ "upgrades": "upgrades",
+ "quantity-abbreviation": "qty",
+ "component damage": "component damage",
+ "skill 1": "skill 1",
+ "completed": "completed",
+ "skill 2": "skill 2",
+ "talent name": "talent name",
+ "talent description": "talent description",
+ "e.g. agility": "e.g. agility",
+ "push twice": "push twice",
+ "Panic": "Panic",
+ "radiation_level": "radiation_level",
+ "radiation level": "radiation level",
+ "chance": "chance",
+ "title": "title",
+ "attributes": "attributes",
+ "nickname": "nickname",
+ "age": "age",
+ "personality": "personality",
+ "talent": "talent",
+ "buddy": "buddy",
+ "rival": "rival",
+ "comments": "comments",
+ "results": "results",
+ "gear description": "gear description",
+ "encumbrance": "encumbrance",
+ "qty": "qty",
+ "comment": "comment"
+}
\ No newline at end of file
diff --git a/alien_rpg/translations/da.json b/alien_rpg/translations/da.json
new file mode 100644
index 0000000000..67a0348003
--- /dev/null
+++ b/alien_rpg/translations/da.json
@@ -0,0 +1,202 @@
+{
+ "no-assigned-crew": "No assigned crew",
+ "successes": "successes",
+ "panic": "panic",
+ "no dice to roll": "no dice to roll",
+ "base damage": "base damage",
+ "tabs-menu-character": "Character",
+ "tabs-menu-ship": "Ship",
+ "tabs-menu-npc": "NPC",
+ "tabs-menu-hostile": "Hostile",
+ "tabs-menu-options": "Options",
+ "tabs-menu-vehicle": "Vehicle",
+ "Personal Agenda": "Personal Agenda",
+ "Relationships": "Relationships",
+ "buddy:": "Buddy:",
+ "rival:": "Rival:",
+ "Stress Level": "Stress Level",
+ "Health": "Health",
+ "Radiation": "Radiation",
+ "Critical Injuries": "Critical Injuries",
+ "Conditions": "Conditions",
+ "starving": "starving",
+ "dehydrated": "dehydrated",
+ "exhausted": "exhausted",
+ "freezing": "freezing",
+ "air": "air",
+ "food": "food",
+ "power": "power",
+ "water": "water",
+ "strength": "strength",
+ "heavy machinery": "heavy machinery",
+ "stamina": "stamina",
+ "close combat": "close combat",
+ "agility": "agility",
+ "ranged combat": "ranged combat",
+ "mobility": "mobility",
+ "piloting": "piloting",
+ "wits": "wits",
+ "observation": "observation",
+ "survival": "survival",
+ "comtech": "comtech",
+ "empathy": "empathy",
+ "command": "command",
+ "medical aid": "medical aid",
+ "manipulation": "manipulation",
+ "Armor": "Armor",
+ "encumberance": "Encumberance",
+ "Weapons": "Weapons",
+ "melee": "melee",
+ "ranged": "ranged",
+ "Talents": "Talents",
+ "Experience Points": "Experience Points",
+ "Story Points": "Story Points",
+ "Tiny Items": "Tiny Items",
+ "Signature Item": "Signature Item",
+ "gear": "gear",
+ "Lease Cost": "Lease Cost",
+ "crew": "crew",
+ "length": "length",
+ "signature": "signature",
+ "hull": "hull",
+ "passengers": "passengers",
+ "ftl rating": "ftl rating",
+ "thrusters": "thrusters",
+ "armor": "armor",
+ "maneuverability": "maneuverability",
+ "speed": "speed",
+ "armaments": "armaments",
+ "bonus": "bonus",
+ "damage": "damage",
+ "range": "range",
+ "size": "size",
+ "crew positions": "crew positions",
+ "character name": "character name",
+ "position": "position",
+ "skill": "skill",
+ "notes": "notes",
+ "passenger": "passenger",
+ "captain": "captain",
+ "sensor operator": "sensor operator",
+ "pilot": "pilot",
+ "gunner": "gunner",
+ "engineer": "engineer",
+ "query": "query",
+ "heavy_machinery": "heavy_machinery",
+ "close_combat": "close_combat",
+ "ranged_combat": "ranged_combat",
+ "medical_aid": "medical_aid",
+ "tabs-menu-initiative": "Initiative",
+ "Records": "Records",
+ "title:": "Title:",
+ "nickname:": "Nickname:",
+ "age:": "Age:",
+ "personality:": "Personality:",
+ "Biography": "Biography",
+ "Data": "Data",
+ "Talent:": "Talent:",
+ "Gear:": "Gear:",
+ "Results": "Results",
+ "close": "close",
+ "engaged": "engaged",
+ "short": "short",
+ "medium": "medium",
+ "long": "long",
+ "extreme": "extreme",
+ "skills:": "Skills:",
+ "talent:": "Talent:",
+ "Gear": "Gear",
+ "Mobility": "Mobility",
+ "Observation": "Observation",
+ "Information": "Information",
+ "Containment and Termination Protocols": "Containment and Termination Protocols",
+ "weapon name": "weapon name",
+ "weapon description": "weapon description",
+ "armament": "armament",
+ "internal modules": "internal modules",
+ "type": "type",
+ "select one": "select one",
+ "artificial intelligence": "artificial intelligence",
+ "air scrubber": "air scrubber",
+ "cargo bay": "cargo bay",
+ "corporate suite": "corporate suite",
+ "cryo deck": "cryo deck",
+ "docking umbilical": "docking umbilical",
+ "emergency escape vehicle": "emergency escape vehicle",
+ "galley": "galley",
+ "hangar": "hangar",
+ "medlab": "medlab",
+ "salvage crane": "salvage crane",
+ "science lab": "science lab",
+ "tractor hitch": "tractor hitch",
+ "vehicle bay": "vehicle bay",
+ "": "",
+ "thrusterRoll": "thrusterRoll",
+ "shipArmor": "shipArmor",
+ "ftl_rating": "ftl_rating",
+ "multiple-pilot-query": "Which pilot is at the helm",
+ "multiple-gunner-query": "Which gunner is firing",
+ "dice to add/subtract for {{rollName}}": "Dice to add/subtract for {{0}}",
+ "push": "push",
+ "ftl-trip-query": "How many parsecs are you traveling",
+ "distance": "distance",
+ "ftl trip": "ftl trip",
+ "attacks": "attacks",
+ "weight": "weight",
+ "name": "name",
+ "abilities": "abilities",
+ "description": "description",
+ "undefined": "undefined",
+ "hostile": "hostile",
+ "stage": "stage",
+ "armor rating:": "armor rating:",
+ "skills": "skills",
+ "tabs-menu-settings": "tabs-menu-settings",
+ "sheet behavior": "sheet behavior",
+ "character type": "character type",
+ "character": "character",
+ "npc": "npc",
+ "ship": "ship",
+ "vehicle": "vehicle",
+ "party screen": "party screen",
+ "whisper to gm": "whisper to gm",
+ "never": "never",
+ "always": "always",
+ "internal module": "internal module",
+ "manufacturer": "manufacturer",
+ "ai": "ai",
+ "ship's log": "ship's log",
+ "date": "date",
+ "location": "location",
+ "minor component damage": "minor component damage",
+ "effect": "effect",
+ "major component damage": "major component damage",
+ "upgrades": "upgrades",
+ "quantity-abbreviation": "qty",
+ "component damage": "component damage",
+ "skill 1": "skill 1",
+ "completed": "completed",
+ "skill 2": "skill 2",
+ "talent name": "talent name",
+ "talent description": "talent description",
+ "e.g. agility": "e.g. agility",
+ "push twice": "push twice",
+ "Panic": "Panic",
+ "radiation_level": "radiation_level",
+ "radiation level": "radiation level",
+ "chance": "chance",
+ "title": "title",
+ "attributes": "attributes",
+ "nickname": "nickname",
+ "age": "age",
+ "personality": "personality",
+ "talent": "talent",
+ "buddy": "buddy",
+ "rival": "rival",
+ "comments": "comments",
+ "results": "results",
+ "gear description": "gear description",
+ "encumbrance": "encumbrance",
+ "qty": "qty",
+ "comment": "comment"
+}
\ No newline at end of file
diff --git a/alien_rpg/translations/de.json b/alien_rpg/translations/de.json
new file mode 100644
index 0000000000..67a0348003
--- /dev/null
+++ b/alien_rpg/translations/de.json
@@ -0,0 +1,202 @@
+{
+ "no-assigned-crew": "No assigned crew",
+ "successes": "successes",
+ "panic": "panic",
+ "no dice to roll": "no dice to roll",
+ "base damage": "base damage",
+ "tabs-menu-character": "Character",
+ "tabs-menu-ship": "Ship",
+ "tabs-menu-npc": "NPC",
+ "tabs-menu-hostile": "Hostile",
+ "tabs-menu-options": "Options",
+ "tabs-menu-vehicle": "Vehicle",
+ "Personal Agenda": "Personal Agenda",
+ "Relationships": "Relationships",
+ "buddy:": "Buddy:",
+ "rival:": "Rival:",
+ "Stress Level": "Stress Level",
+ "Health": "Health",
+ "Radiation": "Radiation",
+ "Critical Injuries": "Critical Injuries",
+ "Conditions": "Conditions",
+ "starving": "starving",
+ "dehydrated": "dehydrated",
+ "exhausted": "exhausted",
+ "freezing": "freezing",
+ "air": "air",
+ "food": "food",
+ "power": "power",
+ "water": "water",
+ "strength": "strength",
+ "heavy machinery": "heavy machinery",
+ "stamina": "stamina",
+ "close combat": "close combat",
+ "agility": "agility",
+ "ranged combat": "ranged combat",
+ "mobility": "mobility",
+ "piloting": "piloting",
+ "wits": "wits",
+ "observation": "observation",
+ "survival": "survival",
+ "comtech": "comtech",
+ "empathy": "empathy",
+ "command": "command",
+ "medical aid": "medical aid",
+ "manipulation": "manipulation",
+ "Armor": "Armor",
+ "encumberance": "Encumberance",
+ "Weapons": "Weapons",
+ "melee": "melee",
+ "ranged": "ranged",
+ "Talents": "Talents",
+ "Experience Points": "Experience Points",
+ "Story Points": "Story Points",
+ "Tiny Items": "Tiny Items",
+ "Signature Item": "Signature Item",
+ "gear": "gear",
+ "Lease Cost": "Lease Cost",
+ "crew": "crew",
+ "length": "length",
+ "signature": "signature",
+ "hull": "hull",
+ "passengers": "passengers",
+ "ftl rating": "ftl rating",
+ "thrusters": "thrusters",
+ "armor": "armor",
+ "maneuverability": "maneuverability",
+ "speed": "speed",
+ "armaments": "armaments",
+ "bonus": "bonus",
+ "damage": "damage",
+ "range": "range",
+ "size": "size",
+ "crew positions": "crew positions",
+ "character name": "character name",
+ "position": "position",
+ "skill": "skill",
+ "notes": "notes",
+ "passenger": "passenger",
+ "captain": "captain",
+ "sensor operator": "sensor operator",
+ "pilot": "pilot",
+ "gunner": "gunner",
+ "engineer": "engineer",
+ "query": "query",
+ "heavy_machinery": "heavy_machinery",
+ "close_combat": "close_combat",
+ "ranged_combat": "ranged_combat",
+ "medical_aid": "medical_aid",
+ "tabs-menu-initiative": "Initiative",
+ "Records": "Records",
+ "title:": "Title:",
+ "nickname:": "Nickname:",
+ "age:": "Age:",
+ "personality:": "Personality:",
+ "Biography": "Biography",
+ "Data": "Data",
+ "Talent:": "Talent:",
+ "Gear:": "Gear:",
+ "Results": "Results",
+ "close": "close",
+ "engaged": "engaged",
+ "short": "short",
+ "medium": "medium",
+ "long": "long",
+ "extreme": "extreme",
+ "skills:": "Skills:",
+ "talent:": "Talent:",
+ "Gear": "Gear",
+ "Mobility": "Mobility",
+ "Observation": "Observation",
+ "Information": "Information",
+ "Containment and Termination Protocols": "Containment and Termination Protocols",
+ "weapon name": "weapon name",
+ "weapon description": "weapon description",
+ "armament": "armament",
+ "internal modules": "internal modules",
+ "type": "type",
+ "select one": "select one",
+ "artificial intelligence": "artificial intelligence",
+ "air scrubber": "air scrubber",
+ "cargo bay": "cargo bay",
+ "corporate suite": "corporate suite",
+ "cryo deck": "cryo deck",
+ "docking umbilical": "docking umbilical",
+ "emergency escape vehicle": "emergency escape vehicle",
+ "galley": "galley",
+ "hangar": "hangar",
+ "medlab": "medlab",
+ "salvage crane": "salvage crane",
+ "science lab": "science lab",
+ "tractor hitch": "tractor hitch",
+ "vehicle bay": "vehicle bay",
+ "": "",
+ "thrusterRoll": "thrusterRoll",
+ "shipArmor": "shipArmor",
+ "ftl_rating": "ftl_rating",
+ "multiple-pilot-query": "Which pilot is at the helm",
+ "multiple-gunner-query": "Which gunner is firing",
+ "dice to add/subtract for {{rollName}}": "Dice to add/subtract for {{0}}",
+ "push": "push",
+ "ftl-trip-query": "How many parsecs are you traveling",
+ "distance": "distance",
+ "ftl trip": "ftl trip",
+ "attacks": "attacks",
+ "weight": "weight",
+ "name": "name",
+ "abilities": "abilities",
+ "description": "description",
+ "undefined": "undefined",
+ "hostile": "hostile",
+ "stage": "stage",
+ "armor rating:": "armor rating:",
+ "skills": "skills",
+ "tabs-menu-settings": "tabs-menu-settings",
+ "sheet behavior": "sheet behavior",
+ "character type": "character type",
+ "character": "character",
+ "npc": "npc",
+ "ship": "ship",
+ "vehicle": "vehicle",
+ "party screen": "party screen",
+ "whisper to gm": "whisper to gm",
+ "never": "never",
+ "always": "always",
+ "internal module": "internal module",
+ "manufacturer": "manufacturer",
+ "ai": "ai",
+ "ship's log": "ship's log",
+ "date": "date",
+ "location": "location",
+ "minor component damage": "minor component damage",
+ "effect": "effect",
+ "major component damage": "major component damage",
+ "upgrades": "upgrades",
+ "quantity-abbreviation": "qty",
+ "component damage": "component damage",
+ "skill 1": "skill 1",
+ "completed": "completed",
+ "skill 2": "skill 2",
+ "talent name": "talent name",
+ "talent description": "talent description",
+ "e.g. agility": "e.g. agility",
+ "push twice": "push twice",
+ "Panic": "Panic",
+ "radiation_level": "radiation_level",
+ "radiation level": "radiation level",
+ "chance": "chance",
+ "title": "title",
+ "attributes": "attributes",
+ "nickname": "nickname",
+ "age": "age",
+ "personality": "personality",
+ "talent": "talent",
+ "buddy": "buddy",
+ "rival": "rival",
+ "comments": "comments",
+ "results": "results",
+ "gear description": "gear description",
+ "encumbrance": "encumbrance",
+ "qty": "qty",
+ "comment": "comment"
+}
\ No newline at end of file
diff --git a/alien_rpg/translations/el.json b/alien_rpg/translations/el.json
new file mode 100644
index 0000000000..67a0348003
--- /dev/null
+++ b/alien_rpg/translations/el.json
@@ -0,0 +1,202 @@
+{
+ "no-assigned-crew": "No assigned crew",
+ "successes": "successes",
+ "panic": "panic",
+ "no dice to roll": "no dice to roll",
+ "base damage": "base damage",
+ "tabs-menu-character": "Character",
+ "tabs-menu-ship": "Ship",
+ "tabs-menu-npc": "NPC",
+ "tabs-menu-hostile": "Hostile",
+ "tabs-menu-options": "Options",
+ "tabs-menu-vehicle": "Vehicle",
+ "Personal Agenda": "Personal Agenda",
+ "Relationships": "Relationships",
+ "buddy:": "Buddy:",
+ "rival:": "Rival:",
+ "Stress Level": "Stress Level",
+ "Health": "Health",
+ "Radiation": "Radiation",
+ "Critical Injuries": "Critical Injuries",
+ "Conditions": "Conditions",
+ "starving": "starving",
+ "dehydrated": "dehydrated",
+ "exhausted": "exhausted",
+ "freezing": "freezing",
+ "air": "air",
+ "food": "food",
+ "power": "power",
+ "water": "water",
+ "strength": "strength",
+ "heavy machinery": "heavy machinery",
+ "stamina": "stamina",
+ "close combat": "close combat",
+ "agility": "agility",
+ "ranged combat": "ranged combat",
+ "mobility": "mobility",
+ "piloting": "piloting",
+ "wits": "wits",
+ "observation": "observation",
+ "survival": "survival",
+ "comtech": "comtech",
+ "empathy": "empathy",
+ "command": "command",
+ "medical aid": "medical aid",
+ "manipulation": "manipulation",
+ "Armor": "Armor",
+ "encumberance": "Encumberance",
+ "Weapons": "Weapons",
+ "melee": "melee",
+ "ranged": "ranged",
+ "Talents": "Talents",
+ "Experience Points": "Experience Points",
+ "Story Points": "Story Points",
+ "Tiny Items": "Tiny Items",
+ "Signature Item": "Signature Item",
+ "gear": "gear",
+ "Lease Cost": "Lease Cost",
+ "crew": "crew",
+ "length": "length",
+ "signature": "signature",
+ "hull": "hull",
+ "passengers": "passengers",
+ "ftl rating": "ftl rating",
+ "thrusters": "thrusters",
+ "armor": "armor",
+ "maneuverability": "maneuverability",
+ "speed": "speed",
+ "armaments": "armaments",
+ "bonus": "bonus",
+ "damage": "damage",
+ "range": "range",
+ "size": "size",
+ "crew positions": "crew positions",
+ "character name": "character name",
+ "position": "position",
+ "skill": "skill",
+ "notes": "notes",
+ "passenger": "passenger",
+ "captain": "captain",
+ "sensor operator": "sensor operator",
+ "pilot": "pilot",
+ "gunner": "gunner",
+ "engineer": "engineer",
+ "query": "query",
+ "heavy_machinery": "heavy_machinery",
+ "close_combat": "close_combat",
+ "ranged_combat": "ranged_combat",
+ "medical_aid": "medical_aid",
+ "tabs-menu-initiative": "Initiative",
+ "Records": "Records",
+ "title:": "Title:",
+ "nickname:": "Nickname:",
+ "age:": "Age:",
+ "personality:": "Personality:",
+ "Biography": "Biography",
+ "Data": "Data",
+ "Talent:": "Talent:",
+ "Gear:": "Gear:",
+ "Results": "Results",
+ "close": "close",
+ "engaged": "engaged",
+ "short": "short",
+ "medium": "medium",
+ "long": "long",
+ "extreme": "extreme",
+ "skills:": "Skills:",
+ "talent:": "Talent:",
+ "Gear": "Gear",
+ "Mobility": "Mobility",
+ "Observation": "Observation",
+ "Information": "Information",
+ "Containment and Termination Protocols": "Containment and Termination Protocols",
+ "weapon name": "weapon name",
+ "weapon description": "weapon description",
+ "armament": "armament",
+ "internal modules": "internal modules",
+ "type": "type",
+ "select one": "select one",
+ "artificial intelligence": "artificial intelligence",
+ "air scrubber": "air scrubber",
+ "cargo bay": "cargo bay",
+ "corporate suite": "corporate suite",
+ "cryo deck": "cryo deck",
+ "docking umbilical": "docking umbilical",
+ "emergency escape vehicle": "emergency escape vehicle",
+ "galley": "galley",
+ "hangar": "hangar",
+ "medlab": "medlab",
+ "salvage crane": "salvage crane",
+ "science lab": "science lab",
+ "tractor hitch": "tractor hitch",
+ "vehicle bay": "vehicle bay",
+ "": "",
+ "thrusterRoll": "thrusterRoll",
+ "shipArmor": "shipArmor",
+ "ftl_rating": "ftl_rating",
+ "multiple-pilot-query": "Which pilot is at the helm",
+ "multiple-gunner-query": "Which gunner is firing",
+ "dice to add/subtract for {{rollName}}": "Dice to add/subtract for {{0}}",
+ "push": "push",
+ "ftl-trip-query": "How many parsecs are you traveling",
+ "distance": "distance",
+ "ftl trip": "ftl trip",
+ "attacks": "attacks",
+ "weight": "weight",
+ "name": "name",
+ "abilities": "abilities",
+ "description": "description",
+ "undefined": "undefined",
+ "hostile": "hostile",
+ "stage": "stage",
+ "armor rating:": "armor rating:",
+ "skills": "skills",
+ "tabs-menu-settings": "tabs-menu-settings",
+ "sheet behavior": "sheet behavior",
+ "character type": "character type",
+ "character": "character",
+ "npc": "npc",
+ "ship": "ship",
+ "vehicle": "vehicle",
+ "party screen": "party screen",
+ "whisper to gm": "whisper to gm",
+ "never": "never",
+ "always": "always",
+ "internal module": "internal module",
+ "manufacturer": "manufacturer",
+ "ai": "ai",
+ "ship's log": "ship's log",
+ "date": "date",
+ "location": "location",
+ "minor component damage": "minor component damage",
+ "effect": "effect",
+ "major component damage": "major component damage",
+ "upgrades": "upgrades",
+ "quantity-abbreviation": "qty",
+ "component damage": "component damage",
+ "skill 1": "skill 1",
+ "completed": "completed",
+ "skill 2": "skill 2",
+ "talent name": "talent name",
+ "talent description": "talent description",
+ "e.g. agility": "e.g. agility",
+ "push twice": "push twice",
+ "Panic": "Panic",
+ "radiation_level": "radiation_level",
+ "radiation level": "radiation level",
+ "chance": "chance",
+ "title": "title",
+ "attributes": "attributes",
+ "nickname": "nickname",
+ "age": "age",
+ "personality": "personality",
+ "talent": "talent",
+ "buddy": "buddy",
+ "rival": "rival",
+ "comments": "comments",
+ "results": "results",
+ "gear description": "gear description",
+ "encumbrance": "encumbrance",
+ "qty": "qty",
+ "comment": "comment"
+}
\ No newline at end of file
diff --git a/alien_rpg/translations/en.json b/alien_rpg/translations/en.json
new file mode 100644
index 0000000000..67a0348003
--- /dev/null
+++ b/alien_rpg/translations/en.json
@@ -0,0 +1,202 @@
+{
+ "no-assigned-crew": "No assigned crew",
+ "successes": "successes",
+ "panic": "panic",
+ "no dice to roll": "no dice to roll",
+ "base damage": "base damage",
+ "tabs-menu-character": "Character",
+ "tabs-menu-ship": "Ship",
+ "tabs-menu-npc": "NPC",
+ "tabs-menu-hostile": "Hostile",
+ "tabs-menu-options": "Options",
+ "tabs-menu-vehicle": "Vehicle",
+ "Personal Agenda": "Personal Agenda",
+ "Relationships": "Relationships",
+ "buddy:": "Buddy:",
+ "rival:": "Rival:",
+ "Stress Level": "Stress Level",
+ "Health": "Health",
+ "Radiation": "Radiation",
+ "Critical Injuries": "Critical Injuries",
+ "Conditions": "Conditions",
+ "starving": "starving",
+ "dehydrated": "dehydrated",
+ "exhausted": "exhausted",
+ "freezing": "freezing",
+ "air": "air",
+ "food": "food",
+ "power": "power",
+ "water": "water",
+ "strength": "strength",
+ "heavy machinery": "heavy machinery",
+ "stamina": "stamina",
+ "close combat": "close combat",
+ "agility": "agility",
+ "ranged combat": "ranged combat",
+ "mobility": "mobility",
+ "piloting": "piloting",
+ "wits": "wits",
+ "observation": "observation",
+ "survival": "survival",
+ "comtech": "comtech",
+ "empathy": "empathy",
+ "command": "command",
+ "medical aid": "medical aid",
+ "manipulation": "manipulation",
+ "Armor": "Armor",
+ "encumberance": "Encumberance",
+ "Weapons": "Weapons",
+ "melee": "melee",
+ "ranged": "ranged",
+ "Talents": "Talents",
+ "Experience Points": "Experience Points",
+ "Story Points": "Story Points",
+ "Tiny Items": "Tiny Items",
+ "Signature Item": "Signature Item",
+ "gear": "gear",
+ "Lease Cost": "Lease Cost",
+ "crew": "crew",
+ "length": "length",
+ "signature": "signature",
+ "hull": "hull",
+ "passengers": "passengers",
+ "ftl rating": "ftl rating",
+ "thrusters": "thrusters",
+ "armor": "armor",
+ "maneuverability": "maneuverability",
+ "speed": "speed",
+ "armaments": "armaments",
+ "bonus": "bonus",
+ "damage": "damage",
+ "range": "range",
+ "size": "size",
+ "crew positions": "crew positions",
+ "character name": "character name",
+ "position": "position",
+ "skill": "skill",
+ "notes": "notes",
+ "passenger": "passenger",
+ "captain": "captain",
+ "sensor operator": "sensor operator",
+ "pilot": "pilot",
+ "gunner": "gunner",
+ "engineer": "engineer",
+ "query": "query",
+ "heavy_machinery": "heavy_machinery",
+ "close_combat": "close_combat",
+ "ranged_combat": "ranged_combat",
+ "medical_aid": "medical_aid",
+ "tabs-menu-initiative": "Initiative",
+ "Records": "Records",
+ "title:": "Title:",
+ "nickname:": "Nickname:",
+ "age:": "Age:",
+ "personality:": "Personality:",
+ "Biography": "Biography",
+ "Data": "Data",
+ "Talent:": "Talent:",
+ "Gear:": "Gear:",
+ "Results": "Results",
+ "close": "close",
+ "engaged": "engaged",
+ "short": "short",
+ "medium": "medium",
+ "long": "long",
+ "extreme": "extreme",
+ "skills:": "Skills:",
+ "talent:": "Talent:",
+ "Gear": "Gear",
+ "Mobility": "Mobility",
+ "Observation": "Observation",
+ "Information": "Information",
+ "Containment and Termination Protocols": "Containment and Termination Protocols",
+ "weapon name": "weapon name",
+ "weapon description": "weapon description",
+ "armament": "armament",
+ "internal modules": "internal modules",
+ "type": "type",
+ "select one": "select one",
+ "artificial intelligence": "artificial intelligence",
+ "air scrubber": "air scrubber",
+ "cargo bay": "cargo bay",
+ "corporate suite": "corporate suite",
+ "cryo deck": "cryo deck",
+ "docking umbilical": "docking umbilical",
+ "emergency escape vehicle": "emergency escape vehicle",
+ "galley": "galley",
+ "hangar": "hangar",
+ "medlab": "medlab",
+ "salvage crane": "salvage crane",
+ "science lab": "science lab",
+ "tractor hitch": "tractor hitch",
+ "vehicle bay": "vehicle bay",
+ "": "",
+ "thrusterRoll": "thrusterRoll",
+ "shipArmor": "shipArmor",
+ "ftl_rating": "ftl_rating",
+ "multiple-pilot-query": "Which pilot is at the helm",
+ "multiple-gunner-query": "Which gunner is firing",
+ "dice to add/subtract for {{rollName}}": "Dice to add/subtract for {{0}}",
+ "push": "push",
+ "ftl-trip-query": "How many parsecs are you traveling",
+ "distance": "distance",
+ "ftl trip": "ftl trip",
+ "attacks": "attacks",
+ "weight": "weight",
+ "name": "name",
+ "abilities": "abilities",
+ "description": "description",
+ "undefined": "undefined",
+ "hostile": "hostile",
+ "stage": "stage",
+ "armor rating:": "armor rating:",
+ "skills": "skills",
+ "tabs-menu-settings": "tabs-menu-settings",
+ "sheet behavior": "sheet behavior",
+ "character type": "character type",
+ "character": "character",
+ "npc": "npc",
+ "ship": "ship",
+ "vehicle": "vehicle",
+ "party screen": "party screen",
+ "whisper to gm": "whisper to gm",
+ "never": "never",
+ "always": "always",
+ "internal module": "internal module",
+ "manufacturer": "manufacturer",
+ "ai": "ai",
+ "ship's log": "ship's log",
+ "date": "date",
+ "location": "location",
+ "minor component damage": "minor component damage",
+ "effect": "effect",
+ "major component damage": "major component damage",
+ "upgrades": "upgrades",
+ "quantity-abbreviation": "qty",
+ "component damage": "component damage",
+ "skill 1": "skill 1",
+ "completed": "completed",
+ "skill 2": "skill 2",
+ "talent name": "talent name",
+ "talent description": "talent description",
+ "e.g. agility": "e.g. agility",
+ "push twice": "push twice",
+ "Panic": "Panic",
+ "radiation_level": "radiation_level",
+ "radiation level": "radiation level",
+ "chance": "chance",
+ "title": "title",
+ "attributes": "attributes",
+ "nickname": "nickname",
+ "age": "age",
+ "personality": "personality",
+ "talent": "talent",
+ "buddy": "buddy",
+ "rival": "rival",
+ "comments": "comments",
+ "results": "results",
+ "gear description": "gear description",
+ "encumbrance": "encumbrance",
+ "qty": "qty",
+ "comment": "comment"
+}
\ No newline at end of file
diff --git a/alien_rpg/translations/es.json b/alien_rpg/translations/es.json
new file mode 100644
index 0000000000..67a0348003
--- /dev/null
+++ b/alien_rpg/translations/es.json
@@ -0,0 +1,202 @@
+{
+ "no-assigned-crew": "No assigned crew",
+ "successes": "successes",
+ "panic": "panic",
+ "no dice to roll": "no dice to roll",
+ "base damage": "base damage",
+ "tabs-menu-character": "Character",
+ "tabs-menu-ship": "Ship",
+ "tabs-menu-npc": "NPC",
+ "tabs-menu-hostile": "Hostile",
+ "tabs-menu-options": "Options",
+ "tabs-menu-vehicle": "Vehicle",
+ "Personal Agenda": "Personal Agenda",
+ "Relationships": "Relationships",
+ "buddy:": "Buddy:",
+ "rival:": "Rival:",
+ "Stress Level": "Stress Level",
+ "Health": "Health",
+ "Radiation": "Radiation",
+ "Critical Injuries": "Critical Injuries",
+ "Conditions": "Conditions",
+ "starving": "starving",
+ "dehydrated": "dehydrated",
+ "exhausted": "exhausted",
+ "freezing": "freezing",
+ "air": "air",
+ "food": "food",
+ "power": "power",
+ "water": "water",
+ "strength": "strength",
+ "heavy machinery": "heavy machinery",
+ "stamina": "stamina",
+ "close combat": "close combat",
+ "agility": "agility",
+ "ranged combat": "ranged combat",
+ "mobility": "mobility",
+ "piloting": "piloting",
+ "wits": "wits",
+ "observation": "observation",
+ "survival": "survival",
+ "comtech": "comtech",
+ "empathy": "empathy",
+ "command": "command",
+ "medical aid": "medical aid",
+ "manipulation": "manipulation",
+ "Armor": "Armor",
+ "encumberance": "Encumberance",
+ "Weapons": "Weapons",
+ "melee": "melee",
+ "ranged": "ranged",
+ "Talents": "Talents",
+ "Experience Points": "Experience Points",
+ "Story Points": "Story Points",
+ "Tiny Items": "Tiny Items",
+ "Signature Item": "Signature Item",
+ "gear": "gear",
+ "Lease Cost": "Lease Cost",
+ "crew": "crew",
+ "length": "length",
+ "signature": "signature",
+ "hull": "hull",
+ "passengers": "passengers",
+ "ftl rating": "ftl rating",
+ "thrusters": "thrusters",
+ "armor": "armor",
+ "maneuverability": "maneuverability",
+ "speed": "speed",
+ "armaments": "armaments",
+ "bonus": "bonus",
+ "damage": "damage",
+ "range": "range",
+ "size": "size",
+ "crew positions": "crew positions",
+ "character name": "character name",
+ "position": "position",
+ "skill": "skill",
+ "notes": "notes",
+ "passenger": "passenger",
+ "captain": "captain",
+ "sensor operator": "sensor operator",
+ "pilot": "pilot",
+ "gunner": "gunner",
+ "engineer": "engineer",
+ "query": "query",
+ "heavy_machinery": "heavy_machinery",
+ "close_combat": "close_combat",
+ "ranged_combat": "ranged_combat",
+ "medical_aid": "medical_aid",
+ "tabs-menu-initiative": "Initiative",
+ "Records": "Records",
+ "title:": "Title:",
+ "nickname:": "Nickname:",
+ "age:": "Age:",
+ "personality:": "Personality:",
+ "Biography": "Biography",
+ "Data": "Data",
+ "Talent:": "Talent:",
+ "Gear:": "Gear:",
+ "Results": "Results",
+ "close": "close",
+ "engaged": "engaged",
+ "short": "short",
+ "medium": "medium",
+ "long": "long",
+ "extreme": "extreme",
+ "skills:": "Skills:",
+ "talent:": "Talent:",
+ "Gear": "Gear",
+ "Mobility": "Mobility",
+ "Observation": "Observation",
+ "Information": "Information",
+ "Containment and Termination Protocols": "Containment and Termination Protocols",
+ "weapon name": "weapon name",
+ "weapon description": "weapon description",
+ "armament": "armament",
+ "internal modules": "internal modules",
+ "type": "type",
+ "select one": "select one",
+ "artificial intelligence": "artificial intelligence",
+ "air scrubber": "air scrubber",
+ "cargo bay": "cargo bay",
+ "corporate suite": "corporate suite",
+ "cryo deck": "cryo deck",
+ "docking umbilical": "docking umbilical",
+ "emergency escape vehicle": "emergency escape vehicle",
+ "galley": "galley",
+ "hangar": "hangar",
+ "medlab": "medlab",
+ "salvage crane": "salvage crane",
+ "science lab": "science lab",
+ "tractor hitch": "tractor hitch",
+ "vehicle bay": "vehicle bay",
+ "": "",
+ "thrusterRoll": "thrusterRoll",
+ "shipArmor": "shipArmor",
+ "ftl_rating": "ftl_rating",
+ "multiple-pilot-query": "Which pilot is at the helm",
+ "multiple-gunner-query": "Which gunner is firing",
+ "dice to add/subtract for {{rollName}}": "Dice to add/subtract for {{0}}",
+ "push": "push",
+ "ftl-trip-query": "How many parsecs are you traveling",
+ "distance": "distance",
+ "ftl trip": "ftl trip",
+ "attacks": "attacks",
+ "weight": "weight",
+ "name": "name",
+ "abilities": "abilities",
+ "description": "description",
+ "undefined": "undefined",
+ "hostile": "hostile",
+ "stage": "stage",
+ "armor rating:": "armor rating:",
+ "skills": "skills",
+ "tabs-menu-settings": "tabs-menu-settings",
+ "sheet behavior": "sheet behavior",
+ "character type": "character type",
+ "character": "character",
+ "npc": "npc",
+ "ship": "ship",
+ "vehicle": "vehicle",
+ "party screen": "party screen",
+ "whisper to gm": "whisper to gm",
+ "never": "never",
+ "always": "always",
+ "internal module": "internal module",
+ "manufacturer": "manufacturer",
+ "ai": "ai",
+ "ship's log": "ship's log",
+ "date": "date",
+ "location": "location",
+ "minor component damage": "minor component damage",
+ "effect": "effect",
+ "major component damage": "major component damage",
+ "upgrades": "upgrades",
+ "quantity-abbreviation": "qty",
+ "component damage": "component damage",
+ "skill 1": "skill 1",
+ "completed": "completed",
+ "skill 2": "skill 2",
+ "talent name": "talent name",
+ "talent description": "talent description",
+ "e.g. agility": "e.g. agility",
+ "push twice": "push twice",
+ "Panic": "Panic",
+ "radiation_level": "radiation_level",
+ "radiation level": "radiation level",
+ "chance": "chance",
+ "title": "title",
+ "attributes": "attributes",
+ "nickname": "nickname",
+ "age": "age",
+ "personality": "personality",
+ "talent": "talent",
+ "buddy": "buddy",
+ "rival": "rival",
+ "comments": "comments",
+ "results": "results",
+ "gear description": "gear description",
+ "encumbrance": "encumbrance",
+ "qty": "qty",
+ "comment": "comment"
+}
\ No newline at end of file
diff --git a/alien_rpg/translations/fi.json b/alien_rpg/translations/fi.json
new file mode 100644
index 0000000000..67a0348003
--- /dev/null
+++ b/alien_rpg/translations/fi.json
@@ -0,0 +1,202 @@
+{
+ "no-assigned-crew": "No assigned crew",
+ "successes": "successes",
+ "panic": "panic",
+ "no dice to roll": "no dice to roll",
+ "base damage": "base damage",
+ "tabs-menu-character": "Character",
+ "tabs-menu-ship": "Ship",
+ "tabs-menu-npc": "NPC",
+ "tabs-menu-hostile": "Hostile",
+ "tabs-menu-options": "Options",
+ "tabs-menu-vehicle": "Vehicle",
+ "Personal Agenda": "Personal Agenda",
+ "Relationships": "Relationships",
+ "buddy:": "Buddy:",
+ "rival:": "Rival:",
+ "Stress Level": "Stress Level",
+ "Health": "Health",
+ "Radiation": "Radiation",
+ "Critical Injuries": "Critical Injuries",
+ "Conditions": "Conditions",
+ "starving": "starving",
+ "dehydrated": "dehydrated",
+ "exhausted": "exhausted",
+ "freezing": "freezing",
+ "air": "air",
+ "food": "food",
+ "power": "power",
+ "water": "water",
+ "strength": "strength",
+ "heavy machinery": "heavy machinery",
+ "stamina": "stamina",
+ "close combat": "close combat",
+ "agility": "agility",
+ "ranged combat": "ranged combat",
+ "mobility": "mobility",
+ "piloting": "piloting",
+ "wits": "wits",
+ "observation": "observation",
+ "survival": "survival",
+ "comtech": "comtech",
+ "empathy": "empathy",
+ "command": "command",
+ "medical aid": "medical aid",
+ "manipulation": "manipulation",
+ "Armor": "Armor",
+ "encumberance": "Encumberance",
+ "Weapons": "Weapons",
+ "melee": "melee",
+ "ranged": "ranged",
+ "Talents": "Talents",
+ "Experience Points": "Experience Points",
+ "Story Points": "Story Points",
+ "Tiny Items": "Tiny Items",
+ "Signature Item": "Signature Item",
+ "gear": "gear",
+ "Lease Cost": "Lease Cost",
+ "crew": "crew",
+ "length": "length",
+ "signature": "signature",
+ "hull": "hull",
+ "passengers": "passengers",
+ "ftl rating": "ftl rating",
+ "thrusters": "thrusters",
+ "armor": "armor",
+ "maneuverability": "maneuverability",
+ "speed": "speed",
+ "armaments": "armaments",
+ "bonus": "bonus",
+ "damage": "damage",
+ "range": "range",
+ "size": "size",
+ "crew positions": "crew positions",
+ "character name": "character name",
+ "position": "position",
+ "skill": "skill",
+ "notes": "notes",
+ "passenger": "passenger",
+ "captain": "captain",
+ "sensor operator": "sensor operator",
+ "pilot": "pilot",
+ "gunner": "gunner",
+ "engineer": "engineer",
+ "query": "query",
+ "heavy_machinery": "heavy_machinery",
+ "close_combat": "close_combat",
+ "ranged_combat": "ranged_combat",
+ "medical_aid": "medical_aid",
+ "tabs-menu-initiative": "Initiative",
+ "Records": "Records",
+ "title:": "Title:",
+ "nickname:": "Nickname:",
+ "age:": "Age:",
+ "personality:": "Personality:",
+ "Biography": "Biography",
+ "Data": "Data",
+ "Talent:": "Talent:",
+ "Gear:": "Gear:",
+ "Results": "Results",
+ "close": "close",
+ "engaged": "engaged",
+ "short": "short",
+ "medium": "medium",
+ "long": "long",
+ "extreme": "extreme",
+ "skills:": "Skills:",
+ "talent:": "Talent:",
+ "Gear": "Gear",
+ "Mobility": "Mobility",
+ "Observation": "Observation",
+ "Information": "Information",
+ "Containment and Termination Protocols": "Containment and Termination Protocols",
+ "weapon name": "weapon name",
+ "weapon description": "weapon description",
+ "armament": "armament",
+ "internal modules": "internal modules",
+ "type": "type",
+ "select one": "select one",
+ "artificial intelligence": "artificial intelligence",
+ "air scrubber": "air scrubber",
+ "cargo bay": "cargo bay",
+ "corporate suite": "corporate suite",
+ "cryo deck": "cryo deck",
+ "docking umbilical": "docking umbilical",
+ "emergency escape vehicle": "emergency escape vehicle",
+ "galley": "galley",
+ "hangar": "hangar",
+ "medlab": "medlab",
+ "salvage crane": "salvage crane",
+ "science lab": "science lab",
+ "tractor hitch": "tractor hitch",
+ "vehicle bay": "vehicle bay",
+ "": "",
+ "thrusterRoll": "thrusterRoll",
+ "shipArmor": "shipArmor",
+ "ftl_rating": "ftl_rating",
+ "multiple-pilot-query": "Which pilot is at the helm",
+ "multiple-gunner-query": "Which gunner is firing",
+ "dice to add/subtract for {{rollName}}": "Dice to add/subtract for {{0}}",
+ "push": "push",
+ "ftl-trip-query": "How many parsecs are you traveling",
+ "distance": "distance",
+ "ftl trip": "ftl trip",
+ "attacks": "attacks",
+ "weight": "weight",
+ "name": "name",
+ "abilities": "abilities",
+ "description": "description",
+ "undefined": "undefined",
+ "hostile": "hostile",
+ "stage": "stage",
+ "armor rating:": "armor rating:",
+ "skills": "skills",
+ "tabs-menu-settings": "tabs-menu-settings",
+ "sheet behavior": "sheet behavior",
+ "character type": "character type",
+ "character": "character",
+ "npc": "npc",
+ "ship": "ship",
+ "vehicle": "vehicle",
+ "party screen": "party screen",
+ "whisper to gm": "whisper to gm",
+ "never": "never",
+ "always": "always",
+ "internal module": "internal module",
+ "manufacturer": "manufacturer",
+ "ai": "ai",
+ "ship's log": "ship's log",
+ "date": "date",
+ "location": "location",
+ "minor component damage": "minor component damage",
+ "effect": "effect",
+ "major component damage": "major component damage",
+ "upgrades": "upgrades",
+ "quantity-abbreviation": "qty",
+ "component damage": "component damage",
+ "skill 1": "skill 1",
+ "completed": "completed",
+ "skill 2": "skill 2",
+ "talent name": "talent name",
+ "talent description": "talent description",
+ "e.g. agility": "e.g. agility",
+ "push twice": "push twice",
+ "Panic": "Panic",
+ "radiation_level": "radiation_level",
+ "radiation level": "radiation level",
+ "chance": "chance",
+ "title": "title",
+ "attributes": "attributes",
+ "nickname": "nickname",
+ "age": "age",
+ "personality": "personality",
+ "talent": "talent",
+ "buddy": "buddy",
+ "rival": "rival",
+ "comments": "comments",
+ "results": "results",
+ "gear description": "gear description",
+ "encumbrance": "encumbrance",
+ "qty": "qty",
+ "comment": "comment"
+}
\ No newline at end of file
diff --git a/alien_rpg/translations/fr.json b/alien_rpg/translations/fr.json
new file mode 100644
index 0000000000..67a0348003
--- /dev/null
+++ b/alien_rpg/translations/fr.json
@@ -0,0 +1,202 @@
+{
+ "no-assigned-crew": "No assigned crew",
+ "successes": "successes",
+ "panic": "panic",
+ "no dice to roll": "no dice to roll",
+ "base damage": "base damage",
+ "tabs-menu-character": "Character",
+ "tabs-menu-ship": "Ship",
+ "tabs-menu-npc": "NPC",
+ "tabs-menu-hostile": "Hostile",
+ "tabs-menu-options": "Options",
+ "tabs-menu-vehicle": "Vehicle",
+ "Personal Agenda": "Personal Agenda",
+ "Relationships": "Relationships",
+ "buddy:": "Buddy:",
+ "rival:": "Rival:",
+ "Stress Level": "Stress Level",
+ "Health": "Health",
+ "Radiation": "Radiation",
+ "Critical Injuries": "Critical Injuries",
+ "Conditions": "Conditions",
+ "starving": "starving",
+ "dehydrated": "dehydrated",
+ "exhausted": "exhausted",
+ "freezing": "freezing",
+ "air": "air",
+ "food": "food",
+ "power": "power",
+ "water": "water",
+ "strength": "strength",
+ "heavy machinery": "heavy machinery",
+ "stamina": "stamina",
+ "close combat": "close combat",
+ "agility": "agility",
+ "ranged combat": "ranged combat",
+ "mobility": "mobility",
+ "piloting": "piloting",
+ "wits": "wits",
+ "observation": "observation",
+ "survival": "survival",
+ "comtech": "comtech",
+ "empathy": "empathy",
+ "command": "command",
+ "medical aid": "medical aid",
+ "manipulation": "manipulation",
+ "Armor": "Armor",
+ "encumberance": "Encumberance",
+ "Weapons": "Weapons",
+ "melee": "melee",
+ "ranged": "ranged",
+ "Talents": "Talents",
+ "Experience Points": "Experience Points",
+ "Story Points": "Story Points",
+ "Tiny Items": "Tiny Items",
+ "Signature Item": "Signature Item",
+ "gear": "gear",
+ "Lease Cost": "Lease Cost",
+ "crew": "crew",
+ "length": "length",
+ "signature": "signature",
+ "hull": "hull",
+ "passengers": "passengers",
+ "ftl rating": "ftl rating",
+ "thrusters": "thrusters",
+ "armor": "armor",
+ "maneuverability": "maneuverability",
+ "speed": "speed",
+ "armaments": "armaments",
+ "bonus": "bonus",
+ "damage": "damage",
+ "range": "range",
+ "size": "size",
+ "crew positions": "crew positions",
+ "character name": "character name",
+ "position": "position",
+ "skill": "skill",
+ "notes": "notes",
+ "passenger": "passenger",
+ "captain": "captain",
+ "sensor operator": "sensor operator",
+ "pilot": "pilot",
+ "gunner": "gunner",
+ "engineer": "engineer",
+ "query": "query",
+ "heavy_machinery": "heavy_machinery",
+ "close_combat": "close_combat",
+ "ranged_combat": "ranged_combat",
+ "medical_aid": "medical_aid",
+ "tabs-menu-initiative": "Initiative",
+ "Records": "Records",
+ "title:": "Title:",
+ "nickname:": "Nickname:",
+ "age:": "Age:",
+ "personality:": "Personality:",
+ "Biography": "Biography",
+ "Data": "Data",
+ "Talent:": "Talent:",
+ "Gear:": "Gear:",
+ "Results": "Results",
+ "close": "close",
+ "engaged": "engaged",
+ "short": "short",
+ "medium": "medium",
+ "long": "long",
+ "extreme": "extreme",
+ "skills:": "Skills:",
+ "talent:": "Talent:",
+ "Gear": "Gear",
+ "Mobility": "Mobility",
+ "Observation": "Observation",
+ "Information": "Information",
+ "Containment and Termination Protocols": "Containment and Termination Protocols",
+ "weapon name": "weapon name",
+ "weapon description": "weapon description",
+ "armament": "armament",
+ "internal modules": "internal modules",
+ "type": "type",
+ "select one": "select one",
+ "artificial intelligence": "artificial intelligence",
+ "air scrubber": "air scrubber",
+ "cargo bay": "cargo bay",
+ "corporate suite": "corporate suite",
+ "cryo deck": "cryo deck",
+ "docking umbilical": "docking umbilical",
+ "emergency escape vehicle": "emergency escape vehicle",
+ "galley": "galley",
+ "hangar": "hangar",
+ "medlab": "medlab",
+ "salvage crane": "salvage crane",
+ "science lab": "science lab",
+ "tractor hitch": "tractor hitch",
+ "vehicle bay": "vehicle bay",
+ "": "",
+ "thrusterRoll": "thrusterRoll",
+ "shipArmor": "shipArmor",
+ "ftl_rating": "ftl_rating",
+ "multiple-pilot-query": "Which pilot is at the helm",
+ "multiple-gunner-query": "Which gunner is firing",
+ "dice to add/subtract for {{rollName}}": "Dice to add/subtract for {{0}}",
+ "push": "push",
+ "ftl-trip-query": "How many parsecs are you traveling",
+ "distance": "distance",
+ "ftl trip": "ftl trip",
+ "attacks": "attacks",
+ "weight": "weight",
+ "name": "name",
+ "abilities": "abilities",
+ "description": "description",
+ "undefined": "undefined",
+ "hostile": "hostile",
+ "stage": "stage",
+ "armor rating:": "armor rating:",
+ "skills": "skills",
+ "tabs-menu-settings": "tabs-menu-settings",
+ "sheet behavior": "sheet behavior",
+ "character type": "character type",
+ "character": "character",
+ "npc": "npc",
+ "ship": "ship",
+ "vehicle": "vehicle",
+ "party screen": "party screen",
+ "whisper to gm": "whisper to gm",
+ "never": "never",
+ "always": "always",
+ "internal module": "internal module",
+ "manufacturer": "manufacturer",
+ "ai": "ai",
+ "ship's log": "ship's log",
+ "date": "date",
+ "location": "location",
+ "minor component damage": "minor component damage",
+ "effect": "effect",
+ "major component damage": "major component damage",
+ "upgrades": "upgrades",
+ "quantity-abbreviation": "qty",
+ "component damage": "component damage",
+ "skill 1": "skill 1",
+ "completed": "completed",
+ "skill 2": "skill 2",
+ "talent name": "talent name",
+ "talent description": "talent description",
+ "e.g. agility": "e.g. agility",
+ "push twice": "push twice",
+ "Panic": "Panic",
+ "radiation_level": "radiation_level",
+ "radiation level": "radiation level",
+ "chance": "chance",
+ "title": "title",
+ "attributes": "attributes",
+ "nickname": "nickname",
+ "age": "age",
+ "personality": "personality",
+ "talent": "talent",
+ "buddy": "buddy",
+ "rival": "rival",
+ "comments": "comments",
+ "results": "results",
+ "gear description": "gear description",
+ "encumbrance": "encumbrance",
+ "qty": "qty",
+ "comment": "comment"
+}
\ No newline at end of file
diff --git a/alien_rpg/translations/he.json b/alien_rpg/translations/he.json
new file mode 100644
index 0000000000..67a0348003
--- /dev/null
+++ b/alien_rpg/translations/he.json
@@ -0,0 +1,202 @@
+{
+ "no-assigned-crew": "No assigned crew",
+ "successes": "successes",
+ "panic": "panic",
+ "no dice to roll": "no dice to roll",
+ "base damage": "base damage",
+ "tabs-menu-character": "Character",
+ "tabs-menu-ship": "Ship",
+ "tabs-menu-npc": "NPC",
+ "tabs-menu-hostile": "Hostile",
+ "tabs-menu-options": "Options",
+ "tabs-menu-vehicle": "Vehicle",
+ "Personal Agenda": "Personal Agenda",
+ "Relationships": "Relationships",
+ "buddy:": "Buddy:",
+ "rival:": "Rival:",
+ "Stress Level": "Stress Level",
+ "Health": "Health",
+ "Radiation": "Radiation",
+ "Critical Injuries": "Critical Injuries",
+ "Conditions": "Conditions",
+ "starving": "starving",
+ "dehydrated": "dehydrated",
+ "exhausted": "exhausted",
+ "freezing": "freezing",
+ "air": "air",
+ "food": "food",
+ "power": "power",
+ "water": "water",
+ "strength": "strength",
+ "heavy machinery": "heavy machinery",
+ "stamina": "stamina",
+ "close combat": "close combat",
+ "agility": "agility",
+ "ranged combat": "ranged combat",
+ "mobility": "mobility",
+ "piloting": "piloting",
+ "wits": "wits",
+ "observation": "observation",
+ "survival": "survival",
+ "comtech": "comtech",
+ "empathy": "empathy",
+ "command": "command",
+ "medical aid": "medical aid",
+ "manipulation": "manipulation",
+ "Armor": "Armor",
+ "encumberance": "Encumberance",
+ "Weapons": "Weapons",
+ "melee": "melee",
+ "ranged": "ranged",
+ "Talents": "Talents",
+ "Experience Points": "Experience Points",
+ "Story Points": "Story Points",
+ "Tiny Items": "Tiny Items",
+ "Signature Item": "Signature Item",
+ "gear": "gear",
+ "Lease Cost": "Lease Cost",
+ "crew": "crew",
+ "length": "length",
+ "signature": "signature",
+ "hull": "hull",
+ "passengers": "passengers",
+ "ftl rating": "ftl rating",
+ "thrusters": "thrusters",
+ "armor": "armor",
+ "maneuverability": "maneuverability",
+ "speed": "speed",
+ "armaments": "armaments",
+ "bonus": "bonus",
+ "damage": "damage",
+ "range": "range",
+ "size": "size",
+ "crew positions": "crew positions",
+ "character name": "character name",
+ "position": "position",
+ "skill": "skill",
+ "notes": "notes",
+ "passenger": "passenger",
+ "captain": "captain",
+ "sensor operator": "sensor operator",
+ "pilot": "pilot",
+ "gunner": "gunner",
+ "engineer": "engineer",
+ "query": "query",
+ "heavy_machinery": "heavy_machinery",
+ "close_combat": "close_combat",
+ "ranged_combat": "ranged_combat",
+ "medical_aid": "medical_aid",
+ "tabs-menu-initiative": "Initiative",
+ "Records": "Records",
+ "title:": "Title:",
+ "nickname:": "Nickname:",
+ "age:": "Age:",
+ "personality:": "Personality:",
+ "Biography": "Biography",
+ "Data": "Data",
+ "Talent:": "Talent:",
+ "Gear:": "Gear:",
+ "Results": "Results",
+ "close": "close",
+ "engaged": "engaged",
+ "short": "short",
+ "medium": "medium",
+ "long": "long",
+ "extreme": "extreme",
+ "skills:": "Skills:",
+ "talent:": "Talent:",
+ "Gear": "Gear",
+ "Mobility": "Mobility",
+ "Observation": "Observation",
+ "Information": "Information",
+ "Containment and Termination Protocols": "Containment and Termination Protocols",
+ "weapon name": "weapon name",
+ "weapon description": "weapon description",
+ "armament": "armament",
+ "internal modules": "internal modules",
+ "type": "type",
+ "select one": "select one",
+ "artificial intelligence": "artificial intelligence",
+ "air scrubber": "air scrubber",
+ "cargo bay": "cargo bay",
+ "corporate suite": "corporate suite",
+ "cryo deck": "cryo deck",
+ "docking umbilical": "docking umbilical",
+ "emergency escape vehicle": "emergency escape vehicle",
+ "galley": "galley",
+ "hangar": "hangar",
+ "medlab": "medlab",
+ "salvage crane": "salvage crane",
+ "science lab": "science lab",
+ "tractor hitch": "tractor hitch",
+ "vehicle bay": "vehicle bay",
+ "": "",
+ "thrusterRoll": "thrusterRoll",
+ "shipArmor": "shipArmor",
+ "ftl_rating": "ftl_rating",
+ "multiple-pilot-query": "Which pilot is at the helm",
+ "multiple-gunner-query": "Which gunner is firing",
+ "dice to add/subtract for {{rollName}}": "Dice to add/subtract for {{0}}",
+ "push": "push",
+ "ftl-trip-query": "How many parsecs are you traveling",
+ "distance": "distance",
+ "ftl trip": "ftl trip",
+ "attacks": "attacks",
+ "weight": "weight",
+ "name": "name",
+ "abilities": "abilities",
+ "description": "description",
+ "undefined": "undefined",
+ "hostile": "hostile",
+ "stage": "stage",
+ "armor rating:": "armor rating:",
+ "skills": "skills",
+ "tabs-menu-settings": "tabs-menu-settings",
+ "sheet behavior": "sheet behavior",
+ "character type": "character type",
+ "character": "character",
+ "npc": "npc",
+ "ship": "ship",
+ "vehicle": "vehicle",
+ "party screen": "party screen",
+ "whisper to gm": "whisper to gm",
+ "never": "never",
+ "always": "always",
+ "internal module": "internal module",
+ "manufacturer": "manufacturer",
+ "ai": "ai",
+ "ship's log": "ship's log",
+ "date": "date",
+ "location": "location",
+ "minor component damage": "minor component damage",
+ "effect": "effect",
+ "major component damage": "major component damage",
+ "upgrades": "upgrades",
+ "quantity-abbreviation": "qty",
+ "component damage": "component damage",
+ "skill 1": "skill 1",
+ "completed": "completed",
+ "skill 2": "skill 2",
+ "talent name": "talent name",
+ "talent description": "talent description",
+ "e.g. agility": "e.g. agility",
+ "push twice": "push twice",
+ "Panic": "Panic",
+ "radiation_level": "radiation_level",
+ "radiation level": "radiation level",
+ "chance": "chance",
+ "title": "title",
+ "attributes": "attributes",
+ "nickname": "nickname",
+ "age": "age",
+ "personality": "personality",
+ "talent": "talent",
+ "buddy": "buddy",
+ "rival": "rival",
+ "comments": "comments",
+ "results": "results",
+ "gear description": "gear description",
+ "encumbrance": "encumbrance",
+ "qty": "qty",
+ "comment": "comment"
+}
\ No newline at end of file
diff --git a/alien_rpg/translations/hu.json b/alien_rpg/translations/hu.json
new file mode 100644
index 0000000000..67a0348003
--- /dev/null
+++ b/alien_rpg/translations/hu.json
@@ -0,0 +1,202 @@
+{
+ "no-assigned-crew": "No assigned crew",
+ "successes": "successes",
+ "panic": "panic",
+ "no dice to roll": "no dice to roll",
+ "base damage": "base damage",
+ "tabs-menu-character": "Character",
+ "tabs-menu-ship": "Ship",
+ "tabs-menu-npc": "NPC",
+ "tabs-menu-hostile": "Hostile",
+ "tabs-menu-options": "Options",
+ "tabs-menu-vehicle": "Vehicle",
+ "Personal Agenda": "Personal Agenda",
+ "Relationships": "Relationships",
+ "buddy:": "Buddy:",
+ "rival:": "Rival:",
+ "Stress Level": "Stress Level",
+ "Health": "Health",
+ "Radiation": "Radiation",
+ "Critical Injuries": "Critical Injuries",
+ "Conditions": "Conditions",
+ "starving": "starving",
+ "dehydrated": "dehydrated",
+ "exhausted": "exhausted",
+ "freezing": "freezing",
+ "air": "air",
+ "food": "food",
+ "power": "power",
+ "water": "water",
+ "strength": "strength",
+ "heavy machinery": "heavy machinery",
+ "stamina": "stamina",
+ "close combat": "close combat",
+ "agility": "agility",
+ "ranged combat": "ranged combat",
+ "mobility": "mobility",
+ "piloting": "piloting",
+ "wits": "wits",
+ "observation": "observation",
+ "survival": "survival",
+ "comtech": "comtech",
+ "empathy": "empathy",
+ "command": "command",
+ "medical aid": "medical aid",
+ "manipulation": "manipulation",
+ "Armor": "Armor",
+ "encumberance": "Encumberance",
+ "Weapons": "Weapons",
+ "melee": "melee",
+ "ranged": "ranged",
+ "Talents": "Talents",
+ "Experience Points": "Experience Points",
+ "Story Points": "Story Points",
+ "Tiny Items": "Tiny Items",
+ "Signature Item": "Signature Item",
+ "gear": "gear",
+ "Lease Cost": "Lease Cost",
+ "crew": "crew",
+ "length": "length",
+ "signature": "signature",
+ "hull": "hull",
+ "passengers": "passengers",
+ "ftl rating": "ftl rating",
+ "thrusters": "thrusters",
+ "armor": "armor",
+ "maneuverability": "maneuverability",
+ "speed": "speed",
+ "armaments": "armaments",
+ "bonus": "bonus",
+ "damage": "damage",
+ "range": "range",
+ "size": "size",
+ "crew positions": "crew positions",
+ "character name": "character name",
+ "position": "position",
+ "skill": "skill",
+ "notes": "notes",
+ "passenger": "passenger",
+ "captain": "captain",
+ "sensor operator": "sensor operator",
+ "pilot": "pilot",
+ "gunner": "gunner",
+ "engineer": "engineer",
+ "query": "query",
+ "heavy_machinery": "heavy_machinery",
+ "close_combat": "close_combat",
+ "ranged_combat": "ranged_combat",
+ "medical_aid": "medical_aid",
+ "tabs-menu-initiative": "Initiative",
+ "Records": "Records",
+ "title:": "Title:",
+ "nickname:": "Nickname:",
+ "age:": "Age:",
+ "personality:": "Personality:",
+ "Biography": "Biography",
+ "Data": "Data",
+ "Talent:": "Talent:",
+ "Gear:": "Gear:",
+ "Results": "Results",
+ "close": "close",
+ "engaged": "engaged",
+ "short": "short",
+ "medium": "medium",
+ "long": "long",
+ "extreme": "extreme",
+ "skills:": "Skills:",
+ "talent:": "Talent:",
+ "Gear": "Gear",
+ "Mobility": "Mobility",
+ "Observation": "Observation",
+ "Information": "Information",
+ "Containment and Termination Protocols": "Containment and Termination Protocols",
+ "weapon name": "weapon name",
+ "weapon description": "weapon description",
+ "armament": "armament",
+ "internal modules": "internal modules",
+ "type": "type",
+ "select one": "select one",
+ "artificial intelligence": "artificial intelligence",
+ "air scrubber": "air scrubber",
+ "cargo bay": "cargo bay",
+ "corporate suite": "corporate suite",
+ "cryo deck": "cryo deck",
+ "docking umbilical": "docking umbilical",
+ "emergency escape vehicle": "emergency escape vehicle",
+ "galley": "galley",
+ "hangar": "hangar",
+ "medlab": "medlab",
+ "salvage crane": "salvage crane",
+ "science lab": "science lab",
+ "tractor hitch": "tractor hitch",
+ "vehicle bay": "vehicle bay",
+ "": "",
+ "thrusterRoll": "thrusterRoll",
+ "shipArmor": "shipArmor",
+ "ftl_rating": "ftl_rating",
+ "multiple-pilot-query": "Which pilot is at the helm",
+ "multiple-gunner-query": "Which gunner is firing",
+ "dice to add/subtract for {{rollName}}": "Dice to add/subtract for {{0}}",
+ "push": "push",
+ "ftl-trip-query": "How many parsecs are you traveling",
+ "distance": "distance",
+ "ftl trip": "ftl trip",
+ "attacks": "attacks",
+ "weight": "weight",
+ "name": "name",
+ "abilities": "abilities",
+ "description": "description",
+ "undefined": "undefined",
+ "hostile": "hostile",
+ "stage": "stage",
+ "armor rating:": "armor rating:",
+ "skills": "skills",
+ "tabs-menu-settings": "tabs-menu-settings",
+ "sheet behavior": "sheet behavior",
+ "character type": "character type",
+ "character": "character",
+ "npc": "npc",
+ "ship": "ship",
+ "vehicle": "vehicle",
+ "party screen": "party screen",
+ "whisper to gm": "whisper to gm",
+ "never": "never",
+ "always": "always",
+ "internal module": "internal module",
+ "manufacturer": "manufacturer",
+ "ai": "ai",
+ "ship's log": "ship's log",
+ "date": "date",
+ "location": "location",
+ "minor component damage": "minor component damage",
+ "effect": "effect",
+ "major component damage": "major component damage",
+ "upgrades": "upgrades",
+ "quantity-abbreviation": "qty",
+ "component damage": "component damage",
+ "skill 1": "skill 1",
+ "completed": "completed",
+ "skill 2": "skill 2",
+ "talent name": "talent name",
+ "talent description": "talent description",
+ "e.g. agility": "e.g. agility",
+ "push twice": "push twice",
+ "Panic": "Panic",
+ "radiation_level": "radiation_level",
+ "radiation level": "radiation level",
+ "chance": "chance",
+ "title": "title",
+ "attributes": "attributes",
+ "nickname": "nickname",
+ "age": "age",
+ "personality": "personality",
+ "talent": "talent",
+ "buddy": "buddy",
+ "rival": "rival",
+ "comments": "comments",
+ "results": "results",
+ "gear description": "gear description",
+ "encumbrance": "encumbrance",
+ "qty": "qty",
+ "comment": "comment"
+}
\ No newline at end of file
diff --git a/alien_rpg/translations/it.json b/alien_rpg/translations/it.json
new file mode 100644
index 0000000000..67a0348003
--- /dev/null
+++ b/alien_rpg/translations/it.json
@@ -0,0 +1,202 @@
+{
+ "no-assigned-crew": "No assigned crew",
+ "successes": "successes",
+ "panic": "panic",
+ "no dice to roll": "no dice to roll",
+ "base damage": "base damage",
+ "tabs-menu-character": "Character",
+ "tabs-menu-ship": "Ship",
+ "tabs-menu-npc": "NPC",
+ "tabs-menu-hostile": "Hostile",
+ "tabs-menu-options": "Options",
+ "tabs-menu-vehicle": "Vehicle",
+ "Personal Agenda": "Personal Agenda",
+ "Relationships": "Relationships",
+ "buddy:": "Buddy:",
+ "rival:": "Rival:",
+ "Stress Level": "Stress Level",
+ "Health": "Health",
+ "Radiation": "Radiation",
+ "Critical Injuries": "Critical Injuries",
+ "Conditions": "Conditions",
+ "starving": "starving",
+ "dehydrated": "dehydrated",
+ "exhausted": "exhausted",
+ "freezing": "freezing",
+ "air": "air",
+ "food": "food",
+ "power": "power",
+ "water": "water",
+ "strength": "strength",
+ "heavy machinery": "heavy machinery",
+ "stamina": "stamina",
+ "close combat": "close combat",
+ "agility": "agility",
+ "ranged combat": "ranged combat",
+ "mobility": "mobility",
+ "piloting": "piloting",
+ "wits": "wits",
+ "observation": "observation",
+ "survival": "survival",
+ "comtech": "comtech",
+ "empathy": "empathy",
+ "command": "command",
+ "medical aid": "medical aid",
+ "manipulation": "manipulation",
+ "Armor": "Armor",
+ "encumberance": "Encumberance",
+ "Weapons": "Weapons",
+ "melee": "melee",
+ "ranged": "ranged",
+ "Talents": "Talents",
+ "Experience Points": "Experience Points",
+ "Story Points": "Story Points",
+ "Tiny Items": "Tiny Items",
+ "Signature Item": "Signature Item",
+ "gear": "gear",
+ "Lease Cost": "Lease Cost",
+ "crew": "crew",
+ "length": "length",
+ "signature": "signature",
+ "hull": "hull",
+ "passengers": "passengers",
+ "ftl rating": "ftl rating",
+ "thrusters": "thrusters",
+ "armor": "armor",
+ "maneuverability": "maneuverability",
+ "speed": "speed",
+ "armaments": "armaments",
+ "bonus": "bonus",
+ "damage": "damage",
+ "range": "range",
+ "size": "size",
+ "crew positions": "crew positions",
+ "character name": "character name",
+ "position": "position",
+ "skill": "skill",
+ "notes": "notes",
+ "passenger": "passenger",
+ "captain": "captain",
+ "sensor operator": "sensor operator",
+ "pilot": "pilot",
+ "gunner": "gunner",
+ "engineer": "engineer",
+ "query": "query",
+ "heavy_machinery": "heavy_machinery",
+ "close_combat": "close_combat",
+ "ranged_combat": "ranged_combat",
+ "medical_aid": "medical_aid",
+ "tabs-menu-initiative": "Initiative",
+ "Records": "Records",
+ "title:": "Title:",
+ "nickname:": "Nickname:",
+ "age:": "Age:",
+ "personality:": "Personality:",
+ "Biography": "Biography",
+ "Data": "Data",
+ "Talent:": "Talent:",
+ "Gear:": "Gear:",
+ "Results": "Results",
+ "close": "close",
+ "engaged": "engaged",
+ "short": "short",
+ "medium": "medium",
+ "long": "long",
+ "extreme": "extreme",
+ "skills:": "Skills:",
+ "talent:": "Talent:",
+ "Gear": "Gear",
+ "Mobility": "Mobility",
+ "Observation": "Observation",
+ "Information": "Information",
+ "Containment and Termination Protocols": "Containment and Termination Protocols",
+ "weapon name": "weapon name",
+ "weapon description": "weapon description",
+ "armament": "armament",
+ "internal modules": "internal modules",
+ "type": "type",
+ "select one": "select one",
+ "artificial intelligence": "artificial intelligence",
+ "air scrubber": "air scrubber",
+ "cargo bay": "cargo bay",
+ "corporate suite": "corporate suite",
+ "cryo deck": "cryo deck",
+ "docking umbilical": "docking umbilical",
+ "emergency escape vehicle": "emergency escape vehicle",
+ "galley": "galley",
+ "hangar": "hangar",
+ "medlab": "medlab",
+ "salvage crane": "salvage crane",
+ "science lab": "science lab",
+ "tractor hitch": "tractor hitch",
+ "vehicle bay": "vehicle bay",
+ "": "",
+ "thrusterRoll": "thrusterRoll",
+ "shipArmor": "shipArmor",
+ "ftl_rating": "ftl_rating",
+ "multiple-pilot-query": "Which pilot is at the helm",
+ "multiple-gunner-query": "Which gunner is firing",
+ "dice to add/subtract for {{rollName}}": "Dice to add/subtract for {{0}}",
+ "push": "push",
+ "ftl-trip-query": "How many parsecs are you traveling",
+ "distance": "distance",
+ "ftl trip": "ftl trip",
+ "attacks": "attacks",
+ "weight": "weight",
+ "name": "name",
+ "abilities": "abilities",
+ "description": "description",
+ "undefined": "undefined",
+ "hostile": "hostile",
+ "stage": "stage",
+ "armor rating:": "armor rating:",
+ "skills": "skills",
+ "tabs-menu-settings": "tabs-menu-settings",
+ "sheet behavior": "sheet behavior",
+ "character type": "character type",
+ "character": "character",
+ "npc": "npc",
+ "ship": "ship",
+ "vehicle": "vehicle",
+ "party screen": "party screen",
+ "whisper to gm": "whisper to gm",
+ "never": "never",
+ "always": "always",
+ "internal module": "internal module",
+ "manufacturer": "manufacturer",
+ "ai": "ai",
+ "ship's log": "ship's log",
+ "date": "date",
+ "location": "location",
+ "minor component damage": "minor component damage",
+ "effect": "effect",
+ "major component damage": "major component damage",
+ "upgrades": "upgrades",
+ "quantity-abbreviation": "qty",
+ "component damage": "component damage",
+ "skill 1": "skill 1",
+ "completed": "completed",
+ "skill 2": "skill 2",
+ "talent name": "talent name",
+ "talent description": "talent description",
+ "e.g. agility": "e.g. agility",
+ "push twice": "push twice",
+ "Panic": "Panic",
+ "radiation_level": "radiation_level",
+ "radiation level": "radiation level",
+ "chance": "chance",
+ "title": "title",
+ "attributes": "attributes",
+ "nickname": "nickname",
+ "age": "age",
+ "personality": "personality",
+ "talent": "talent",
+ "buddy": "buddy",
+ "rival": "rival",
+ "comments": "comments",
+ "results": "results",
+ "gear description": "gear description",
+ "encumbrance": "encumbrance",
+ "qty": "qty",
+ "comment": "comment"
+}
\ No newline at end of file
diff --git a/alien_rpg/translations/ja.json b/alien_rpg/translations/ja.json
new file mode 100644
index 0000000000..67a0348003
--- /dev/null
+++ b/alien_rpg/translations/ja.json
@@ -0,0 +1,202 @@
+{
+ "no-assigned-crew": "No assigned crew",
+ "successes": "successes",
+ "panic": "panic",
+ "no dice to roll": "no dice to roll",
+ "base damage": "base damage",
+ "tabs-menu-character": "Character",
+ "tabs-menu-ship": "Ship",
+ "tabs-menu-npc": "NPC",
+ "tabs-menu-hostile": "Hostile",
+ "tabs-menu-options": "Options",
+ "tabs-menu-vehicle": "Vehicle",
+ "Personal Agenda": "Personal Agenda",
+ "Relationships": "Relationships",
+ "buddy:": "Buddy:",
+ "rival:": "Rival:",
+ "Stress Level": "Stress Level",
+ "Health": "Health",
+ "Radiation": "Radiation",
+ "Critical Injuries": "Critical Injuries",
+ "Conditions": "Conditions",
+ "starving": "starving",
+ "dehydrated": "dehydrated",
+ "exhausted": "exhausted",
+ "freezing": "freezing",
+ "air": "air",
+ "food": "food",
+ "power": "power",
+ "water": "water",
+ "strength": "strength",
+ "heavy machinery": "heavy machinery",
+ "stamina": "stamina",
+ "close combat": "close combat",
+ "agility": "agility",
+ "ranged combat": "ranged combat",
+ "mobility": "mobility",
+ "piloting": "piloting",
+ "wits": "wits",
+ "observation": "observation",
+ "survival": "survival",
+ "comtech": "comtech",
+ "empathy": "empathy",
+ "command": "command",
+ "medical aid": "medical aid",
+ "manipulation": "manipulation",
+ "Armor": "Armor",
+ "encumberance": "Encumberance",
+ "Weapons": "Weapons",
+ "melee": "melee",
+ "ranged": "ranged",
+ "Talents": "Talents",
+ "Experience Points": "Experience Points",
+ "Story Points": "Story Points",
+ "Tiny Items": "Tiny Items",
+ "Signature Item": "Signature Item",
+ "gear": "gear",
+ "Lease Cost": "Lease Cost",
+ "crew": "crew",
+ "length": "length",
+ "signature": "signature",
+ "hull": "hull",
+ "passengers": "passengers",
+ "ftl rating": "ftl rating",
+ "thrusters": "thrusters",
+ "armor": "armor",
+ "maneuverability": "maneuverability",
+ "speed": "speed",
+ "armaments": "armaments",
+ "bonus": "bonus",
+ "damage": "damage",
+ "range": "range",
+ "size": "size",
+ "crew positions": "crew positions",
+ "character name": "character name",
+ "position": "position",
+ "skill": "skill",
+ "notes": "notes",
+ "passenger": "passenger",
+ "captain": "captain",
+ "sensor operator": "sensor operator",
+ "pilot": "pilot",
+ "gunner": "gunner",
+ "engineer": "engineer",
+ "query": "query",
+ "heavy_machinery": "heavy_machinery",
+ "close_combat": "close_combat",
+ "ranged_combat": "ranged_combat",
+ "medical_aid": "medical_aid",
+ "tabs-menu-initiative": "Initiative",
+ "Records": "Records",
+ "title:": "Title:",
+ "nickname:": "Nickname:",
+ "age:": "Age:",
+ "personality:": "Personality:",
+ "Biography": "Biography",
+ "Data": "Data",
+ "Talent:": "Talent:",
+ "Gear:": "Gear:",
+ "Results": "Results",
+ "close": "close",
+ "engaged": "engaged",
+ "short": "short",
+ "medium": "medium",
+ "long": "long",
+ "extreme": "extreme",
+ "skills:": "Skills:",
+ "talent:": "Talent:",
+ "Gear": "Gear",
+ "Mobility": "Mobility",
+ "Observation": "Observation",
+ "Information": "Information",
+ "Containment and Termination Protocols": "Containment and Termination Protocols",
+ "weapon name": "weapon name",
+ "weapon description": "weapon description",
+ "armament": "armament",
+ "internal modules": "internal modules",
+ "type": "type",
+ "select one": "select one",
+ "artificial intelligence": "artificial intelligence",
+ "air scrubber": "air scrubber",
+ "cargo bay": "cargo bay",
+ "corporate suite": "corporate suite",
+ "cryo deck": "cryo deck",
+ "docking umbilical": "docking umbilical",
+ "emergency escape vehicle": "emergency escape vehicle",
+ "galley": "galley",
+ "hangar": "hangar",
+ "medlab": "medlab",
+ "salvage crane": "salvage crane",
+ "science lab": "science lab",
+ "tractor hitch": "tractor hitch",
+ "vehicle bay": "vehicle bay",
+ "": "",
+ "thrusterRoll": "thrusterRoll",
+ "shipArmor": "shipArmor",
+ "ftl_rating": "ftl_rating",
+ "multiple-pilot-query": "Which pilot is at the helm",
+ "multiple-gunner-query": "Which gunner is firing",
+ "dice to add/subtract for {{rollName}}": "Dice to add/subtract for {{0}}",
+ "push": "push",
+ "ftl-trip-query": "How many parsecs are you traveling",
+ "distance": "distance",
+ "ftl trip": "ftl trip",
+ "attacks": "attacks",
+ "weight": "weight",
+ "name": "name",
+ "abilities": "abilities",
+ "description": "description",
+ "undefined": "undefined",
+ "hostile": "hostile",
+ "stage": "stage",
+ "armor rating:": "armor rating:",
+ "skills": "skills",
+ "tabs-menu-settings": "tabs-menu-settings",
+ "sheet behavior": "sheet behavior",
+ "character type": "character type",
+ "character": "character",
+ "npc": "npc",
+ "ship": "ship",
+ "vehicle": "vehicle",
+ "party screen": "party screen",
+ "whisper to gm": "whisper to gm",
+ "never": "never",
+ "always": "always",
+ "internal module": "internal module",
+ "manufacturer": "manufacturer",
+ "ai": "ai",
+ "ship's log": "ship's log",
+ "date": "date",
+ "location": "location",
+ "minor component damage": "minor component damage",
+ "effect": "effect",
+ "major component damage": "major component damage",
+ "upgrades": "upgrades",
+ "quantity-abbreviation": "qty",
+ "component damage": "component damage",
+ "skill 1": "skill 1",
+ "completed": "completed",
+ "skill 2": "skill 2",
+ "talent name": "talent name",
+ "talent description": "talent description",
+ "e.g. agility": "e.g. agility",
+ "push twice": "push twice",
+ "Panic": "Panic",
+ "radiation_level": "radiation_level",
+ "radiation level": "radiation level",
+ "chance": "chance",
+ "title": "title",
+ "attributes": "attributes",
+ "nickname": "nickname",
+ "age": "age",
+ "personality": "personality",
+ "talent": "talent",
+ "buddy": "buddy",
+ "rival": "rival",
+ "comments": "comments",
+ "results": "results",
+ "gear description": "gear description",
+ "encumbrance": "encumbrance",
+ "qty": "qty",
+ "comment": "comment"
+}
\ No newline at end of file
diff --git a/alien_rpg/translations/ko.json b/alien_rpg/translations/ko.json
new file mode 100644
index 0000000000..67a0348003
--- /dev/null
+++ b/alien_rpg/translations/ko.json
@@ -0,0 +1,202 @@
+{
+ "no-assigned-crew": "No assigned crew",
+ "successes": "successes",
+ "panic": "panic",
+ "no dice to roll": "no dice to roll",
+ "base damage": "base damage",
+ "tabs-menu-character": "Character",
+ "tabs-menu-ship": "Ship",
+ "tabs-menu-npc": "NPC",
+ "tabs-menu-hostile": "Hostile",
+ "tabs-menu-options": "Options",
+ "tabs-menu-vehicle": "Vehicle",
+ "Personal Agenda": "Personal Agenda",
+ "Relationships": "Relationships",
+ "buddy:": "Buddy:",
+ "rival:": "Rival:",
+ "Stress Level": "Stress Level",
+ "Health": "Health",
+ "Radiation": "Radiation",
+ "Critical Injuries": "Critical Injuries",
+ "Conditions": "Conditions",
+ "starving": "starving",
+ "dehydrated": "dehydrated",
+ "exhausted": "exhausted",
+ "freezing": "freezing",
+ "air": "air",
+ "food": "food",
+ "power": "power",
+ "water": "water",
+ "strength": "strength",
+ "heavy machinery": "heavy machinery",
+ "stamina": "stamina",
+ "close combat": "close combat",
+ "agility": "agility",
+ "ranged combat": "ranged combat",
+ "mobility": "mobility",
+ "piloting": "piloting",
+ "wits": "wits",
+ "observation": "observation",
+ "survival": "survival",
+ "comtech": "comtech",
+ "empathy": "empathy",
+ "command": "command",
+ "medical aid": "medical aid",
+ "manipulation": "manipulation",
+ "Armor": "Armor",
+ "encumberance": "Encumberance",
+ "Weapons": "Weapons",
+ "melee": "melee",
+ "ranged": "ranged",
+ "Talents": "Talents",
+ "Experience Points": "Experience Points",
+ "Story Points": "Story Points",
+ "Tiny Items": "Tiny Items",
+ "Signature Item": "Signature Item",
+ "gear": "gear",
+ "Lease Cost": "Lease Cost",
+ "crew": "crew",
+ "length": "length",
+ "signature": "signature",
+ "hull": "hull",
+ "passengers": "passengers",
+ "ftl rating": "ftl rating",
+ "thrusters": "thrusters",
+ "armor": "armor",
+ "maneuverability": "maneuverability",
+ "speed": "speed",
+ "armaments": "armaments",
+ "bonus": "bonus",
+ "damage": "damage",
+ "range": "range",
+ "size": "size",
+ "crew positions": "crew positions",
+ "character name": "character name",
+ "position": "position",
+ "skill": "skill",
+ "notes": "notes",
+ "passenger": "passenger",
+ "captain": "captain",
+ "sensor operator": "sensor operator",
+ "pilot": "pilot",
+ "gunner": "gunner",
+ "engineer": "engineer",
+ "query": "query",
+ "heavy_machinery": "heavy_machinery",
+ "close_combat": "close_combat",
+ "ranged_combat": "ranged_combat",
+ "medical_aid": "medical_aid",
+ "tabs-menu-initiative": "Initiative",
+ "Records": "Records",
+ "title:": "Title:",
+ "nickname:": "Nickname:",
+ "age:": "Age:",
+ "personality:": "Personality:",
+ "Biography": "Biography",
+ "Data": "Data",
+ "Talent:": "Talent:",
+ "Gear:": "Gear:",
+ "Results": "Results",
+ "close": "close",
+ "engaged": "engaged",
+ "short": "short",
+ "medium": "medium",
+ "long": "long",
+ "extreme": "extreme",
+ "skills:": "Skills:",
+ "talent:": "Talent:",
+ "Gear": "Gear",
+ "Mobility": "Mobility",
+ "Observation": "Observation",
+ "Information": "Information",
+ "Containment and Termination Protocols": "Containment and Termination Protocols",
+ "weapon name": "weapon name",
+ "weapon description": "weapon description",
+ "armament": "armament",
+ "internal modules": "internal modules",
+ "type": "type",
+ "select one": "select one",
+ "artificial intelligence": "artificial intelligence",
+ "air scrubber": "air scrubber",
+ "cargo bay": "cargo bay",
+ "corporate suite": "corporate suite",
+ "cryo deck": "cryo deck",
+ "docking umbilical": "docking umbilical",
+ "emergency escape vehicle": "emergency escape vehicle",
+ "galley": "galley",
+ "hangar": "hangar",
+ "medlab": "medlab",
+ "salvage crane": "salvage crane",
+ "science lab": "science lab",
+ "tractor hitch": "tractor hitch",
+ "vehicle bay": "vehicle bay",
+ "": "",
+ "thrusterRoll": "thrusterRoll",
+ "shipArmor": "shipArmor",
+ "ftl_rating": "ftl_rating",
+ "multiple-pilot-query": "Which pilot is at the helm",
+ "multiple-gunner-query": "Which gunner is firing",
+ "dice to add/subtract for {{rollName}}": "Dice to add/subtract for {{0}}",
+ "push": "push",
+ "ftl-trip-query": "How many parsecs are you traveling",
+ "distance": "distance",
+ "ftl trip": "ftl trip",
+ "attacks": "attacks",
+ "weight": "weight",
+ "name": "name",
+ "abilities": "abilities",
+ "description": "description",
+ "undefined": "undefined",
+ "hostile": "hostile",
+ "stage": "stage",
+ "armor rating:": "armor rating:",
+ "skills": "skills",
+ "tabs-menu-settings": "tabs-menu-settings",
+ "sheet behavior": "sheet behavior",
+ "character type": "character type",
+ "character": "character",
+ "npc": "npc",
+ "ship": "ship",
+ "vehicle": "vehicle",
+ "party screen": "party screen",
+ "whisper to gm": "whisper to gm",
+ "never": "never",
+ "always": "always",
+ "internal module": "internal module",
+ "manufacturer": "manufacturer",
+ "ai": "ai",
+ "ship's log": "ship's log",
+ "date": "date",
+ "location": "location",
+ "minor component damage": "minor component damage",
+ "effect": "effect",
+ "major component damage": "major component damage",
+ "upgrades": "upgrades",
+ "quantity-abbreviation": "qty",
+ "component damage": "component damage",
+ "skill 1": "skill 1",
+ "completed": "completed",
+ "skill 2": "skill 2",
+ "talent name": "talent name",
+ "talent description": "talent description",
+ "e.g. agility": "e.g. agility",
+ "push twice": "push twice",
+ "Panic": "Panic",
+ "radiation_level": "radiation_level",
+ "radiation level": "radiation level",
+ "chance": "chance",
+ "title": "title",
+ "attributes": "attributes",
+ "nickname": "nickname",
+ "age": "age",
+ "personality": "personality",
+ "talent": "talent",
+ "buddy": "buddy",
+ "rival": "rival",
+ "comments": "comments",
+ "results": "results",
+ "gear description": "gear description",
+ "encumbrance": "encumbrance",
+ "qty": "qty",
+ "comment": "comment"
+}
\ No newline at end of file
diff --git a/alien_rpg/translations/nl.json b/alien_rpg/translations/nl.json
new file mode 100644
index 0000000000..67a0348003
--- /dev/null
+++ b/alien_rpg/translations/nl.json
@@ -0,0 +1,202 @@
+{
+ "no-assigned-crew": "No assigned crew",
+ "successes": "successes",
+ "panic": "panic",
+ "no dice to roll": "no dice to roll",
+ "base damage": "base damage",
+ "tabs-menu-character": "Character",
+ "tabs-menu-ship": "Ship",
+ "tabs-menu-npc": "NPC",
+ "tabs-menu-hostile": "Hostile",
+ "tabs-menu-options": "Options",
+ "tabs-menu-vehicle": "Vehicle",
+ "Personal Agenda": "Personal Agenda",
+ "Relationships": "Relationships",
+ "buddy:": "Buddy:",
+ "rival:": "Rival:",
+ "Stress Level": "Stress Level",
+ "Health": "Health",
+ "Radiation": "Radiation",
+ "Critical Injuries": "Critical Injuries",
+ "Conditions": "Conditions",
+ "starving": "starving",
+ "dehydrated": "dehydrated",
+ "exhausted": "exhausted",
+ "freezing": "freezing",
+ "air": "air",
+ "food": "food",
+ "power": "power",
+ "water": "water",
+ "strength": "strength",
+ "heavy machinery": "heavy machinery",
+ "stamina": "stamina",
+ "close combat": "close combat",
+ "agility": "agility",
+ "ranged combat": "ranged combat",
+ "mobility": "mobility",
+ "piloting": "piloting",
+ "wits": "wits",
+ "observation": "observation",
+ "survival": "survival",
+ "comtech": "comtech",
+ "empathy": "empathy",
+ "command": "command",
+ "medical aid": "medical aid",
+ "manipulation": "manipulation",
+ "Armor": "Armor",
+ "encumberance": "Encumberance",
+ "Weapons": "Weapons",
+ "melee": "melee",
+ "ranged": "ranged",
+ "Talents": "Talents",
+ "Experience Points": "Experience Points",
+ "Story Points": "Story Points",
+ "Tiny Items": "Tiny Items",
+ "Signature Item": "Signature Item",
+ "gear": "gear",
+ "Lease Cost": "Lease Cost",
+ "crew": "crew",
+ "length": "length",
+ "signature": "signature",
+ "hull": "hull",
+ "passengers": "passengers",
+ "ftl rating": "ftl rating",
+ "thrusters": "thrusters",
+ "armor": "armor",
+ "maneuverability": "maneuverability",
+ "speed": "speed",
+ "armaments": "armaments",
+ "bonus": "bonus",
+ "damage": "damage",
+ "range": "range",
+ "size": "size",
+ "crew positions": "crew positions",
+ "character name": "character name",
+ "position": "position",
+ "skill": "skill",
+ "notes": "notes",
+ "passenger": "passenger",
+ "captain": "captain",
+ "sensor operator": "sensor operator",
+ "pilot": "pilot",
+ "gunner": "gunner",
+ "engineer": "engineer",
+ "query": "query",
+ "heavy_machinery": "heavy_machinery",
+ "close_combat": "close_combat",
+ "ranged_combat": "ranged_combat",
+ "medical_aid": "medical_aid",
+ "tabs-menu-initiative": "Initiative",
+ "Records": "Records",
+ "title:": "Title:",
+ "nickname:": "Nickname:",
+ "age:": "Age:",
+ "personality:": "Personality:",
+ "Biography": "Biography",
+ "Data": "Data",
+ "Talent:": "Talent:",
+ "Gear:": "Gear:",
+ "Results": "Results",
+ "close": "close",
+ "engaged": "engaged",
+ "short": "short",
+ "medium": "medium",
+ "long": "long",
+ "extreme": "extreme",
+ "skills:": "Skills:",
+ "talent:": "Talent:",
+ "Gear": "Gear",
+ "Mobility": "Mobility",
+ "Observation": "Observation",
+ "Information": "Information",
+ "Containment and Termination Protocols": "Containment and Termination Protocols",
+ "weapon name": "weapon name",
+ "weapon description": "weapon description",
+ "armament": "armament",
+ "internal modules": "internal modules",
+ "type": "type",
+ "select one": "select one",
+ "artificial intelligence": "artificial intelligence",
+ "air scrubber": "air scrubber",
+ "cargo bay": "cargo bay",
+ "corporate suite": "corporate suite",
+ "cryo deck": "cryo deck",
+ "docking umbilical": "docking umbilical",
+ "emergency escape vehicle": "emergency escape vehicle",
+ "galley": "galley",
+ "hangar": "hangar",
+ "medlab": "medlab",
+ "salvage crane": "salvage crane",
+ "science lab": "science lab",
+ "tractor hitch": "tractor hitch",
+ "vehicle bay": "vehicle bay",
+ "": "",
+ "thrusterRoll": "thrusterRoll",
+ "shipArmor": "shipArmor",
+ "ftl_rating": "ftl_rating",
+ "multiple-pilot-query": "Which pilot is at the helm",
+ "multiple-gunner-query": "Which gunner is firing",
+ "dice to add/subtract for {{rollName}}": "Dice to add/subtract for {{0}}",
+ "push": "push",
+ "ftl-trip-query": "How many parsecs are you traveling",
+ "distance": "distance",
+ "ftl trip": "ftl trip",
+ "attacks": "attacks",
+ "weight": "weight",
+ "name": "name",
+ "abilities": "abilities",
+ "description": "description",
+ "undefined": "undefined",
+ "hostile": "hostile",
+ "stage": "stage",
+ "armor rating:": "armor rating:",
+ "skills": "skills",
+ "tabs-menu-settings": "tabs-menu-settings",
+ "sheet behavior": "sheet behavior",
+ "character type": "character type",
+ "character": "character",
+ "npc": "npc",
+ "ship": "ship",
+ "vehicle": "vehicle",
+ "party screen": "party screen",
+ "whisper to gm": "whisper to gm",
+ "never": "never",
+ "always": "always",
+ "internal module": "internal module",
+ "manufacturer": "manufacturer",
+ "ai": "ai",
+ "ship's log": "ship's log",
+ "date": "date",
+ "location": "location",
+ "minor component damage": "minor component damage",
+ "effect": "effect",
+ "major component damage": "major component damage",
+ "upgrades": "upgrades",
+ "quantity-abbreviation": "qty",
+ "component damage": "component damage",
+ "skill 1": "skill 1",
+ "completed": "completed",
+ "skill 2": "skill 2",
+ "talent name": "talent name",
+ "talent description": "talent description",
+ "e.g. agility": "e.g. agility",
+ "push twice": "push twice",
+ "Panic": "Panic",
+ "radiation_level": "radiation_level",
+ "radiation level": "radiation level",
+ "chance": "chance",
+ "title": "title",
+ "attributes": "attributes",
+ "nickname": "nickname",
+ "age": "age",
+ "personality": "personality",
+ "talent": "talent",
+ "buddy": "buddy",
+ "rival": "rival",
+ "comments": "comments",
+ "results": "results",
+ "gear description": "gear description",
+ "encumbrance": "encumbrance",
+ "qty": "qty",
+ "comment": "comment"
+}
\ No newline at end of file
diff --git a/alien_rpg/translations/pb.json b/alien_rpg/translations/pb.json
new file mode 100644
index 0000000000..67a0348003
--- /dev/null
+++ b/alien_rpg/translations/pb.json
@@ -0,0 +1,202 @@
+{
+ "no-assigned-crew": "No assigned crew",
+ "successes": "successes",
+ "panic": "panic",
+ "no dice to roll": "no dice to roll",
+ "base damage": "base damage",
+ "tabs-menu-character": "Character",
+ "tabs-menu-ship": "Ship",
+ "tabs-menu-npc": "NPC",
+ "tabs-menu-hostile": "Hostile",
+ "tabs-menu-options": "Options",
+ "tabs-menu-vehicle": "Vehicle",
+ "Personal Agenda": "Personal Agenda",
+ "Relationships": "Relationships",
+ "buddy:": "Buddy:",
+ "rival:": "Rival:",
+ "Stress Level": "Stress Level",
+ "Health": "Health",
+ "Radiation": "Radiation",
+ "Critical Injuries": "Critical Injuries",
+ "Conditions": "Conditions",
+ "starving": "starving",
+ "dehydrated": "dehydrated",
+ "exhausted": "exhausted",
+ "freezing": "freezing",
+ "air": "air",
+ "food": "food",
+ "power": "power",
+ "water": "water",
+ "strength": "strength",
+ "heavy machinery": "heavy machinery",
+ "stamina": "stamina",
+ "close combat": "close combat",
+ "agility": "agility",
+ "ranged combat": "ranged combat",
+ "mobility": "mobility",
+ "piloting": "piloting",
+ "wits": "wits",
+ "observation": "observation",
+ "survival": "survival",
+ "comtech": "comtech",
+ "empathy": "empathy",
+ "command": "command",
+ "medical aid": "medical aid",
+ "manipulation": "manipulation",
+ "Armor": "Armor",
+ "encumberance": "Encumberance",
+ "Weapons": "Weapons",
+ "melee": "melee",
+ "ranged": "ranged",
+ "Talents": "Talents",
+ "Experience Points": "Experience Points",
+ "Story Points": "Story Points",
+ "Tiny Items": "Tiny Items",
+ "Signature Item": "Signature Item",
+ "gear": "gear",
+ "Lease Cost": "Lease Cost",
+ "crew": "crew",
+ "length": "length",
+ "signature": "signature",
+ "hull": "hull",
+ "passengers": "passengers",
+ "ftl rating": "ftl rating",
+ "thrusters": "thrusters",
+ "armor": "armor",
+ "maneuverability": "maneuverability",
+ "speed": "speed",
+ "armaments": "armaments",
+ "bonus": "bonus",
+ "damage": "damage",
+ "range": "range",
+ "size": "size",
+ "crew positions": "crew positions",
+ "character name": "character name",
+ "position": "position",
+ "skill": "skill",
+ "notes": "notes",
+ "passenger": "passenger",
+ "captain": "captain",
+ "sensor operator": "sensor operator",
+ "pilot": "pilot",
+ "gunner": "gunner",
+ "engineer": "engineer",
+ "query": "query",
+ "heavy_machinery": "heavy_machinery",
+ "close_combat": "close_combat",
+ "ranged_combat": "ranged_combat",
+ "medical_aid": "medical_aid",
+ "tabs-menu-initiative": "Initiative",
+ "Records": "Records",
+ "title:": "Title:",
+ "nickname:": "Nickname:",
+ "age:": "Age:",
+ "personality:": "Personality:",
+ "Biography": "Biography",
+ "Data": "Data",
+ "Talent:": "Talent:",
+ "Gear:": "Gear:",
+ "Results": "Results",
+ "close": "close",
+ "engaged": "engaged",
+ "short": "short",
+ "medium": "medium",
+ "long": "long",
+ "extreme": "extreme",
+ "skills:": "Skills:",
+ "talent:": "Talent:",
+ "Gear": "Gear",
+ "Mobility": "Mobility",
+ "Observation": "Observation",
+ "Information": "Information",
+ "Containment and Termination Protocols": "Containment and Termination Protocols",
+ "weapon name": "weapon name",
+ "weapon description": "weapon description",
+ "armament": "armament",
+ "internal modules": "internal modules",
+ "type": "type",
+ "select one": "select one",
+ "artificial intelligence": "artificial intelligence",
+ "air scrubber": "air scrubber",
+ "cargo bay": "cargo bay",
+ "corporate suite": "corporate suite",
+ "cryo deck": "cryo deck",
+ "docking umbilical": "docking umbilical",
+ "emergency escape vehicle": "emergency escape vehicle",
+ "galley": "galley",
+ "hangar": "hangar",
+ "medlab": "medlab",
+ "salvage crane": "salvage crane",
+ "science lab": "science lab",
+ "tractor hitch": "tractor hitch",
+ "vehicle bay": "vehicle bay",
+ "": "",
+ "thrusterRoll": "thrusterRoll",
+ "shipArmor": "shipArmor",
+ "ftl_rating": "ftl_rating",
+ "multiple-pilot-query": "Which pilot is at the helm",
+ "multiple-gunner-query": "Which gunner is firing",
+ "dice to add/subtract for {{rollName}}": "Dice to add/subtract for {{0}}",
+ "push": "push",
+ "ftl-trip-query": "How many parsecs are you traveling",
+ "distance": "distance",
+ "ftl trip": "ftl trip",
+ "attacks": "attacks",
+ "weight": "weight",
+ "name": "name",
+ "abilities": "abilities",
+ "description": "description",
+ "undefined": "undefined",
+ "hostile": "hostile",
+ "stage": "stage",
+ "armor rating:": "armor rating:",
+ "skills": "skills",
+ "tabs-menu-settings": "tabs-menu-settings",
+ "sheet behavior": "sheet behavior",
+ "character type": "character type",
+ "character": "character",
+ "npc": "npc",
+ "ship": "ship",
+ "vehicle": "vehicle",
+ "party screen": "party screen",
+ "whisper to gm": "whisper to gm",
+ "never": "never",
+ "always": "always",
+ "internal module": "internal module",
+ "manufacturer": "manufacturer",
+ "ai": "ai",
+ "ship's log": "ship's log",
+ "date": "date",
+ "location": "location",
+ "minor component damage": "minor component damage",
+ "effect": "effect",
+ "major component damage": "major component damage",
+ "upgrades": "upgrades",
+ "quantity-abbreviation": "qty",
+ "component damage": "component damage",
+ "skill 1": "skill 1",
+ "completed": "completed",
+ "skill 2": "skill 2",
+ "talent name": "talent name",
+ "talent description": "talent description",
+ "e.g. agility": "e.g. agility",
+ "push twice": "push twice",
+ "Panic": "Panic",
+ "radiation_level": "radiation_level",
+ "radiation level": "radiation level",
+ "chance": "chance",
+ "title": "title",
+ "attributes": "attributes",
+ "nickname": "nickname",
+ "age": "age",
+ "personality": "personality",
+ "talent": "talent",
+ "buddy": "buddy",
+ "rival": "rival",
+ "comments": "comments",
+ "results": "results",
+ "gear description": "gear description",
+ "encumbrance": "encumbrance",
+ "qty": "qty",
+ "comment": "comment"
+}
\ No newline at end of file
diff --git a/alien_rpg/translations/pl.json b/alien_rpg/translations/pl.json
new file mode 100644
index 0000000000..67a0348003
--- /dev/null
+++ b/alien_rpg/translations/pl.json
@@ -0,0 +1,202 @@
+{
+ "no-assigned-crew": "No assigned crew",
+ "successes": "successes",
+ "panic": "panic",
+ "no dice to roll": "no dice to roll",
+ "base damage": "base damage",
+ "tabs-menu-character": "Character",
+ "tabs-menu-ship": "Ship",
+ "tabs-menu-npc": "NPC",
+ "tabs-menu-hostile": "Hostile",
+ "tabs-menu-options": "Options",
+ "tabs-menu-vehicle": "Vehicle",
+ "Personal Agenda": "Personal Agenda",
+ "Relationships": "Relationships",
+ "buddy:": "Buddy:",
+ "rival:": "Rival:",
+ "Stress Level": "Stress Level",
+ "Health": "Health",
+ "Radiation": "Radiation",
+ "Critical Injuries": "Critical Injuries",
+ "Conditions": "Conditions",
+ "starving": "starving",
+ "dehydrated": "dehydrated",
+ "exhausted": "exhausted",
+ "freezing": "freezing",
+ "air": "air",
+ "food": "food",
+ "power": "power",
+ "water": "water",
+ "strength": "strength",
+ "heavy machinery": "heavy machinery",
+ "stamina": "stamina",
+ "close combat": "close combat",
+ "agility": "agility",
+ "ranged combat": "ranged combat",
+ "mobility": "mobility",
+ "piloting": "piloting",
+ "wits": "wits",
+ "observation": "observation",
+ "survival": "survival",
+ "comtech": "comtech",
+ "empathy": "empathy",
+ "command": "command",
+ "medical aid": "medical aid",
+ "manipulation": "manipulation",
+ "Armor": "Armor",
+ "encumberance": "Encumberance",
+ "Weapons": "Weapons",
+ "melee": "melee",
+ "ranged": "ranged",
+ "Talents": "Talents",
+ "Experience Points": "Experience Points",
+ "Story Points": "Story Points",
+ "Tiny Items": "Tiny Items",
+ "Signature Item": "Signature Item",
+ "gear": "gear",
+ "Lease Cost": "Lease Cost",
+ "crew": "crew",
+ "length": "length",
+ "signature": "signature",
+ "hull": "hull",
+ "passengers": "passengers",
+ "ftl rating": "ftl rating",
+ "thrusters": "thrusters",
+ "armor": "armor",
+ "maneuverability": "maneuverability",
+ "speed": "speed",
+ "armaments": "armaments",
+ "bonus": "bonus",
+ "damage": "damage",
+ "range": "range",
+ "size": "size",
+ "crew positions": "crew positions",
+ "character name": "character name",
+ "position": "position",
+ "skill": "skill",
+ "notes": "notes",
+ "passenger": "passenger",
+ "captain": "captain",
+ "sensor operator": "sensor operator",
+ "pilot": "pilot",
+ "gunner": "gunner",
+ "engineer": "engineer",
+ "query": "query",
+ "heavy_machinery": "heavy_machinery",
+ "close_combat": "close_combat",
+ "ranged_combat": "ranged_combat",
+ "medical_aid": "medical_aid",
+ "tabs-menu-initiative": "Initiative",
+ "Records": "Records",
+ "title:": "Title:",
+ "nickname:": "Nickname:",
+ "age:": "Age:",
+ "personality:": "Personality:",
+ "Biography": "Biography",
+ "Data": "Data",
+ "Talent:": "Talent:",
+ "Gear:": "Gear:",
+ "Results": "Results",
+ "close": "close",
+ "engaged": "engaged",
+ "short": "short",
+ "medium": "medium",
+ "long": "long",
+ "extreme": "extreme",
+ "skills:": "Skills:",
+ "talent:": "Talent:",
+ "Gear": "Gear",
+ "Mobility": "Mobility",
+ "Observation": "Observation",
+ "Information": "Information",
+ "Containment and Termination Protocols": "Containment and Termination Protocols",
+ "weapon name": "weapon name",
+ "weapon description": "weapon description",
+ "armament": "armament",
+ "internal modules": "internal modules",
+ "type": "type",
+ "select one": "select one",
+ "artificial intelligence": "artificial intelligence",
+ "air scrubber": "air scrubber",
+ "cargo bay": "cargo bay",
+ "corporate suite": "corporate suite",
+ "cryo deck": "cryo deck",
+ "docking umbilical": "docking umbilical",
+ "emergency escape vehicle": "emergency escape vehicle",
+ "galley": "galley",
+ "hangar": "hangar",
+ "medlab": "medlab",
+ "salvage crane": "salvage crane",
+ "science lab": "science lab",
+ "tractor hitch": "tractor hitch",
+ "vehicle bay": "vehicle bay",
+ "": "",
+ "thrusterRoll": "thrusterRoll",
+ "shipArmor": "shipArmor",
+ "ftl_rating": "ftl_rating",
+ "multiple-pilot-query": "Which pilot is at the helm",
+ "multiple-gunner-query": "Which gunner is firing",
+ "dice to add/subtract for {{rollName}}": "Dice to add/subtract for {{0}}",
+ "push": "push",
+ "ftl-trip-query": "How many parsecs are you traveling",
+ "distance": "distance",
+ "ftl trip": "ftl trip",
+ "attacks": "attacks",
+ "weight": "weight",
+ "name": "name",
+ "abilities": "abilities",
+ "description": "description",
+ "undefined": "undefined",
+ "hostile": "hostile",
+ "stage": "stage",
+ "armor rating:": "armor rating:",
+ "skills": "skills",
+ "tabs-menu-settings": "tabs-menu-settings",
+ "sheet behavior": "sheet behavior",
+ "character type": "character type",
+ "character": "character",
+ "npc": "npc",
+ "ship": "ship",
+ "vehicle": "vehicle",
+ "party screen": "party screen",
+ "whisper to gm": "whisper to gm",
+ "never": "never",
+ "always": "always",
+ "internal module": "internal module",
+ "manufacturer": "manufacturer",
+ "ai": "ai",
+ "ship's log": "ship's log",
+ "date": "date",
+ "location": "location",
+ "minor component damage": "minor component damage",
+ "effect": "effect",
+ "major component damage": "major component damage",
+ "upgrades": "upgrades",
+ "quantity-abbreviation": "qty",
+ "component damage": "component damage",
+ "skill 1": "skill 1",
+ "completed": "completed",
+ "skill 2": "skill 2",
+ "talent name": "talent name",
+ "talent description": "talent description",
+ "e.g. agility": "e.g. agility",
+ "push twice": "push twice",
+ "Panic": "Panic",
+ "radiation_level": "radiation_level",
+ "radiation level": "radiation level",
+ "chance": "chance",
+ "title": "title",
+ "attributes": "attributes",
+ "nickname": "nickname",
+ "age": "age",
+ "personality": "personality",
+ "talent": "talent",
+ "buddy": "buddy",
+ "rival": "rival",
+ "comments": "comments",
+ "results": "results",
+ "gear description": "gear description",
+ "encumbrance": "encumbrance",
+ "qty": "qty",
+ "comment": "comment"
+}
\ No newline at end of file
diff --git a/alien_rpg/translations/pt.json b/alien_rpg/translations/pt.json
new file mode 100644
index 0000000000..67a0348003
--- /dev/null
+++ b/alien_rpg/translations/pt.json
@@ -0,0 +1,202 @@
+{
+ "no-assigned-crew": "No assigned crew",
+ "successes": "successes",
+ "panic": "panic",
+ "no dice to roll": "no dice to roll",
+ "base damage": "base damage",
+ "tabs-menu-character": "Character",
+ "tabs-menu-ship": "Ship",
+ "tabs-menu-npc": "NPC",
+ "tabs-menu-hostile": "Hostile",
+ "tabs-menu-options": "Options",
+ "tabs-menu-vehicle": "Vehicle",
+ "Personal Agenda": "Personal Agenda",
+ "Relationships": "Relationships",
+ "buddy:": "Buddy:",
+ "rival:": "Rival:",
+ "Stress Level": "Stress Level",
+ "Health": "Health",
+ "Radiation": "Radiation",
+ "Critical Injuries": "Critical Injuries",
+ "Conditions": "Conditions",
+ "starving": "starving",
+ "dehydrated": "dehydrated",
+ "exhausted": "exhausted",
+ "freezing": "freezing",
+ "air": "air",
+ "food": "food",
+ "power": "power",
+ "water": "water",
+ "strength": "strength",
+ "heavy machinery": "heavy machinery",
+ "stamina": "stamina",
+ "close combat": "close combat",
+ "agility": "agility",
+ "ranged combat": "ranged combat",
+ "mobility": "mobility",
+ "piloting": "piloting",
+ "wits": "wits",
+ "observation": "observation",
+ "survival": "survival",
+ "comtech": "comtech",
+ "empathy": "empathy",
+ "command": "command",
+ "medical aid": "medical aid",
+ "manipulation": "manipulation",
+ "Armor": "Armor",
+ "encumberance": "Encumberance",
+ "Weapons": "Weapons",
+ "melee": "melee",
+ "ranged": "ranged",
+ "Talents": "Talents",
+ "Experience Points": "Experience Points",
+ "Story Points": "Story Points",
+ "Tiny Items": "Tiny Items",
+ "Signature Item": "Signature Item",
+ "gear": "gear",
+ "Lease Cost": "Lease Cost",
+ "crew": "crew",
+ "length": "length",
+ "signature": "signature",
+ "hull": "hull",
+ "passengers": "passengers",
+ "ftl rating": "ftl rating",
+ "thrusters": "thrusters",
+ "armor": "armor",
+ "maneuverability": "maneuverability",
+ "speed": "speed",
+ "armaments": "armaments",
+ "bonus": "bonus",
+ "damage": "damage",
+ "range": "range",
+ "size": "size",
+ "crew positions": "crew positions",
+ "character name": "character name",
+ "position": "position",
+ "skill": "skill",
+ "notes": "notes",
+ "passenger": "passenger",
+ "captain": "captain",
+ "sensor operator": "sensor operator",
+ "pilot": "pilot",
+ "gunner": "gunner",
+ "engineer": "engineer",
+ "query": "query",
+ "heavy_machinery": "heavy_machinery",
+ "close_combat": "close_combat",
+ "ranged_combat": "ranged_combat",
+ "medical_aid": "medical_aid",
+ "tabs-menu-initiative": "Initiative",
+ "Records": "Records",
+ "title:": "Title:",
+ "nickname:": "Nickname:",
+ "age:": "Age:",
+ "personality:": "Personality:",
+ "Biography": "Biography",
+ "Data": "Data",
+ "Talent:": "Talent:",
+ "Gear:": "Gear:",
+ "Results": "Results",
+ "close": "close",
+ "engaged": "engaged",
+ "short": "short",
+ "medium": "medium",
+ "long": "long",
+ "extreme": "extreme",
+ "skills:": "Skills:",
+ "talent:": "Talent:",
+ "Gear": "Gear",
+ "Mobility": "Mobility",
+ "Observation": "Observation",
+ "Information": "Information",
+ "Containment and Termination Protocols": "Containment and Termination Protocols",
+ "weapon name": "weapon name",
+ "weapon description": "weapon description",
+ "armament": "armament",
+ "internal modules": "internal modules",
+ "type": "type",
+ "select one": "select one",
+ "artificial intelligence": "artificial intelligence",
+ "air scrubber": "air scrubber",
+ "cargo bay": "cargo bay",
+ "corporate suite": "corporate suite",
+ "cryo deck": "cryo deck",
+ "docking umbilical": "docking umbilical",
+ "emergency escape vehicle": "emergency escape vehicle",
+ "galley": "galley",
+ "hangar": "hangar",
+ "medlab": "medlab",
+ "salvage crane": "salvage crane",
+ "science lab": "science lab",
+ "tractor hitch": "tractor hitch",
+ "vehicle bay": "vehicle bay",
+ "": "",
+ "thrusterRoll": "thrusterRoll",
+ "shipArmor": "shipArmor",
+ "ftl_rating": "ftl_rating",
+ "multiple-pilot-query": "Which pilot is at the helm",
+ "multiple-gunner-query": "Which gunner is firing",
+ "dice to add/subtract for {{rollName}}": "Dice to add/subtract for {{0}}",
+ "push": "push",
+ "ftl-trip-query": "How many parsecs are you traveling",
+ "distance": "distance",
+ "ftl trip": "ftl trip",
+ "attacks": "attacks",
+ "weight": "weight",
+ "name": "name",
+ "abilities": "abilities",
+ "description": "description",
+ "undefined": "undefined",
+ "hostile": "hostile",
+ "stage": "stage",
+ "armor rating:": "armor rating:",
+ "skills": "skills",
+ "tabs-menu-settings": "tabs-menu-settings",
+ "sheet behavior": "sheet behavior",
+ "character type": "character type",
+ "character": "character",
+ "npc": "npc",
+ "ship": "ship",
+ "vehicle": "vehicle",
+ "party screen": "party screen",
+ "whisper to gm": "whisper to gm",
+ "never": "never",
+ "always": "always",
+ "internal module": "internal module",
+ "manufacturer": "manufacturer",
+ "ai": "ai",
+ "ship's log": "ship's log",
+ "date": "date",
+ "location": "location",
+ "minor component damage": "minor component damage",
+ "effect": "effect",
+ "major component damage": "major component damage",
+ "upgrades": "upgrades",
+ "quantity-abbreviation": "qty",
+ "component damage": "component damage",
+ "skill 1": "skill 1",
+ "completed": "completed",
+ "skill 2": "skill 2",
+ "talent name": "talent name",
+ "talent description": "talent description",
+ "e.g. agility": "e.g. agility",
+ "push twice": "push twice",
+ "Panic": "Panic",
+ "radiation_level": "radiation_level",
+ "radiation level": "radiation level",
+ "chance": "chance",
+ "title": "title",
+ "attributes": "attributes",
+ "nickname": "nickname",
+ "age": "age",
+ "personality": "personality",
+ "talent": "talent",
+ "buddy": "buddy",
+ "rival": "rival",
+ "comments": "comments",
+ "results": "results",
+ "gear description": "gear description",
+ "encumbrance": "encumbrance",
+ "qty": "qty",
+ "comment": "comment"
+}
\ No newline at end of file
diff --git a/alien_rpg/translations/ru.json b/alien_rpg/translations/ru.json
new file mode 100644
index 0000000000..67a0348003
--- /dev/null
+++ b/alien_rpg/translations/ru.json
@@ -0,0 +1,202 @@
+{
+ "no-assigned-crew": "No assigned crew",
+ "successes": "successes",
+ "panic": "panic",
+ "no dice to roll": "no dice to roll",
+ "base damage": "base damage",
+ "tabs-menu-character": "Character",
+ "tabs-menu-ship": "Ship",
+ "tabs-menu-npc": "NPC",
+ "tabs-menu-hostile": "Hostile",
+ "tabs-menu-options": "Options",
+ "tabs-menu-vehicle": "Vehicle",
+ "Personal Agenda": "Personal Agenda",
+ "Relationships": "Relationships",
+ "buddy:": "Buddy:",
+ "rival:": "Rival:",
+ "Stress Level": "Stress Level",
+ "Health": "Health",
+ "Radiation": "Radiation",
+ "Critical Injuries": "Critical Injuries",
+ "Conditions": "Conditions",
+ "starving": "starving",
+ "dehydrated": "dehydrated",
+ "exhausted": "exhausted",
+ "freezing": "freezing",
+ "air": "air",
+ "food": "food",
+ "power": "power",
+ "water": "water",
+ "strength": "strength",
+ "heavy machinery": "heavy machinery",
+ "stamina": "stamina",
+ "close combat": "close combat",
+ "agility": "agility",
+ "ranged combat": "ranged combat",
+ "mobility": "mobility",
+ "piloting": "piloting",
+ "wits": "wits",
+ "observation": "observation",
+ "survival": "survival",
+ "comtech": "comtech",
+ "empathy": "empathy",
+ "command": "command",
+ "medical aid": "medical aid",
+ "manipulation": "manipulation",
+ "Armor": "Armor",
+ "encumberance": "Encumberance",
+ "Weapons": "Weapons",
+ "melee": "melee",
+ "ranged": "ranged",
+ "Talents": "Talents",
+ "Experience Points": "Experience Points",
+ "Story Points": "Story Points",
+ "Tiny Items": "Tiny Items",
+ "Signature Item": "Signature Item",
+ "gear": "gear",
+ "Lease Cost": "Lease Cost",
+ "crew": "crew",
+ "length": "length",
+ "signature": "signature",
+ "hull": "hull",
+ "passengers": "passengers",
+ "ftl rating": "ftl rating",
+ "thrusters": "thrusters",
+ "armor": "armor",
+ "maneuverability": "maneuverability",
+ "speed": "speed",
+ "armaments": "armaments",
+ "bonus": "bonus",
+ "damage": "damage",
+ "range": "range",
+ "size": "size",
+ "crew positions": "crew positions",
+ "character name": "character name",
+ "position": "position",
+ "skill": "skill",
+ "notes": "notes",
+ "passenger": "passenger",
+ "captain": "captain",
+ "sensor operator": "sensor operator",
+ "pilot": "pilot",
+ "gunner": "gunner",
+ "engineer": "engineer",
+ "query": "query",
+ "heavy_machinery": "heavy_machinery",
+ "close_combat": "close_combat",
+ "ranged_combat": "ranged_combat",
+ "medical_aid": "medical_aid",
+ "tabs-menu-initiative": "Initiative",
+ "Records": "Records",
+ "title:": "Title:",
+ "nickname:": "Nickname:",
+ "age:": "Age:",
+ "personality:": "Personality:",
+ "Biography": "Biography",
+ "Data": "Data",
+ "Talent:": "Talent:",
+ "Gear:": "Gear:",
+ "Results": "Results",
+ "close": "close",
+ "engaged": "engaged",
+ "short": "short",
+ "medium": "medium",
+ "long": "long",
+ "extreme": "extreme",
+ "skills:": "Skills:",
+ "talent:": "Talent:",
+ "Gear": "Gear",
+ "Mobility": "Mobility",
+ "Observation": "Observation",
+ "Information": "Information",
+ "Containment and Termination Protocols": "Containment and Termination Protocols",
+ "weapon name": "weapon name",
+ "weapon description": "weapon description",
+ "armament": "armament",
+ "internal modules": "internal modules",
+ "type": "type",
+ "select one": "select one",
+ "artificial intelligence": "artificial intelligence",
+ "air scrubber": "air scrubber",
+ "cargo bay": "cargo bay",
+ "corporate suite": "corporate suite",
+ "cryo deck": "cryo deck",
+ "docking umbilical": "docking umbilical",
+ "emergency escape vehicle": "emergency escape vehicle",
+ "galley": "galley",
+ "hangar": "hangar",
+ "medlab": "medlab",
+ "salvage crane": "salvage crane",
+ "science lab": "science lab",
+ "tractor hitch": "tractor hitch",
+ "vehicle bay": "vehicle bay",
+ "": "",
+ "thrusterRoll": "thrusterRoll",
+ "shipArmor": "shipArmor",
+ "ftl_rating": "ftl_rating",
+ "multiple-pilot-query": "Which pilot is at the helm",
+ "multiple-gunner-query": "Which gunner is firing",
+ "dice to add/subtract for {{rollName}}": "Dice to add/subtract for {{0}}",
+ "push": "push",
+ "ftl-trip-query": "How many parsecs are you traveling",
+ "distance": "distance",
+ "ftl trip": "ftl trip",
+ "attacks": "attacks",
+ "weight": "weight",
+ "name": "name",
+ "abilities": "abilities",
+ "description": "description",
+ "undefined": "undefined",
+ "hostile": "hostile",
+ "stage": "stage",
+ "armor rating:": "armor rating:",
+ "skills": "skills",
+ "tabs-menu-settings": "tabs-menu-settings",
+ "sheet behavior": "sheet behavior",
+ "character type": "character type",
+ "character": "character",
+ "npc": "npc",
+ "ship": "ship",
+ "vehicle": "vehicle",
+ "party screen": "party screen",
+ "whisper to gm": "whisper to gm",
+ "never": "never",
+ "always": "always",
+ "internal module": "internal module",
+ "manufacturer": "manufacturer",
+ "ai": "ai",
+ "ship's log": "ship's log",
+ "date": "date",
+ "location": "location",
+ "minor component damage": "minor component damage",
+ "effect": "effect",
+ "major component damage": "major component damage",
+ "upgrades": "upgrades",
+ "quantity-abbreviation": "qty",
+ "component damage": "component damage",
+ "skill 1": "skill 1",
+ "completed": "completed",
+ "skill 2": "skill 2",
+ "talent name": "talent name",
+ "talent description": "talent description",
+ "e.g. agility": "e.g. agility",
+ "push twice": "push twice",
+ "Panic": "Panic",
+ "radiation_level": "radiation_level",
+ "radiation level": "radiation level",
+ "chance": "chance",
+ "title": "title",
+ "attributes": "attributes",
+ "nickname": "nickname",
+ "age": "age",
+ "personality": "personality",
+ "talent": "talent",
+ "buddy": "buddy",
+ "rival": "rival",
+ "comments": "comments",
+ "results": "results",
+ "gear description": "gear description",
+ "encumbrance": "encumbrance",
+ "qty": "qty",
+ "comment": "comment"
+}
\ No newline at end of file
diff --git a/alien_rpg/translations/sl.json b/alien_rpg/translations/sl.json
new file mode 100644
index 0000000000..67a0348003
--- /dev/null
+++ b/alien_rpg/translations/sl.json
@@ -0,0 +1,202 @@
+{
+ "no-assigned-crew": "No assigned crew",
+ "successes": "successes",
+ "panic": "panic",
+ "no dice to roll": "no dice to roll",
+ "base damage": "base damage",
+ "tabs-menu-character": "Character",
+ "tabs-menu-ship": "Ship",
+ "tabs-menu-npc": "NPC",
+ "tabs-menu-hostile": "Hostile",
+ "tabs-menu-options": "Options",
+ "tabs-menu-vehicle": "Vehicle",
+ "Personal Agenda": "Personal Agenda",
+ "Relationships": "Relationships",
+ "buddy:": "Buddy:",
+ "rival:": "Rival:",
+ "Stress Level": "Stress Level",
+ "Health": "Health",
+ "Radiation": "Radiation",
+ "Critical Injuries": "Critical Injuries",
+ "Conditions": "Conditions",
+ "starving": "starving",
+ "dehydrated": "dehydrated",
+ "exhausted": "exhausted",
+ "freezing": "freezing",
+ "air": "air",
+ "food": "food",
+ "power": "power",
+ "water": "water",
+ "strength": "strength",
+ "heavy machinery": "heavy machinery",
+ "stamina": "stamina",
+ "close combat": "close combat",
+ "agility": "agility",
+ "ranged combat": "ranged combat",
+ "mobility": "mobility",
+ "piloting": "piloting",
+ "wits": "wits",
+ "observation": "observation",
+ "survival": "survival",
+ "comtech": "comtech",
+ "empathy": "empathy",
+ "command": "command",
+ "medical aid": "medical aid",
+ "manipulation": "manipulation",
+ "Armor": "Armor",
+ "encumberance": "Encumberance",
+ "Weapons": "Weapons",
+ "melee": "melee",
+ "ranged": "ranged",
+ "Talents": "Talents",
+ "Experience Points": "Experience Points",
+ "Story Points": "Story Points",
+ "Tiny Items": "Tiny Items",
+ "Signature Item": "Signature Item",
+ "gear": "gear",
+ "Lease Cost": "Lease Cost",
+ "crew": "crew",
+ "length": "length",
+ "signature": "signature",
+ "hull": "hull",
+ "passengers": "passengers",
+ "ftl rating": "ftl rating",
+ "thrusters": "thrusters",
+ "armor": "armor",
+ "maneuverability": "maneuverability",
+ "speed": "speed",
+ "armaments": "armaments",
+ "bonus": "bonus",
+ "damage": "damage",
+ "range": "range",
+ "size": "size",
+ "crew positions": "crew positions",
+ "character name": "character name",
+ "position": "position",
+ "skill": "skill",
+ "notes": "notes",
+ "passenger": "passenger",
+ "captain": "captain",
+ "sensor operator": "sensor operator",
+ "pilot": "pilot",
+ "gunner": "gunner",
+ "engineer": "engineer",
+ "query": "query",
+ "heavy_machinery": "heavy_machinery",
+ "close_combat": "close_combat",
+ "ranged_combat": "ranged_combat",
+ "medical_aid": "medical_aid",
+ "tabs-menu-initiative": "Initiative",
+ "Records": "Records",
+ "title:": "Title:",
+ "nickname:": "Nickname:",
+ "age:": "Age:",
+ "personality:": "Personality:",
+ "Biography": "Biography",
+ "Data": "Data",
+ "Talent:": "Talent:",
+ "Gear:": "Gear:",
+ "Results": "Results",
+ "close": "close",
+ "engaged": "engaged",
+ "short": "short",
+ "medium": "medium",
+ "long": "long",
+ "extreme": "extreme",
+ "skills:": "Skills:",
+ "talent:": "Talent:",
+ "Gear": "Gear",
+ "Mobility": "Mobility",
+ "Observation": "Observation",
+ "Information": "Information",
+ "Containment and Termination Protocols": "Containment and Termination Protocols",
+ "weapon name": "weapon name",
+ "weapon description": "weapon description",
+ "armament": "armament",
+ "internal modules": "internal modules",
+ "type": "type",
+ "select one": "select one",
+ "artificial intelligence": "artificial intelligence",
+ "air scrubber": "air scrubber",
+ "cargo bay": "cargo bay",
+ "corporate suite": "corporate suite",
+ "cryo deck": "cryo deck",
+ "docking umbilical": "docking umbilical",
+ "emergency escape vehicle": "emergency escape vehicle",
+ "galley": "galley",
+ "hangar": "hangar",
+ "medlab": "medlab",
+ "salvage crane": "salvage crane",
+ "science lab": "science lab",
+ "tractor hitch": "tractor hitch",
+ "vehicle bay": "vehicle bay",
+ "": "",
+ "thrusterRoll": "thrusterRoll",
+ "shipArmor": "shipArmor",
+ "ftl_rating": "ftl_rating",
+ "multiple-pilot-query": "Which pilot is at the helm",
+ "multiple-gunner-query": "Which gunner is firing",
+ "dice to add/subtract for {{rollName}}": "Dice to add/subtract for {{0}}",
+ "push": "push",
+ "ftl-trip-query": "How many parsecs are you traveling",
+ "distance": "distance",
+ "ftl trip": "ftl trip",
+ "attacks": "attacks",
+ "weight": "weight",
+ "name": "name",
+ "abilities": "abilities",
+ "description": "description",
+ "undefined": "undefined",
+ "hostile": "hostile",
+ "stage": "stage",
+ "armor rating:": "armor rating:",
+ "skills": "skills",
+ "tabs-menu-settings": "tabs-menu-settings",
+ "sheet behavior": "sheet behavior",
+ "character type": "character type",
+ "character": "character",
+ "npc": "npc",
+ "ship": "ship",
+ "vehicle": "vehicle",
+ "party screen": "party screen",
+ "whisper to gm": "whisper to gm",
+ "never": "never",
+ "always": "always",
+ "internal module": "internal module",
+ "manufacturer": "manufacturer",
+ "ai": "ai",
+ "ship's log": "ship's log",
+ "date": "date",
+ "location": "location",
+ "minor component damage": "minor component damage",
+ "effect": "effect",
+ "major component damage": "major component damage",
+ "upgrades": "upgrades",
+ "quantity-abbreviation": "qty",
+ "component damage": "component damage",
+ "skill 1": "skill 1",
+ "completed": "completed",
+ "skill 2": "skill 2",
+ "talent name": "talent name",
+ "talent description": "talent description",
+ "e.g. agility": "e.g. agility",
+ "push twice": "push twice",
+ "Panic": "Panic",
+ "radiation_level": "radiation_level",
+ "radiation level": "radiation level",
+ "chance": "chance",
+ "title": "title",
+ "attributes": "attributes",
+ "nickname": "nickname",
+ "age": "age",
+ "personality": "personality",
+ "talent": "talent",
+ "buddy": "buddy",
+ "rival": "rival",
+ "comments": "comments",
+ "results": "results",
+ "gear description": "gear description",
+ "encumbrance": "encumbrance",
+ "qty": "qty",
+ "comment": "comment"
+}
\ No newline at end of file
diff --git a/alien_rpg/translations/sv.json b/alien_rpg/translations/sv.json
new file mode 100644
index 0000000000..67a0348003
--- /dev/null
+++ b/alien_rpg/translations/sv.json
@@ -0,0 +1,202 @@
+{
+ "no-assigned-crew": "No assigned crew",
+ "successes": "successes",
+ "panic": "panic",
+ "no dice to roll": "no dice to roll",
+ "base damage": "base damage",
+ "tabs-menu-character": "Character",
+ "tabs-menu-ship": "Ship",
+ "tabs-menu-npc": "NPC",
+ "tabs-menu-hostile": "Hostile",
+ "tabs-menu-options": "Options",
+ "tabs-menu-vehicle": "Vehicle",
+ "Personal Agenda": "Personal Agenda",
+ "Relationships": "Relationships",
+ "buddy:": "Buddy:",
+ "rival:": "Rival:",
+ "Stress Level": "Stress Level",
+ "Health": "Health",
+ "Radiation": "Radiation",
+ "Critical Injuries": "Critical Injuries",
+ "Conditions": "Conditions",
+ "starving": "starving",
+ "dehydrated": "dehydrated",
+ "exhausted": "exhausted",
+ "freezing": "freezing",
+ "air": "air",
+ "food": "food",
+ "power": "power",
+ "water": "water",
+ "strength": "strength",
+ "heavy machinery": "heavy machinery",
+ "stamina": "stamina",
+ "close combat": "close combat",
+ "agility": "agility",
+ "ranged combat": "ranged combat",
+ "mobility": "mobility",
+ "piloting": "piloting",
+ "wits": "wits",
+ "observation": "observation",
+ "survival": "survival",
+ "comtech": "comtech",
+ "empathy": "empathy",
+ "command": "command",
+ "medical aid": "medical aid",
+ "manipulation": "manipulation",
+ "Armor": "Armor",
+ "encumberance": "Encumberance",
+ "Weapons": "Weapons",
+ "melee": "melee",
+ "ranged": "ranged",
+ "Talents": "Talents",
+ "Experience Points": "Experience Points",
+ "Story Points": "Story Points",
+ "Tiny Items": "Tiny Items",
+ "Signature Item": "Signature Item",
+ "gear": "gear",
+ "Lease Cost": "Lease Cost",
+ "crew": "crew",
+ "length": "length",
+ "signature": "signature",
+ "hull": "hull",
+ "passengers": "passengers",
+ "ftl rating": "ftl rating",
+ "thrusters": "thrusters",
+ "armor": "armor",
+ "maneuverability": "maneuverability",
+ "speed": "speed",
+ "armaments": "armaments",
+ "bonus": "bonus",
+ "damage": "damage",
+ "range": "range",
+ "size": "size",
+ "crew positions": "crew positions",
+ "character name": "character name",
+ "position": "position",
+ "skill": "skill",
+ "notes": "notes",
+ "passenger": "passenger",
+ "captain": "captain",
+ "sensor operator": "sensor operator",
+ "pilot": "pilot",
+ "gunner": "gunner",
+ "engineer": "engineer",
+ "query": "query",
+ "heavy_machinery": "heavy_machinery",
+ "close_combat": "close_combat",
+ "ranged_combat": "ranged_combat",
+ "medical_aid": "medical_aid",
+ "tabs-menu-initiative": "Initiative",
+ "Records": "Records",
+ "title:": "Title:",
+ "nickname:": "Nickname:",
+ "age:": "Age:",
+ "personality:": "Personality:",
+ "Biography": "Biography",
+ "Data": "Data",
+ "Talent:": "Talent:",
+ "Gear:": "Gear:",
+ "Results": "Results",
+ "close": "close",
+ "engaged": "engaged",
+ "short": "short",
+ "medium": "medium",
+ "long": "long",
+ "extreme": "extreme",
+ "skills:": "Skills:",
+ "talent:": "Talent:",
+ "Gear": "Gear",
+ "Mobility": "Mobility",
+ "Observation": "Observation",
+ "Information": "Information",
+ "Containment and Termination Protocols": "Containment and Termination Protocols",
+ "weapon name": "weapon name",
+ "weapon description": "weapon description",
+ "armament": "armament",
+ "internal modules": "internal modules",
+ "type": "type",
+ "select one": "select one",
+ "artificial intelligence": "artificial intelligence",
+ "air scrubber": "air scrubber",
+ "cargo bay": "cargo bay",
+ "corporate suite": "corporate suite",
+ "cryo deck": "cryo deck",
+ "docking umbilical": "docking umbilical",
+ "emergency escape vehicle": "emergency escape vehicle",
+ "galley": "galley",
+ "hangar": "hangar",
+ "medlab": "medlab",
+ "salvage crane": "salvage crane",
+ "science lab": "science lab",
+ "tractor hitch": "tractor hitch",
+ "vehicle bay": "vehicle bay",
+ "": "",
+ "thrusterRoll": "thrusterRoll",
+ "shipArmor": "shipArmor",
+ "ftl_rating": "ftl_rating",
+ "multiple-pilot-query": "Which pilot is at the helm",
+ "multiple-gunner-query": "Which gunner is firing",
+ "dice to add/subtract for {{rollName}}": "Dice to add/subtract for {{0}}",
+ "push": "push",
+ "ftl-trip-query": "How many parsecs are you traveling",
+ "distance": "distance",
+ "ftl trip": "ftl trip",
+ "attacks": "attacks",
+ "weight": "weight",
+ "name": "name",
+ "abilities": "abilities",
+ "description": "description",
+ "undefined": "undefined",
+ "hostile": "hostile",
+ "stage": "stage",
+ "armor rating:": "armor rating:",
+ "skills": "skills",
+ "tabs-menu-settings": "tabs-menu-settings",
+ "sheet behavior": "sheet behavior",
+ "character type": "character type",
+ "character": "character",
+ "npc": "npc",
+ "ship": "ship",
+ "vehicle": "vehicle",
+ "party screen": "party screen",
+ "whisper to gm": "whisper to gm",
+ "never": "never",
+ "always": "always",
+ "internal module": "internal module",
+ "manufacturer": "manufacturer",
+ "ai": "ai",
+ "ship's log": "ship's log",
+ "date": "date",
+ "location": "location",
+ "minor component damage": "minor component damage",
+ "effect": "effect",
+ "major component damage": "major component damage",
+ "upgrades": "upgrades",
+ "quantity-abbreviation": "qty",
+ "component damage": "component damage",
+ "skill 1": "skill 1",
+ "completed": "completed",
+ "skill 2": "skill 2",
+ "talent name": "talent name",
+ "talent description": "talent description",
+ "e.g. agility": "e.g. agility",
+ "push twice": "push twice",
+ "Panic": "Panic",
+ "radiation_level": "radiation_level",
+ "radiation level": "radiation level",
+ "chance": "chance",
+ "title": "title",
+ "attributes": "attributes",
+ "nickname": "nickname",
+ "age": "age",
+ "personality": "personality",
+ "talent": "talent",
+ "buddy": "buddy",
+ "rival": "rival",
+ "comments": "comments",
+ "results": "results",
+ "gear description": "gear description",
+ "encumbrance": "encumbrance",
+ "qty": "qty",
+ "comment": "comment"
+}
\ No newline at end of file
diff --git a/alien_rpg/translations/tr.json b/alien_rpg/translations/tr.json
new file mode 100644
index 0000000000..67a0348003
--- /dev/null
+++ b/alien_rpg/translations/tr.json
@@ -0,0 +1,202 @@
+{
+ "no-assigned-crew": "No assigned crew",
+ "successes": "successes",
+ "panic": "panic",
+ "no dice to roll": "no dice to roll",
+ "base damage": "base damage",
+ "tabs-menu-character": "Character",
+ "tabs-menu-ship": "Ship",
+ "tabs-menu-npc": "NPC",
+ "tabs-menu-hostile": "Hostile",
+ "tabs-menu-options": "Options",
+ "tabs-menu-vehicle": "Vehicle",
+ "Personal Agenda": "Personal Agenda",
+ "Relationships": "Relationships",
+ "buddy:": "Buddy:",
+ "rival:": "Rival:",
+ "Stress Level": "Stress Level",
+ "Health": "Health",
+ "Radiation": "Radiation",
+ "Critical Injuries": "Critical Injuries",
+ "Conditions": "Conditions",
+ "starving": "starving",
+ "dehydrated": "dehydrated",
+ "exhausted": "exhausted",
+ "freezing": "freezing",
+ "air": "air",
+ "food": "food",
+ "power": "power",
+ "water": "water",
+ "strength": "strength",
+ "heavy machinery": "heavy machinery",
+ "stamina": "stamina",
+ "close combat": "close combat",
+ "agility": "agility",
+ "ranged combat": "ranged combat",
+ "mobility": "mobility",
+ "piloting": "piloting",
+ "wits": "wits",
+ "observation": "observation",
+ "survival": "survival",
+ "comtech": "comtech",
+ "empathy": "empathy",
+ "command": "command",
+ "medical aid": "medical aid",
+ "manipulation": "manipulation",
+ "Armor": "Armor",
+ "encumberance": "Encumberance",
+ "Weapons": "Weapons",
+ "melee": "melee",
+ "ranged": "ranged",
+ "Talents": "Talents",
+ "Experience Points": "Experience Points",
+ "Story Points": "Story Points",
+ "Tiny Items": "Tiny Items",
+ "Signature Item": "Signature Item",
+ "gear": "gear",
+ "Lease Cost": "Lease Cost",
+ "crew": "crew",
+ "length": "length",
+ "signature": "signature",
+ "hull": "hull",
+ "passengers": "passengers",
+ "ftl rating": "ftl rating",
+ "thrusters": "thrusters",
+ "armor": "armor",
+ "maneuverability": "maneuverability",
+ "speed": "speed",
+ "armaments": "armaments",
+ "bonus": "bonus",
+ "damage": "damage",
+ "range": "range",
+ "size": "size",
+ "crew positions": "crew positions",
+ "character name": "character name",
+ "position": "position",
+ "skill": "skill",
+ "notes": "notes",
+ "passenger": "passenger",
+ "captain": "captain",
+ "sensor operator": "sensor operator",
+ "pilot": "pilot",
+ "gunner": "gunner",
+ "engineer": "engineer",
+ "query": "query",
+ "heavy_machinery": "heavy_machinery",
+ "close_combat": "close_combat",
+ "ranged_combat": "ranged_combat",
+ "medical_aid": "medical_aid",
+ "tabs-menu-initiative": "Initiative",
+ "Records": "Records",
+ "title:": "Title:",
+ "nickname:": "Nickname:",
+ "age:": "Age:",
+ "personality:": "Personality:",
+ "Biography": "Biography",
+ "Data": "Data",
+ "Talent:": "Talent:",
+ "Gear:": "Gear:",
+ "Results": "Results",
+ "close": "close",
+ "engaged": "engaged",
+ "short": "short",
+ "medium": "medium",
+ "long": "long",
+ "extreme": "extreme",
+ "skills:": "Skills:",
+ "talent:": "Talent:",
+ "Gear": "Gear",
+ "Mobility": "Mobility",
+ "Observation": "Observation",
+ "Information": "Information",
+ "Containment and Termination Protocols": "Containment and Termination Protocols",
+ "weapon name": "weapon name",
+ "weapon description": "weapon description",
+ "armament": "armament",
+ "internal modules": "internal modules",
+ "type": "type",
+ "select one": "select one",
+ "artificial intelligence": "artificial intelligence",
+ "air scrubber": "air scrubber",
+ "cargo bay": "cargo bay",
+ "corporate suite": "corporate suite",
+ "cryo deck": "cryo deck",
+ "docking umbilical": "docking umbilical",
+ "emergency escape vehicle": "emergency escape vehicle",
+ "galley": "galley",
+ "hangar": "hangar",
+ "medlab": "medlab",
+ "salvage crane": "salvage crane",
+ "science lab": "science lab",
+ "tractor hitch": "tractor hitch",
+ "vehicle bay": "vehicle bay",
+ "": "",
+ "thrusterRoll": "thrusterRoll",
+ "shipArmor": "shipArmor",
+ "ftl_rating": "ftl_rating",
+ "multiple-pilot-query": "Which pilot is at the helm",
+ "multiple-gunner-query": "Which gunner is firing",
+ "dice to add/subtract for {{rollName}}": "Dice to add/subtract for {{0}}",
+ "push": "push",
+ "ftl-trip-query": "How many parsecs are you traveling",
+ "distance": "distance",
+ "ftl trip": "ftl trip",
+ "attacks": "attacks",
+ "weight": "weight",
+ "name": "name",
+ "abilities": "abilities",
+ "description": "description",
+ "undefined": "undefined",
+ "hostile": "hostile",
+ "stage": "stage",
+ "armor rating:": "armor rating:",
+ "skills": "skills",
+ "tabs-menu-settings": "tabs-menu-settings",
+ "sheet behavior": "sheet behavior",
+ "character type": "character type",
+ "character": "character",
+ "npc": "npc",
+ "ship": "ship",
+ "vehicle": "vehicle",
+ "party screen": "party screen",
+ "whisper to gm": "whisper to gm",
+ "never": "never",
+ "always": "always",
+ "internal module": "internal module",
+ "manufacturer": "manufacturer",
+ "ai": "ai",
+ "ship's log": "ship's log",
+ "date": "date",
+ "location": "location",
+ "minor component damage": "minor component damage",
+ "effect": "effect",
+ "major component damage": "major component damage",
+ "upgrades": "upgrades",
+ "quantity-abbreviation": "qty",
+ "component damage": "component damage",
+ "skill 1": "skill 1",
+ "completed": "completed",
+ "skill 2": "skill 2",
+ "talent name": "talent name",
+ "talent description": "talent description",
+ "e.g. agility": "e.g. agility",
+ "push twice": "push twice",
+ "Panic": "Panic",
+ "radiation_level": "radiation_level",
+ "radiation level": "radiation level",
+ "chance": "chance",
+ "title": "title",
+ "attributes": "attributes",
+ "nickname": "nickname",
+ "age": "age",
+ "personality": "personality",
+ "talent": "talent",
+ "buddy": "buddy",
+ "rival": "rival",
+ "comments": "comments",
+ "results": "results",
+ "gear description": "gear description",
+ "encumbrance": "encumbrance",
+ "qty": "qty",
+ "comment": "comment"
+}
\ No newline at end of file
diff --git a/alien_rpg/translations/uk.json b/alien_rpg/translations/uk.json
new file mode 100644
index 0000000000..67a0348003
--- /dev/null
+++ b/alien_rpg/translations/uk.json
@@ -0,0 +1,202 @@
+{
+ "no-assigned-crew": "No assigned crew",
+ "successes": "successes",
+ "panic": "panic",
+ "no dice to roll": "no dice to roll",
+ "base damage": "base damage",
+ "tabs-menu-character": "Character",
+ "tabs-menu-ship": "Ship",
+ "tabs-menu-npc": "NPC",
+ "tabs-menu-hostile": "Hostile",
+ "tabs-menu-options": "Options",
+ "tabs-menu-vehicle": "Vehicle",
+ "Personal Agenda": "Personal Agenda",
+ "Relationships": "Relationships",
+ "buddy:": "Buddy:",
+ "rival:": "Rival:",
+ "Stress Level": "Stress Level",
+ "Health": "Health",
+ "Radiation": "Radiation",
+ "Critical Injuries": "Critical Injuries",
+ "Conditions": "Conditions",
+ "starving": "starving",
+ "dehydrated": "dehydrated",
+ "exhausted": "exhausted",
+ "freezing": "freezing",
+ "air": "air",
+ "food": "food",
+ "power": "power",
+ "water": "water",
+ "strength": "strength",
+ "heavy machinery": "heavy machinery",
+ "stamina": "stamina",
+ "close combat": "close combat",
+ "agility": "agility",
+ "ranged combat": "ranged combat",
+ "mobility": "mobility",
+ "piloting": "piloting",
+ "wits": "wits",
+ "observation": "observation",
+ "survival": "survival",
+ "comtech": "comtech",
+ "empathy": "empathy",
+ "command": "command",
+ "medical aid": "medical aid",
+ "manipulation": "manipulation",
+ "Armor": "Armor",
+ "encumberance": "Encumberance",
+ "Weapons": "Weapons",
+ "melee": "melee",
+ "ranged": "ranged",
+ "Talents": "Talents",
+ "Experience Points": "Experience Points",
+ "Story Points": "Story Points",
+ "Tiny Items": "Tiny Items",
+ "Signature Item": "Signature Item",
+ "gear": "gear",
+ "Lease Cost": "Lease Cost",
+ "crew": "crew",
+ "length": "length",
+ "signature": "signature",
+ "hull": "hull",
+ "passengers": "passengers",
+ "ftl rating": "ftl rating",
+ "thrusters": "thrusters",
+ "armor": "armor",
+ "maneuverability": "maneuverability",
+ "speed": "speed",
+ "armaments": "armaments",
+ "bonus": "bonus",
+ "damage": "damage",
+ "range": "range",
+ "size": "size",
+ "crew positions": "crew positions",
+ "character name": "character name",
+ "position": "position",
+ "skill": "skill",
+ "notes": "notes",
+ "passenger": "passenger",
+ "captain": "captain",
+ "sensor operator": "sensor operator",
+ "pilot": "pilot",
+ "gunner": "gunner",
+ "engineer": "engineer",
+ "query": "query",
+ "heavy_machinery": "heavy_machinery",
+ "close_combat": "close_combat",
+ "ranged_combat": "ranged_combat",
+ "medical_aid": "medical_aid",
+ "tabs-menu-initiative": "Initiative",
+ "Records": "Records",
+ "title:": "Title:",
+ "nickname:": "Nickname:",
+ "age:": "Age:",
+ "personality:": "Personality:",
+ "Biography": "Biography",
+ "Data": "Data",
+ "Talent:": "Talent:",
+ "Gear:": "Gear:",
+ "Results": "Results",
+ "close": "close",
+ "engaged": "engaged",
+ "short": "short",
+ "medium": "medium",
+ "long": "long",
+ "extreme": "extreme",
+ "skills:": "Skills:",
+ "talent:": "Talent:",
+ "Gear": "Gear",
+ "Mobility": "Mobility",
+ "Observation": "Observation",
+ "Information": "Information",
+ "Containment and Termination Protocols": "Containment and Termination Protocols",
+ "weapon name": "weapon name",
+ "weapon description": "weapon description",
+ "armament": "armament",
+ "internal modules": "internal modules",
+ "type": "type",
+ "select one": "select one",
+ "artificial intelligence": "artificial intelligence",
+ "air scrubber": "air scrubber",
+ "cargo bay": "cargo bay",
+ "corporate suite": "corporate suite",
+ "cryo deck": "cryo deck",
+ "docking umbilical": "docking umbilical",
+ "emergency escape vehicle": "emergency escape vehicle",
+ "galley": "galley",
+ "hangar": "hangar",
+ "medlab": "medlab",
+ "salvage crane": "salvage crane",
+ "science lab": "science lab",
+ "tractor hitch": "tractor hitch",
+ "vehicle bay": "vehicle bay",
+ "": "",
+ "thrusterRoll": "thrusterRoll",
+ "shipArmor": "shipArmor",
+ "ftl_rating": "ftl_rating",
+ "multiple-pilot-query": "Which pilot is at the helm",
+ "multiple-gunner-query": "Which gunner is firing",
+ "dice to add/subtract for {{rollName}}": "Dice to add/subtract for {{0}}",
+ "push": "push",
+ "ftl-trip-query": "How many parsecs are you traveling",
+ "distance": "distance",
+ "ftl trip": "ftl trip",
+ "attacks": "attacks",
+ "weight": "weight",
+ "name": "name",
+ "abilities": "abilities",
+ "description": "description",
+ "undefined": "undefined",
+ "hostile": "hostile",
+ "stage": "stage",
+ "armor rating:": "armor rating:",
+ "skills": "skills",
+ "tabs-menu-settings": "tabs-menu-settings",
+ "sheet behavior": "sheet behavior",
+ "character type": "character type",
+ "character": "character",
+ "npc": "npc",
+ "ship": "ship",
+ "vehicle": "vehicle",
+ "party screen": "party screen",
+ "whisper to gm": "whisper to gm",
+ "never": "never",
+ "always": "always",
+ "internal module": "internal module",
+ "manufacturer": "manufacturer",
+ "ai": "ai",
+ "ship's log": "ship's log",
+ "date": "date",
+ "location": "location",
+ "minor component damage": "minor component damage",
+ "effect": "effect",
+ "major component damage": "major component damage",
+ "upgrades": "upgrades",
+ "quantity-abbreviation": "qty",
+ "component damage": "component damage",
+ "skill 1": "skill 1",
+ "completed": "completed",
+ "skill 2": "skill 2",
+ "talent name": "talent name",
+ "talent description": "talent description",
+ "e.g. agility": "e.g. agility",
+ "push twice": "push twice",
+ "Panic": "Panic",
+ "radiation_level": "radiation_level",
+ "radiation level": "radiation level",
+ "chance": "chance",
+ "title": "title",
+ "attributes": "attributes",
+ "nickname": "nickname",
+ "age": "age",
+ "personality": "personality",
+ "talent": "talent",
+ "buddy": "buddy",
+ "rival": "rival",
+ "comments": "comments",
+ "results": "results",
+ "gear description": "gear description",
+ "encumbrance": "encumbrance",
+ "qty": "qty",
+ "comment": "comment"
+}
\ No newline at end of file
diff --git a/alien_rpg/translations/zh.json b/alien_rpg/translations/zh.json
new file mode 100644
index 0000000000..67a0348003
--- /dev/null
+++ b/alien_rpg/translations/zh.json
@@ -0,0 +1,202 @@
+{
+ "no-assigned-crew": "No assigned crew",
+ "successes": "successes",
+ "panic": "panic",
+ "no dice to roll": "no dice to roll",
+ "base damage": "base damage",
+ "tabs-menu-character": "Character",
+ "tabs-menu-ship": "Ship",
+ "tabs-menu-npc": "NPC",
+ "tabs-menu-hostile": "Hostile",
+ "tabs-menu-options": "Options",
+ "tabs-menu-vehicle": "Vehicle",
+ "Personal Agenda": "Personal Agenda",
+ "Relationships": "Relationships",
+ "buddy:": "Buddy:",
+ "rival:": "Rival:",
+ "Stress Level": "Stress Level",
+ "Health": "Health",
+ "Radiation": "Radiation",
+ "Critical Injuries": "Critical Injuries",
+ "Conditions": "Conditions",
+ "starving": "starving",
+ "dehydrated": "dehydrated",
+ "exhausted": "exhausted",
+ "freezing": "freezing",
+ "air": "air",
+ "food": "food",
+ "power": "power",
+ "water": "water",
+ "strength": "strength",
+ "heavy machinery": "heavy machinery",
+ "stamina": "stamina",
+ "close combat": "close combat",
+ "agility": "agility",
+ "ranged combat": "ranged combat",
+ "mobility": "mobility",
+ "piloting": "piloting",
+ "wits": "wits",
+ "observation": "observation",
+ "survival": "survival",
+ "comtech": "comtech",
+ "empathy": "empathy",
+ "command": "command",
+ "medical aid": "medical aid",
+ "manipulation": "manipulation",
+ "Armor": "Armor",
+ "encumberance": "Encumberance",
+ "Weapons": "Weapons",
+ "melee": "melee",
+ "ranged": "ranged",
+ "Talents": "Talents",
+ "Experience Points": "Experience Points",
+ "Story Points": "Story Points",
+ "Tiny Items": "Tiny Items",
+ "Signature Item": "Signature Item",
+ "gear": "gear",
+ "Lease Cost": "Lease Cost",
+ "crew": "crew",
+ "length": "length",
+ "signature": "signature",
+ "hull": "hull",
+ "passengers": "passengers",
+ "ftl rating": "ftl rating",
+ "thrusters": "thrusters",
+ "armor": "armor",
+ "maneuverability": "maneuverability",
+ "speed": "speed",
+ "armaments": "armaments",
+ "bonus": "bonus",
+ "damage": "damage",
+ "range": "range",
+ "size": "size",
+ "crew positions": "crew positions",
+ "character name": "character name",
+ "position": "position",
+ "skill": "skill",
+ "notes": "notes",
+ "passenger": "passenger",
+ "captain": "captain",
+ "sensor operator": "sensor operator",
+ "pilot": "pilot",
+ "gunner": "gunner",
+ "engineer": "engineer",
+ "query": "query",
+ "heavy_machinery": "heavy_machinery",
+ "close_combat": "close_combat",
+ "ranged_combat": "ranged_combat",
+ "medical_aid": "medical_aid",
+ "tabs-menu-initiative": "Initiative",
+ "Records": "Records",
+ "title:": "Title:",
+ "nickname:": "Nickname:",
+ "age:": "Age:",
+ "personality:": "Personality:",
+ "Biography": "Biography",
+ "Data": "Data",
+ "Talent:": "Talent:",
+ "Gear:": "Gear:",
+ "Results": "Results",
+ "close": "close",
+ "engaged": "engaged",
+ "short": "short",
+ "medium": "medium",
+ "long": "long",
+ "extreme": "extreme",
+ "skills:": "Skills:",
+ "talent:": "Talent:",
+ "Gear": "Gear",
+ "Mobility": "Mobility",
+ "Observation": "Observation",
+ "Information": "Information",
+ "Containment and Termination Protocols": "Containment and Termination Protocols",
+ "weapon name": "weapon name",
+ "weapon description": "weapon description",
+ "armament": "armament",
+ "internal modules": "internal modules",
+ "type": "type",
+ "select one": "select one",
+ "artificial intelligence": "artificial intelligence",
+ "air scrubber": "air scrubber",
+ "cargo bay": "cargo bay",
+ "corporate suite": "corporate suite",
+ "cryo deck": "cryo deck",
+ "docking umbilical": "docking umbilical",
+ "emergency escape vehicle": "emergency escape vehicle",
+ "galley": "galley",
+ "hangar": "hangar",
+ "medlab": "medlab",
+ "salvage crane": "salvage crane",
+ "science lab": "science lab",
+ "tractor hitch": "tractor hitch",
+ "vehicle bay": "vehicle bay",
+ "": "",
+ "thrusterRoll": "thrusterRoll",
+ "shipArmor": "shipArmor",
+ "ftl_rating": "ftl_rating",
+ "multiple-pilot-query": "Which pilot is at the helm",
+ "multiple-gunner-query": "Which gunner is firing",
+ "dice to add/subtract for {{rollName}}": "Dice to add/subtract for {{0}}",
+ "push": "push",
+ "ftl-trip-query": "How many parsecs are you traveling",
+ "distance": "distance",
+ "ftl trip": "ftl trip",
+ "attacks": "attacks",
+ "weight": "weight",
+ "name": "name",
+ "abilities": "abilities",
+ "description": "description",
+ "undefined": "undefined",
+ "hostile": "hostile",
+ "stage": "stage",
+ "armor rating:": "armor rating:",
+ "skills": "skills",
+ "tabs-menu-settings": "tabs-menu-settings",
+ "sheet behavior": "sheet behavior",
+ "character type": "character type",
+ "character": "character",
+ "npc": "npc",
+ "ship": "ship",
+ "vehicle": "vehicle",
+ "party screen": "party screen",
+ "whisper to gm": "whisper to gm",
+ "never": "never",
+ "always": "always",
+ "internal module": "internal module",
+ "manufacturer": "manufacturer",
+ "ai": "ai",
+ "ship's log": "ship's log",
+ "date": "date",
+ "location": "location",
+ "minor component damage": "minor component damage",
+ "effect": "effect",
+ "major component damage": "major component damage",
+ "upgrades": "upgrades",
+ "quantity-abbreviation": "qty",
+ "component damage": "component damage",
+ "skill 1": "skill 1",
+ "completed": "completed",
+ "skill 2": "skill 2",
+ "talent name": "talent name",
+ "talent description": "talent description",
+ "e.g. agility": "e.g. agility",
+ "push twice": "push twice",
+ "Panic": "Panic",
+ "radiation_level": "radiation_level",
+ "radiation level": "radiation level",
+ "chance": "chance",
+ "title": "title",
+ "attributes": "attributes",
+ "nickname": "nickname",
+ "age": "age",
+ "personality": "personality",
+ "talent": "talent",
+ "buddy": "buddy",
+ "rival": "rival",
+ "comments": "comments",
+ "results": "results",
+ "gear description": "gear description",
+ "encumbrance": "encumbrance",
+ "qty": "qty",
+ "comment": "comment"
+}
\ No newline at end of file
diff --git a/approved.yaml b/approved.yaml
index 2868bdbb56..73d516dce7 100644
--- a/approved.yaml
+++ b/approved.yaml
@@ -4672,3 +4672,21 @@ alientherpg:
- 'ALIEN: The Roleplaying Game by Free League'
- Year Zero Engine
- publisher
+engarde:
+- EnGarde
+- En Garde!
+- En Garde!
+tcfb:
+- they_came_from
+- They Came From Beneath...
+- Storypath
+- publisher
+goblinquest:
+- goblin quest
+- Goblin Quest
+- Goblin Quest
+forgerps:
+- Forge
+- Forge
+- Forge RPS
+- publisher
diff --git a/goblin quest/Character Sheet Preview.png b/goblin quest/Character Sheet Preview.png
new file mode 100644
index 0000000000..7b43694111
Binary files /dev/null and b/goblin quest/Character Sheet Preview.png differ
diff --git a/goblin quest/GoblinQuest Cover.png b/goblin quest/GoblinQuest Cover.png
new file mode 100644
index 0000000000..63d0ddc729
Binary files /dev/null and b/goblin quest/GoblinQuest Cover.png differ
diff --git a/goblin quest/goblin.png b/goblin quest/goblin.png
new file mode 100644
index 0000000000..17f3ada5df
Binary files /dev/null and b/goblin quest/goblin.png differ
diff --git a/goblin quest/goblinquest.css b/goblin quest/goblinquest.css
new file mode 100644
index 0000000000..c1468ba98f
--- /dev/null
+++ b/goblin quest/goblinquest.css
@@ -0,0 +1,19 @@
+.charsheet {
+ min-width: 1500px;
+}
+
+img {
+ width: 200px;
+ display:block;
+ margin-top: 5px;
+ margin-bottom: 5px;
+}
+
+.sheet-inline {
+ display:inline;
+}
+
+div.sheet-col{
+ margin-right: 30px;
+ margin-bottom: 30px;
+}
\ No newline at end of file
diff --git a/goblin quest/goblinquest.html b/goblin quest/goblinquest.html
new file mode 100644
index 0000000000..38a8ee913d
--- /dev/null
+++ b/goblin quest/goblinquest.html
@@ -0,0 +1,154 @@
+
+
+
+
+
+
Quest:
+
+
+
diff --git a/goblin quest/goblinquest.json b/goblin quest/goblinquest.json
new file mode 100644
index 0000000000..732af82f07
--- /dev/null
+++ b/goblin quest/goblinquest.json
@@ -0,0 +1,9 @@
+{
+ "html": "goblinquest.html",
+ "css": "goblinquest.css",
+ "authors": "Paul Gogarty (Original Game by Grant Howitt)",
+ "roll20userid": "1",
+ "preview": "https://raw.githubusercontent.com/weeflerunner/roll20-character-sheets/master/goblin%20quest/Character%20Sheet%20Preview.png",
+ "instructions": "",
+ "legacy": true
+}
\ No newline at end of file
diff --git a/goblin quest/goblinquestpreview.png b/goblin quest/goblinquestpreview.png
new file mode 100644
index 0000000000..7b43694111
Binary files /dev/null and b/goblin quest/goblinquestpreview.png differ
diff --git a/goblin quest/sheet.json b/goblin quest/sheet.json
new file mode 100644
index 0000000000..b3bae4d78e
--- /dev/null
+++ b/goblin quest/sheet.json
@@ -0,0 +1,9 @@
+{
+ "html": "goblinquest.html",
+ "css": "goblinquest.css",
+ "authors": "Paul Gogarty (Original Game by Grant Howitt)",
+ "roll20userid": "1",
+ "preview": "Character%20Sheet%20Preview.png",
+ "instructions": "",
+ "legacy": true
+}
\ No newline at end of file
diff --git a/root/translations/fr.json b/root/translations/fr.json
index 6ff0197b91..92ef2db9e8 100644
--- a/root/translations/fr.json
+++ b/root/translations/fr.json
@@ -28,7 +28,7 @@
"basicmoves7_label": "Démolir quelque chose",
"basicmoves7_dsc": "Quand vous
démolissez quelque chose , faites un test de Puissance. En cas de réussite, vous avez vraiment saccagé l’objet : il faudra le réparer pour pouvoir s’en servir à nouveau. Sur un 7-9, vous avez tout fracassé sans précision, et pris des risques : vous pouvez infliger des dégâts collatéraux, attirer l’attention ou vous retrouver en fâcheuse posture, au choix du MJ.",
"basicmoves8_label": "Aider ou Gêner",
- "basicmoves8_dsc": "Quand vous
aidez ou gênez un autre Vagabond, cochez 1 case d’épuisement pour ajouter +1 ou -2 à son résultat (après qu’il a lancé les dés). Cochez de nouveau 1 case d’épuisement pour choisir une des options suivantes :
· Dissimuler votre intervention Créer une occasion ou un obstacle ",
+ "basicmoves8_dsc": "Quand vous
aidez ou gênez un autre Vagabond, cochez 1 case d’épuisement pour ajouter +1 ou -2 à son résultat (après qu’il a lancé les dés). Cochez de nouveau 1 case d’épuisement pour choisir une des options suivantes :
Dissimuler votre intervention Créer une occasion ou un obstacle ",
"basicmoves9_label": "Implorer un PJ",
"basicmoves9_dsc": "Quand vous
implorez un PJ d’abonder dans votre sens, celui-ci efface une case d’épuisement s’il accepte. Vous ne pouvez utiliser cette manœuvre qu’une fois par séance de jeu.",
"basicmoves10_label": "Livrer bataille",
diff --git a/they_came_from/assets/logo.jpg b/they_came_from/assets/logo.jpg
new file mode 100644
index 0000000000..6d2c375a6d
Binary files /dev/null and b/they_came_from/assets/logo.jpg differ
diff --git a/they_came_from/assets/logo.png b/they_came_from/assets/logo.png
new file mode 100644
index 0000000000..4b973c5a89
Binary files /dev/null and b/they_came_from/assets/logo.png differ
diff --git a/they_came_from/preview.jpg b/they_came_from/preview.jpg
new file mode 100644
index 0000000000..2d3d22f605
Binary files /dev/null and b/they_came_from/preview.jpg differ
diff --git a/they_came_from/sheet.json b/they_came_from/sheet.json
new file mode 100644
index 0000000000..fcf4cf6271
--- /dev/null
+++ b/they_came_from/sheet.json
@@ -0,0 +1,56 @@
+{
+ "html": "they_came_from.html",
+ "css": "they_came_from.css",
+ "authors": "Scott Casey, Sigil Services for Onyx Path Publishing",
+ "roll20userid": "459831",
+ "preview": "preview.jpg",
+ "instructions": "This is the official sheet for They Came From Beneath the Sea by Onyx Path.",
+ "legacy": false,
+ "useroptions":[
+ {
+ "attribute":"whisper",
+ "displayname":"Rolls are",
+ "displaynametranslationkey":"rolls are",
+ "type":"select",
+ "options":[
+ "Public|",
+ "Whispered to GM|/w gm "
+ ],
+ "optiontranslationkeys":[
+ "public",
+ "whispered to gm"
+ ],
+ "default":""
+ },
+ {
+ "attribute":"difficulty_automation",
+ "displayname":"Difficulty Automation",
+ "displaynametranslationkey":"Difficulty Automation",
+ "type":"select",
+ "options":[
+ "Off|off",
+ "On|on"
+ ],
+ "optiontranslationkeys":[
+ "Off",
+ "On"
+ ],
+ "default":""
+ },
+ {
+ "attribute":"enhancement_automation",
+ "displayname":"Enhancement Automation",
+ "displaynametranslationkey":"Enhancement Automation",
+ "type":"select",
+ "options":[
+ "Off|off",
+ "On|on"
+ ],
+ "optiontranslationkeys":[
+ "Off",
+ "On"
+ ],
+ "default":""
+ }
+ ]
+}
\ No newline at end of file
diff --git a/they_came_from/they_came_from.css b/they_came_from/they_came_from.css
new file mode 100644
index 0000000000..091a7b27aa
--- /dev/null
+++ b/they_came_from/they_came_from.css
@@ -0,0 +1,2066 @@
+@import url("https://fonts.googleapis.com/css2?family=Archivo+Black&family=Special+Elite&display=swap");
+.ui-dialog .tab-content .charsheet .ratio1-1,
+.sheet-rolltemplate-storypath .ratio1-1, .ui-dialog .tab-content .charsheet .dot-button-container .dot,
+.ui-dialog .tab-content .charsheet .dot-button-container .readonly-dot {
+ aspect-ratio: 1/1;
+}
+
+.sheet-rolltemplate-storypath .sheet-template-row, #notes, #equipment, #birthrights, #purview, #calling, #trademark,
+#quip,
+#trope,
+#stunt, #paths, #aspirations, #move-defense {
+ display: grid;
+}
+
+#notes, #equipment, #birthrights, #purview, #calling, #trademark,
+#quip,
+#trope,
+#stunt, #paths, #aspirations {
+ gap: var(--grid-gap);
+ grid-template-areas: "header";
+ grid-template-columns: 1fr;
+ grid-template-rows: 1fr;
+}
+
+.ui-dialog .tab-content .charsheet .dot-button-container .dot,
+.ui-dialog .tab-content .charsheet .dot-button-container .readonly-dot {
+ border-radius: 50%;
+}
+
+#calling .short-knack, #paths .short-master, #paths .short-contact, #paths .short-access,
+#paths .short-group, #paths .short-obligation {
+ align-items: center;
+}
+
+.ui-dialog .tab-content .charsheet h1.subsystem-style.system-beneath-the-sea,
+.ui-dialog .tab-content .charsheet *[aria-level="1"].subsystem-style.system-beneath-the-sea,
+.sheet-rolltemplate-storypath h1.subsystem-style.system-beneath-the-sea,
+.sheet-rolltemplate-storypath *[aria-level="1"].subsystem-style.system-beneath-the-sea {
+ background-color: darkgrey;
+ color: white;
+}
+
+.ui-dialog .tab-content .charsheet .repcontrol-button:not(.repcontrol-button--inline), .ui-dialog .tab-content .charsheet .collapse-interface {
+ background-color: rgba(220, 220, 220, 0.2);
+ border-radius: 5px;
+ box-shadow: 0 2px 4px black;
+ border-width: 0;
+ transition-property: box-shadow, backdrop-filter;
+ transition-duration: 200ms;
+ transition-timing-function: ease-out;
+ backdrop-filter: blur(1px);
+ overflow: hidden;
+}
+.ui-dialog .tab-content .charsheet .repcontrol-button:is(:hover, :focus):not(.repcontrol-button--inline), .ui-dialog .tab-content .charsheet .collapse-interface:is(:hover, :focus) {
+ background-color: rgba(133, 133, 133, 0.5019607843);
+ box-shadow: 0 4px 6px black;
+ backdrop-filter: blur(2px);
+}
+.ui-dialog .tab-content .charsheet .repcontrol-button:active:not(.repcontrol-button--inline), .ui-dialog .tab-content .charsheet .collapse-interface:active {
+ background-color: #858585;
+ box-shadow: 0 1px 2px black;
+ backdrop-filter: blur(0px);
+}
+
+.ui-dialog .tab-content .charsheet .roller:before,
+.sheet-rolltemplate-storypath .roller:before {
+ line-height: 14px;
+ /*height to vertically center a 2rem dicefontd10*/
+ font-size: 2rem;
+ font-weight: normal;
+ font-style: normal;
+ padding: 5px 3px 7px;
+}
+
+.ui-dialog .tab-content .charsheet .repcontrol-button:not(.repcontrol-button--inline), .ui-dialog .tab-content .charsheet .collapse-interface {
+ padding: 5px 7px;
+}
+
+#birthrights .repcontainer:not(:empty) ~ .add-container:after {
+ content: "";
+ position: absolute;
+ top: 0;
+ height: 0px;
+ left: calc(var(--inset) / 2);
+ right: calc(var(--inset) / 2);
+ box-shadow: 0 0 calc(var(--inset) / 2) calc(var(--inset) / 2 + 3px) var(--glowcolor);
+ background-color: transparent;
+}
+
+#birthrights .repcontainer .repitem:last-child .image-border::after {
+ content: "";
+ position: absolute;
+ bottom: 0;
+ height: 0px;
+ left: calc(var(--inset) / 2);
+ right: calc(var(--inset) / 2);
+ box-shadow: 0 0 calc(var(--inset) / 2) calc(var(--inset) / 2 + 3px) var(--glowcolor);
+ background-color: transparent;
+}
+
+#paths .add-detail, .ui-dialog .tab-content .charsheet .add-container {
+ grid-template-columns: repeat(4, 1fr);
+ column-gap: var(--tiny-gap);
+}
+#paths .add-detail > button, .ui-dialog .tab-content .charsheet .add-container > button {
+ text-transform: capitalize;
+}
+#paths .add-detail > button:not(:first-of-type), .ui-dialog .tab-content .charsheet .add-container > button:not(:first-of-type) {
+ border-top-left-radius: 0;
+ border-bottom-left-radius: 0;
+}
+#paths .add-detail > button:not(:last-of-type), .ui-dialog .tab-content .charsheet .add-container > button:not(:last-of-type) {
+ border-top-right-radius: 0;
+ border-bottom-right-radius: 0;
+}
+
+.ui-dialog .tab-content .charsheet h2.subsystem-style,
+.ui-dialog .tab-content .charsheet *[aria-level="2"].subsystem-style,
+.sheet-rolltemplate-storypath h2.subsystem-style,
+.sheet-rolltemplate-storypath *[aria-level="2"].subsystem-style {
+ background-repeat: no-repeat;
+ background-position: center;
+ background-size: min(100%, 1000px) 100%;
+ background-color: initial;
+ filter: drop-shadow(0px 2px black) drop-shadow(-1px 0px black) drop-shadow(1px 0px black) drop-shadow(0px -0.5px black);
+}
+
+#health .repcontainer {
+ column-width: 190px;
+ gap: var(--grid-gap);
+}
+
+.ui-dialog .tab-content .charsheet .split {
+ display: flex;
+ gap: var(--grid-gap);
+}
+.ui-dialog .tab-content .charsheet .split > * {
+ width: 0px !important;
+ flex: 1 1 0;
+}
+
+.ui-dialog .tab-content .charsheet h2.subsystem-style,
+.ui-dialog .tab-content .charsheet *[aria-level="2"].subsystem-style,
+.sheet-rolltemplate-storypath h2.subsystem-style,
+.sheet-rolltemplate-storypath *[aria-level="2"].subsystem-style {
+ font-family: var(--sectionHeaderFont);
+}
+
+.ui-dialog .tab-content .charsheet h2.system-beneath-the-sea.subsystem-style,
+.ui-dialog .tab-content .charsheet .system-beneath-the-sea[aria-level="2"].subsystem-style,
+.sheet-rolltemplate-storypath h2.system-beneath-the-sea.subsystem-style,
+.sheet-rolltemplate-storypath .system-beneath-the-sea[aria-level="2"].subsystem-style, .ui-dialog .tab-content .charsheet h2.sheet-system-beneath-the-sea.subsystem-style,
+.ui-dialog .tab-content .charsheet .sheet-system-beneath-the-sea[aria-level="2"].subsystem-style,
+.sheet-rolltemplate-storypath h2.sheet-system-beneath-the-sea.subsystem-style,
+.sheet-rolltemplate-storypath .sheet-system-beneath-the-sea[aria-level="2"].subsystem-style {
+ color: white;
+}
+.ui-dialog .tab-content .charsheet h2.system-beneath-the-sea.subsystem-style > *,
+.ui-dialog .tab-content .charsheet .system-beneath-the-sea[aria-level="2"].subsystem-style > *,
+.sheet-rolltemplate-storypath h2.system-beneath-the-sea.subsystem-style > *,
+.sheet-rolltemplate-storypath .system-beneath-the-sea[aria-level="2"].subsystem-style > *, .ui-dialog .tab-content .charsheet h2.sheet-system-beneath-the-sea.subsystem-style > *,
+.ui-dialog .tab-content .charsheet .sheet-system-beneath-the-sea[aria-level="2"].subsystem-style > *,
+.sheet-rolltemplate-storypath h2.sheet-system-beneath-the-sea.subsystem-style > *,
+.sheet-rolltemplate-storypath .sheet-system-beneath-the-sea[aria-level="2"].subsystem-style > * {
+ display: inline;
+ color: white;
+}
+
+.ui-dialog .tab-content .charsheet h2.system-beneath-the-sea.subsystem-style,
+.ui-dialog .tab-content .charsheet .system-beneath-the-sea[aria-level="2"].subsystem-style,
+.sheet-rolltemplate-storypath h2.system-beneath-the-sea.subsystem-style,
+.sheet-rolltemplate-storypath .system-beneath-the-sea[aria-level="2"].subsystem-style, .ui-dialog .tab-content .charsheet h2.sheet-system-beneath-the-sea.subsystem-style,
+.ui-dialog .tab-content .charsheet .sheet-system-beneath-the-sea[aria-level="2"].subsystem-style,
+.sheet-rolltemplate-storypath h2.sheet-system-beneath-the-sea.subsystem-style,
+.sheet-rolltemplate-storypath .sheet-system-beneath-the-sea[aria-level="2"].subsystem-style {
+ background-color: #364037;
+ border-radius: 10px 10px 0 0;
+ padding-top: var(--half-gap);
+}
+
+.sheet-rolltemplate-storypath > .sheet-template, .ui-dialog .tab-content .charsheet .bordered-item + fieldset + .repcontainer .image-border,
+.ui-dialog .tab-content .charsheet .bordered-item,
+.ui-dialog .tab-content .charsheet .image-border,
+.sheet-rolltemplate-storypath .bordered-item + fieldset + .repcontainer .image-border,
+.sheet-rolltemplate-storypath .bordered-item,
+.sheet-rolltemplate-storypath .image-border {
+ border: 0px solid transparent;
+ transition: none;
+}
+
+.ui-dialog .tab-content .charsheet .bordered-item + fieldset + .repcontainer .image-border,
+.ui-dialog .tab-content .charsheet .bordered-item,
+.sheet-rolltemplate-storypath .bordered-item + fieldset + .repcontainer .image-border,
+.sheet-rolltemplate-storypath .bordered-item {
+ padding: calc(var(--inset) / 2);
+ border: var(--tcfBorderSize) solid var(--tcfBackColor);
+}
+
+.sheet-rolltemplate-storypath > .sheet-template:not(.sheet-continuation):first-child, .ui-dialog .tab-content .charsheet .border-control[value*=master] + .image-border,
+.sheet-rolltemplate-storypath .border-control[value*=master] + .image-border {
+ padding: calc(var(--inset) / 2) calc(var(--inset) / 2) 0;
+ border-top: var(--tcfBorderSize) solid var(--tcfBackColor);
+ border-left: var(--tcfBorderSize) solid var(--tcfBackColor);
+ border-right: var(--tcfBorderSize) solid var(--tcfBackColor);
+}
+
+.sheet-rolltemplate-storypath > .sheet-template.sheet-continuation:not(:first-child), .ui-dialog .tab-content .charsheet .border-control[value=add-detail] + .image-border,
+.sheet-rolltemplate-storypath .border-control[value=add-detail] + .image-border {
+ padding: 0 calc(var(--inset) / 2) calc(var(--inset) / 2);
+ border-bottom: var(--tcfBorderSize) solid var(--tcfBackColor);
+ border-left: var(--tcfBorderSize) solid var(--tcfBackColor);
+ border-right: var(--tcfBorderSize) solid var(--tcfBackColor);
+}
+
+.sheet-rolltemplate-storypath > .sheet-template.sheet-continuation:first-child, .ui-dialog .tab-content .charsheet .border-control:not([value=add-detail]):not([value*=master]) + .image-border,
+.sheet-rolltemplate-storypath .border-control:not([value=add-detail]):not([value*=master]) + .image-border {
+ padding: 0 calc(var(--inset) / 2);
+ border-left: var(--tcfBorderSize) solid var(--tcfBackColor);
+ border-right: var(--tcfBorderSize) solid var(--tcfBackColor);
+}
+
+#main,
+.sheet-rolltemplate-storypath {
+ --tcfBackColor:#364037;
+ --tcfRadius: 10px;
+ --tcfBorderSize:3px;
+ --chamfer: 9.5px;
+ --offset: -10px;
+ --inset: 20px;
+ --sheetHeaderFont:"Special Elite",cursive;
+ --sectionHeaderFont:"Archivo Black", sans-serif;
+ --contentFont:"Special Elite",cursive;
+}
+
+#image-head {
+ display: grid;
+ grid-template-rows: 150px;
+ place-content: center;
+ grid-column: 1/-1;
+}
+#image-head img {
+ height: 100%;
+}
+
+@media (max-width: 830px) {
+ #main .dot-row.size-number .dot-button-container {
+ display: none;
+ }
+ #main .dot-row.size-number .dot-number {
+ display: inline;
+ }
+ #calling .repitem > .calling {
+ grid-template-columns: auto 1fr repeat(2, auto);
+ }
+ #calling .repitem > .calling .dot-number {
+ grid-column: 3/4;
+ }
+ #calling .repitem > .calling .dot-row {
+ grid-row: 1/2;
+ }
+}
+@media (min-width: 1060px) {
+ .ui-dialog .charsheet {
+ --spanSectionColumn:span 2;
+ }
+}
+@media touch {
+ .small-scale-grid,
+.small-scale-grid + fieldset + .repcontainer {
+ grid-template-columns: [header-start] repeat(auto-fit, minmax(20rem, 1fr)) [header-end];
+ }
+}
+@media not touch {
+ .small-scale-grid,
+.small-scale-grid + fieldset + .repcontainer {
+ grid-template-columns: [header-start] repeat(auto-fit, minmax(15rem, 1fr)) [header-end];
+ }
+}
+ul.nav-tabs.nav {
+ position: sticky;
+ top: 0;
+ background-color: white;
+ z-index: 9999;
+ margin-bottom: 0px;
+}
+
+.characterviewer {
+ background-color: white;
+}
+
+#main-nav {
+ display: grid;
+ place-content: center start;
+ grid-auto-flow: column;
+ align-items: center;
+ gap: 2px;
+ position: sticky;
+ top: 43px;
+ background-color: white;
+ padding: var(--grid-gap) 0 0;
+ margin-bottom: var(--half-gap);
+ border-bottom: 1px solid #dddddd;
+ z-index: 999;
+ box-shadow: 30px 0 white, -30px 0 white;
+}
+#main-nav .sheet-nav__tab {
+ color: black;
+ font-style: normal;
+ border: 1px solid transparent;
+ margin: 0 0 -1px;
+ background-color: transparent;
+ border-radius: 4px 4px 0 0;
+ box-shadow: none;
+ font-size: 13px;
+ background-image: none;
+ padding: 9px 12px;
+}
+#main-nav .sheet-nav__tab:not(.active):hover {
+ background-color: #eeeeee;
+}
+#main-nav .sheet-nav__tab.active {
+ border-color: #dddddd #dddddd white #dddddd;
+ height: 16px;
+}
+
+html {
+ font-size: 13px;
+}
+
+#main .contents,
+#main .contents + fieldset + .repcontainer,
+.sheet-rolltemplate-storypath .contents,
+.sheet-rolltemplate-storypath .contents + fieldset + .repcontainer {
+ display: contents;
+}
+
+.ui-dialog .tab-content .charsheet,
+.sheet-rolltemplate-storypath {
+ --grid-gap: 1rem;
+ --half-gap: calc(var(--grid-gap) / 2);
+ --tiny-gap: calc(var(--half-gap) / 2);
+ --big-gap: calc(var(--grid-gap) * 2);
+ --revealTime: 500ms;
+ --delayTime: 200ms;
+ --inputSwap: opacity var(--revealTime) ease var(--delayTime);
+ --focusTiming: 500ms ease;
+ --focusTrans: all var(--focusTiming);
+ --borderColor: black;
+ --fontColor: black;
+ --backColor: #ffffff;
+ --spanSectionColumn:1/-1;
+ --displayBorderWidth: 2px;
+ --innerFillPoint: 2px;
+ --outerFillPoint: 5.5px;
+ --midColor: transparent;
+ --selectedRadio: black;
+ position: relative;
+ gap: var(--grid-gap);
+}
+.ui-dialog .tab-content .charsheet select,
+.ui-dialog .tab-content .charsheet textarea,
+.ui-dialog .tab-content .charsheet input,
+.ui-dialog .tab-content .charsheet .uneditable-input,
+.ui-dialog .tab-content .charsheet label,
+.ui-dialog .tab-content .charsheet button,
+.sheet-rolltemplate-storypath select,
+.sheet-rolltemplate-storypath textarea,
+.sheet-rolltemplate-storypath input,
+.sheet-rolltemplate-storypath .uneditable-input,
+.sheet-rolltemplate-storypath label,
+.sheet-rolltemplate-storypath button {
+ all: initial;
+ font-family: var(--contentFont);
+}
+.ui-dialog .tab-content .charsheet *,
+.ui-dialog .tab-content .charsheet textarea,
+.sheet-rolltemplate-storypath *,
+.sheet-rolltemplate-storypath textarea {
+ color: black;
+ transition: var(--focusTrans);
+ font-family: var(--contentFont);
+}
+.ui-dialog .tab-content .charsheet button,
+.sheet-rolltemplate-storypath button {
+ font-weight: bold;
+ cursor: pointer;
+}
+.ui-dialog .tab-content .charsheet textarea,
+.sheet-rolltemplate-storypath textarea {
+ resize: vertical;
+ min-height: 3.5rem;
+ white-space: pre-wrap;
+}
+.ui-dialog .tab-content .charsheet select,
+.ui-dialog .tab-content .charsheet textarea,
+.ui-dialog .tab-content .charsheet .adaptive--text__span,
+.ui-dialog .tab-content .charsheet input:not(:is([type=radio], [type=checkbox])),
+.ui-dialog .tab-content .charsheet .uneditable-input,
+.sheet-rolltemplate-storypath select,
+.sheet-rolltemplate-storypath textarea,
+.sheet-rolltemplate-storypath .adaptive--text__span,
+.sheet-rolltemplate-storypath input:not(:is([type=radio], [type=checkbox])),
+.sheet-rolltemplate-storypath .uneditable-input {
+ padding: 2px;
+}
+.ui-dialog .tab-content .charsheet select,
+.ui-dialog .tab-content .charsheet input:not(:where([type=checkbox], [type=radio])),
+.ui-dialog .tab-content .charsheet .uneditable-input,
+.ui-dialog .tab-content .charsheet textarea,
+.sheet-rolltemplate-storypath select,
+.sheet-rolltemplate-storypath input:not(:where([type=checkbox], [type=radio])),
+.sheet-rolltemplate-storypath .uneditable-input,
+.sheet-rolltemplate-storypath textarea {
+ border-width: 1px 3px;
+ border-style: solid;
+ border-radius: 5px;
+ border-color: transparent;
+ box-sizing: border-box;
+}
+.ui-dialog .tab-content .charsheet select:not([readonly]):is(:hover, :focus),
+.ui-dialog .tab-content .charsheet input:not(:where([type=checkbox], [type=radio])):not([readonly]):is(:hover, :focus),
+.ui-dialog .tab-content .charsheet .uneditable-input:not([readonly]):is(:hover, :focus),
+.ui-dialog .tab-content .charsheet textarea:not([readonly]):is(:hover, :focus),
+.sheet-rolltemplate-storypath select:not([readonly]):is(:hover, :focus),
+.sheet-rolltemplate-storypath input:not(:where([type=checkbox], [type=radio])):not([readonly]):is(:hover, :focus),
+.sheet-rolltemplate-storypath .uneditable-input:not([readonly]):is(:hover, :focus),
+.sheet-rolltemplate-storypath textarea:not([readonly]):is(:hover, :focus) {
+ border-width: 1px 3px;
+ border-style: solid;
+ border-color: black;
+ border-radius: 5px;
+ box-sizing: border-box;
+ transition: var(--focusTrans);
+}
+.ui-dialog .tab-content .charsheet select:not([readonly]):focus,
+.ui-dialog .tab-content .charsheet input:not(:where([type=checkbox], [type=radio])):not([readonly]):focus,
+.ui-dialog .tab-content .charsheet .uneditable-input:not([readonly]):focus,
+.ui-dialog .tab-content .charsheet textarea:not([readonly]):focus,
+.sheet-rolltemplate-storypath select:not([readonly]):focus,
+.sheet-rolltemplate-storypath input:not(:where([type=checkbox], [type=radio])):not([readonly]):focus,
+.sheet-rolltemplate-storypath .uneditable-input:not([readonly]):focus,
+.sheet-rolltemplate-storypath textarea:not([readonly]):focus {
+ background-color: #DCDCDC;
+ transition: var(--focusTrans);
+}
+.ui-dialog .tab-content .charsheet select,
+.sheet-rolltemplate-storypath select {
+ -webkit-apperance: none;
+ appearance: none;
+ text-transform: capitalize;
+ overflow: hidden !important;
+ white-space: nowrap;
+ text-overflow: ellipsis;
+ text-align: center;
+}
+.ui-dialog .tab-content .charsheet label[for],
+.ui-dialog .tab-content .charsheet .pointer,
+.sheet-rolltemplate-storypath label[for],
+.sheet-rolltemplate-storypath .pointer {
+ cursor: pointer;
+}
+.ui-dialog .tab-content .charsheet input,
+.sheet-rolltemplate-storypath input {
+ width: auto;
+}
+.ui-dialog .tab-content .charsheet input:placeholder,
+.sheet-rolltemplate-storypath input:placeholder {
+ color: rgba(237, 237, 237, 0.5019607843);
+}
+.ui-dialog .tab-content .charsheet input.plus-control:not([value*="-"]) + span:before,
+.sheet-rolltemplate-storypath input.plus-control:not([value*="-"]) + span:before {
+ content: "+";
+}
+.ui-dialog .tab-content .charsheet span,
+.ui-dialog .tab-content .charsheet input,
+.ui-dialog .tab-content .charsheet textarea,
+.sheet-rolltemplate-storypath span,
+.sheet-rolltemplate-storypath input,
+.sheet-rolltemplate-storypath textarea {
+ font-size: 1rem;
+}
+.ui-dialog .tab-content .charsheet .hidden,
+.sheet-rolltemplate-storypath .hidden {
+ display: none !important;
+}
+.ui-dialog .tab-content .charsheet .italics,
+.sheet-rolltemplate-storypath .italics {
+ font-style: italic;
+}
+.ui-dialog .tab-content .charsheet h1,
+.ui-dialog .tab-content .charsheet h2,
+.ui-dialog .tab-content .charsheet .input-label:not(.stacked):not(.input-label--adaptive).large > [name],
+.ui-dialog .tab-content .charsheet h3,
+.ui-dialog .tab-content .charsheet *[aria-level="1"],
+.ui-dialog .tab-content .charsheet *[aria-level="2"],
+.ui-dialog .tab-content .charsheet *[aria-level="3"],
+.sheet-rolltemplate-storypath h1,
+.sheet-rolltemplate-storypath h2,
+.sheet-rolltemplate-storypath .input-label:not(.stacked):not(.input-label--adaptive).large > [name],
+.sheet-rolltemplate-storypath h3,
+.sheet-rolltemplate-storypath *[aria-level="1"],
+.sheet-rolltemplate-storypath *[aria-level="2"],
+.sheet-rolltemplate-storypath *[aria-level="3"] {
+ text-transform: uppercase;
+ font-weight: bold;
+}
+.ui-dialog .tab-content .charsheet h1,
+.ui-dialog .tab-content .charsheet h2,
+.ui-dialog .tab-content .charsheet .input-label:not(.stacked):not(.input-label--adaptive).large > [name],
+.ui-dialog .tab-content .charsheet h3,
+.ui-dialog .tab-content .charsheet h4,
+.ui-dialog .tab-content .charsheet h5,
+.ui-dialog .tab-content .charsheet *[aria-level="1"],
+.ui-dialog .tab-content .charsheet *[aria-level="2"],
+.ui-dialog .tab-content .charsheet *[aria-level="3"],
+.ui-dialog .tab-content .charsheet *[aria-level="4"],
+.ui-dialog .tab-content .charsheet *[aria-level="5"],
+.ui-dialog .tab-content .charsheet span,
+.ui-dialog .tab-content .charsheet label,
+.sheet-rolltemplate-storypath h1,
+.sheet-rolltemplate-storypath h2,
+.sheet-rolltemplate-storypath .input-label:not(.stacked):not(.input-label--adaptive).large > [name],
+.sheet-rolltemplate-storypath h3,
+.sheet-rolltemplate-storypath h4,
+.sheet-rolltemplate-storypath h5,
+.sheet-rolltemplate-storypath *[aria-level="1"],
+.sheet-rolltemplate-storypath *[aria-level="2"],
+.sheet-rolltemplate-storypath *[aria-level="3"],
+.sheet-rolltemplate-storypath *[aria-level="4"],
+.sheet-rolltemplate-storypath *[aria-level="5"],
+.sheet-rolltemplate-storypath span,
+.sheet-rolltemplate-storypath label {
+ line-height: normal;
+ text-transform: capitalize;
+}
+.ui-dialog .tab-content .charsheet h1,
+.ui-dialog .tab-content .charsheet *[aria-level="1"],
+.sheet-rolltemplate-storypath h1,
+.sheet-rolltemplate-storypath *[aria-level="1"] {
+ font-size: 3rem;
+ display: block;
+ font-family: var(--sheetHeaderFont);
+}
+.ui-dialog .tab-content .charsheet h1:not(input),
+.ui-dialog .tab-content .charsheet *[aria-level="1"]:not(input),
+.sheet-rolltemplate-storypath h1:not(input),
+.sheet-rolltemplate-storypath *[aria-level="1"]:not(input) {
+ text-align: center;
+}
+.ui-dialog .tab-content .charsheet h2, .ui-dialog .tab-content .charsheet .input-label:not(.stacked):not(.input-label--adaptive).large > [name],
+.ui-dialog .tab-content .charsheet *[aria-level="2"],
+.sheet-rolltemplate-storypath h2,
+.sheet-rolltemplate-storypath .input-label:not(.stacked):not(.input-label--adaptive).large > [name],
+.sheet-rolltemplate-storypath *[aria-level="2"] {
+ font-size: 2.5rem;
+ display: block;
+}
+.ui-dialog .tab-content .charsheet h2:not(input), .ui-dialog .tab-content .charsheet .input-label:not(.stacked):not(.input-label--adaptive).large > [name]:not(input),
+.ui-dialog .tab-content .charsheet *[aria-level="2"]:not(input),
+.sheet-rolltemplate-storypath h2:not(input),
+.sheet-rolltemplate-storypath .input-label:not(.stacked):not(.input-label--adaptive).large > [name]:not(input),
+.sheet-rolltemplate-storypath *[aria-level="2"]:not(input) {
+ text-align: center;
+}
+.ui-dialog .tab-content .charsheet h3,
+.ui-dialog .tab-content .charsheet *[aria-level="3"],
+.sheet-rolltemplate-storypath h3,
+.sheet-rolltemplate-storypath *[aria-level="3"] {
+ font-size: 2rem;
+ display: block;
+}
+.ui-dialog .tab-content .charsheet h3:not(input),
+.ui-dialog .tab-content .charsheet *[aria-level="3"]:not(input),
+.sheet-rolltemplate-storypath h3:not(input),
+.sheet-rolltemplate-storypath *[aria-level="3"]:not(input) {
+ text-align: center;
+}
+.ui-dialog .tab-content .charsheet h4,
+.ui-dialog .tab-content .charsheet *[aria-level="4"],
+.sheet-rolltemplate-storypath h4,
+.sheet-rolltemplate-storypath *[aria-level="4"] {
+ font-size: 1.5rem;
+ font-weight: bold;
+ display: block;
+}
+.ui-dialog .tab-content .charsheet h4:not(input),
+.ui-dialog .tab-content .charsheet *[aria-level="4"]:not(input),
+.sheet-rolltemplate-storypath h4:not(input),
+.sheet-rolltemplate-storypath *[aria-level="4"]:not(input) {
+ text-align: center;
+}
+.ui-dialog .tab-content .charsheet h5,
+.ui-dialog .tab-content .charsheet *[aria-level="5"],
+.sheet-rolltemplate-storypath h5,
+.sheet-rolltemplate-storypath *[aria-level="5"] {
+ font-size: 1rem;
+ font-style: italic;
+ display: block;
+ font-weight: bold;
+}
+.ui-dialog .tab-content .charsheet h5:not(input),
+.ui-dialog .tab-content .charsheet *[aria-level="5"]:not(input),
+.sheet-rolltemplate-storypath h5:not(input),
+.sheet-rolltemplate-storypath *[aria-level="5"]:not(input) {
+ text-align: center;
+}
+.ui-dialog .tab-content .charsheet h1,
+.ui-dialog .tab-content .charsheet *[aria-level="1"],
+.sheet-rolltemplate-storypath h1,
+.sheet-rolltemplate-storypath *[aria-level="1"] {
+ display: block;
+ white-space: nowrap;
+ margin-top: 0px;
+ margin-bottom: 0px;
+}
+.ui-dialog .tab-content .charsheet h2, .ui-dialog .tab-content .charsheet .input-label:not(.stacked):not(.input-label--adaptive).large > [name],
+.ui-dialog .tab-content .charsheet *[aria-level="2"],
+.sheet-rolltemplate-storypath h2,
+.sheet-rolltemplate-storypath .input-label:not(.stacked):not(.input-label--adaptive).large > [name],
+.sheet-rolltemplate-storypath *[aria-level="2"] {
+ display: block;
+ white-space: nowrap;
+ margin-top: 0px;
+ margin-bottom: 0px;
+}
+.ui-dialog .tab-content .charsheet h3,
+.ui-dialog .tab-content .charsheet *[aria-level="3"],
+.sheet-rolltemplate-storypath h3,
+.sheet-rolltemplate-storypath *[aria-level="3"] {
+ display: block;
+ white-space: nowrap;
+ margin-top: 0px;
+ margin-bottom: 0px;
+}
+.ui-dialog .tab-content .charsheet h4,
+.ui-dialog .tab-content .charsheet *[aria-level="4"],
+.sheet-rolltemplate-storypath h4,
+.sheet-rolltemplate-storypath *[aria-level="4"] {
+ display: block;
+ white-space: nowrap;
+ margin-top: 0px;
+ margin-bottom: 0px;
+}
+.ui-dialog .tab-content .charsheet h5,
+.ui-dialog .tab-content .charsheet *[aria-level="5"],
+.sheet-rolltemplate-storypath h5,
+.sheet-rolltemplate-storypath *[aria-level="5"] {
+ display: block;
+ white-space: nowrap;
+ margin-top: 0px;
+ margin-bottom: 0px;
+}
+.ui-dialog .tab-content .charsheet .roller,
+.sheet-rolltemplate-storypath .roller {
+ display: inline-flex;
+ align-items: center;
+ gap: var(--half-gap);
+}
+.ui-dialog .tab-content .charsheet .roller:before,
+.sheet-rolltemplate-storypath .roller:before {
+ content: "K";
+ font-family: dicefontd10;
+ text-transform: none;
+}
+.ui-dialog .tab-content .charsheet .pictos,
+.sheet-rolltemplate-storypath .pictos {
+ font-family: pictos;
+ text-transform: initial;
+}
+.ui-dialog .tab-content .charsheet .pictos3,
+.sheet-rolltemplate-storypath .pictos3 {
+ font-family: pictos three;
+ text-transform: initial;
+}
+.ui-dialog .tab-content .charsheet .pictoscustom,
+.sheet-rolltemplate-storypath .pictoscustom {
+ font-family: pictos custom;
+ text-transform: initial;
+}
+.ui-dialog .tab-content .charsheet input[type=checkbox],
+.sheet-rolltemplate-storypath input[type=checkbox] {
+ align-self: center;
+ border-radius: 3px;
+ border: 1px solid black;
+ width: 10px;
+ min-width: 10px;
+ height: 10px;
+ min-height: 10px;
+ cursor: pointer;
+}
+.ui-dialog .tab-content .charsheet input[type=checkbox]:checked,
+.sheet-rolltemplate-storypath input[type=checkbox]:checked {
+ background-color: black;
+}
+.ui-dialog .tab-content .charsheet input[type=radio],
+.sheet-rolltemplate-storypath input[type=radio] {
+ appearance: radio;
+}
+.ui-dialog .tab-content .charsheet input[type=number],
+.sheet-rolltemplate-storypath input[type=number] {
+ width: 2em;
+ -moz-appearance: textfield !important;
+ text-align: center;
+}
+.ui-dialog .tab-content .charsheet input[type=number]::-webkit-inner-spin-button, .ui-dialog .tab-content .charsheet input[type=number]::-webkit-outer-spin-button,
+.sheet-rolltemplate-storypath input[type=number]::-webkit-inner-spin-button,
+.sheet-rolltemplate-storypath input[type=number]::-webkit-outer-spin-button {
+ -webkit-appearance: none;
+ margin: 0;
+}
+.ui-dialog .tab-content .charsheet input input textarea.fixed,
+.sheet-rolltemplate-storypath input input textarea.fixed {
+ resize: none;
+ overflow: auto;
+}
+.ui-dialog .tab-content .charsheet .disable,
+.sheet-rolltemplate-storypath .disable {
+ display: none !important;
+}
+.ui-dialog .tab-content .charsheet section.page,
+.sheet-rolltemplate-storypath section.page {
+ display: none;
+}
+.ui-dialog .tab-content .charsheet .navigable-section:not(.active),
+.sheet-rolltemplate-storypath .navigable-section:not(.active) {
+ display: none !important;
+}
+.ui-dialog .tab-content .charsheet .pseudo-button,
+.sheet-rolltemplate-storypath .pseudo-button {
+ display: inline;
+ cursor: pointer;
+ border-radius: 5px;
+ text-transform: uppercase;
+ border: 1px solid black;
+ text-align: center;
+ padding: 0 5px;
+}
+.ui-dialog .tab-content .charsheet .input-label,
+.sheet-rolltemplate-storypath .input-label {
+ display: inline-flex;
+ gap: var(--half-gap);
+ align-items: center;
+}
+.ui-dialog .tab-content .charsheet .input-label.stacked,
+.sheet-rolltemplate-storypath .input-label.stacked {
+ flex-direction: column-reverse;
+}
+.ui-dialog .tab-content .charsheet .input-label.stacked.center > *,
+.sheet-rolltemplate-storypath .input-label.stacked.center > * {
+ text-align: center;
+}
+.ui-dialog .tab-content .charsheet .input-label.stacked:not(.center) > *,
+.sheet-rolltemplate-storypath .input-label.stacked:not(.center) > * {
+ text-align: left;
+}
+.ui-dialog .tab-content .charsheet .input-label.stacked > [name],
+.sheet-rolltemplate-storypath .input-label.stacked > [name] {
+ width: 100%;
+}
+.ui-dialog .tab-content .charsheet .input-label:not(.stacked):not(.input-label--adaptive) > [name]:not([type=number], [type=roll], [type=action], select),
+.sheet-rolltemplate-storypath .input-label:not(.stacked):not(.input-label--adaptive) > [name]:not([type=number], [type=roll], [type=action], select) {
+ width: 0;
+ flex: 1 1 0;
+}
+.ui-dialog .tab-content .charsheet .input-label:not(.stacked):not(.input-label--adaptive) > :not([name]),
+.sheet-rolltemplate-storypath .input-label:not(.stacked):not(.input-label--adaptive) > :not([name]) {
+ flex: 0 0 auto;
+}
+.ui-dialog .tab-content .charsheet .dual.input-label,
+.sheet-rolltemplate-storypath .dual.input-label {
+ grid-template-columns: 1fr auto 1fr;
+ grid-template-areas: "over over over" "under under under";
+}
+.ui-dialog .tab-content .charsheet .dual.input-label > span:last-of-type,
+.sheet-rolltemplate-storypath .dual.input-label > span:last-of-type {
+ grid-column: 1/-1;
+}
+.ui-dialog .tab-content .charsheet .dual.input-label > input,
+.sheet-rolltemplate-storypath .dual.input-label > input {
+ width: 100%;
+}
+.ui-dialog .tab-content .charsheet .dual.input-label > .slash,
+.sheet-rolltemplate-storypath .dual.input-label > .slash {
+ line-height: 0rem;
+ font-weight: normal;
+}
+.ui-dialog .tab-content .charsheet .headed-textarea,
+.sheet-rolltemplate-storypath .headed-textarea {
+ display: grid;
+ grid-template-rows: auto 1fr;
+ grid-template-columns: auto;
+}
+.ui-dialog .tab-content .charsheet .boxed,
+.sheet-rolltemplate-storypath .boxed {
+ border: 1px solid black;
+}
+.ui-dialog .tab-content .charsheet .boxed.thick-left,
+.sheet-rolltemplate-storypath .boxed.thick-left {
+ border-left-width: 5px;
+}
+.ui-dialog .tab-content .charsheet .boxed.thick-bottom,
+.sheet-rolltemplate-storypath .boxed.thick-bottom {
+ border-bottom-width: 5px;
+}
+.ui-dialog .tab-content .charsheet .boxed.thick-right,
+.sheet-rolltemplate-storypath .boxed.thick-right {
+ border-right-width: 5px;
+}
+.ui-dialog .tab-content .charsheet .boxed.thick-top,
+.sheet-rolltemplate-storypath .boxed.thick-top {
+ border-top-width: 5px;
+}
+.ui-dialog .tab-content .charsheet .underlined,
+.sheet-rolltemplate-storypath .underlined {
+ border-radius: 0;
+ border-bottom: 1px solid black;
+ transition: var(--focusTrans);
+}
+.ui-dialog .tab-content .charsheet .small-scale-grid,
+.ui-dialog .tab-content .charsheet .small-scale-grid + fieldset + .repcontainer,
+.sheet-rolltemplate-storypath .small-scale-grid,
+.sheet-rolltemplate-storypath .small-scale-grid + fieldset + .repcontainer {
+ display: grid;
+ grid-template-columns: [header-start] repeat(auto-fit, minmax(15rem, 1fr)) [header-end];
+ grid-template-rows: [header-start] auto [header-end];
+ gap: var(--half-gap);
+}
+.ui-dialog .tab-content .charsheet .small-scale-grid > .repitem,
+.ui-dialog .tab-content .charsheet .small-scale-grid + fieldset + .repcontainer > .repitem,
+.sheet-rolltemplate-storypath .small-scale-grid > .repitem,
+.sheet-rolltemplate-storypath .small-scale-grid + fieldset + .repcontainer > .repitem {
+ display: flex;
+ gap: var(--half-gap);
+}
+.ui-dialog .tab-content .charsheet .small-scale-grid > .repitem > :is(.dot-row, input[type=text]),
+.ui-dialog .tab-content .charsheet .small-scale-grid + fieldset + .repcontainer > .repitem > :is(.dot-row, input[type=text]),
+.sheet-rolltemplate-storypath .small-scale-grid > .repitem > :is(.dot-row, input[type=text]),
+.sheet-rolltemplate-storypath .small-scale-grid + fieldset + .repcontainer > .repitem > :is(.dot-row, input[type=text]) {
+ flex: 1 1 0;
+ width: 100%;
+}
+.ui-dialog .tab-content .charsheet .repcontrol_move,
+.sheet-rolltemplate-storypath .repcontrol_move {
+ display: none !important;
+}
+.ui-dialog .tab-content .charsheet .short-text,
+.sheet-rolltemplate-storypath .short-text {
+ text-overflow: ellipsis;
+ white-space: nowrap;
+ overflow: hidden;
+ text-transform: initial;
+}
+
+*[hidden] {
+ display: none !important;
+}
+
+.ui-dialog .tab-content .charsheet {
+ padding-top: 0px;
+}
+.ui-dialog .tab-content .charsheet :placeholder-shown {
+ text-transform: capitalize;
+}
+.ui-dialog .tab-content .charsheet .adaptive {
+ display: grid;
+ position: relative;
+ grid-template-columns: auto;
+ grid-template-rows: auto;
+ grid-template-areas: "content";
+}
+.ui-dialog .tab-content .charsheet .adaptive > * {
+ grid-area: content;
+}
+.ui-dialog .tab-content .charsheet .adaptive > span {
+ opacity: 0;
+ z-index: -10;
+ text-transform: initial;
+}
+.ui-dialog .tab-content .charsheet .adaptive--text {
+ --height:4rem;
+ min-block-size: var(--height);
+}
+.ui-dialog .tab-content .charsheet .adaptive--text__span {
+ white-space: pre-wrap;
+ display: block;
+ min-block-size: var(--height);
+}
+.ui-dialog .tab-content .charsheet .adaptive--text__textarea {
+ resize: none;
+ position: absolute;
+ width: 100%;
+ height: 100%;
+ min-height: 0px;
+}
+.ui-dialog .tab-content .charsheet .adaptive--text__textarea,
+.ui-dialog .tab-content .charsheet .adaptive--text__span {
+ font-family: var(--contentFont);
+}
+.ui-dialog .tab-content .charsheet .adaptive--input {
+ --inputMin:4rem;
+ --inputMax:14rem;
+ width: fit-content;
+ overflow: hidden;
+}
+.ui-dialog .tab-content .charsheet .adaptive--input__span {
+ white-space: nowrap;
+ max-width: var(--inputMax);
+}
+.ui-dialog .tab-content .charsheet .adaptive--input__input:not([type=number]) {
+ width: 100%;
+}
+.ui-dialog .tab-content .charsheet .repcontainer {
+ padding-top: var(--half-gap);
+ background-color: white;
+}
+.ui-dialog .tab-content .charsheet .repcontrol {
+ display: none;
+}
+.ui-dialog .tab-content .charsheet .pseudo-control + fieldset + .repcontainer .roller {
+ place-self: center end;
+}
+.ui-dialog .tab-content .charsheet .pseudo-control + fieldset + .repcontainer .repcontrol-button--edit {
+ position: absolute;
+ grid-column-end: -1;
+ grid-row: 1/2;
+}
+.ui-dialog .tab-content .charsheet .pseudo-control + fieldset + .repcontainer .description {
+ grid-column: 1/-1;
+}
+.ui-dialog .tab-content .charsheet .pseudo-control + fieldset + .repcontainer > .repitem {
+ position: relative;
+ background-color: white;
+}
+.ui-dialog .tab-content .charsheet .pseudo-control + fieldset + .repcontainer > .repitem input[type=text],
+.ui-dialog .tab-content .charsheet .pseudo-control + fieldset + .repcontainer > .repitem select {
+ width: 100%;
+}
+.ui-dialog .tab-content .charsheet .pseudo-control + fieldset + .repcontainer > .repitem[data-reprowid=-COMPLETEHEADERSTYLE] {
+ grid-column: 1/-1;
+}
+.ui-dialog .tab-content .charsheet .pseudo-control + fieldset + .repcontainer > .repitem > div:not(:is(.itemcontrol,
+.image-border,
+.display-target)) {
+ padding: var(--tiny-gap);
+}
+.ui-dialog .tab-content .charsheet .pseudo-control + fieldset + .repcontainer > .repitem .display-target {
+ gap: var(--half-gap);
+}
+.ui-dialog .tab-content .charsheet .pseudo-control + fieldset + .repcontainer > .repitem .btn.collapse {
+ grid-area: collapse-button;
+ position: absolute;
+}
+.ui-dialog .tab-content .charsheet .pseudo-control + fieldset + .repcontainer > .repitem .itemcontrol {
+ padding: 0 var(--tiny-gap);
+ border: 1px solid transparent;
+ width: 100%;
+ box-sizing: border-box;
+ z-index: 10;
+}
+.ui-dialog .tab-content .charsheet .pseudo-control + fieldset + .repcontainer > .repitem .itemcontrol .btn {
+ border-radius: 4px;
+ border: 1px solid #ccc;
+ box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);
+ display: inline-block;
+ padding: 0px 5px;
+ margin: 0;
+ font-size: 13px;
+ line-height: 18px;
+ color: #333;
+ text-align: center;
+ text-shadow: 0 1px 1px rgba(255, 255, 255, 0.75);
+ vertical-align: middle;
+}
+.ui-dialog .tab-content .charsheet .pseudo-control + fieldset + .repcontainer > .repitem .itemcontrol .btn-danger {
+ background-color: #da4f49;
+ background-image: -webkit-linear-gradient(top, #ee5f5b, #bd362f);
+ background-repeat: repeat-x;
+ border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
+}
+.ui-dialog .tab-content .charsheet .add-container {
+ display: grid;
+ position: relative;
+}
+.ui-dialog .tab-content .charsheet .repitem:is([data-reprowid^=-ADD],
+[data-reprowid^=-COMPLETEHEADERSTYLE]) {
+ margin-bottom: var(--half-gap);
+}
+.ui-dialog .tab-content .charsheet .repitem:is([data-reprowid^=-ADD],
+[data-reprowid^=-COMPLETEHEADERSTYLE]) > .itemcontrol {
+ display: none !important;
+}
+.ui-dialog .tab-content .charsheet .display-target {
+ border: 0px solid transparent;
+ padding: calc(var(--inset) / 2);
+}
+.ui-dialog .tab-content .charsheet :is(.image-borders, .bordered-item) + fieldset + .repcontainer > .repitem {
+ display: grid;
+ grid-template-areas: "content";
+}
+.ui-dialog .tab-content .charsheet :is(.image-borders, .bordered-item) + fieldset + .repcontainer > .repitem > * {
+ grid-area: content;
+}
+.ui-dialog .tab-content .charsheet :is(.image-borders, .bordered-item) + fieldset + .repcontainer > .repitem .itemcontrol {
+ align-self: start;
+}
+.ui-dialog .tab-content .charsheet .image-border ~ * {
+ z-index: 1;
+}
+.ui-dialog .tab-content .charsheet .display-control:not(:checked) + .display-target {
+ display: none;
+}
+.ui-dialog .tab-content .charsheet .display-control:checked + .display-target {
+ display: grid;
+}
+.ui-dialog .tab-content .charsheet .display-control[value=""] + :is(label, .input-label) {
+ display: none;
+}
+.ui-dialog .tab-content .charsheet .expanded-control + .display-target .conditional-show {
+ display: none;
+}
+.ui-dialog .tab-content .charsheet .expanded-control[value*=short] + .display-target {
+ display: none;
+}
+.ui-dialog .tab-content .charsheet .expanded-control:not([value*=short]) + .display-target {
+ display: grid;
+}
+.ui-dialog .tab-content .charsheet .repcontrol-button:not(.repcontrol-button--inline) {
+ align-self: center;
+ text-transform: none;
+ transition: opacity var(--revealTime);
+ text-align: center;
+}
+.ui-dialog .tab-content .charsheet .repcontrol-button--add:before {
+ font-family: pictos;
+ content: "&";
+}
+.ui-dialog .tab-content .charsheet .repcontrol-button--edit:before {
+ font-family: pictos;
+ content: "p";
+}
+.ui-dialog .tab-content .charsheet .repcontrol-button--inline {
+ align-self: start;
+}
+.ui-dialog .tab-content .charsheet section > .repcontrol-button--add {
+ place-self: center start;
+ margin-left: 5px;
+ border-color: transparent;
+}
+.ui-dialog .tab-content .charsheet .subsystem-style ~ .repcontrol-button--edit,
+.ui-dialog .tab-content .charsheet .subsystem-style ~ .repcontrol-button--add {
+ justify-self: start;
+ grid-area: header;
+ z-index: 10;
+ color: white;
+}
+.ui-dialog .tab-content .charsheet .subsystem-style ~ .repcontrol-button--edit {
+ justify-self: end;
+ margin-right: var(--half-gap);
+}
+.ui-dialog .tab-content .charsheet .collapse-interface {
+ position: absolute;
+ grid-column: 1/2;
+ grid-row: 1/2;
+ left: -24px;
+ top: 0;
+ font-family: pictos;
+ opacity: 0;
+ cursor: pointer;
+ transition: var(--focusTrans) 500ms;
+ padding: 3px 4px;
+}
+.ui-dialog .tab-content .charsheet div:is(:hover,
+:focus,
+:focus-within) > .collapse-interface {
+ opacity: 1;
+ transition: var(--focusTrans);
+}
+.ui-dialog .tab-content .charsheet .collapse-control[value="0"] + .collapse-interface:before {
+ content: "_";
+}
+.ui-dialog .tab-content .charsheet .collapse-control:not([value="0"]) + .collapse-interface:before {
+ content: "|";
+}
+.ui-dialog .tab-content .charsheet .repitem:hover .collapse, .ui-dialog .tab-content .charsheet .repitem:hover .roll-container,
+.ui-dialog .tab-content .charsheet .collapse-container:hover .collapse,
+.ui-dialog .tab-content .charsheet .collapse-container:hover .roll-container {
+ opacity: 1;
+}
+.ui-dialog .tab-content .charsheet .repitem .collapse,
+.ui-dialog .tab-content .charsheet .collapse-container .collapse {
+ opacity: 0;
+ position: absolute;
+ right: -10px;
+ top: 0px;
+ border: 0px solid black;
+ border-radius: 0;
+ color: var(--selectedColor);
+ text-transform: none;
+ background-color: transparent;
+}
+.ui-dialog .tab-content .charsheet .repitem .collapse:before,
+.ui-dialog .tab-content .charsheet .collapse-container .collapse:before {
+ content: "y";
+ font-family: pictos;
+}
+.ui-dialog .tab-content .charsheet .repitem .collapse:checked,
+.ui-dialog .tab-content .charsheet .collapse-container .collapse:checked {
+ color: var(--unselectedColor1);
+ background-color: transparent;
+}
+.ui-dialog .tab-content .charsheet .repitem .collapse:checked ~ .expanded,
+.ui-dialog .tab-content .charsheet .repitem .collapse:checked ~ .collapse-container .expanded,
+.ui-dialog .tab-content .charsheet .collapse-container .collapse:checked ~ .expanded,
+.ui-dialog .tab-content .charsheet .collapse-container .collapse:checked ~ .collapse-container .expanded {
+ display: none !important;
+}
+.ui-dialog .tab-content .charsheet .repitem .collapse:checked ~ .expanded--empty:is(:not([value]), [value=""]) + *,
+.ui-dialog .tab-content .charsheet .repitem .collapse:checked ~ .collapse-container ~ .expanded--empty:is(:not([value]), [value=""]) + *,
+.ui-dialog .tab-content .charsheet .collapse-container .collapse:checked ~ .expanded--empty:is(:not([value]), [value=""]) + *,
+.ui-dialog .tab-content .charsheet .collapse-container .collapse:checked ~ .collapse-container ~ .expanded--empty:is(:not([value]), [value=""]) + * {
+ display: none !important;
+}
+.ui-dialog .tab-content .charsheet .repitem .collapse:not(:checked) ~ .collapsed,
+.ui-dialog .tab-content .charsheet .collapse-container .collapse:not(:checked) ~ .collapsed {
+ display: none !important;
+}
+.ui-dialog .tab-content .charsheet .repitem .collapse:hover,
+.ui-dialog .tab-content .charsheet .collapse-container .collapse:hover {
+ color: var(--selectedColor);
+}
+.ui-dialog .tab-content .charsheet .split {
+ display: flex;
+ gap: var(--grid-gap);
+}
+.ui-dialog .tab-content .charsheet .dot-row {
+ align-items: center;
+ gap: var(--tiny-gap);
+}
+.ui-dialog .tab-content .charsheet .dot-row:not(.contents) {
+ display: flex;
+}
+.ui-dialog .tab-content .charsheet .dot-row.boxes .dot {
+ border-radius: 0;
+}
+.ui-dialog .tab-content .charsheet .dot-row .dot-number {
+ display: none;
+}
+.ui-dialog .tab-content .charsheet .dot-row > :not(:is(.dot-button-container, .dot-number)):is(:first-child, :last-child) {
+ place-self: center start;
+ flex: 1 1 0;
+ width: 100%;
+}
+.ui-dialog .tab-content .charsheet .dot-row > :not(:is(.dot-button-container, .dot-number)):first-child {
+ text-align: left;
+}
+.ui-dialog .tab-content .charsheet .dot-row > :not(:is(.dot-button-container, .dot-number)):last-child {
+ text-align: right;
+}
+.ui-dialog .tab-content .charsheet .dot-button-container {
+ display: inline-flex;
+ gap: var(--tiny-gap);
+ align-items: center;
+}
+.ui-dialog .tab-content .charsheet .dot-button-container .dot,
+.ui-dialog .tab-content .charsheet .dot-button-container .readonly-dot {
+ -webkit-apperance: none;
+ appearance: none;
+ width: 12px;
+ border: 1px solid black;
+}
+.ui-dialog .tab-content .charsheet .dot-button-container .dot.no-fill,
+.ui-dialog .tab-content .charsheet .dot-button-container .readonly-dot.no-fill {
+ background: white;
+}
+.ui-dialog .tab-content .charsheet .dot-button-container .dot:not(.no-fill), .ui-dialog .tab-content .charsheet .dot-button-container .dot.no-fill:checked,
+.ui-dialog .tab-content .charsheet .dot-button-container .readonly-dot:not(.no-fill),
+.ui-dialog .tab-content .charsheet .dot-button-container .readonly-dot.no-fill:checked {
+ background-color: var(--selectedRadio);
+}
+.ui-dialog .tab-content .charsheet .dot-button-container .dot:not(.no-fill),
+.ui-dialog .tab-content .charsheet .dot-button-container .readonly-dot:not(.no-fill) {
+ order: 1;
+}
+.ui-dialog .tab-content .charsheet .dot-button-container .dot:not(.no-fill):not(.no-clear):checked,
+.ui-dialog .tab-content .charsheet .dot-button-container .readonly-dot:not(.no-fill):not(.no-clear):checked {
+ display: none;
+}
+.ui-dialog .tab-content .charsheet .dot-button-container .dot:not(.no-fill).clearer,
+.ui-dialog .tab-content .charsheet .dot-button-container .readonly-dot:not(.no-fill).clearer {
+ order: 2;
+}
+.ui-dialog .tab-content .charsheet .dot-button-container .dot:not(.no-fill).clearer:checked,
+.ui-dialog .tab-content .charsheet .dot-button-container .readonly-dot:not(.no-fill).clearer:checked {
+ display: none;
+}
+.ui-dialog .tab-content .charsheet .dot-button-container .dot:not(.no-fill):checked ~ .dot,
+.ui-dialog .tab-content .charsheet .dot-button-container .readonly-dot:not(.no-fill):checked ~ .dot {
+ order: 3;
+ background-color: white;
+}
+.ui-dialog .tab-content .charsheet .dot-button-container .dot {
+ cursor: pointer;
+}
+.ui-dialog .tab-content .charsheet .dot-button-container .dot[value="0"] + .readonly-dot {
+ display: none;
+}
+.ui-dialog .tab-content .charsheet .dot-button-container:is(:hover,
+:focus-within,
+:focus) .clearer {
+ background-color: var(--selectedRadio);
+ background-image: linear-gradient(45deg, transparent 0% 48%, white 48% calc(48% + 1px), transparent calc(48% + 1px)), linear-gradient(-45deg, transparent 0% 48%, white 48% calc(48% + 1px), transparent calc(48% + 1px));
+ border-color: transparent;
+}
+
+#sheet {
+ display: grid;
+ align-items: start;
+ gap: var(--big-gap);
+ grid-template-columns: repeat(auto-fit, minmax(375px, 1fr));
+}
+#sheet > section {
+ align-self: start;
+}
+#sheet > section h2, #sheet > section .ui-dialog .tab-content .charsheet .input-label:not(.stacked):not(.input-label--adaptive).large > [name], .ui-dialog .tab-content .charsheet #sheet > section .input-label:not(.stacked):not(.input-label--adaptive).large > [name],
+#sheet > section .sheet-rolltemplate-storypath .input-label:not(.stacked):not(.input-label--adaptive).large > [name],
+.sheet-rolltemplate-storypath #sheet > section .input-label:not(.stacked):not(.input-label--adaptive).large > [name],
+#sheet > section [aria-level="2"] {
+ grid-area: header;
+ width: 100%;
+}
+#sheet > section h2.collapse ~ *:not(h2, [aria-level="2"]), #sheet > section .ui-dialog .tab-content .charsheet .input-label:not(.stacked):not(.input-label--adaptive).large > .collapse[name] ~ *:not(h2, [aria-level="2"]), .ui-dialog .tab-content .charsheet #sheet > section .input-label:not(.stacked):not(.input-label--adaptive).large > .collapse[name] ~ *:not(h2, [aria-level="2"]),
+#sheet > section .sheet-rolltemplate-storypath .input-label:not(.stacked):not(.input-label--adaptive).large > .collapse[name] ~ *:not(h2, [aria-level="2"]),
+.sheet-rolltemplate-storypath #sheet > section .input-label:not(.stacked):not(.input-label--adaptive).large > .collapse[name] ~ *:not(h2, [aria-level="2"]),
+#sheet > section [aria-level="2"].collapse ~ *:not(h2, [aria-level="2"]) {
+ display: none;
+}
+#sheet > section h3.collapse ~ *:not(h2,
+[aria-level="2"]),
+#sheet > section [aria-level="3"].collapse ~ *:not(h2,
+[aria-level="2"]) {
+ display: none;
+}
+
+#main :is(article, .subsystem-display):not(.active) {
+ display: none;
+}
+#main .repeat-columns {
+ display: grid;
+ gap: var(--half-gap);
+ place-items: center;
+}
+#main .display-target:not([class*=short]) .clash {
+ grid-column: 1/-1;
+ display: grid;
+ grid-template-columns: auto 1fr;
+}
+#main .display-target:not([class*=short]) .clash .select-container {
+ grid-template-columns: 1fr auto 1fr;
+}
+#main .display-target:not([class*=short]) .clash .select-container .vs {
+ grid-column: 1/-1;
+}
+#main .display-target > .clash {
+ gap: var(--half-gap);
+}
+#main .display-target > .clash .select-container {
+ grid-column: span 2;
+ display: grid;
+ gap: var(--half-gap);
+}
+#main .display-target > .clash .select-container span {
+ place-self: center;
+ text-transform: uppercase;
+}
+#main .display-target[class*=short] .clash {
+ grid-column: span 2;
+ display: none;
+ grid-template-columns: repeat(4, auto) 1fr repeat(3, auto);
+}
+#main .display-target[class*=short] .clash span {
+ place-self: center;
+ text-transform: uppercase;
+}
+#main .display-target[class*=short] .clash-display-control:not([value=select]) ~ .clash {
+ display: grid;
+}
+#main .image-display-control:is([value=""], :not([value])) + img {
+ display: none;
+}
+#main .inline-fieldset__summary {
+ padding: 0;
+}
+#main .statblock__row {
+ display: grid;
+ gap: var(--half-gap);
+ grid-template-columns: auto;
+ grid-auto-flow: column;
+ grid-auto-columns: 1fr;
+ margin-bottom: var(--tiny-gap);
+}
+#main .statblock__row--auto-grid {
+ grid-auto-columns: auto;
+ justify-content: start;
+}
+#main .statblock__row--inline-container {
+ grid-template-columns: auto 1fr repeat(2, auto);
+}
+#main .statblock__row--flex {
+ display: flex;
+ flex-wrap: wrap;
+ gap: var(--half-gap);
+}
+#main .inline-fieldset + fieldset + .repcontainer {
+ display: flex;
+ align-content: center;
+ flex-wrap: wrap;
+ gap: var(--tiny-gap);
+ padding: 0;
+}
+#main .inline-fieldset + fieldset + .repcontainer > .repitem {
+ display: inline;
+}
+#main .inline-fieldset + fieldset + .repcontainer > .repitem .repcontrol_move {
+ display: none;
+}
+#main .inline-fieldset + fieldset + .repcontainer > .repitem > .display-control:checked + .inline-fieldset__summary {
+ display: inline;
+}
+#main .inline-fieldset + fieldset + .repcontainer > .repitem:not(:last-child) > .inline-fieldset__summary .inline-fieldset__summary__text:after {
+ content: ",";
+}
+#main .inline-fieldset + fieldset + .repcontainer > .repitem:first-child .collapse-interface {
+ top: 2rem;
+}
+#main .inline-fieldset + fieldset + .repcontainer .statblock__row--flex {
+ justify-content: space-between;
+ gap: var(--half-gap);
+ padding-inline: 0;
+}
+#main .inline-fieldset + fieldset + .repcontainer .statblock__row--flex > .input-label {
+ max-width: 100%;
+}
+#main .inline-fieldset + fieldset + .repcontainer .input-label {
+ flex: 1 1 0;
+}
+#main .inline-fieldset + fieldset + .repcontainer .input-label:last-child {
+ width: 100%;
+}
+#main .inline-fieldset + fieldset + .repcontainer .input-label__input[type=number] {
+ min-width: 2rem;
+}
+#main .inline-fieldset + fieldset + .repcontainer .input-label__input:not([type=number]) {
+ min-width: 4rem;
+}
+#main .hide-control:checked + .display-target {
+ display: none;
+}
+
+html {
+ font-size: 13px;
+}
+
+.ui-dialog .tab-content .charsheet,
+.sheet-rolltemplate-storypath {
+ --tcfGreen: #364037;
+}
+.ui-dialog .tab-content .charsheet h3.subsystem-style.system-beneath-the-sea,
+.ui-dialog .tab-content .charsheet *[aria-level="3"].subsystem-style.system-beneath-the-sea,
+.sheet-rolltemplate-storypath h3.subsystem-style.system-beneath-the-sea,
+.sheet-rolltemplate-storypath *[aria-level="3"].subsystem-style.system-beneath-the-sea {
+ background-color: var(--tcfGreen);
+ color: white;
+}
+.ui-dialog .tab-content .charsheet h4.subsystem-style.system-beneath-the-sea,
+.ui-dialog .tab-content .charsheet *[aria-level="4"].subsystem-style.system-beneath-the-sea,
+.sheet-rolltemplate-storypath h4.subsystem-style.system-beneath-the-sea,
+.sheet-rolltemplate-storypath *[aria-level="4"].subsystem-style.system-beneath-the-sea {
+ background-color: var(--tcfGreen);
+ color: white;
+}
+.ui-dialog .tab-content .charsheet h5.subsystem-style.system-beneath-the-sea,
+.ui-dialog .tab-content .charsheet *[aria-level="5"].subsystem-style.system-beneath-the-sea,
+.sheet-rolltemplate-storypath h5.subsystem-style.system-beneath-the-sea,
+.sheet-rolltemplate-storypath *[aria-level="5"].subsystem-style.system-beneath-the-sea {
+ background-color: var(--tcfGreen);
+ color: white;
+}
+.ui-dialog .tab-content .charsheet :not(.inline-fieldset) + fieldset + .repcontainer .repitem:last-child .image-border,
+.sheet-rolltemplate-storypath :not(.inline-fieldset) + fieldset + .repcontainer .repitem:last-child .image-border {
+ border-radius: 0 0 var(--tcfRadius) var(--tcfRadius);
+}
+.ui-dialog .tab-content .charsheet .border-control[value*=master][value*=short] + .image-border,
+.sheet-rolltemplate-storypath .border-control[value*=master][value*=short] + .image-border {
+ background-color: var(--tcfBackColor);
+}
+.ui-dialog .tab-content .charsheet .border-control:is([value*=master][value*=short], [value=add-detail]) ~ * *,
+.sheet-rolltemplate-storypath .border-control:is([value*=master][value*=short], [value=add-detail]) ~ * * {
+ color: white;
+}
+.ui-dialog .tab-content .charsheet .border-control[value=add-detail] + .image-border,
+.sheet-rolltemplate-storypath .border-control[value=add-detail] + .image-border {
+ background-color: var(--tcfBackColor);
+}
+.ui-dialog .tab-content .charsheet :not(.image-borders, .bordered-item, .inline-fieldset) + fieldset + .repcontainer,
+.sheet-rolltemplate-storypath :not(.image-borders, .bordered-item, .inline-fieldset) + fieldset + .repcontainer {
+ display: grid;
+ gap: var(--half-gap);
+}
+.ui-dialog .tab-content .charsheet :not(.image-borders, .bordered-item, .inline-fieldset) + fieldset + .repcontainer .display-target,
+.sheet-rolltemplate-storypath :not(.image-borders, .bordered-item, .inline-fieldset) + fieldset + .repcontainer .display-target {
+ border: var(--tcfBorderSize) solid var(--tcfBackColor);
+}
+.ui-dialog .tab-content .charsheet :not(.image-borders, .bordered-item, .inline-fieldset) + fieldset + .repcontainer .repitem:last-child .display-target,
+.sheet-rolltemplate-storypath :not(.image-borders, .bordered-item, .inline-fieldset) + fieldset + .repcontainer .repitem:last-child .display-target {
+ border-radius: 0 0 var(--tcfRadius) var(--tcfRadius);
+}
+.ui-dialog .tab-content .charsheet .add-detail button,
+.sheet-rolltemplate-storypath .add-detail button {
+ font-family: var(--sectionHeaderFont);
+ font-size: 1rem;
+}
+
+#settings {
+ display: grid;
+ grid-template-columns: [header-start] repeat(auto-fit, minmax(315px, 1fr)) [header-end];
+ grid-template-rows: [header-start] auto [header-end];
+ gap: var(--big-gap);
+}
+#settings h1 {
+ grid-area: header;
+}
+#settings > section {
+ border: 1px solid black;
+ padding: 5px;
+ display: grid;
+ grid-template-columns: [header-start] repeat(auto-fit, minmax(150px, 1fr)) [header-end];
+ gap: var(--grid-gap);
+ align-content: start;
+}
+#settings > section > h2 {
+ grid-column: 1/-1;
+}
+
+#antagonist {
+ --antagonistHeadColor:transparent;
+ --antagonistHeadFontColor:black;
+ display: grid;
+ gap: var(--big-gap);
+ grid-template-columns: repeat(auto-fill, minmax(375px, 1fr));
+}
+#antagonist h1,
+#antagonist *[aria-level="1"] {
+ font-size: 2rem;
+}
+#antagonist h2,
+#antagonist *[aria-level="2"] {
+ font-size: 1.75rem;
+}
+#antagonist h3,
+#antagonist *[aria-level="3"] {
+ font-size: 1.5rem;
+}
+#antagonist h4,
+#antagonist *[aria-level="4"] {
+ font-size: 1.25rem;
+}
+#antagonist h5,
+#antagonist *[aria-level="5"] {
+ font-size: 1rem;
+}
+#antagonist.subsystem-style.system-scion-origin .statblock__row--header {
+ --antagonistHeadColor:#323f28;
+ --antagonistHeadFontColor:white ;
+}
+#antagonist.subsystem-style.system-scion-hero .statblock__row--header {
+ --antagonistHeadColor:#504436;
+ --antagonistHeadFontColor:white;
+}
+#antagonist .statblock__row--header {
+ background-color: var(--antagonistHeadColor);
+}
+#antagonist .statblock__row--header input:not(:where([type=checkbox], [type=radio])):not([readonly]):focus {
+ color: black;
+}
+#antagonist .statblock__row--header * {
+ color: var(--antagonistHeadFontColor);
+}
+#antagonist [class*=statblock__row] {
+ margin-bottom: var(--grid-gap);
+}
+
+#gm-screen,
+#party-screen {
+ display: grid;
+ gap: var(--big-gap);
+ grid-template-columns: repeat(auto-fill, minmax(375px, 1fr));
+}
+#gm-screen > *,
+#party-screen > * {
+ align-self: start;
+}
+
+#tension,
+#party-momentum {
+ display: grid;
+ gap: var(--half-gap);
+}
+#tension > .dot-row,
+#party-momentum > .dot-row {
+ place-self: center;
+}
+
+#character_details {
+ grid-column: 1/-1;
+ display: grid;
+ grid-gap: var(--half-gap);
+ grid-template-columns: repeat(auto-fill, minmax(15rem, 1fr));
+}
+#character_details > .input-label {
+ width: 100%;
+}
+
+#momentum {
+ display: grid;
+ gap: var(--half-gap);
+}
+#momentum:not(.system-scion-hero) {
+ grid-template-columns: 1fr;
+ grid-template-areas: "header" "buttons";
+}
+#momentum.system-scion-hero {
+ grid-template-columns: 1fr 1fr;
+ grid-template-areas: "header header" "momentum legend" "momentum legend-max";
+ align-items: center;
+}
+#momentum.system-scion-hero .momentum-content {
+ grid-area: momentum;
+}
+#momentum.system-scion-hero .legend-content {
+ grid-area: legend;
+}
+#momentum.system-scion-hero .legend-max-content {
+ grid-area: legend-max;
+}
+#momentum > .dot-row {
+ place-self: center;
+}
+
+#virtue {
+ display: grid;
+ gap: var(--half-gap);
+ grid-template-areas: "header";
+}
+
+#skills {
+ display: grid;
+ gap: var(--half-gap);
+ grid-template-areas: "header";
+ grid-column: 1/-1;
+}
+#skills .repcontainer {
+ display: grid;
+ column-gap: var(--big-gap);
+ row-gap: var(--half-gap);
+ grid-template-columns: repeat(auto-fit, minmax(30rem, 1fr));
+}
+#skills .repcontainer .repitem {
+ display: inline-flex;
+ gap: var(--half-gap);
+ width: 100%;
+}
+#skills .repcontainer .repitem > button {
+ flex: 1 1 0;
+}
+#skills .repcontainer .repitem .dot-row {
+ flex: 1 1 auto;
+ gap: var(--half-gap);
+}
+#skills .repcontainer .repitem .dot-row > input {
+ width: 0;
+ flex: 1 1 0;
+}
+
+#attributes {
+ display: grid;
+ gap: var(--half-gap);
+ grid-column: var(--spanSectionColumn);
+ grid-template-rows: repeat(4, auto);
+ grid-template-columns: auto repeat(3, 1fr);
+ gap: var(--half-gap) var(--grid-gap);
+ grid-template-areas: "header header header header" ". mental-head physical-head social-head" "power-head mental-power physical-power social-power " "finesse-head mental-finesse physical-finesse social-finesse " "resistance-head mental-resistance physical-resistance social-resistance ";
+}
+#attributes > .approach-container {
+ display: contents;
+}
+#attributes > .approach-container.power h4 {
+ grid-area: power-head;
+}
+#attributes > .approach-container.finesse h4 {
+ grid-area: finesse-head;
+}
+#attributes > .approach-container.reistance h4 {
+ grid-area: reistance-head;
+}
+#attributes > .approach-container > :nth-child(2) {
+ grid-column: 2;
+}
+#attributes > .approach-container > :nth-child(3) {
+ grid-column: 3;
+}
+#attributes > .approach-container > :nth-child(4) {
+ grid-column: 4;
+}
+#attributes .dot-row {
+ display: grid;
+ grid-template-columns: 9rem auto;
+ place-content: center;
+}
+#attributes h3[data-i18n=mental] {
+ grid-area: mental-head;
+}
+#attributes h3[data-i18n=physical] {
+ grid-area: physical-head;
+}
+#attributes h3[data-i18n=social] {
+ grid-area: social-head;
+}
+#attributes h4 {
+ place-self: center start;
+}
+
+#health {
+ display: grid;
+ gap: var(--half-gap);
+ grid-template-columns: repeat(2, 1fr);
+ grid-template-areas: "header header";
+}
+#health .input-label--button {
+ justify-self: center;
+}
+#health .repitem {
+ align-self: start;
+ display: inline-block;
+ margin-bottom: var(--half-gap);
+}
+#health .repcontainer {
+ display: block;
+ grid-column: 1/-1;
+}
+#health .type-control[value="taken out"] ~ .type,
+#health .type-control:not([value="taken out"]) ~ .taken-out {
+ display: none;
+}
+#health .type-control[value*=short-] ~ .type > .adaptive--text {
+ display: none;
+}
+#health .taken-out {
+ display: grid;
+ gap: var(--half-gap);
+ grid-template-columns: auto auto;
+}
+#health .type {
+ display: grid;
+ gap: var(--half-gap);
+ grid-template-columns: auto auto 1fr;
+ grid-template-areas: "checkbox select name" "description description description";
+}
+#health .repitem:last-of-type > .itemcontrol {
+ display: none;
+}
+
+#aspirations {
+ gap: var(--half-gap);
+}
+#aspirations .content,
+#aspirations .header {
+ display: contents;
+}
+#aspirations .display-control:not([value=header]) ~ .header,
+#aspirations .display-control:is([value=header],
+[value=loading]) ~ .content {
+ display: none;
+}
+#aspirations input[type=checkbox] {
+ flex: 0 0 auto;
+}
+#aspirations .repcontainer {
+ row-gap: var(--half-gap);
+}
+#aspirations .repitem {
+ display: grid;
+ grid-template-columns: auto 1fr auto;
+ gap: var(--tiny-gap);
+ align-items: start;
+}
+#aspirations .repitem input[type=checkbox] {
+ align-self: unset;
+}
+#aspirations .adaptive--text {
+ --height:1.5rem;
+}
+#aspirations .experience {
+ --inputSize:10rem;
+ padding: 5px;
+ display: grid;
+ grid-template-columns: repeat(3, minmax(calc(var(--inputSize) / 2), var(--inputSize)));
+ justify-content: center;
+ align-items: center;
+ gap: var(--half-gap);
+}
+#aspirations .experience :first-child {
+ line-height: 1rem;
+ grid-column: 1/-1;
+}
+#aspirations .experience .slash {
+ place-self: center;
+ font-size: 1.5rem;
+ font-weight: bold;
+ line-height: 1rem;
+}
+#aspirations .experience input[type=number] {
+ width: 100%;
+}
+
+#paths {
+ gap: var(--half-gap);
+ --masterColumns: 6rem 1fr auto;
+}
+#paths h5 {
+ place-self: center start;
+}
+#paths .dot-row,
+#paths .dot-number {
+ place-self: center end;
+}
+#paths .short-master {
+ grid-template-areas: "type name status" "description description description";
+}
+#paths .short-master span[role=heading] {
+ text-align: left;
+}
+#paths .short-master,
+#paths .master {
+ grid-template-columns: var(--masterColumns);
+}
+#paths .master {
+ grid-template-areas: "type name status" "skills skills skills" "description description description";
+}
+#paths .master .skills {
+ grid-area: skills;
+}
+#paths .short-contact {
+ grid-template-columns: auto repeat(2, 1fr) 2rem;
+}
+#paths .contact {
+ grid-template-columns: auto repeat(2, 1fr) auto;
+ grid-template-areas: "header name tag dot" "description description description description";
+}
+#paths .short-access,
+#paths .short-group {
+ grid-template-columns: auto 1fr;
+ grid-template-areas: "header description";
+}
+#paths .access,
+#paths .group {
+ grid-template-columns: 1fr;
+ grid-template-rows: repeat(2, auto);
+ grid-template-areas: "header" "description";
+}
+#paths .short-obligation {
+ grid-template-columns: auto 1fr auto;
+}
+#paths .obligation {
+ grid-template-columns: 1fr auto;
+ grid-template-rows: repeat(2, auto);
+ grid-template-areas: "header select" "description description";
+}
+#trademark,
+#quip,
+#trope,
+#stunt {
+ gap: var(--half-gap);
+}
+#trademark .display-target,
+#quip .display-target,
+#trope .display-target,
+#stunt .display-target {
+ grid-template-columns: 1fr auto;
+ gap: var(--half-gap);
+}
+#trademark .input-label,
+#quip .input-label,
+#trope .input-label,
+#stunt .input-label {
+ place-self: center;
+}
+#trademark .adaptive,
+#quip .adaptive,
+#trope .adaptive,
+#stunt .adaptive {
+ grid-column: 1/-1;
+}
+
+#calling {
+ gap: var(--half-gap);
+}
+#calling .calling {
+ grid-template-columns: auto 1fr repeat(5, auto);
+ grid-template-areas: "button name dots";
+}
+#calling .calling .dot-button-container {
+ grid-area: dots;
+}
+#calling .calling .used {
+ --selectedRadio: grey;
+}
+#calling .calling .used .dot + .readonly-dot {
+ z-index: 10;
+}
+#calling .calling .used .dot:checked + .readonly-dot ~ .readonly-dot {
+ z-index: -10;
+}
+#calling .short-knack {
+ grid-template-columns: auto 1fr auto auto;
+}
+#calling .knack {
+ grid-template-columns: auto 1fr auto auto;
+ grid-template-areas: "enable name select roll" ". . . ." ". description description description";
+}
+#calling .knack .description {
+ grid-area: description;
+}
+#calling .repitem > .display-target > .clash {
+ grid-column: 2/-1;
+}
+
+#purview .short-master * {
+ text-align: left;
+}
+#purview .boon,
+#purview .short-boon {
+ grid-template-columns: repeat(2, 1fr);
+}
+#purview .boon .name,
+#purview .short-boon .name {
+ text-align: left;
+}
+
+#birthrights {
+ --startRow:
+ "header header header"
+ "name name rating" ;
+}
+#birthrights .repitem:not(:last-child) {
+ margin-bottom: var(--half-gap);
+}
+#birthrights .display-target {
+ grid-template-areas: var(--startRow);
+}
+#birthrights .display-target:not([class*=short]) {
+ grid-template-columns: 2fr repeat(2, 1fr);
+}
+#birthrights .display-target[class*=short] {
+ grid-template-columns: 1fr 1fr 2rem;
+}
+#birthrights .display-target[class*=short] .input-label:nth-child(odd) {
+ grid-column: span 2;
+}
+#birthrights .display-target .detail-container {
+ grid-column: 1/-1;
+ display: grid;
+ grid-template-columns: repeat(2, 1fr);
+ gap: var(--half-gap);
+}
+#birthrights .display-target .name {
+ grid-area: name;
+}
+#birthrights .display-target .rating {
+ grid-area: rating;
+}
+#birthrights .display-target > h5 {
+ grid-column: 1/-1;
+ place-self: center start;
+}
+#birthrights .expanded-control[value=relic] + .display-target .relic {
+ display: flex;
+}
+#birthrights .expanded-control[value=guide] + .display-target .guide {
+ display: flex;
+}
+#birthrights .expanded-control[value=creature] + .display-target .creature {
+ display: flex;
+}
+#birthrights .expanded-control[value=follower] + .display-target .follower {
+ display: flex;
+}
+#birthrights *[role=heading] {
+ place-self: center start;
+}
+#birthrights .repcontainer:not(:empty) ~ .add-container {
+ margin-top: -14px;
+ background-image: var(--image-marble-right), var(--image-marble-left), var(--image-marble-bottom);
+ background-repeat: repeat-y, repeat-y, no-repeat;
+ background-position: top right var(--offset), top left var(--offset), bottom var(--offset) left;
+ background-size: var(--short-side) max(981px, 100%), var(--short-side) max(981px, 100%), max(1500px, 100%) var(--short-side);
+ clip-path: var(--bottomNotch);
+}
+#birthrights .repcontainer .repitem:last-child .image-border {
+ clip-path: var(--topNotch);
+ background-image: var(--image-marble-top), var(--image-marble-right), var(--image-marble-left);
+ background-repeat: no-repeat, repeat-y, repeat-y;
+ background-position: top var(--offset) left, top right var(--offset), top left var(--offset);
+ background-size: max(1500px, 100%) var(--short-side), var(--short-side) max(981px, 100%), var(--short-side) max(981px, 100%);
+}
+#equipment .display-control[value*=short] + .image-border {
+ display: none;
+}
+#equipment .repcontainer {
+ display: grid;
+ grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
+ gap: var(--tiny-gap) var(--grid-gap);
+}
+#equipment .repitem {
+ align-self: start;
+ display: inline-grid;
+ width: 100%;
+ margin-bottom: var(--half-gap);
+ box-sizing: border-box;
+}
+#equipment .display-target {
+ grid-template-columns: 1fr 1fr;
+}
+#equipment .display-target span {
+ min-height: 1rem;
+}
+#equipment .display-target > span:first-of-type {
+ place-self: end start;
+}
+#equipment .display-target > span:not(:first-of-type) {
+ place-self: end end;
+}
+#equipment .display-target.short-equipment {
+ border-bottom: 1px solid black;
+}
+
+#notes {
+ grid-column-end: -1;
+ grid-template-areas: "header" "content";
+}
+#notes .adaptive--text {
+ grid-column: 1/-1;
+}
+
+#move-defense {
+ place-content: start center;
+ grid-template-columns: auto 3em;
+}
+#move-defense :not(input) {
+ justify-self: start;
+}
+
+#antagonist .skill-row .repcontainer {
+ display: contents;
+}
+
+.sheet-rolltemplate-storypath {
+ --templateRadius: 1rem;
+ --dieSize: 50px;
+ --templateBorderW: 2px 5px 2px 5px;
+ --fumbleColor: red;
+ --critColor: green;
+ --innerBorderRadius: 5px;
+ --borderSize:1px;
+ font-size: 13px;
+ margin-left: -40px;
+ margin-right: -5px;
+ filter: drop-shadow(var(--borderSize) 0 black) drop-shadow(calc(var(--borderSize) * -1) 0 black);
+}
+.sheet-rolltemplate-storypath:not(:first-child) {
+ margin-top: 10px;
+}
+.sheet-rolltemplate-storypath:first-child .sheet-continuation {
+ margin-top: -9px;
+}
+.sheet-rolltemplate-storypath span {
+ font-size: 1em;
+}
+.sheet-rolltemplate-storypath h3 {
+ font-size: 1.75em;
+}
+.sheet-rolltemplate-storypath h4 {
+ font-size: 1.5em;
+}
+.sheet-rolltemplate-storypath h5 {
+ font-size: 1em;
+}
+.sheet-rolltemplate-storypath > .sheet-template {
+ overflow: hidden;
+}
+.sheet-rolltemplate-storypath > .sheet-template:before,
+.sheet-rolltemplate-storypath > .sheet-template > .sheet-upper-blur,
+.sheet-rolltemplate-storypath > .sheet-template > .sheet-lower-blur {
+ z-index: -1;
+}
+.sheet-rolltemplate-storypath > .sheet-template.sheet-continuation .sheet-results {
+ display: flex;
+ flex-wrap: wrap;
+ justify-content: end;
+ gap: var(--half-gap);
+}
+.sheet-rolltemplate-storypath > .sheet-template.sheet-continuation:first-child:before,
+.sheet-rolltemplate-storypath > .sheet-template.sheet-continuation:first-child > .sheet-upper-blur,
+.sheet-rolltemplate-storypath > .sheet-template.sheet-continuation:first-child > .sheet-lower-blur {
+ z-index: 0;
+}
+.sheet-rolltemplate-storypath > .sheet-template .inlinerollresult {
+ position: relative;
+ font-size: 1.5em;
+}
+.sheet-rolltemplate-storypath > .sheet-template .inlinerollresult[title*="[computed value]"], .sheet-rolltemplate-storypath > .sheet-template .inlinerollresult[original-title*="[computed value]"] {
+ pointer-events: none;
+}
+.sheet-rolltemplate-storypath > .sheet-template .inlinerollresult, .sheet-rolltemplate-storypath > .sheet-template .inlinerollresult.fullcrit, .sheet-rolltemplate-storypath > .sheet-template .inlinerollresult.fullfail, .sheet-rolltemplate-storypath > .sheet-template .inlinerollresult.importantroll {
+ border: none;
+ background-color: transparent;
+}
+.sheet-rolltemplate-storypath > .sheet-template .inlinerollresult.fullcrit {
+ color: green;
+}
+.sheet-rolltemplate-storypath > .sheet-template .inlinerollresult.fullfail {
+ color: red;
+}
+.sheet-rolltemplate-storypath > .sheet-template .inlinerollresult.importantroll {
+ color: blue;
+}
+.sheet-rolltemplate-storypath .sheet-header {
+ padding: 5px;
+ display: grid;
+ grid-template-columns: 1fr 2rem 1fr;
+ gap: var(--half-gap);
+ background: var(--tcfGreen);
+ border-radius: 5px 5px 0 0;
+}
+.sheet-rolltemplate-storypath .sheet-header * {
+ color: white;
+}
+.sheet-rolltemplate-storypath .sheet-header .sheet-character_name {
+ grid-column: 1/-1;
+ place-self: center end;
+}
+.sheet-rolltemplate-storypath .sheet-header .sheet-title {
+ grid-column: 1/-1;
+ place-self: center;
+}
+.sheet-rolltemplate-storypath .sheet-template-row {
+ padding: 5px;
+ grid-template-columns: minmax(6em, 1fr) repeat(auto-fit, minmax(1rem, 1fr));
+ place-items: center;
+ background-color: white;
+}
+.sheet-rolltemplate-storypath .sheet-template-row:nth-child(odd) {
+ background-color: lightgrey;
+}
+.sheet-rolltemplate-storypath .sheet-template-row > *:first-child {
+ place-self: center start;
+}
\ No newline at end of file
diff --git a/they_came_from/they_came_from.html b/they_came_from/they_came_from.html
new file mode 100644
index 0000000000..481a1a5703
--- /dev/null
+++ b/they_came_from/they_came_from.html
@@ -0,0 +1,3288 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ y
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
{{#^rollBetween() computed::finished 0 0}} {{/^rollBetween() computed::finished 0 0}}
+
+
+
+
+ {{#vs}}
+
+
{{vs}}
+ {{/vs}}{{#display_dice}}
+
{{^continuation}}
+
{{/continuation}}{{roll_1}} {{roll_2}} {{roll_3}} {{roll_4}} {{roll_5}} {{roll_6}} {{roll_7}} {{roll_8}} {{roll_9}} {{roll_10}}
+ {{/display_dice}}{{#^rollTotal() computed::finished 0}}{{#enhancements}}
+
+
{{enhancements}}
+ {{/enhancements}}{{#successes}}
+
+
{{computed::successes}}
+ {{/successes}}{{#difficulty}}
+
+
{{computed::difficulty}}
+ {{/difficulty}}{{#extra_successes}}
+
+
{{computed::extra_successes}}
+ {{/extra_successes}}{{#description}}
+
+
{{description}}
+ {{/description}}{{/^rollTotal() computed::finished 0}}
+
+
+
+
+
\ No newline at end of file
diff --git a/they_came_from/translation.json b/they_came_from/translation.json
new file mode 100644
index 0000000000..9ea34ad009
--- /dev/null
+++ b/they_came_from/translation.json
@@ -0,0 +1,274 @@
+{
+ "beneath-the-sea":"beneath the sea",
+ "special rules description":"special rules description",
+ "special rules name":"special rules name",
+ "threat":"threat",
+ "goals":"goals",
+ "special rules":"special rules",
+ "simple":"simple",
+ "flashy":"flashy",
+ "daring":"daring",
+ "Just a Flesh Wound":"Just a Flesh Wound",
+ "That'll Leave a Scar":"That'll Leave a Scar",
+ "Last-Ditch Effort":"Last-Ditch Effort",
+ "Don't Forget Me":"Don't Forget Me",
+ "Death Scene":"Death Scene",
+ "select one":"select one",
+ "trademark description":"trademark description",
+ "stunt description":"stunt description",
+ "quip description":"quip description",
+ "trope description":"trope description",
+ "concept":"concept",
+ "trademarks":"trademarks",
+ "favored stunts":"favored stunts",
+ "quips":"quips",
+ "tropes":"tropes",
+ "attribute only":"attribute only",
+ "sheet settings": "sheet settings",
+ "name": "name",
+ "chronicle": "chronicle",
+ "player": "player",
+ "parent": "parent",
+ "skills": "skills",
+ "attributes": "attributes",
+ "mental": "mental",
+ "physical": "physical",
+ "social": "social",
+ "power": "power",
+ "intellect": "intellect",
+ "intellect clear": "{{0}} | clear intellect",
+ "might": "might",
+ "might clear": "{{0}} | clear might",
+ "presence": "presence",
+ "presence clear": "{{0}} | clear presence",
+ "finesse": "finesse",
+ "cunning": "cunning",
+ "cunning clear": "{{0}} | clear cunning",
+ "dexterity": "dexterity",
+ "dexterity clear": "{{0}} | clear dexterity",
+ "manipulation": "manipulation",
+ "manipulati clear": "{{0}} | clear manipulati",
+ "resilience": "resilience",
+ "resolve": "resolve",
+ "resolve clear": "{{0}} | clear resolve",
+ "stamina": "stamina",
+ "stamina clear": "{{0}} | clear stamina",
+ "composure": "composure",
+ "composure clear": "{{0}} | clear composure",
+ "paths": "paths",
+ "aspirations": "aspirations",
+ "virtue": "virtue",
+ "virtue -2": "{{0}} | -2 virtue",
+ "virtue -1": "{{0}} | -1 virtue",
+ "knacks": "knacks",
+ "contacts": "contacts",
+ "calling & knacks": "calling & knacks",
+ "callings & knacks": "callings & knacks",
+ "callings":"callings",
+ "momentum": "momentum",
+ "momentum clear": "{{0}} | clear momentum",
+ "momentum 10": "{{0}} | 10 momentum",
+ "momentum 11": "{{0}} | 11 momentum",
+ "momentum 12": "{{0}} | 12 momentum",
+ "health": "health",
+ "notes": "notes",
+ "movement dice": "movement dice",
+ "defense roll": "defense roll",
+ "system": "system",
+ "scion-origin": "scion: origin",
+ "scion-hero": "scion: hero",
+ "aim": "aim",
+ "athletics": "athletics",
+ "close combat": "close combat",
+ "command":"command",
+ "culture": "culture",
+ "empathy": "empathy",
+ "enigmas": "enigmas",
+ "humanities":"humanities",
+ "integrity": "integrity",
+ "larceny": "larceny",
+ "medicine": "medicine",
+ "persuasion": "persuasion",
+ "pilot": "pilot",
+ "science": "science",
+ "survival": "survival",
+ "technology": "technology",
+ "attribute query": "Which attribute are you using",
+ "skill query": "Which skill would you like to use",
+ "difficulty query": "What is the difficulty",
+ "off": "off",
+ "on": "on",
+ "target number": "target number",
+ "difficulty automation": "difficulty automation",
+ "open the settings page": "Open the settings page",
+ "open the character page": "open the character page",
+ "system options": "system options",
+ "sheet behavior": "sheet behavior",
+ "computed value": "computed value",
+ "collapse/expand the section": "collapse/expand the section",
+ "successes": "successes",
+ "difficulty": "difficulty",
+ "extra successes": "extra successes",
+ "skill": "skill",
+ "attribute": "attribute",
+ "create a path": "Create Path",
+ "create a aspiration": "Create aspiration",
+ "create a knack": "Create Knack",
+ "create a contact": "Create Contact",
+ "create a calling": "Create Calling",
+ "edit section": "edit section",
+ "results": "results",
+ "mortal": "mortal",
+ "immortal": "immortal",
+ "type of path": "Path Type",
+ "name of the path": "Path Name",
+ "available": "available",
+ "invoked": "invoked",
+ "suspended": "suspended",
+ "revoked": "revoked",
+ "describe the path": "Describe the path",
+ "contact": "contact",
+ "tags": "tags",
+ "describe your contact": "Describe your contact",
+ "group": "group",
+ "create a group": "Create Group",
+ "describe the group": "Describe the group",
+ "access": "access",
+ "create a access": "Create Access",
+ "describe the access": "Describe the access",
+ "obligation": "obligation",
+ "create a obligation": "Create Obligation",
+ "pending": "pending",
+ "completed": "completed",
+ "failed": "failed",
+ "describe the obligation": "Describe the obligation",
+ "collapse/expand section": "Collapse/Expand Section",
+ "expand subsection": "Expand Subsection",
+ "collapse subsection": "Collapse Subsection",
+ "Associated skills": "Associated skills",
+ "Path condition": "Path condition",
+ "completed aspirations": "completed aspirations",
+ "processing": "processing",
+ "expand/collapse completed aspirations": "expand/collapse completed aspirations",
+ "knack level": "knack level",
+ "band": "band",
+ "short": "short",
+ "long": "long",
+ "maimed": "maimed",
+ "bruised": "bruised",
+ "injured": "injured",
+ "taken out": "taken out",
+ "injury name": "Injury name",
+ "injury effect": "Injury effect",
+ "aspiration description": "description",
+ "clash": "clash of wills",
+ "roll clash of wills": "roll clash of wills",
+ "purviews": "purviews",
+ "purview name": "Purview Name",
+ "describe the purview": "Describe the Purview",
+ "describe the boon": "Describe the Boon",
+ "create a boon": "create boon",
+ "cost": "cost",
+ "duration": "duration",
+ "subject": "subject",
+ "vs": "vs",
+ "range": "range",
+ "action": "action",
+ "select": "select",
+ "query": "query",
+ "legend": "legend",
+ "boon name": "Boon Name",
+ "birthrights": "birthrights",
+ "creature":"creature",
+ "follower":"follower",
+ "guide":"guide",
+ "relic":"relic",
+ "create a birthright-creature":"create a creature",
+ "create a birthright-follower":"create a follower",
+ "create a birthright-guide":"create a guide",
+ "create a birthright-relic3":"create a relic3",
+ "variety":"variety",
+ "tag":"tag",
+ "aspiration":"aspiration",
+ "purview":"purview",
+ "motif":"motif",
+ "enhancement":"enhancement",
+ "knack":"knack",
+ "flaw":"flaw",
+ "benefit":"benefit",
+ "stunt":"stunt",
+ "calling":"calling",
+ "title":"title",
+ "archetype":"archetype",
+ "rating":"rating",
+ "equipment":"equipment",
+ "describe the item":"describe the item",
+ "experience":"experience",
+ "used":"used",
+ "earned":"earned",
+ "remaining":"remaining",
+ "all pages":"all",
+ "general pages":"general",
+ "powers pages":"powers",
+ "again":"again",
+ "no dice available":"no dice available",
+ "antagonist":"antagonist",
+ "View all sections":"View all sections",
+ "View general information":"View only general information",
+ "View powers information":"View only powers information",
+ "View antagonist":"View antagonist sheet",
+ "primary pool":"primary pool",
+ "secondary pool":"secondary pool",
+ "desperation pool":"desperation pool",
+ "defense":"defense",
+ "initiative":"initiative",
+ "qualities":"qualities",
+ "flairs":"flairs",
+ "cooldown":"cooldown",
+ "drive":"drive",
+ "qualities description":"Describe the quality",
+ "flairs description":"Describe the flair",
+ "quality name":"Quality name",
+ "flair name":"Flair name",
+ "sheet type":"sheet type",
+ "character":"character",
+ "extras":"extras",
+ "extras description":"Describe the extra",
+ "extra name":"Extra name",
+ "rolls are":"rolls are",
+ "public":"public",
+ "whispered to gm":"whispered to gm",
+ "gm screen":"gm screen",
+ "tension":"tension",
+ "party screen":"party screen",
+ "system-description":"Your choice of system determines which sections are available on the sheet and how the sheet is styled. This should match the compendium entry that you have chosen for the sheet. So the Scion compendium should be chosen for Scion:Origin and Scion:Hero",
+ "legendary titles":"legendary titles",
+ "Knacks drop query":"Which calling should this knack belong to",
+ "Boons drop query":"Which purview should this boon belong to",
+ "type":"type",
+ "enhancements":"enhancements",
+ "enhancement automation":"enhancement automation",
+ "Do you have any enhancements":"Do you have any enhancements",
+ "Roll {{skill}} and {{attribute}} with {{enhancement number}} enhancements and {{addDice}} additional dice?":"Roll {{0}} and {{1}} with {{2}} enhancements and {{3}} additional dice?",
+ "Roll {{skill}} and {{attribute}} with {{enhancement number}} enhancements?":"Roll {{0}} and {{1}} with {{2}} enhancements?",
+ "Roll {{skill}} with {{enhancement number}} enhancements?":"Roll {{0}} with {{2}} enhancements?",
+ "Roll {{skill}} with {{enhancement number}} enhancements and {{addDice}} additional dice?":"Roll {{0}} with {{2}} enhancements and {{3}} additional dice?",
+ "Roll {{attribute}} with {{enhancement number}} enhancements?":"Roll {{1}} with {{2}} enhancements?",
+ "Roll {{attribute}} with {{enhancement number}} enhancements and {{addDice}} additional dice?":"Roll {{1}} with {{2}} enhancements and {{3}} additional dice?",
+ "Roll {{skill}} and {{attribute}}?":"Roll {{0}} and {{1}}?",
+ "Roll {{skill}} and {{attribute}} with {{addDice}} additional dice?":"Roll {{0}} and {{1}} with {{3}} additional dice?",
+ "Roll {{skill}}?":"Roll {{0}}?",
+ "Roll {{skill}} with {{addDice}} additional dice?":"Roll {{0}} with {{3}} additional dice?",
+ "Roll {{attribute}}?":"Roll {{0}}?",
+ "Roll {{attribute}} with {{addDice}} additional dice?":"Roll {{1}} with {{3}} additional dice?",
+ "additional dice query":"How many additional dice",
+ "Yes":"Yes",
+ "No":"No",
+ "Calling name":"Calling name",
+ "Calling description":"Describe the calling",
+ "Purview name":"Purview name",
+ "Innate power":"Innate power",
+ "Purview description":"Describe the purview",
+ "What is the purview's innate power?":"What is the purview's innate power?",
+ "":""
+}
\ No newline at end of file
diff --git a/vampire-v5/README.md b/vampire-v5/README.md
index b4413a2151..d857e10492 100644
--- a/vampire-v5/README.md
+++ b/vampire-v5/README.md
@@ -52,6 +52,9 @@ If you think anything is missing or you see any bugs, please message me via my [
## Versions
+### Version 2.5
+Added whispering and minor bug fix where two skills where the wrong way around. Added Cost and Duration fields to Disciplines
+
### Version 2.4
Added ability to hide attributes of 6+
diff --git a/vampire-v5/VTM_Dice_Mechanics.js b/vampire-v5/VTM_Dice_Mechanics.js
index 342c211096..2ec09d6a17 100644
--- a/vampire-v5/VTM_Dice_Mechanics.js
+++ b/vampire-v5/VTM_Dice_Mechanics.js
@@ -1,4 +1,4 @@
-// Vampire the Masquerade 5e Dice Mechanics by Momtahan K (Version 1.3).
+// Vampire the Masquerade 5e Dice Mechanics by Momtahan K (Version 1.4).
//
// The following code is an adaptation of that produced by Roll20 user Konrad J. for "Hero Quest Dice Mechanics".
// Many thanks for providing this code free to use.
@@ -27,6 +27,8 @@
// try to use it for commerical gain. This has been added to ensure the community benefits from it.
// Versions
+// Version 1.4
+// Enabled GM Whisper rolls
// Version 1.3
// Bug fix. Macros previously may have caused issues, removing some error checking to fix this issue.
// Version 1.2
@@ -115,7 +117,8 @@ var vtmGlobal = {
diceTestEnabled: false,
diceLogRolledOnOneLine: false,
luckydice: false,
- reroll: ""
+ reroll: "",
+ whisper: ""
};
function rollVTMDice(diceQty, type, dc) {
@@ -303,7 +306,7 @@ function processVampireDiceScript(run, dc) {
}
let endTemplateSection = "}} ";
- let outputMessage = "&{template:wod} {{name=" + user + endTemplateSection;
+ let outputMessage = vtmGlobal.whisper + "&{template:wod} {{name=" + user + endTemplateSection;
if (run.rollname) {
outputMessage += "{{Rollname=" + run.rollname + endTemplateSection;
@@ -728,6 +731,12 @@ function calculateVariables(argv, who) {
// The number of successes required (used for only certain rolls)
let value = parseInt(entry.substring(1), 10);
input.difficulty = value;
+ } else if (identifier === "g") {
+ i++;
+ let value = argv[i];
+ if (value != undefined) {
+ vtmGlobal.whisper= value.trim();
+ }
} else if (input.type === "remorse") {
log("remorse variable")
// Used for remorse rolls
@@ -820,7 +829,8 @@ function calculateDc(run) {
return dc;
}
-on("chat:message", function (msg) {
+on("chat:message", function (msg_orig) {
+ let msg=_.clone(msg_orig);
// returns the chat window command entered, all in lowercase.
if (msg.type != 'api') {
return;
diff --git a/vampire-v5/sheet.json b/vampire-v5/sheet.json
index 411de367f7..9a857865fd 100644
--- a/vampire-v5/sheet.json
+++ b/vampire-v5/sheet.json
@@ -4,7 +4,7 @@
"authors": "Momtahan K., Martinez A., Obi",
"roll20userid": "117780, 143652, 95940",
"preview": "preview.png",
- "version": 2.1,
+ "version": 2.5,
"patreon": "https://www.justgiving.com/fundraising/vtm-5thed-character-sheet-red-cross",
"tipeee:": "https://www.justgiving.com/fundraising/vtm-5thed-character-sheet-red-cross",
"instructions": "Warning updating to Version 2.0 will cause powers to disappear as their formatting has changed. Please copy them before updating then transfer back! For setup instruction, details on how to install the API script and how to get the most of the guide please check out the [Sheet Guide](https://wiki.roll20.net/Vampire_The_Masquerade_5th_edition#Welcome_to_The_World_of_Darkness) or the Guide section of the sheet. \n\n If you have a Pro-account be sure to include the [VTM 5th Edition Dice Mechanics API Script](https://github.com/Roll20/roll20-api-scripts/tree/master/vampire-v5) available on the Roll20 API script repository. \n\n Known Issue: Having tilde (~) in a players name can cause issues if using the API script.",
diff --git a/vampire-v5/vampirev5.html b/vampire-v5/vampirev5.html
index b7d0664f10..f67f075d29 100644
--- a/vampire-v5/vampirev5.html
+++ b/vampire-v5/vampirev5.html
@@ -1,5 +1,5 @@
+
@@ -78,6 +79,14 @@
+
+
Whisper rolls to GM:
+
+ Never
+ Query
+ Always
+
+
@@ -430,10 +439,10 @@
-
-
@@ -459,10 +468,10 @@
-
-
@@ -487,14 +496,11 @@
-
-
-
-
-
@@ -520,8 +526,8 @@
-
-
+
@@ -547,8 +553,8 @@
-
-
+
@@ -573,8 +579,8 @@
-
-
+
@@ -601,8 +607,8 @@
-
-
+
@@ -627,8 +633,8 @@
-
-
+
@@ -653,8 +659,8 @@
-
-
+
@@ -1049,12 +1055,12 @@
Max WP:
WP Re-roll:
-
-
+
Willpower:
-
-
+
@@ -1096,8 +1102,8 @@
-
-
+
@@ -1119,8 +1125,8 @@
-
-
+
@@ -1144,8 +1150,8 @@
-
-
+
@@ -1169,8 +1175,8 @@
-
-
+
@@ -1192,8 +1198,8 @@
-
-
+
@@ -1215,8 +1221,8 @@
-
-
+
@@ -1240,8 +1246,8 @@
-
-
+
@@ -1263,8 +1269,8 @@
-
-
+
@@ -1286,8 +1292,8 @@
-
-
+
@@ -1311,8 +1317,8 @@
-
-
+
@@ -1334,8 +1340,8 @@
-
-
+
@@ -1357,8 +1363,8 @@
-
-
+
@@ -1382,8 +1388,8 @@
-
-
+
@@ -1405,8 +1411,8 @@
-
-
+
@@ -1428,84 +1434,13 @@
-
-
+
-
-
- Melee
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Performance
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Occult
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
Larceny
@@ -1524,12 +1459,83 @@
-
-
+
+
+ Performance
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Occult
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Melee
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Persuasion
@@ -1547,8 +1553,8 @@
-
-
+
@@ -1570,8 +1576,8 @@
-
-
+
@@ -1595,8 +1601,8 @@
-
-
+
@@ -1618,8 +1624,8 @@
-
-
+
@@ -1641,8 +1647,8 @@
-
-
+
@@ -1666,8 +1672,8 @@
-
-
+
@@ -1689,8 +1695,8 @@
-
-
+
@@ -1712,8 +1718,8 @@
-
-
+
@@ -1789,8 +1795,8 @@
-
-
+
@@ -1847,8 +1853,8 @@
Technology
-
+
@@ -1859,8 +1865,8 @@
Power 1
-
-
+
@@ -1917,16 +1923,22 @@
Technology
+ value='!vtm skill r@{Hunger} g~@{wtype} ~ a@{DPPowerAtt1} s@{DPPowerAbi1} m?{Modifiers|0} b@{BloodPotency} c~@{name} ~ t~@{DisciplinePowerName1}~'>
-
+
+
Cost
+
+ Duration
+
+
Details
Display
-
@@ -1934,8 +1946,8 @@
Power 2
-
-
+
@@ -1992,16 +2004,22 @@
Technology
+ value='!vtm skill r@{Hunger} g~@{wtype} ~ a@{DPPowerAtt2} s@{DPPowerAbi2} m?{Modifiers|0} b@{BloodPotency} c~@{name} ~ t~@{DisciplinePowerName2}~'>
-
+
+
Cost
+
+ Duration
+
+
Details
Display
-
@@ -2009,8 +2027,8 @@
Power 3
-
-
+
@@ -2067,16 +2085,22 @@
Technology
+ value='!vtm skill r@{Hunger} g~@{wtype} ~ a@{DPPowerAtt3} s@{DPPowerAbi3} m?{Modifiers|0} b@{BloodPotency} c~@{name} ~ t~@{DisciplinePowerName3}~'>
-
+
+
Cost
+
+ Duration
+
+
Details
Display
-
@@ -2084,8 +2108,8 @@
Power 4
-
-
+
@@ -2142,16 +2166,22 @@
Technology
+ value='!vtm skill r@{Hunger} g~@{wtype} ~ a@{DPPowerAtt4} s@{DPPowerAbi4} m?{Modifiers|0} b@{BloodPotency} c~@{name} ~ t~@{DisciplinePowerName4}~'>
-
+
+
Cost
+
+ Duration
+
+
Details
Display
-
@@ -2159,8 +2189,8 @@
Power 5
-
-
+
@@ -2217,16 +2247,22 @@
Technology
+ value='!vtm skill r@{Hunger} g~@{wtype} ~ a@{DPPowerAtt5} s@{DPPowerAbi5} m?{Modifiers|0} b@{BloodPotency} c~@{name} ~ t~@{DisciplinePowerName5}~'>
-
+
+
Cost
+
+ Duration
+
+
Details
Display
-
@@ -2275,8 +2311,8 @@
-
-
+
@@ -2333,8 +2369,8 @@
Technology
-
+
@@ -2347,7 +2383,7 @@
Details
Display
-
@@ -2500,28 +2536,28 @@
Rouse
-
-
+
Frenzy
-
-
+
Remorse
-
-
+
Humanity
-
-
@@ -3026,8 +3062,8 @@
Technology
-
+
@@ -3396,7 +3432,7 @@
-
+
@@ -3434,7 +3470,7 @@
/>
-
+
@@ -3529,7 +3565,7 @@
-
@@ -3570,7 +3606,7 @@
-