WIP: Sorting localization strings

master
U~man 2020-07-11 23:38:23 +02:00
parent f1412c6d55
commit 60fbd30bce
11 changed files with 266 additions and 269 deletions

View File

@ -17,36 +17,36 @@
"OSE.RollMode": "Roll Mode", "OSE.RollMode": "Roll Mode",
"OSE.RollExample": "e.g. +1d4", "OSE.RollExample": "e.g. +1d4",
"OSE.Name": "Name", "OSE.appearing.check": "Appearing Check",
"OSE.Class": "Class", "OSE.morale.check": "Morale Check",
"OSE.Title": "Title",
"OSE.Alignment": "Alignment", "OSE.details.name": "Name",
"OSE.Level": "Level", "OSE.details.class": "Class",
"OSE.Experience": "Experience", "OSE.details.title": "Title",
"OSE.ExperienceBonus": "Bonus Experience", "OSE.details.alignment": "Alignment",
"OSE.ExperienceNextLevel": "Next level", "OSE.details.level": "Level",
"OSE.ExperienceAward": "XP Award", "OSE.details.experience.base": "Experience",
"OSE.Treasure": "Treasure type", "OSE.details.experience.bonus": "Bonus Experience",
"OSE.TreasureTable": "Table", "OSE.details.experience.next": "Next level",
"OSE.TreasureTableHint": "Drop a rollable table here to roll the monster treasure", "OSE.details.experience.award": "XP Award",
"OSE.Size": "Size", "OSE.details.treasure": "Treasure type",
"OSE.Morale": "Morale", "OSE.details.treasureTable": "Table",
"OSE.MoraleCheck": "Morale Check", "OSE.details.TreasureTableHint": "Drop a rollable table here to roll the monster treasure",
"OSE.Reaction": "Reaction", "OSE.details.morale": "Morale",
"OSE.ReactionCheck": "Reaction Check", "OSE.details.reaction": "Reaction",
"OSE.Retainer": "Retainer", "OSE.details.appearing": "NA",
"OSE.RetainerWage": "Wage",
"OSE.RetainerUpkeep": "Upkeep",
"OSE.Appearing": "NA",
"OSE.AppearingCheck": "Appearing Check",
"OSE.Attack": "Attack", "OSE.Attack": "Attack",
"OSE.Encumbrance": "Encumbrance", "OSE.Encumbrance": "Encumbrance",
"OSE.Retainer": "Retainer",
"OSE.RetainerWage": "Wage",
"OSE.RetainerUpkeep": "Upkeep",
"OSE.Loyalty": "Loyalty Rating", "OSE.Loyalty": "Loyalty Rating",
"OSE.LoyaltyShort": "LR", "OSE.LoyaltyShort": "LR",
"OSE.AttributeCheck": "Attribute Check", "OSE.scores.check": "Attribute Check",
"OSE.AttributeCheckDetails": "Roll 1d20 <= {score} for success", "OSE.scores.details": "Roll 1d20 <= {score} for success",
"OSE.scores.str.long": "Strength", "OSE.scores.str.long": "Strength",
"OSE.scores.str.short": "STR", "OSE.scores.str.short": "STR",
"OSE.scores.wis.long": "Wisdom", "OSE.scores.wis.long": "Wisdom",
@ -60,8 +60,8 @@
"OSE.scores.cha.long": "Charisma", "OSE.scores.cha.long": "Charisma",
"OSE.scores.cha.short": "CHA", "OSE.scores.cha.short": "CHA",
"OSE.SavingThrow": "Save", "OSE.saves.check": "Save",
"OSE.SavingThrowDetails": "Roll 1d20 >= {save} for success", "OSE.saves.details": "Roll 1d20 >= {save} for success",
"OSE.saves.death.short": "D", "OSE.saves.death.short": "D",
"OSE.saves.death.long": "Death Poison", "OSE.saves.death.long": "Death Poison",
"OSE.saves.wand.short": "W", "OSE.saves.wand.short": "W",
@ -79,14 +79,17 @@
"OSE.HealthShort": "HP", "OSE.HealthShort": "HP",
"OSE.HitDice": "Hit Dice", "OSE.HitDice": "Hit Dice",
"OSE.HitDiceShort": "HD", "OSE.HitDiceShort": "HD",
"OSE.Movement": "Movement Rate",
"OSE.MovementDetails": "Movement Details", "OSE.movement.base": "Movement Rate",
"OSE.MovementEncounter": "Encounter Movement Rate", "OSE.movement.short": "MV",
"OSE.MovementEncounterShort": "En", "OSE.movement.details": "Movement Details",
"OSE.MovementOverland": "Overland Movement Rate", "OSE.movement.encounter.long": "Encounter Movement Rate",
"OSE.MovementOverlandShort": "Ov", "OSE.movement.encounter.short": "En",
"OSE.MovementExplorationShort": "Ex", "OSE.movement.overland.long": "Overland Movement Rate",
"OSE.MovementShort": "MV", "OSE.movement.overland.short": "Ov",
"OSE.movement.exploration.short": "Ex",
"OSE.movement.exploration.long": "Exploration Movement Rate",
"OSE.ArmorClassNaked": "Naked Armor Class", "OSE.ArmorClassNaked": "Naked Armor Class",
"OSE.ArmorClass": "Armor Class", "OSE.ArmorClass": "Armor Class",
"OSE.ArmorClassShort": "AC", "OSE.ArmorClassShort": "AC",
@ -126,9 +129,7 @@
"OSE.category.notes": "Notes", "OSE.category.notes": "Notes",
"OSE.category.languages": "Languages", "OSE.category.languages": "Languages",
"OSE.category.description": "Description", "OSE.category.description": "Description",
"OSE.category.equipment": "Equipment",
"OSE.panel.abilities": "Abilities",
"OSE.panel.equipment": "Equipment",
"OSE.Setting.IndividualInit": "Individual Initiative", "OSE.Setting.IndividualInit": "Individual Initiative",
"OSE.Setting.IndividualInitHint": "Initiative is rolled for each actor and modified by its DEX score", "OSE.Setting.IndividualInitHint": "Initiative is rolled for each actor and modified by its DEX score",
@ -195,8 +196,8 @@
"OSE.abilities.Requirements": "Requirements", "OSE.abilities.Requirements": "Requirements",
"OSE.ExplorationCheck": "Check", "OSE.exploration.check": "Check",
"OSE.ExplorationCheckDetails": "Roll 1d6 <= {expl} for success", "OSE.exploration.details": "Roll 1d6 <= {expl} for success",
"OSE.exploration.ld.long": "Listen at Door", "OSE.exploration.ld.long": "Listen at Door",
"OSE.exploration.ld.short": "Listen Door", "OSE.exploration.ld.short": "Listen Door",
"OSE.exploration.ld.abrev": "LD", "OSE.exploration.ld.abrev": "LD",
@ -215,8 +216,8 @@
"OSE.messages.AttackAscendingSuccess": "<b>Hits AC {result}!</b>", "OSE.messages.AttackAscendingSuccess": "<b>Hits AC {result}!</b>",
"OSE.messages.AttackFailure": "<b>Attack fails</b> ({bonus})", "OSE.messages.AttackFailure": "<b>Attack fails</b> ({bonus})",
"OSE.messages.InflictsDamage": "Inflicts damage!", "OSE.messages.InflictsDamage": "Inflicts damage!",
"OSE.ChatContextDamage": "Apply Damage", "OSE.messages.applyDamage": "Apply Damage",
"OSE.ChatContextHealing": "Apply Healing", "OSE.messages.ApplyHealing": "Apply Healing",
"OSE.colors.green": "Green", "OSE.colors.green": "Green",
"OSE.colors.red": "Red", "OSE.colors.red": "Red",
@ -226,6 +227,7 @@
"OSE.colors.orange": "Orange", "OSE.colors.orange": "Orange",
"OSE.colors.white": "White", "OSE.colors.white": "White",
"OSE.reaction.check": "Reaction Check",
"OSE.reaction.Hostile": "{name} is Hostile", "OSE.reaction.Hostile": "{name} is Hostile",
"OSE.reaction.Unfriendly": "{name} is Unfriendly", "OSE.reaction.Unfriendly": "{name} is Unfriendly",
"OSE.reaction.Neutral": "{name} is Neutral", "OSE.reaction.Neutral": "{name} is Neutral",

