Reorganized variants to better reflect usage order

This commit is contained in:
toasted-nutbread 2020-01-23 20:28:38 -05:00
parent 317bf35bc0
commit 538d83c5a6
5 changed files with 29 additions and 25 deletions

View File

@ -354,17 +354,12 @@
"translation": {
"type": "object",
"required": [
"convertKatakanaToHiragana",
"convertHalfWidthCharacters",
"convertNumericCharacters",
"convertAlphabeticCharacters"
"convertAlphabeticCharacters",
"convertKatakanaToHiragana"
],
"properties": {
"convertKatakanaToHiragana": {
"type": "string",
"enum": ["false", "true", "variant"],
"default": "variant"
},
"convertHalfWidthCharacters": {
"type": "string",
"enum": ["false", "true", "variant"],
@ -379,6 +374,11 @@
"type": "string",
"enum": ["false", "true", "variant"],
"default": "false"
},
"convertKatakanaToHiragana": {
"type": "string",
"enum": ["false", "true", "variant"],
"default": "variant"
}
}
},

View File

@ -320,10 +320,10 @@ function profileOptionsCreateDefaults() {
},
translation: {
convertKatakanaToHiragana: 'variant',
convertHalfWidthCharacters: 'false',
convertNumericCharacters: 'false',
convertAlphabeticCharacters: 'false'
convertAlphabeticCharacters: 'false',
convertKatakanaToHiragana: 'variant'
},
dictionaries: {},

View File

@ -72,10 +72,10 @@ async function formRead(options) {
options.scanning.modifier = $('#scan-modifier-key').val();
options.scanning.popupNestingMaxDepth = parseInt($('#popup-nesting-max-depth').val(), 10);
options.translation.convertKatakanaToHiragana = $('#translation-convert-katakana-to-hiragana').val();
options.translation.convertHalfWidthCharacters = $('#translation-convert-half-width-characters').val();
options.translation.convertNumericCharacters = $('#translation-convert-numeric-characters').val();
options.translation.convertAlphabeticCharacters = $('#translation-convert-alphabetic-characters').val();
options.translation.convertKatakanaToHiragana = $('#translation-convert-katakana-to-hiragana').val();
options.parsing.enableScanningParser = $('#parsing-scan-enable').prop('checked');
options.parsing.enableMecabParser = $('#parsing-mecab-enable').prop('checked');
@ -145,10 +145,10 @@ async function formWrite(options) {
$('#scan-modifier-key').val(options.scanning.modifier);
$('#popup-nesting-max-depth').val(options.scanning.popupNestingMaxDepth);
$('#translation-convert-katakana-to-hiragana').val(options.translation.convertKatakanaToHiragana);
$('#translation-convert-half-width-characters').val(options.translation.convertHalfWidthCharacters);
$('#translation-convert-numeric-characters').val(options.translation.convertNumericCharacters);
$('#translation-convert-alphabetic-characters').val(options.translation.convertAlphabeticCharacters);
$('#translation-convert-katakana-to-hiragana').val(options.translation.convertKatakanaToHiragana);
$('#parsing-scan-enable').prop('checked', options.parsing.enableScanningParser);
$('#parsing-mecab-enable').prop('checked', options.parsing.enableMecabParser);

View File

@ -323,27 +323,31 @@ class Translator {
getAllDeinflections(text, options) {
const translationOptions = options.translation;
const textOptionVariantArray = [
Translator.getTextOptionEntryVariants(translationOptions.convertKatakanaToHiragana),
Translator.getTextOptionEntryVariants(translationOptions.convertHalfWidthCharacters),
Translator.getTextOptionEntryVariants(translationOptions.convertNumericCharacters),
Translator.getTextOptionEntryVariants(translationOptions.convertAlphabeticCharacters)
Translator.getTextOptionEntryVariants(translationOptions.convertAlphabeticCharacters),
Translator.getTextOptionEntryVariants(translationOptions.convertKatakanaToHiragana)
];
const deinflections = [];
const used = new Set();
for (const [hiragana, halfWidth, numeric, alphabetic] of Translator.getArrayVariants(textOptionVariantArray)) {
for (const [halfWidth, numeric, alphabetic, hiragana] of Translator.getArrayVariants(textOptionVariantArray)) {
let text2 = text;
let sourceMapping = null;
if (halfWidth) {
if (sourceMapping === null) { sourceMapping = Translator.createTextSourceMapping(text2); }
text2 = jpConvertHalfWidthKanaToFullWidth(text2, sourceMapping);
}
if (numeric) { text2 = jpConvertNumericTofullWidth(text2); }
if (numeric) {
text2 = jpConvertNumericTofullWidth(text2);
}
if (alphabetic) {
if (sourceMapping === null) { sourceMapping = Translator.createTextSourceMapping(text2); }
text2 = jpConvertAlphabeticToKana(text2, sourceMapping);
}
if (hiragana) { text2 = jpKatakanaToHiragana(text2); }
if (hiragana) {
text2 = jpKatakanaToHiragana(text2);
}
for (let i = text2.length; i > 0; --i) {
const text2Substring = text2.substring(0, i);

View File

@ -400,15 +400,6 @@
<div>
<h3>Translation Options</h3>
<div class="form-group">
<label for="translation-convert-katakana-to-hiragana">Convert katakana to hiragana <span class="label-light">(ヨミチャン &rarr; よみちゃん)</span></label>
<select class="form-control" id="translation-convert-katakana-to-hiragana">
<option value="false">Disabled</option>
<option value="true">Enabled</option>
<option value="variant">Use both variants</option>
</select>
</div>
<div class="form-group">
<label for="translation-convert-half-width-characters">Convert half width characters to full width <span class="label-light">(ヨミチャン &rarr; ヨミチャン)</span></label>
<select class="form-control" id="translation-convert-half-width-characters">
@ -435,6 +426,15 @@
<option value="variant">Use both variants</option>
</select>
</div>
<div class="form-group">
<label for="translation-convert-katakana-to-hiragana">Convert katakana to hiragana <span class="label-light">(ヨミチャン &rarr; よみちゃん)</span></label>
<select class="form-control" id="translation-convert-katakana-to-hiragana">
<option value="false">Disabled</option>
<option value="true">Enabled</option>
<option value="variant">Use both variants</option>
</select>
</div>
</div>
<div id="popup-content-scanning">