diff options
author | Alex Yatskov <alex@foosoft.net> | 2017-02-19 14:18:25 -0800 |
---|---|---|
committer | Alex Yatskov <alex@foosoft.net> | 2017-02-19 14:18:25 -0800 |
commit | a1ba96145d7a98f851d85cac5be640a69662f954 (patch) | |
tree | 7781ce86de7c9fd8df62d21904cd2b38b8b60c36 /ext/fg/js/util.js | |
parent | 76dd176706eddcdc605896093bb4efdfaeffa3c4 (diff) | |
parent | 5500ae27b24fc4242a5d180c129d649c3e992daa (diff) |
Merge branch 'dev'
Diffstat (limited to 'ext/fg/js/util.js')
-rw-r--r-- | ext/fg/js/util.js | 40 |
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'; +} |