View File

@ -115,9 +115,7 @@
"OSE.category.abilities": "Habilidades", "OSE.category.abilities": "Habilidades",
"OSE.category.spells": "Conjuros", "OSE.category.spells": "Conjuros",
"OSE.category.notes": "Notas", "OSE.category.notes": "Notas",
"OSE.category.equipment": "Equipo",
"OSE.panel.abilities": "Habilidades",
"OSE.panel.equipment": "Equipo",
"OSE.Setting.IndividualInit": "Iniciativa Individual", "OSE.Setting.IndividualInit": "Iniciativa Individual",
"OSE.Setting.IndividualInitHint": "La iniciativa se lanza por cada actor y se modifica por su puntuación de DES", "OSE.Setting.IndividualInitHint": "La iniciativa se lanza por cada actor y se modifica por su puntuación de DES",
@ -182,8 +180,8 @@
"OSE.abilities.Requirements": "Requisitos", "OSE.abilities.Requirements": "Requisitos",
"OSE.ExplorationCheck": "Check", "OSE.exploration.check": "Check",
"OSE.ExplorationCheckDetails": "Tirar 1d6 <= {expl} para éxito", "OSE.exploration.details": "Tirar 1d6 <= {expl} para éxito",
"OSE.exploration.ld.long": "Escuchar Ruidos", "OSE.exploration.ld.long": "Escuchar Ruidos",
"OSE.exploration.ld.short": "Escuchar Ruidos", "OSE.exploration.ld.short": "Escuchar Ruidos",
"OSE.exploration.ld.abrev": "ER", "OSE.exploration.ld.abrev": "ER",

