summaryrefslogtreecommitdiff
path: root/ext/fg/js/util.js
diff options
context:
space:
mode:
authorAlex Yatskov <alex@foosoft.net>2017-02-19 14:18:25 -0800
committerAlex Yatskov <alex@foosoft.net>2017-02-19 14:18:25 -0800
commita1ba96145d7a98f851d85cac5be640a69662f954 (patch)
tree7781ce86de7c9fd8df62d21904cd2b38b8b60c36 /ext/fg/js/util.js
parent76dd176706eddcdc605896093bb4efdfaeffa3c4 (diff)
parent5500ae27b24fc4242a5d180c129d649c3e992daa (diff)
Merge branch 'dev'
Diffstat (limited to 'ext/fg/js/util.js')
-rw-r--r--ext/fg/js/util.js40
1 files changed, 40 insertions, 0 deletions
diff --git a/ext/fg/js/util.js b/ext/fg/js/util.js
index aeda36b5..c9ee4ed7 100644
--- a/ext/fg/js/util.js
+++ b/ext/fg/js/util.js
@@ -166,3 +166,43 @@ function extractSentence(source, extent) {
return content.substring(startPos, endPos).trim();
}
+
+function buildAudioUrl(definition) {
+ let kana = definition.reading;
+ let kanji = definition.expression;
+
+ if (!kana && !kanji) {
+ return null;
+ }
+
+ if (!kana && wanakana.isHiragana(kanji)) {
+ kana = kanji;
+ kanji = null;
+ }
+
+ const params = [];
+ if (kanji) {
+ params.push(`kanji=${encodeURIComponent(kanji)}`);
+ }
+ if (kana) {
+ params.push(`kana=${encodeURIComponent(kana)}`);
+ }
+
+ return `https://assets.languagepod101.com/dictionary/japanese/audiomp3.php?${params.join('&')}`;
+}
+
+function buildAudioFilename(definition) {
+ if (!definition.reading && !definition.expression) {
+ return null;
+ }
+
+ let filename = 'yomichan';
+ if (definition.reading) {
+ filename += `_${definition.reading}`;
+ }
+ if (definition.expression) {
+ filename += `_${definition.expression}`;
+ }
+
+ return filename += '.mp3';
+}