diff --git a/.eslintrc.json b/.eslintrc.json index 62ee61da60..faee1c51d0 100644 --- a/.eslintrc.json +++ b/.eslintrc.json @@ -672,6 +672,28 @@ "crypto": "readonly", "AbortController": "readonly" } + }, + { + "files": [ + "ext/data/recommended-dictionaries.json" + ], + "rules": { + "jsonc/sort-keys": ["error", { + "pathPattern": ".*", + "hasProperties": ["name"], + "order": [ + "name", + "description", + "homepage", + "downloadUrl" + ] + }, { + "pathPattern": ".*", + "order": { + "type": "asc" + } + }] + } } ] } diff --git a/.vscode/settings.json b/.vscode/settings.json index bb9b3c80bd..e1bf61a8c3 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -30,5 +30,13 @@ "files.trimTrailingWhitespace": true, "html-validate.validate": [ "html" + ], + "json.schemas": [ + { + "fileMatch": [ + "/ext/data/recommended-dictionaries.json" + ], + "url": "/ext/data/schemas/recommended-dictionaries-schema.json" + } ] } diff --git a/ext/data/recommended-dictionaries.json b/ext/data/recommended-dictionaries.json index 98d2ee5735..31826392c3 100644 --- a/ext/data/recommended-dictionaries.json +++ b/ext/data/recommended-dictionaries.json @@ -1,576 +1,590 @@ { "afb": { + "frequency": [], + "grammar": [], + "kanji": [], + "pronunciation": [], "terms": [ { "name": "kty-afb-en", - "downloadUrl": "https://github.com/themoeway/kaikki-to-yomitan/releases/latest/download/kty-afb-en.zip", "description": "Gulf Arabic to English dictionary created from Wiktionary data.", - "homepage": "https://github.com/themoeway/kaikki-to-yomitan/blob/master/downloads.md" + "homepage": "https://github.com/themoeway/kaikki-to-yomitan/blob/master/downloads.md", + "downloadUrl": "https://github.com/themoeway/kaikki-to-yomitan/releases/latest/download/kty-afb-en.zip" } - ], - "kanji": [], - "frequency": [], - "grammar": [], - "pronunciation": [] + ] }, "ang": { + "frequency": [], + "grammar": [], + "kanji": [], + "pronunciation": [], "terms": [ { "name": "kty-ang-en", - "downloadUrl": "https://github.com/themoeway/kaikki-to-yomitan/releases/latest/download/kty-ang-en.zip", "description": "Old English to English dictionary created from Wiktionary data.", - "homepage": "https://github.com/themoeway/kaikki-to-yomitan/blob/master/downloads.md" + "homepage": "https://github.com/themoeway/kaikki-to-yomitan/blob/master/downloads.md", + "downloadUrl": "https://github.com/themoeway/kaikki-to-yomitan/releases/latest/download/kty-ang-en.zip" } - ], - "kanji": [], - "frequency": [], - "grammar": [], - "pronunciation": [] + ] }, "ar": { + "frequency": [], + "grammar": [], + "kanji": [], + "pronunciation": [], "terms": [ { "name": "kty-ar-en", - "downloadUrl": "https://github.com/themoeway/kaikki-to-yomitan/releases/latest/download/kty-ar-en.zip", "description": "Arabic to English dictionary created from Wiktionary data.", - "homepage": "https://github.com/themoeway/kaikki-to-yomitan/blob/master/downloads.md" + "homepage": "https://github.com/themoeway/kaikki-to-yomitan/blob/master/downloads.md", + "downloadUrl": "https://github.com/themoeway/kaikki-to-yomitan/releases/latest/download/kty-ar-en.zip" } - ], - "kanji": [], - "frequency": [], - "grammar": [], - "pronunciation": [] + ] }, "cs": { + "frequency": [], + "grammar": [], + "kanji": [], + "pronunciation": [], "terms": [ { "name": "kty-cs-en", - "downloadUrl": "https://github.com/themoeway/kaikki-to-yomitan/releases/latest/download/kty-cs-en.zip", "description": "Czech to English dictionary created from Wiktionary data.", - "homepage": "https://github.com/themoeway/kaikki-to-yomitan/blob/master/downloads.md" + "homepage": "https://github.com/themoeway/kaikki-to-yomitan/blob/master/downloads.md", + "downloadUrl": "https://github.com/themoeway/kaikki-to-yomitan/releases/latest/download/kty-cs-en.zip" } - ], - "kanji": [], - "frequency": [], - "grammar": [], - "pronunciation": [] + ] }, "de": { + "frequency": [], + "grammar": [], + "kanji": [], + "pronunciation": [], "terms": [ { "name": "kty-de-en", - "downloadUrl": "https://github.com/themoeway/kaikki-to-yomitan/releases/latest/download/kty-de-en.zip", "description": "German to English dictionary created from Wiktionary data.", - "homepage": "https://github.com/themoeway/kaikki-to-yomitan/blob/master/downloads.md" + "homepage": "https://github.com/themoeway/kaikki-to-yomitan/blob/master/downloads.md", + "downloadUrl": "https://github.com/themoeway/kaikki-to-yomitan/releases/latest/download/kty-de-en.zip" } - ], - "kanji": [], - "frequency": [], - "grammar": [], - "pronunciation": [] + ] }, "el": { + "frequency": [], + "grammar": [], + "kanji": [], + "pronunciation": [], "terms": [ { "name": "kty-el-en", - "downloadUrl": "https://github.com/themoeway/kaikki-to-yomitan/releases/latest/download/kty-el-en.zip", "description": "Greek to English dictionary created from Wiktionary data.", - "homepage": "https://github.com/themoeway/kaikki-to-yomitan/blob/master/downloads.md" + "homepage": "https://github.com/themoeway/kaikki-to-yomitan/blob/master/downloads.md", + "downloadUrl": "https://github.com/themoeway/kaikki-to-yomitan/releases/latest/download/kty-el-en.zip" } - ], - "kanji": [], + ] + }, + "en": { "frequency": [], "grammar": [], - "pronunciation": [] + "kanji": [], + "pronunciation": [], + "terms": [ + { + "name": "kty-en-en", + "description": "English to English dictionary created from Wiktionary data.", + "homepage": "https://github.com/themoeway/kaikki-to-yomitan/blob/master/downloads.md", + "downloadUrl": "https://github.com/themoeway/kaikki-to-yomitan/releases/latest/download/kty-en-en.zip" + } + ] }, "enm": { + "frequency": [], + "grammar": [], + "kanji": [], + "pronunciation": [], "terms": [ { "name": "kty-enm-en", - "downloadUrl": "https://github.com/themoeway/kaikki-to-yomitan/releases/latest/download/kty-enm-en.zip", "description": "Middle English to English dictionary created from Wiktionary data.", - "homepage": "https://github.com/themoeway/kaikki-to-yomitan/blob/master/downloads.md" + "homepage": "https://github.com/themoeway/kaikki-to-yomitan/blob/master/downloads.md", + "downloadUrl": "https://github.com/themoeway/kaikki-to-yomitan/releases/latest/download/kty-enm-en.zip" } - ], - "kanji": [], - "frequency": [], - "grammar": [], - "pronunciation": [] + ] }, "eo": { + "frequency": [], + "grammar": [], + "kanji": [], + "pronunciation": [], "terms": [ { "name": "kty-eo-en", - "downloadUrl": "https://github.com/themoeway/kaikki-to-yomitan/releases/latest/download/kty-eo-en.zip", "description": "Esperanto to English dictionary created from Wiktionary data.", - "homepage": "https://github.com/themoeway/kaikki-to-yomitan/blob/master/downloads.md" + "homepage": "https://github.com/themoeway/kaikki-to-yomitan/blob/master/downloads.md", + "downloadUrl": "https://github.com/themoeway/kaikki-to-yomitan/releases/latest/download/kty-eo-en.zip" } - ], - "kanji": [], - "frequency": [], - "grammar": [], - "pronunciation": [] + ] }, "es": { + "frequency": [], + "grammar": [], + "kanji": [], + "pronunciation": [], "terms": [ { "name": "kty-es-en", - "downloadUrl": "https://github.com/themoeway/kaikki-to-yomitan/releases/latest/download/kty-es-en.zip", "description": "Spanish to English dictionary created from Wiktionary data.", - "homepage": "https://github.com/themoeway/kaikki-to-yomitan/blob/master/downloads.md" + "homepage": "https://github.com/themoeway/kaikki-to-yomitan/blob/master/downloads.md", + "downloadUrl": "https://github.com/themoeway/kaikki-to-yomitan/releases/latest/download/kty-es-en.zip" } - ], - "kanji": [], - "frequency": [], - "grammar": [], - "pronunciation": [] + ] }, "fa": { + "frequency": [], + "grammar": [], + "kanji": [], + "pronunciation": [], "terms": [ { "name": "kty-fa-en", - "downloadUrl": "https://github.com/themoeway/kaikki-to-yomitan/releases/latest/download/kty-fa-en.zip", "description": "Persian to English dictionary created from Wiktionary data.", - "homepage": "https://github.com/themoeway/kaikki-to-yomitan/blob/master/downloads.md" + "homepage": "https://github.com/themoeway/kaikki-to-yomitan/blob/master/downloads.md", + "downloadUrl": "https://github.com/themoeway/kaikki-to-yomitan/releases/latest/download/kty-fa-en.zip" } - ], - "kanji": [], - "frequency": [], - "grammar": [], - "pronunciation": [] + ] }, "fi": { + "frequency": [], + "grammar": [], + "kanji": [], + "pronunciation": [], "terms": [ { "name": "kty-fi-en", "description": "Finnish to English dictionary created from Wiktionary data.", - "downloadUrl": "https://github.com/themoeway/kaikki-to-yomitan/releases/latest/download/kty-fi-en.zip", - "homepage": "https://github.com/themoeway/kaikki-to-yomitan/blob/master/downloads.md" + "homepage": "https://github.com/themoeway/kaikki-to-yomitan/blob/master/downloads.md", + "downloadUrl": "https://github.com/themoeway/kaikki-to-yomitan/releases/latest/download/kty-fi-en.zip" } - ], - "kanji": [], - "frequency": [], - "grammar": [], - "pronunciation": [] + ] }, "fr": { + "frequency": [], + "grammar": [], + "kanji": [], + "pronunciation": [], "terms": [ { "name": "kty-fr-en", - "downloadUrl": "https://github.com/themoeway/kaikki-to-yomitan/releases/latest/download/kty-fr-en.zip", "description": "French to English dictionary created from Wiktionary data.", - "homepage": "https://github.com/themoeway/kaikki-to-yomitan/blob/master/downloads.md" + "homepage": "https://github.com/themoeway/kaikki-to-yomitan/blob/master/downloads.md", + "downloadUrl": "https://github.com/themoeway/kaikki-to-yomitan/releases/latest/download/kty-fr-en.zip" } - ], - "kanji": [], - "frequency": [], - "grammar": [], - "pronunciation": [] + ] }, "grc": { + "frequency": [], + "grammar": [], + "kanji": [], + "pronunciation": [], "terms": [ { "name": "kty-grc-en", - "downloadUrl": "https://github.com/themoeway/kaikki-to-yomitan/releases/latest/download/kty-grc-en.zip", "description": "Ancient Greek to English dictionary created from Wiktionary data.", - "homepage": "https://github.com/themoeway/kaikki-to-yomitan/blob/master/downloads.md" + "homepage": "https://github.com/themoeway/kaikki-to-yomitan/blob/master/downloads.md", + "downloadUrl": "https://github.com/themoeway/kaikki-to-yomitan/releases/latest/download/kty-grc-en.zip" } - ], - "kanji": [], - "frequency": [], - "grammar": [], - "pronunciation": [] + ] }, "hi": { + "frequency": [], + "grammar": [], + "kanji": [], + "pronunciation": [], "terms": [ { "name": "kty-hi-en", - "downloadUrl": "https://github.com/themoeway/kaikki-to-yomitan/releases/latest/download/kty-hi-en.zip", "description": "Hindi to English dictionary created from Wiktionary data.", - "homepage": "https://github.com/themoeway/kaikki-to-yomitan/blob/master/downloads.md" + "homepage": "https://github.com/themoeway/kaikki-to-yomitan/blob/master/downloads.md", + "downloadUrl": "https://github.com/themoeway/kaikki-to-yomitan/releases/latest/download/kty-hi-en.zip" } - ], - "kanji": [], - "frequency": [], - "grammar": [], - "pronunciation": [] + ] }, "hu": { + "frequency": [], + "grammar": [], + "kanji": [], + "pronunciation": [], "terms": [ { "name": "kty-hu-en", - "downloadUrl": "https://github.com/themoeway/kaikki-to-yomitan/releases/latest/download/kty-hu-en.zip", "description": "Hungarian to English dictionary created from Wiktionary data.", - "homepage": "https://github.com/themoeway/kaikki-to-yomitan/blob/master/downloads.md" + "homepage": "https://github.com/themoeway/kaikki-to-yomitan/blob/master/downloads.md", + "downloadUrl": "https://github.com/themoeway/kaikki-to-yomitan/releases/latest/download/kty-hu-en.zip" } - ], - "kanji": [], - "frequency": [], - "grammar": [], - "pronunciation": [] + ] }, "id": { + "frequency": [], + "grammar": [], + "kanji": [], + "pronunciation": [], "terms": [ { "name": "kty-id-en", - "downloadUrl": "https://github.com/themoeway/kaikki-to-yomitan/releases/latest/download/kty-id-en.zip", "description": "Indonesian to English dictionary created from Wiktionary data.", - "homepage": "https://github.com/themoeway/kaikki-to-yomitan/blob/master/downloads.md" + "homepage": "https://github.com/themoeway/kaikki-to-yomitan/blob/master/downloads.md", + "downloadUrl": "https://github.com/themoeway/kaikki-to-yomitan/releases/latest/download/kty-id-en.zip" } - ], - "kanji": [], - "frequency": [], - "grammar": [], - "pronunciation": [] + ] }, "it": { + "frequency": [], + "grammar": [], + "kanji": [], + "pronunciation": [], "terms": [ { "name": "kty-it-en", - "downloadUrl": "https://github.com/themoeway/kaikki-to-yomitan/releases/latest/download/kty-it-en.zip", "description": "Italian to English dictionary created from Wiktionary data.", - "homepage": "https://github.com/themoeway/kaikki-to-yomitan/blob/master/downloads.md" + "homepage": "https://github.com/themoeway/kaikki-to-yomitan/blob/master/downloads.md", + "downloadUrl": "https://github.com/themoeway/kaikki-to-yomitan/releases/latest/download/kty-it-en.zip" } - ], - "kanji": [], - "frequency": [], - "grammar": [], - "pronunciation": [] + ] }, "ja": { - "terms": [ + "frequency": [ { - "name": "Jitendex", - "downloadUrl": "https://github.com/stephenmk/stephenmk.github.io/releases/latest/download/jitendex-yomitan.zip", - "description": "A free and openly licensed Japanese-to-English dictionary with example sentences, usage notes, etymology notes, cross references, antonyms, definition notes.", - "homepage": "https://jitendex.org" + "name": "BCCWJ", + "description": "Based on the Balanced Corpus of Contemporary Written Japanese covering books, magazines, newspapers, blogs, forums, textbooks, and legal documents among others.", + "homepage": "https://github.com/Kuuuube/yomitan-dictionaries?tab=readme-ov-file#bccwj-suw-luw-combined", + "downloadUrl": "https://github.com/Kuuuube/yomitan-dictionaries/releases/download/yomitan-permalink/BCCWJ_SUW_LUW_combined.zip" } ], + "grammar": [], "kanji": [ { "name": "KANJIDIC", - "downloadUrl": "https://github.com/themoeway/jmdict-yomitan/releases/latest/download/KANJIDIC_english.zip", "description": "An English dictionary with readings, meanings, stroke order diagrams, frequency, grade level, JLPT level and frequency of kanji characters.", - "homepage": "https://github.com/themoeway/jmdict-yomitan?tab=readme-ov-file#kanjidic-for-yomitan" + "homepage": "https://github.com/themoeway/jmdict-yomitan?tab=readme-ov-file#kanjidic-for-yomitan", + "downloadUrl": "https://github.com/themoeway/jmdict-yomitan/releases/latest/download/KANJIDIC_english.zip" } ], - "frequency": [ + "pronunciation": [], + "terms": [ { - "name": "BCCWJ", - "downloadUrl": "https://github.com/Kuuuube/yomitan-dictionaries/releases/download/yomitan-permalink/BCCWJ_SUW_LUW_combined.zip", - "description": "Based on the Balanced Corpus of Contemporary Written Japanese covering books, magazines, newspapers, blogs, forums, textbooks, and legal documents among others.", - "homepage": "https://github.com/Kuuuube/yomitan-dictionaries?tab=readme-ov-file#bccwj-suw-luw-combined" + "name": "Jitendex", + "description": "A free and openly licensed Japanese-to-English dictionary with example sentences, usage notes, etymology notes, cross references, antonyms, definition notes.", + "homepage": "https://jitendex.org", + "downloadUrl": "https://github.com/stephenmk/stephenmk.github.io/releases/latest/download/jitendex-yomitan.zip" } - ], - "grammar": [], - "pronunciation": [] + ] }, "km": { + "frequency": [], + "grammar": [], + "kanji": [], + "pronunciation": [], "terms": [ { "name": "kty-km-en", - "downloadUrl": "https://github.com/themoeway/kaikki-to-yomitan/releases/latest/download/kty-km-en.zip", "description": "Khmer to English dictionary created from Wiktionary data.", - "homepage": "https://github.com/themoeway/kaikki-to-yomitan/blob/master/downloads.md" + "homepage": "https://github.com/themoeway/kaikki-to-yomitan/blob/master/downloads.md", + "downloadUrl": "https://github.com/themoeway/kaikki-to-yomitan/releases/latest/download/kty-km-en.zip" } - ], - "kanji": [], - "frequency": [], - "grammar": [], - "pronunciation": [] + ] }, "kn": { + "frequency": [], + "grammar": [], + "kanji": [], + "pronunciation": [], "terms": [ { "name": "kty-kn-en", - "downloadUrl": "https://github.com/themoeway/kaikki-to-yomitan/releases/latest/download/kty-kn-en.zip", "description": "Kannada to English dictionary created from Wiktionary data.", - "homepage": "https://github.com/themoeway/kaikki-to-yomitan/blob/master/downloads.md" + "homepage": "https://github.com/themoeway/kaikki-to-yomitan/blob/master/downloads.md", + "downloadUrl": "https://github.com/themoeway/kaikki-to-yomitan/releases/latest/download/kty-kn-en.zip" } - ], - "kanji": [], - "frequency": [], - "grammar": [], - "pronunciation": [] + ] }, "ko": { + "frequency": [], + "grammar": [], + "kanji": [], + "pronunciation": [], "terms": [ { "name": "kty-ko-en", - "downloadUrl": "https://github.com/themoeway/kaikki-to-yomitan/releases/latest/download/kty-ko-en.zip", "description": "Korean to English dictionary created from Wiktionary data.", - "homepage": "https://github.com/themoeway/kaikki-to-yomitan/blob/master/downloads.md" + "homepage": "https://github.com/themoeway/kaikki-to-yomitan/blob/master/downloads.md", + "downloadUrl": "https://github.com/themoeway/kaikki-to-yomitan/releases/latest/download/kty-ko-en.zip" } - ], - "kanji": [], - "frequency": [], - "grammar": [], - "pronunciation": [] + ] }, "la": { + "frequency": [], + "grammar": [], + "kanji": [], + "pronunciation": [], "terms": [ { "name": "kty-la-en", - "downloadUrl": "https://github.com/themoeway/kaikki-to-yomitan/releases/latest/download/kty-la-en.zip", "description": "Latin to English dictionary created from Wiktionary data.", - "homepage": "https://github.com/themoeway/kaikki-to-yomitan/blob/master/downloads.md" + "homepage": "https://github.com/themoeway/kaikki-to-yomitan/blob/master/downloads.md", + "downloadUrl": "https://github.com/themoeway/kaikki-to-yomitan/releases/latest/download/kty-la-en.zip" } - ], - "kanji": [], - "frequency": [], - "grammar": [], - "pronunciation": [] + ] }, "lv": { + "frequency": [], + "grammar": [], + "kanji": [], + "pronunciation": [], "terms": [ { "name": "kty-lv-en", - "downloadUrl": "https://github.com/themoeway/kaikki-to-yomitan/releases/latest/download/kty-lv-en.zip", "description": "Latvian to English dictionary created from Wiktionary data.", - "homepage": "https://github.com/themoeway/kaikki-to-yomitan/blob/master/downloads.md" + "homepage": "https://github.com/themoeway/kaikki-to-yomitan/blob/master/downloads.md", + "downloadUrl": "https://github.com/themoeway/kaikki-to-yomitan/releases/latest/download/kty-lv-en.zip" } - ], - "kanji": [], - "frequency": [], - "grammar": [], - "pronunciation": [] + ] }, "mn": { + "frequency": [], + "grammar": [], + "kanji": [], + "pronunciation": [], "terms": [ { "name": "kty-mn-en", - "downloadUrl": "https://github.com/themoeway/kaikki-to-yomitan/releases/latest/download/kty-mn-en.zip", "description": "Mongolian to English dictionary created from Wiktionary data.", - "homepage": "https://github.com/themoeway/kaikki-to-yomitan/blob/master/downloads.md" + "homepage": "https://github.com/themoeway/kaikki-to-yomitan/blob/master/downloads.md", + "downloadUrl": "https://github.com/themoeway/kaikki-to-yomitan/releases/latest/download/kty-mn-en.zip" } - ], - "kanji": [], - "frequency": [], - "grammar": [], - "pronunciation": [] + ] }, "nl": { + "frequency": [], + "grammar": [], + "kanji": [], + "pronunciation": [], "terms": [ { "name": "kty-nl-en", - "downloadUrl": "https://github.com/themoeway/kaikki-to-yomitan/releases/latest/download/kty-nl-en.zip", "description": "Dutch to English dictionary created from Wiktionary data.", - "homepage": "https://github.com/themoeway/kaikki-to-yomitan/blob/master/downloads.md" + "homepage": "https://github.com/themoeway/kaikki-to-yomitan/blob/master/downloads.md", + "downloadUrl": "https://github.com/themoeway/kaikki-to-yomitan/releases/latest/download/kty-nl-en.zip" } - ], - "kanji": [], - "frequency": [], - "grammar": [], - "pronunciation": [] + ] }, "pl": { + "frequency": [], + "grammar": [], + "kanji": [], + "pronunciation": [], "terms": [ { "name": "kty-pl-en", - "downloadUrl": "https://github.com/themoeway/kaikki-to-yomitan/releases/latest/download/kty-pl-en.zip", "description": "Polish to English dictionary created from Wiktionary data.", - "homepage": "https://github.com/themoeway/kaikki-to-yomitan/blob/master/downloads.md" + "homepage": "https://github.com/themoeway/kaikki-to-yomitan/blob/master/downloads.md", + "downloadUrl": "https://github.com/themoeway/kaikki-to-yomitan/releases/latest/download/kty-pl-en.zip" } - ], - "kanji": [], - "frequency": [], - "grammar": [], - "pronunciation": [] + ] }, "pt": { + "frequency": [], + "grammar": [], + "kanji": [], + "pronunciation": [], "terms": [ { "name": "kty-pt-en", - "downloadUrl": "https://github.com/themoeway/kaikki-to-yomitan/releases/latest/download/kty-pt-en.zip", "description": "Portuguese to English dictionary created from Wiktionary data.", - "homepage": "https://github.com/themoeway/kaikki-to-yomitan/blob/master/downloads.md" + "homepage": "https://github.com/themoeway/kaikki-to-yomitan/blob/master/downloads.md", + "downloadUrl": "https://github.com/themoeway/kaikki-to-yomitan/releases/latest/download/kty-pt-en.zip" } - ], - "kanji": [], - "frequency": [], - "grammar": [], - "pronunciation": [] + ] }, "ro": { + "frequency": [], + "grammar": [], + "kanji": [], + "pronunciation": [], "terms": [ { "name": "kty-ro-en", - "downloadUrl": "https://github.com/themoeway/kaikki-to-yomitan/releases/latest/download/kty-ro-en.zip", "description": "Romanian to English dictionary created from Wiktionary data.", - "homepage": "https://github.com/themoeway/kaikki-to-yomitan/blob/master/downloads.md" + "homepage": "https://github.com/themoeway/kaikki-to-yomitan/blob/master/downloads.md", + "downloadUrl": "https://github.com/themoeway/kaikki-to-yomitan/releases/latest/download/kty-ro-en.zip" } - ], - "kanji": [], - "frequency": [], - "grammar": [], - "pronunciation": [] + ] }, "ru": { + "frequency": [], + "grammar": [], + "kanji": [], + "pronunciation": [], "terms": [ { "name": "kty-ru-en", - "downloadUrl": "https://github.com/themoeway/kaikki-to-yomitan/releases/latest/download/kty-ru-en.zip", "description": "Russian to English dictionary created from Wiktionary data.", - "homepage": "https://github.com/themoeway/kaikki-to-yomitan/blob/master/downloads.md" + "homepage": "https://github.com/themoeway/kaikki-to-yomitan/blob/master/downloads.md", + "downloadUrl": "https://github.com/themoeway/kaikki-to-yomitan/releases/latest/download/kty-ru-en.zip" } - ], - "kanji": [], - "frequency": [], - "grammar": [], - "pronunciation": [] + ] }, "scn": { + "frequency": [], + "grammar": [], + "kanji": [], + "pronunciation": [], "terms": [ { "name": "kty-scn-en", - "downloadUrl": "https://github.com/themoeway/kaikki-to-yomitan/releases/latest/download/kty-scn-en.zip", "description": "Sicillian to English dictionary created from Wiktionary data.", - "homepage": "https://github.com/themoeway/kaikki-to-yomitan/blob/master/downloads.md" + "homepage": "https://github.com/themoeway/kaikki-to-yomitan/blob/master/downloads.md", + "downloadUrl": "https://github.com/themoeway/kaikki-to-yomitan/releases/latest/download/kty-scn-en.zip" } - ], - "kanji": [], - "frequency": [], - "grammar": [], - "pronunciation": [] + ] }, "sga": { + "frequency": [], + "grammar": [], + "kanji": [], + "pronunciation": [], "terms": [ { "name": "kty-sga-en", - "downloadUrl": "https://github.com/themoeway/kaikki-to-yomitan/releases/latest/download/kty-sga-en.zip", "description": "Old Irish to English dictionary created from Wiktionary data.", - "homepage": "https://github.com/themoeway/kaikki-to-yomitan/blob/master/downloads.md" + "homepage": "https://github.com/themoeway/kaikki-to-yomitan/blob/master/downloads.md", + "downloadUrl": "https://github.com/themoeway/kaikki-to-yomitan/releases/latest/download/kty-sga-en.zip" } - ], - "kanji": [], - "frequency": [], - "grammar": [], - "pronunciation": [] + ] }, "sh": { + "frequency": [], + "grammar": [], + "kanji": [], + "pronunciation": [], "terms": [ { "name": "kty-sh-en", - "downloadUrl": "https://github.com/themoeway/kaikki-to-yomitan/releases/latest/download/kty-sh-en.zip", "description": "Serbo-Croatian to English dictionary created from Wiktionary data.", - "homepage": "https://github.com/themoeway/kaikki-to-yomitan/blob/master/downloads.md" + "homepage": "https://github.com/themoeway/kaikki-to-yomitan/blob/master/downloads.md", + "downloadUrl": "https://github.com/themoeway/kaikki-to-yomitan/releases/latest/download/kty-sh-en.zip" } - ], - "kanji": [], - "frequency": [], - "grammar": [], - "pronunciation": [] + ] }, "sq": { + "frequency": [], + "grammar": [], + "kanji": [], + "pronunciation": [], "terms": [ { "name": "kty-sq-en", - "downloadUrl": "https://github.com/themoeway/kaikki-to-yomitan/releases/latest/download/kty-sq-en.zip", "description": "Albanian to English dictionary created from Wiktionary data.", - "homepage": "https://github.com/themoeway/kaikki-to-yomitan/blob/master/downloads.md" + "homepage": "https://github.com/themoeway/kaikki-to-yomitan/blob/master/downloads.md", + "downloadUrl": "https://github.com/themoeway/kaikki-to-yomitan/releases/latest/download/kty-sq-en.zip" } - ], - "kanji": [], - "frequency": [], - "grammar": [], - "pronunciation": [] + ] }, "sv": { + "frequency": [], + "grammar": [], + "kanji": [], + "pronunciation": [], "terms": [ { "name": "kty-sv-en", - "downloadUrl": "https://github.com/themoeway/kaikki-to-yomitan/releases/latest/download/kty-sv-en.zip", "description": "Swedish to English dictionary created from Wiktionary data.", - "homepage": "https://github.com/themoeway/kaikki-to-yomitan/blob/master/downloads.md" + "homepage": "https://github.com/themoeway/kaikki-to-yomitan/blob/master/downloads.md", + "downloadUrl": "https://github.com/themoeway/kaikki-to-yomitan/releases/latest/download/kty-sv-en.zip" } - ], - "kanji": [], - "frequency": [], - "grammar": [], - "pronunciation": [] + ] }, "th": { + "frequency": [], + "grammar": [], + "kanji": [], + "pronunciation": [], "terms": [ { "name": "kty-th-en", - "downloadUrl": "https://github.com/themoeway/kaikki-to-yomitan/releases/latest/download/kty-th-en.zip", "description": "Thai to English dictionary created from Wiktionary data.", - "homepage": "https://github.com/themoeway/kaikki-to-yomitan/blob/master/downloads.md" + "homepage": "https://github.com/themoeway/kaikki-to-yomitan/blob/master/downloads.md", + "downloadUrl": "https://github.com/themoeway/kaikki-to-yomitan/releases/latest/download/kty-th-en.zip" } - ], - "kanji": [], - "frequency": [], - "grammar": [], - "pronunciation": [] + ] }, "tl": { + "frequency": [], + "grammar": [], + "kanji": [], + "pronunciation": [], "terms": [ { "name": "kty-tl-en", - "downloadUrl": "https://github.com/themoeway/kaikki-to-yomitan/releases/latest/download/kty-tl-en.zip", "description": "Tagalog to English dictionary created from Wiktionary data.", - "homepage": "https://github.com/themoeway/kaikki-to-yomitan/blob/master/downloads.md" + "homepage": "https://github.com/themoeway/kaikki-to-yomitan/blob/master/downloads.md", + "downloadUrl": "https://github.com/themoeway/kaikki-to-yomitan/releases/latest/download/kty-tl-en.zip" } - ], - "kanji": [], - "frequency": [], - "grammar": [], - "pronunciation": [] + ] }, "tr": { + "frequency": [], + "grammar": [], + "kanji": [], + "pronunciation": [], "terms": [ { "name": "kty-tr-en", - "downloadUrl": "https://github.com/themoeway/kaikki-to-yomitan/releases/latest/download/kty-tr-en.zip", "description": "Turkish to English dictionary created from Wiktionary data.", - "homepage": "https://github.com/themoeway/kaikki-to-yomitan/blob/master/downloads.md" + "homepage": "https://github.com/themoeway/kaikki-to-yomitan/blob/master/downloads.md", + "downloadUrl": "https://github.com/themoeway/kaikki-to-yomitan/releases/latest/download/kty-tr-en.zip" } - ], - "kanji": [], - "frequency": [], - "grammar": [], - "pronunciation": [] + ] }, "uk": { + "frequency": [], + "grammar": [], + "kanji": [], + "pronunciation": [], "terms": [ { "name": "kty-uk-en", - "downloadUrl": "https://github.com/themoeway/kaikki-to-yomitan/releases/latest/download/kty-uk-en.zip", "description": "Ukranian to English dictionary created from Wiktionary data.", - "homepage": "https://github.com/themoeway/kaikki-to-yomitan/blob/master/downloads.md" + "homepage": "https://github.com/themoeway/kaikki-to-yomitan/blob/master/downloads.md", + "downloadUrl": "https://github.com/themoeway/kaikki-to-yomitan/releases/latest/download/kty-uk-en.zip" } - ], - "kanji": [], - "frequency": [], - "grammar": [], - "pronunciation": [] + ] }, "vi": { + "frequency": [], + "grammar": [], + "kanji": [], + "pronunciation": [], "terms": [ { "name": "kty-vi-en", - "downloadUrl": "https://github.com/themoeway/kaikki-to-yomitan/releases/latest/download/kty-vi-en.zip", "description": "Vietnamese to English dictionary created from Wiktionary data.", - "homepage": "https://github.com/themoeway/kaikki-to-yomitan/blob/master/downloads.md" + "homepage": "https://github.com/themoeway/kaikki-to-yomitan/blob/master/downloads.md", + "downloadUrl": "https://github.com/themoeway/kaikki-to-yomitan/releases/latest/download/kty-vi-en.zip" } - ], - "kanji": [], - "frequency": [], - "grammar": [], - "pronunciation": [] + ] }, "zh": { + "frequency": [], + "grammar": [], + "kanji": [], + "pronunciation": [], "terms": [ { "name": "kty-zh-en", - "downloadUrl": "https://github.com/themoeway/kaikki-to-yomitan/releases/latest/download/kty-zh-en.zip", "description": "Chinese to English dictionary created from Wiktionary data.", - "homepage": "https://github.com/themoeway/kaikki-to-yomitan/blob/master/downloads.md" + "homepage": "https://github.com/themoeway/kaikki-to-yomitan/blob/master/downloads.md", + "downloadUrl": "https://github.com/themoeway/kaikki-to-yomitan/releases/latest/download/kty-zh-en.zip" } - ], - "kanji": [], - "frequency": [], - "grammar": [], - "pronunciation": [] + ] } } diff --git a/ext/data/schemas/recommended-dictionaries-schema.json b/ext/data/schemas/recommended-dictionaries-schema.json index 5a2540fe8c..b3df85aa31 100644 --- a/ext/data/schemas/recommended-dictionaries-schema.json +++ b/ext/data/schemas/recommended-dictionaries-schema.json @@ -10,146 +10,31 @@ "terms": { "type": "array", "items": { - "type": "object", - "required": [ - "name", - "downloadUrl", - "description" - ], - "properties": { - "name": { - "type": "string", - "minLength": 2 - }, - "downloadUrl": { - "type": "string", - "minLength": 2 - }, - "description": { - "type": "string", - "minLength": 2 - }, - "homepage": { - "type": "string", - "minLength": 2 - } - } + "$ref": "#/definitions/Dictionary" } }, "kanji": { "type": "array", "items": { - "type": "object", - "required": [ - "name", - "downloadUrl", - "description" - ], - "properties": { - "name": { - "type": "string", - "minLength": 2 - }, - "downloadUrl": { - "type": "string", - "minLength": 2 - }, - "description": { - "type": "string", - "minLength": 2 - }, - "homepage": { - "type": "string", - "minLength": 2 - } - } + "$ref": "#/definitions/Dictionary" } }, "frequency": { "type": "array", "items": { - "type": "object", - "required": [ - "name", - "downloadUrl", - "description" - ], - "properties": { - "name": { - "type": "string", - "minLength": 2 - }, - "downloadUrl": { - "type": "string", - "minLength": 2 - }, - "description": { - "type": "string", - "minLength": 2 - }, - "homepage": { - "type": "string", - "minLength": 2 - } - } + "$ref": "#/definitions/Dictionary" } }, "grammar": { "type": "array", "items": { - "type": "object", - "required": [ - "name", - "downloadUrl", - "description" - ], - "properties": { - "name": { - "type": "string", - "minLength": 2 - }, - "downloadUrl": { - "type": "string", - "minLength": 2 - }, - "description": { - "type": "string", - "minLength": 2 - }, - "homepage": { - "type": "string", - "minLength": 2 - } - } + "$ref": "#/definitions/Dictionary" } }, "pronunciation": { "type": "array", "items": { - "type": "object", - "required": [ - "name", - "downloadUrl", - "description" - ], - "properties": { - "name": { - "type": "string", - "minLength": 2 - }, - "downloadUrl": { - "type": "string", - "minLength": 2 - }, - "description": { - "type": "string", - "minLength": 2 - }, - "homepage": { - "type": "string", - "minLength": 2 - } - } + "$ref": "#/definitions/Dictionary" } } }, @@ -161,5 +46,33 @@ ], "additionalProperties": false } + }, + "definitions": { + "Dictionary": { + "type": "object", + "required": [ + "name", + "downloadUrl", + "description" + ], + "properties": { + "name": { + "type": "string", + "minLength": 2 + }, + "downloadUrl": { + "type": "string", + "minLength": 2 + }, + "description": { + "type": "string", + "minLength": 2 + }, + "homepage": { + "type": "string", + "minLength": 2 + } + } + } } }