View File

@ -27,7 +27,6 @@
"OSE.Treasure": "Butin", "OSE.Treasure": "Butin",
"OSE.TreasureTable": "Table", "OSE.TreasureTable": "Table",
"OSE.TreasureTableHint": "Drop a rollable table here to roll the monster treasure", "OSE.TreasureTableHint": "Drop a rollable table here to roll the monster treasure",
"OSE.Size": "Taille",
"OSE.Morale": "Moral", "OSE.Morale": "Moral",
"OSE.Retainer": "Sbire", "OSE.Retainer": "Sbire",
"OSE.Appearing": "NA", "OSE.Appearing": "NA",
@ -115,9 +114,7 @@
"OSE.category.abilities": "Aptitudes", "OSE.category.abilities": "Aptitudes",
"OSE.category.spells": "Sorts", "OSE.category.spells": "Sorts",
"OSE.category.notes": "Notes", "OSE.category.notes": "Notes",
"OSE.category.equipment": "Équipement",
"OSE.panel.abilities": "Aptitudes",
"OSE.panel.equipment": "Équipement",
"OSE.Setting.IndividualInit": "Initiative Individuelle", "OSE.Setting.IndividualInit": "Initiative Individuelle",
"OSE.Setting.IndividualInitHint": "L'Initiative est lancée pour chaque acteur, modifié par son score de DEX", "OSE.Setting.IndividualInitHint": "L'Initiative est lancée pour chaque acteur, modifié par son score de DEX",
@ -178,8 +175,8 @@
"OSE.abilities.Requirements": "Prérequis", "OSE.abilities.Requirements": "Prérequis",
"OSE.ExplorationCheck": "Test", "OSE.exploration.check": "Test",
"OSE.ExplorationCheckDetails": "Lancer 1d6 <= {expl} pour réussir", "OSE.exploration.details": "Lancer 1d6 <= {expl} pour réussir",
"OSE.exploration.ld.long": "Listen at Door", "OSE.exploration.ld.long": "Listen at Door",
"OSE.exploration.ld.short": "Listen Door", "OSE.exploration.ld.short": "Listen Door",
"OSE.exploration.ld.abrev": "LD", "OSE.exploration.ld.abrev": "LD",

