From 67759b7aa3e4be1b90d8244b2337288120a42a4e Mon Sep 17 00:00:00 2001 From: toasted-nutbread Date: Thu, 23 Jan 2020 20:49:41 -0500 Subject: [PATCH] Add convertHiraganaToKatakana option --- ext/bg/data/options-schema.json | 6 ++++++ ext/bg/js/options.js | 1 + ext/bg/js/settings/main.js | 2 ++ ext/bg/js/translator.js | 6 +++++- ext/bg/settings.html | 9 +++++++++ 5 files changed, 23 insertions(+), 1 deletion(-) diff --git a/ext/bg/data/options-schema.json b/ext/bg/data/options-schema.json index 8385d638..c65bb1e9 100644 --- a/ext/bg/data/options-schema.json +++ b/ext/bg/data/options-schema.json @@ -357,6 +357,7 @@ "convertHalfWidthCharacters", "convertNumericCharacters", "convertAlphabeticCharacters", + "convertHiraganaToKatakana", "convertKatakanaToHiragana" ], "properties": { @@ -375,6 +376,11 @@ "enum": ["false", "true", "variant"], "default": "false" }, + "convertHiraganaToKatakana": { + "type": "string", + "enum": ["false", "true", "variant"], + "default": "false" + }, "convertKatakanaToHiragana": { "type": "string", "enum": ["false", "true", "variant"], diff --git a/ext/bg/js/options.js b/ext/bg/js/options.js index fd67ca70..120b34af 100644 --- a/ext/bg/js/options.js +++ b/ext/bg/js/options.js @@ -323,6 +323,7 @@ function profileOptionsCreateDefaults() { convertHalfWidthCharacters: 'false', convertNumericCharacters: 'false', convertAlphabeticCharacters: 'false', + convertHiraganaToKatakana: 'false', convertKatakanaToHiragana: 'variant' }, diff --git a/ext/bg/js/settings/main.js b/ext/bg/js/settings/main.js index 900a0a09..6dccc7e0 100644 --- a/ext/bg/js/settings/main.js +++ b/ext/bg/js/settings/main.js @@ -75,6 +75,7 @@ async function formRead(options) { 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.convertHiraganaToKatakana = $('#translation-convert-hiragana-to-katakana').val(); options.translation.convertKatakanaToHiragana = $('#translation-convert-katakana-to-hiragana').val(); options.parsing.enableScanningParser = $('#parsing-scan-enable').prop('checked'); @@ -148,6 +149,7 @@ async function formWrite(options) { $('#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-hiragana-to-katakana').val(options.translation.convertHiraganaToKatakana); $('#translation-convert-katakana-to-hiragana').val(options.translation.convertKatakanaToHiragana); $('#parsing-scan-enable').prop('checked', options.parsing.enableScanningParser); diff --git a/ext/bg/js/translator.js b/ext/bg/js/translator.js index 6ddf5431..0f89111f 100644 --- a/ext/bg/js/translator.js +++ b/ext/bg/js/translator.js @@ -326,12 +326,13 @@ class Translator { Translator.getTextOptionEntryVariants(translationOptions.convertHalfWidthCharacters), Translator.getTextOptionEntryVariants(translationOptions.convertNumericCharacters), Translator.getTextOptionEntryVariants(translationOptions.convertAlphabeticCharacters), + Translator.getTextOptionEntryVariants(translationOptions.convertHiraganaToKatakana), Translator.getTextOptionEntryVariants(translationOptions.convertKatakanaToHiragana) ]; const deinflections = []; const used = new Set(); - for (const [halfWidth, numeric, alphabetic, hiragana] of Translator.getArrayVariants(textOptionVariantArray)) { + for (const [halfWidth, numeric, alphabetic, katakana, hiragana] of Translator.getArrayVariants(textOptionVariantArray)) { let text2 = text; let sourceMapping = null; if (halfWidth) { @@ -345,6 +346,9 @@ class Translator { if (sourceMapping === null) { sourceMapping = Translator.createTextSourceMapping(text2); } text2 = jpConvertAlphabeticToKana(text2, sourceMapping); } + if (katakana) { + text2 = jpHiraganaToKatakana(text2); + } if (hiragana) { text2 = jpKatakanaToHiragana(text2); } diff --git a/ext/bg/settings.html b/ext/bg/settings.html index fdc4298b..e9c4d7eb 100644 --- a/ext/bg/settings.html +++ b/ext/bg/settings.html @@ -427,6 +427,15 @@ +
+ + +
+