Add messageWarn translation definition type

This commit is contained in:
Alvin Wong
2021-03-31 18:29:53 +08:00
parent 53c02dca33
commit e01361ddde
32 changed files with 276 additions and 60 deletions

View File

@@ -3,7 +3,7 @@
<head>
<meta charset="UTF-8">
<title>TS100 Translation Editor</title>
<title>IronOS Translation Editor</title>
<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
<script src="translations_commons.js"></script>
@@ -191,11 +191,49 @@
delim = " and ";
}
return str;
},
validateWholeScreenMessage: function(valMap, id) {
var d = defMap[id];
if (this.isSmall(valMap[id])) {
if (valMap[id][0].length === 0) {
return "invalid";
} else if (Math.max(valMap[id][0].length, valMap[id][1].length) > 16) {
return "invalid";
}
} else {
if (valMap[id].length > 8) {
return "invalid";
}
}
},
constraintWholeScreenMessage: function(v) {
if (this.isSmall(v)) {
return "len <= 16";
} else {
return "len <= 8";
}
},
isSmall: function(v) {
return v instanceof Array;
},
convertToLarge: function(valMap, id) {
var message = valMap[id][0] + (valMap[id][1] !== "" ? " " + valMap[id][1] : "");
valMap[id] = message;
},
convertToSmall: function(valMap, id) {
var message = valMap[id]
valMap[id] = [ message, "" ];
}
}
});
app.def = def;
copyArrayToMap(app.def.messages, defMap);
copyArrayToMap(app.def.messagesWarn, defMap);
copyArrayToMap(app.def.characters, defMap);
copyArrayToMap(app.def.menuGroups, defMap);
copyArrayToMap(app.def.menuOptions, defMap);
@@ -208,7 +246,7 @@
<body>
<div id="app">
<h1>TS100 Translation Editor<span v-if="meta.currentLoaded"> - {{ current.languageLocalName }} [{{current.languageCode}}]</span></h1>
<h1>IronOS Translation Editor<span v-if="meta.currentLoaded"> - {{ current.languageLocalName }} [{{current.languageCode}}]</span></h1>
<table class="header data">
<tr>
<td class="label">Referent Language</td>
@@ -273,6 +311,27 @@
</tr>
</table>
<h2>Warning Messages</h2>
<table class="data">
<tr v-for="message in def.messagesWarn" v-bind:class="validateWholeScreenMessage(current.messagesWarn, message.id)">
<td class="label"><div class="stringId">{{message.id}}</div></td>
<td class="value">
<div class="constraint">{{constraintWholeScreenMessage(current.messagesWarn[message.id])}}</div>
<div class="ref">{{referent.messagesWarn[message.id]}}</div>
<div class="note" v-if="message.note">{{message.note}}</div>
<div class="tran" v-if="isSmall(current.messagesWarn[message.id])">
<input :id="'in_'+message.id+'_0'" type="text" v-model="current.messagesWarn[message.id][0]" v-bind:class="{unchanged : current.messagesWarn[message.id][0] == referent.messagesWarn[message.id][0] && current.messagesWarn[message.id][1] == referent.messagesWarn[message.id][1], empty : current.messagesWarn[message.id][0] == '' && current.messagesWarn[message.id][1] == ''}">
<input :id="'in_'+message.id+'_1'" type="text" v-model="current.messagesWarn[message.id][1]" v-bind:class="{unchanged : current.messagesWarn[message.id][0] == referent.messagesWarn[message.id][0] && current.messagesWarn[message.id][1] == referent.messagesWarn[message.id][1], empty : current.messagesWarn[message.id][0] == '' && current.messagesWarn[message.id][1] == ''}">
<button type="button" @click="convertToLarge(current.messagesWarn, message.id)">Convert to large text</button>
</div>
<div class="tran" v-else>
<input :id="'in_'+message.id" type="text" v-model="current.messagesWarn[message.id]" v-bind:class="{unchanged : current.messagesWarn[message.id] == referent.messagesWarn[message.id], empty : current.messagesWarn[message.id]==''}">
<button type="button" @click="convertToSmall(current.messagesWarn, message.id)">Convert to small text</button>
</div>
</td>
</tr>
</table>
<h2>Characters</h2>
<table class="data">
<tr v-for="char in def.characters" v-bind:class="validateInput(current.characters, char.id)">
@@ -326,4 +385,4 @@
</div>
</div>
</body>
</html>
</html>