summaryrefslogtreecommitdiff
path: root/ext/bg/js
diff options
context:
space:
mode:
Diffstat (limited to 'ext/bg/js')
-rw-r--r--ext/bg/js/options.js1
-rw-r--r--ext/bg/js/settings/main.js2
-rw-r--r--ext/bg/js/translator.js6
3 files changed, 8 insertions, 1 deletions
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);
}