View File

@ -73,7 +73,7 @@ export class OseActor extends Actor {
rollData: { rollData: {
type: "Above", type: "Above",
target: this.data.data.saves[save].value, target: this.data.data.saves[save].value,
details: game.i18n.format("OSE.SavingThrowDetails", { save: label }), details: game.i18n.format("OSE.saves.details", { save: label }),
}, },
}, },
}; };
@ -87,13 +87,13 @@ export class OseActor extends Actor {
data: data, data: data,
skipDialog: skip, skipDialog: skip,
speaker: ChatMessage.getSpeaker({ actor: this }), speaker: ChatMessage.getSpeaker({ actor: this }),
flavor: `${label} ${game.i18n.localize("OSE.SavingThrow")}`, flavor: `${label} ${game.i18n.localize("OSE.saves.check")}`,
title: `${label} ${game.i18n.localize("OSE.SavingThrow")}`, title: `${label} ${game.i18n.localize("OSE.saves.check")}`,
}); });
} }
rollMorale(options = {}) { rollMorale(options = {}) {
const label = game.i18n.localize(`OSE.Morale`); const label = game.i18n.localize(`OSE.details.morale`);
const rollParts = ["2d6"]; const rollParts = ["2d6"];
const data = { const data = {
@ -113,8 +113,8 @@ export class OseActor extends Actor {
data: data, data: data,
skipDialog: true, skipDialog: true,
speaker: ChatMessage.getSpeaker({ actor: this }), speaker: ChatMessage.getSpeaker({ actor: this }),
flavor: `${label} ${game.i18n.localize("OSE.Roll")}`, flavor: game.i18n.localize("OSE.morale.check"),
title: `${label} ${game.i18n.localize("OSE.Roll")}`, title: game.i18n.localize("OSE.morale.check"),
}); });
} }
@ -145,7 +145,7 @@ export class OseActor extends Actor {
} }
rollReaction(options = {}) { rollReaction(options = {}) {
const label = game.i18n.localize(`OSE.Reaction`); const label = game.i18n.localize(`OSE.details.reaction`);
const rollParts = ["2d6"]; const rollParts = ["2d6"];
const data = { const data = {
@ -183,8 +183,8 @@ export class OseActor extends Actor {
data: data, data: data,
skipDialog: skip, skipDialog: skip,
speaker: ChatMessage.getSpeaker({ actor: this }), speaker: ChatMessage.getSpeaker({ actor: this }),
flavor: `${label} ${game.i18n.localize("OSE.Roll")}`, flavor: game.i18n.localize("OSE.reaction.check"),
title: `${label} ${game.i18n.localize("OSE.Roll")}`, title: game.i18n.localize("OSE.reaction.check"),
}); });
} }
@ -198,7 +198,7 @@ export class OseActor extends Actor {
rollData: { rollData: {
type: "Check", type: "Check",
target: this.data.data.scores[score].value, target: this.data.data.scores[score].value,
details: game.i18n.format("OSE.AttributeCheckDetails", { details: game.i18n.format("OSE.scores.details", {
score: label, score: label,
}), }),
}, },
@ -214,8 +214,8 @@ export class OseActor extends Actor {
data: data, data: data,
skipDialog: skip, skipDialog: skip,
speaker: ChatMessage.getSpeaker({ actor: this }), speaker: ChatMessage.getSpeaker({ actor: this }),
flavor: `${label} ${game.i18n.localize("OSE.AttributeCheck")}`, flavor: `${label} ${game.i18n.localize("OSE.scores.check")}`,
title: `${label} ${game.i18n.localize("OSE.AttributeCheck")}`, title: `${label} ${game.i18n.localize("OSE.scores.check")}`,
}); });
} }
@ -270,8 +270,8 @@ export class OseActor extends Actor {
data: data, data: data,
skipDialog: true, skipDialog: true,
speaker: ChatMessage.getSpeaker({ actor: this }), speaker: ChatMessage.getSpeaker({ actor: this }),
flavor: `${game.i18n.localize('OSE.AppearingCheck')} ${label}`, flavor: `${game.i18n.localize('OSE.appearing.check')} ${label}`,
title: `${game.i18n.localize('OSE.AppearingCheck')} ${label}`, title: `${game.i18n.localize('OSE.appearing.check')} ${label}`,
}); });
} }
@ -285,7 +285,7 @@ export class OseActor extends Actor {
rollData: { rollData: {
type: "Below", type: "Below",
target: this.data.data.exploration[expl], target: this.data.data.exploration[expl],
details: game.i18n.format("OSE.ExplorationCheckDetails", { details: game.i18n.format("OSE.exploration.details", {
expl: label, expl: label,
}), }),
}, },
@ -301,8 +301,8 @@ export class OseActor extends Actor {
data: data, data: data,
skipDialog: skip, skipDialog: skip,
speaker: ChatMessage.getSpeaker({ actor: this }), speaker: ChatMessage.getSpeaker({ actor: this }),
flavor: `${label} ${game.i18n.localize("OSE.ExplorationCheck")}`, flavor: `${label} ${game.i18n.localize("OSE.exploration.check")}`,
title: `${label} ${game.i18n.localize("OSE.ExplorationCheck")}`, title: `${label} ${game.i18n.localize("OSE.exploration.check")}`,
}); });
} }

View File

@ -11,13 +11,13 @@ export const addChatMessageContextOptions = function(html, options) {
let canApply = li => canvas.tokens.controlled.length && li.find(".dice-roll").length; let canApply = li => canvas.tokens.controlled.length && li.find(".dice-roll").length;
options.push( options.push(
{ {
name: game.i18n.localize("OSE.ChatContextDamage"), name: game.i18n.localize("OSE.messages.ApplyDamage"),
icon: '<i class="fas fa-user-minus"></i>', icon: '<i class="fas fa-user-minus"></i>',
condition: canApply, condition: canApply,
callback: li => applyChatCardDamage(li, 1) callback: li => applyChatCardDamage(li, 1)
}, },
{ {
name: game.i18n.localize("OSE.ChatContextHealing"), name: game.i18n.localize("OSE.messages.ApplyHealing"),
icon: '<i class="fas fa-user-plus"></i>', icon: '<i class="fas fa-user-plus"></i>',
condition: canApply, condition: canApply,
callback: li => applyChatCardDamage(li, -1) callback: li => applyChatCardDamage(li, -1)

View File

@ -22,13 +22,13 @@
</div> </div>
{{#if (eq this.type 'character')}} {{#if (eq this.type 'character')}}
<div class="form-group"> <div class="form-group">
<label>{{localize "OSE.ExperienceNextLevel"}}</label> <label>{{localize "OSE.experience.next"}}</label>
<div class="form-fields"> <div class="form-fields">
<input type="text" name="data.details.xp.next" id="experiencenext" value="{{data.details.xp.next}}" /> <input type="text" name="data.details.xp.next" id="experiencenext" value="{{data.details.xp.next}}" />
</div> </div>
</div> </div>
<div class="form-group"> <div class="form-group">
<label>{{localize "OSE.ExperienceBonus"}} (%)</label> <label>{{localize "OSE.experience.bonus"}} (%)</label>
<div class="form-fields"> <div class="form-fields">
<input type="text" name="data.details.xp.bonus" id="experience" value="{{data.details.xp.bonus}}" /> <input type="text" name="data.details.xp.bonus" id="experience" value="{{data.details.xp.bonus}}" />
</div> </div>

View File

@ -29,7 +29,7 @@
</ul> </ul>
<div class="inventory abilities"> <div class="inventory abilities">
<div class="item-titles flexrow"> <div class="item-titles flexrow">
<div class="item-name">{{localize 'OSE.panel.abilities'}}</div> <div class="item-name">{{localize 'OSE.category.abilities'}}</div>
<div class="item-controls"> <div class="item-controls">
{{#if owner}} {{#if owner}}
<a class="item-control item-create" title='{{localize "OSE.Add"}}' data-type="ability"><i <a class="item-control item-create" title='{{localize "OSE.Add"}}' data-type="ability"><i

View File

@ -164,8 +164,8 @@
<div class="flexrow"> <div class="flexrow">
<ul class="attributes flexrow"> <ul class="attributes flexrow">
<li class="attribute attribute-secondaries"> <li class="attribute attribute-secondaries">
<h4 class="attribute-name box-title" title="{{localize 'OSE.MovementOverland'}}"> <h4 class="attribute-name box-title" title="{{localize 'OSE.movement.overland.long'}}">
{{localize 'OSE.MovementOverlandShort'}}</h4> {{localize 'OSE.movement.overland.short'}}</h4>
<div class="flexrow"> <div class="flexrow">
<div class="attribute-value"> <div class="attribute-value">
{{divide data.movement.base 5}} {{divide data.movement.base 5}}
@ -173,16 +173,16 @@
</div> </div>
</li> </li>
<li class="attribute"> <li class="attribute">
<h4 class="attribute-name box-title" title="{{ localize 'OSE.Movement' }}"> <h4 class="attribute-name box-title" title="{{ localize 'OSE.movement.exploration.long' }}">
{{ localize "OSE.MovementExplorationShort" }}</h4> {{ localize "OSE.movement.exploration.short" }}</h4>
<div class="attribute-value flexrow"> <div class="attribute-value flexrow">
<input name="data.movement.base" type="text" value="{{data.movement.base}}" placeholder="0" <input name="data.movement.base" type="text" value="{{data.movement.base}}" placeholder="0"
data-dtype="Number" {{#if data.config.movementAuto}}disabled{{/if}} /> data-dtype="Number" {{#if data.config.movementAuto}}disabled{{/if}} />
</div> </div>
</li> </li>
<li class="attribute attribute-secondaries"> <li class="attribute attribute-secondaries">
<h4 class="attribute-name box-title" title="{{localize 'OSE.MovementEncounter'}}"> <h4 class="attribute-name box-title" title="{{localize 'OSE.movement.encounter.long'}}">
{{localize 'OSE.MovementEncounterShort'}}</h4> {{localize 'OSE.movement.encounter.short'}}</h4>
<div class="flexrow"> <div class="flexrow">
<div class="attribute-value"> <div class="attribute-value">
{{divide data.movement.base 3}} {{divide data.movement.base 3}}

View File

@ -1,7 +1,7 @@
<img class="profile-img" src="{{actor.img}}" data-edit="img" title="{{actor.name}}" /> <img class="profile-img" src="{{actor.img}}" data-edit="img" title="{{actor.name}}" />
<section class="header-details flexrow"> <section class="header-details flexrow">
<h1 class="charname"> <h1 class="charname">
<input name="name" type="text" value="{{actor.name}}" placeholder="{{localize 'OSE.Name'}}" data-dtype="String" /> <input name="name" type="text" value="{{actor.name}}" placeholder="{{localize 'OSE.details.name'}}" data-dtype="String" />
</h1> </h1>
<ul class="summary flexrow"> <ul class="summary flexrow">
{{#if data.retainer.enabled}} {{#if data.retainer.enabled}}
@ -19,30 +19,30 @@
<li> <li>
<input type="text" name="data.details.title" value="{{data.details.title}}" data-dtype="String" <input type="text" name="data.details.title" value="{{data.details.title}}" data-dtype="String"
/> />
<label>{{localize 'OSE.Title'}}</label> <label>{{localize 'OSE.details.title'}}</label>
</li> </li>
{{/if}} {{/if}}
<li> <li>
<input type="text" name="data.details.alignment" value="{{data.details.alignment}}" data-dtype="String" <input type="text" name="data.details.alignment" value="{{data.details.alignment}}" data-dtype="String"
/> />
<label>{{localize 'OSE.Alignment'}}</label> <label>{{localize 'OSE.details.alignment'}}</label>
</li> </li>
</ul> </ul>
<ul class="summary flexrow"> <ul class="summary flexrow">
<li class="flex3"> <li class="flex3">
<input type="text" name="data.details.class" value="{{data.details.class}}" data-dtype="String" <input type="text" name="data.details.class" value="{{data.details.class}}" data-dtype="String"
/> />
<label>{{localize 'OSE.Class'}}</label> <label>{{localize 'OSE.details.class'}}</label>
</li> </li>
<li class="{{#if (gt data.details.xp.value data.details.xp.next)}}notify{{/if}}"> <li class="{{#if (gt data.details.xp.value data.details.xp.next)}}notify{{/if}}">
<input type="text" name="data.details.level" value="{{data.details.level}}" data-dtype="Number" <input type="text" name="data.details.level" value="{{data.details.level}}" data-dtype="Number"
/> />
<label>{{localize 'OSE.Level'}}</label> <label>{{localize 'OSE.details.level'}}</label>
</li> </li>
<li class="flex2"> <li class="flex2">
<input type="text" name="data.details.xp.value" value="{{data.details.xp.value}}" data-dtype="Number" <input type="text" name="data.details.xp.value" value="{{data.details.xp.value}}" data-dtype="Number"
/> />
<label>{{localize 'OSE.Experience'}}</label> <label>{{localize 'OSE.experience.base'}}</label>
{{#if data.details.xp.bonus}} {{#if data.details.xp.bonus}}
<span class="xp-bonus">+{{data.details.xp.bonus}}%</span> <span class="xp-bonus">+{{data.details.xp.bonus}}%</span>
{{/if}} {{/if}}

View File

@ -65,8 +65,8 @@
</li> </li>
{{/if}} {{/if}}
<li class="attribute"> <li class="attribute">
<h4 class="attribute-name box-title" title="{{localize 'OSE.Movement'}}"> <h4 class="attribute-name box-title" title="{{localize 'OSE.movement.base'}}">
{{ localize "OSE.MovementShort" }} {{ localize "OSE.movement.short" }}
</h4> </h4>
<div class="attribute-value"> <div class="attribute-value">
<input name="data.movement.base" type="text" value="{{data.movement.base}}" placeholder="0" <input name="data.movement.base" type="text" value="{{data.movement.base}}" placeholder="0"
@ -80,7 +80,7 @@
<div class="flex3 panel inventory abilities"> <div class="flex3 panel inventory abilities">
<div> <div>
<li class="item-titles flexrow panel-title"> <li class="item-titles flexrow panel-title">
<div class="item-name">{{localize 'OSE.panel.abilities'}} & {{localize 'OSE.panel.equipment'}}</div> <div class="item-name">{{localize 'OSE.category.abilities'}} & {{localize 'OSE.category.equipment'}}</div>
<div class="item-controls"> <div class="item-controls">
{{#if owner}} {{#if owner}}
<a class="item-control item-reset" title='{{localize "OSE.items.resetAttacks"}}'><i <a class="item-control item-reset" title='{{localize "OSE.items.resetAttacks"}}'><i
@ -151,7 +151,7 @@
<div class="attribute-group"> <div class="attribute-group">
<ul class="attributes"> <ul class="attributes">
<li class="attacks-description"> <li class="attacks-description">
<label>{{ localize "OSE.MovementDetails" }}</label> <label>{{ localize "OSE.movement.details" }}</label>
<input name="data.movement.value" type="text" value="{{data.movement.value}}" data-dtype="String" /> <input name="data.movement.value" type="text" value="{{data.movement.value}}" data-dtype="String" />
</li> </li>
<li class="attribute saving-throw" data-save="death"> <li class="attribute saving-throw" data-save="death">

View File

@ -24,7 +24,7 @@
{{#if data.save}} {{#if data.save}}
<button data-action="save" data-save="{{data.save}}" disabled> <button data-action="save" data-save="{{data.save}}" disabled>
{{lookup config.saves_long data.save}} {{ localize "OSE.SavingThrow" }} {{lookup config.saves_long data.save}} {{ localize "OSE.saves.check" }}
</button> </button>
{{/if}} {{/if}}