From 16cca6e52f60044e225aeceb7e233603d69a12b8 Mon Sep 17 00:00:00 2001 From: bignutty <3515180-bignutty@users.noreply.gitlab.com> Date: Sat, 5 Oct 2024 13:08:05 +0200 Subject: [PATCH] update translate data --- commands/interaction/context/ocrtr.js | 6 +- commands/message/utils/ocrtr.js | 6 +- commands/message/utils/translate.js | 6 +- labscore/constants.js | 400 ++++++++++++++++++++++++-- 4 files changed, 390 insertions(+), 28 deletions(-) diff --git a/commands/interaction/context/ocrtr.js b/commands/interaction/context/ocrtr.js index 390a4f8..6033d01 100644 --- a/commands/interaction/context/ocrtr.js +++ b/commands/interaction/context/ocrtr.js @@ -1,5 +1,5 @@ const { googleVisionOcr, googleTranslate } = require('#api'); -const { TRANSLATE_LANGUAGE_MAPPINGS, TRANSLATE_LANGUAGES } = require('#constants'); +const { TRANSLATE_LANGUAGES, TRANSLATE_DISPLAY_MAPPINGS } = require('#constants'); const { getMessageAttachment, validateAttachment } = require('#utils/attachment'); const { createEmbed } = require('#utils/embed'); @@ -42,8 +42,8 @@ module.exports = { try{ let translate = await googleTranslate(context, ocr.response.body.text, "en", "auto") - let fromFlag = TRANSLATE_LANGUAGE_MAPPINGS[translate.response.body.language.from || sourceLanguage] || '' - let toFlag = TRANSLATE_LANGUAGE_MAPPINGS[translate.response.body.language.to] || '' + let fromFlag = TRANSLATE_DISPLAY_MAPPINGS[translate.response.body.language.from || sourceLanguage] || '' + let toFlag = TRANSLATE_DISPLAY_MAPPINGS[translate.response.body.language.to] || '' return editOrReply(context, createEmbed("default", context, { description: `${icon("locale")} ​ ${fromFlag} ${pill(TRANSLATE_LANGUAGES[translate.response.body.language.from || sourceLanguage])} ​ ​ ​​${icon("arrow_right")} ​ ​ ​ ​${toFlag} ${pill(TRANSLATE_LANGUAGES[translate.response.body.language.to])}\n${codeblock("ansi", [translate.response.body.translation.substr(0,3900)])}`, diff --git a/commands/message/utils/ocrtr.js b/commands/message/utils/ocrtr.js index 4fd7664..60c9a69 100644 --- a/commands/message/utils/ocrtr.js +++ b/commands/message/utils/ocrtr.js @@ -1,5 +1,5 @@ const { googleVisionOcr, googleTranslate } = require("#api"); -const { TRANSLATE_LANGUAGES, TRANSLATE_LANGUAGE_MAPPINGS } = require("#constants"); +const { TRANSLATE_LANGUAGES, TRANSLATE_DISPLAY_MAPPINGS } = require("#constants"); const { getRecentImage } = require("#utils/attachment"); const { createEmbed } = require("#utils/embed"); @@ -54,8 +54,8 @@ module.exports = { try{ let translate = await googleTranslate(context, ocr.response.body.text, targetLanguage, sourceLanguage) - let fromFlag = TRANSLATE_LANGUAGE_MAPPINGS[translate.response.body.language.from || sourceLanguage] || '' - let toFlag = TRANSLATE_LANGUAGE_MAPPINGS[translate.response.body.language.to] || '' + let fromFlag = TRANSLATE_DISPLAY_MAPPINGS[translate.response.body.language.from || sourceLanguage] || '' + let toFlag = TRANSLATE_DISPLAY_MAPPINGS[translate.response.body.language.to] || '' return editOrReply(context, createEmbed("default", context, { description: `${icon("locale")} ​ ${fromFlag} ${pill(TRANSLATE_LANGUAGES[translate.response.body.language.from || sourceLanguage])} ​ ​ ​​${icon("arrow_right")} ​ ​ ​ ​${toFlag} ${pill(TRANSLATE_LANGUAGES[translate.response.body.language.to])}\n${codeblock("ansi", [translate.response.body.translation.substr(0,4000)])}`, diff --git a/commands/message/utils/translate.js b/commands/message/utils/translate.js index 892c3a1..9264f56 100644 --- a/commands/message/utils/translate.js +++ b/commands/message/utils/translate.js @@ -1,5 +1,5 @@ const { googleTranslate } = require('#api'); -const { TRANSLATE_LANGUAGES, TRANSLATE_LANGUAGE_MAPPINGS } = require('#constants'); +const { TRANSLATE_LANGUAGES, TRANSLATE_DISPLAY_MAPPINGS } = require('#constants'); const { createEmbed } = require('#utils/embed') const { codeblock, icon, pill, stringwrap, smallIconPill } = require('#utils/markdown'); @@ -58,8 +58,8 @@ module.exports = { try{ let translate = await googleTranslate(context, content, targetLanguage, sourceLanguage) - let fromFlag = TRANSLATE_LANGUAGE_MAPPINGS[translate.response.body.language.from || sourceLanguage] || '' - let toFlag = TRANSLATE_LANGUAGE_MAPPINGS[translate.response.body.language.to] || '' + let fromFlag = TRANSLATE_DISPLAY_MAPPINGS[translate.response.body.language.from || sourceLanguage] || '' + let toFlag = TRANSLATE_DISPLAY_MAPPINGS[translate.response.body.language.to] || '' return editOrReply(context, createEmbed("default", context, { description: `${icon("locale")} ​ ${fromFlag} ${pill(TRANSLATE_LANGUAGES[translate.response.body.language.from || sourceLanguage] || translate.response.body.language.from || args.from)} ​ ​ ​​${icon("arrow_right")} ​ ​ ​ ​${toFlag} ${pill(TRANSLATE_LANGUAGES[translate.response.body.language.to] || translate.response.body.language.to)}\n${codeblock("ansi", [translate.response.body.translation])}`, diff --git a/labscore/constants.js b/labscore/constants.js index aa9ce8b..1d7c7e8 100644 --- a/labscore/constants.js +++ b/labscore/constants.js @@ -700,6 +700,260 @@ module.exports.TRANSLATE_LANGUAGE_ALIASES = Object.freeze({ "jp": "ja", }) +// there are a lot of overlapping flags (specifically in eastern territories), +// we have separata "display" and "resolve" mappings now. +module.exports.TRANSLATE_DISPLAY_MAPPINGS = Object.freeze({ + "af": "🇿🇦", + "sq": "🇦🇱", + "am": "🇪🇹", + "ar": "🇸🇦", + "hy": "🇦🇲", + "as": "🇮🇳", + "ay": "🇧🇴", + "az": "🇦🇿", + "bm": "🇲🇱", + "eu": "", + "be": "🇧🇾", + "bn": "🇧🇩", + "bho": "🇮🇳", + "bs": "🇧🇦", + "bg": "🇧🇬", + "ca": "", + "ceb": "🇵🇭", + "co": "", + "hr": "🇭🇷", + "cs": "🇨🇿", + "da": "🇩🇰", + "dv": "🇲🇻", + "doi": "🇮🇳", + "nl": "🇳🇱", + "en": "🇺🇸", + "eo": "", + "et": "🇪🇪", + "ee": "🇹🇬", + "fil": "🇵🇭", + "fi": "🇫🇮", + "fr": "🇫🇷", + "fy": "🇳🇱", + "gl": "🇪🇸", + "ka": "🇬🇪", + "de": "🇩🇪", + "el": "🇬🇷", + "gn": "🇵🇾", + "gu": "🇮🇳", + "ht": "🇭🇹", + "ha": "🇳🇬", + "haw": "", + "he": "🇮🇱", + "iw": "🇮🇱", + "hi": "🇮🇳", + "hmn": "", + "hu": "🇭🇺", + "is": "🇮🇸", + "ig": "🇳🇬", + "ilo": "", + "id": "🇮🇩", + "ga": "🇮🇪", + "it": "🇮🇹", + "ja": "🇯🇵", + "jv": "🇮🇩", + "kn": "🇮🇳", + "kk": "🇰🇿", + "km": "🇰🇭", + "rw": "🇷🇼", + "gom": "🇮🇳", + "ko": "🇰🇷", + "kri": "🇸🇱", + "ku": "", + "ckb": "", + "ky": "🇰🇬", + "lo": "🇱🇦", + "la": "", + "lv": "🇱🇻", + "ln": "🇨🇩", + "lt": "🇱🇹", + "lg": "🇺🇬", + "lb": "🇱🇺", + "mk": "🇲🇰", + "mai": "🇮🇳", + "mg": "🇲🇬", + "ms": "🇲🇾", + "ml": "🇮🇳", + "mt": "🇲🇹", + "mi": "🇳🇿", + "mr": "🇮🇳", + "mn": "🇲🇳", + "my": "🇲🇲", + "ne": "🇳🇵", + "no": "🇳🇴", + "ny": "🇲🇼", + "ps": "🇦🇫", + "fa": "🇮🇷", + "pl": "🇵🇱", + "pt": "🇵🇹", + "pt-pt": "🇵🇹", + "pt-br": "🇧🇷", + "ro": "🇷🇴", + "ru": "🇷🇺", + "sm": "🇼🇸", + "sa": "🇮🇳", + "gd": "", + "nso": "🇿🇦", + "sr": "🇷🇸", + "st": "🇱🇸", + "sn": "🇿🇼", + "si": "🇱🇰", + "sk": "🇸🇰", + "sl": "🇸🇮", + "so": "🇸🇴", + "es": "🇪🇸", + "su": "🇸🇩", + "sw": "🇰🇪", + "sv": "🇸🇪", + "tl": "🇵🇭", + "tg": "🇹🇯", + "te": "🇮🇳", + "th": "🇹🇭", + "ti": "🇪🇷", + "ts": "🇹🇴", + "tr": "🇹🇷", + "tk": "🇹🇲", + "ak": "🇬🇭", + "uk": "🇺🇦", + "ur": "🇵🇰", + "uz": "🇺🇿", + "vi": "🇻🇳", + "cy": "🏴󠁧󠁢󠁷󠁬󠁳󠁿", + "xh": "🇿🇦", + "yo": "🇳🇬", + "zu": "🇿🇦", + "zh-TW": "🇨🇳", + "zh": "🇨🇳", + "zh-CN": "🇨🇳", + "ab": "", + "ace": "🇮🇩", + "ach": "🇺🇬", + "aa": "🇪🇹", + "alz": "🇺🇬", + "av": "🇷🇺", + "awa": "🇮🇳", + "ban": "🇮🇩", + "bal": "🇮🇷", + "bci": "🇨🇮", + "ba": "🇷🇺", + "btx": "🇮🇩", + "bts": "🇮🇩", + "bbc": "🇮🇩", + "bem": "🇿🇲", + "bew": "🇮🇩", + "bik": "🇵🇭", + "br": "🇫🇷", + "bua": "🇷🇺", + "yue": "🇭🇰", + "ch": "🇬🇺", + "ce": "🇷🇺", + "chk": "🇫🇲", + "cv": "🇷🇺", + "crh": "🇺🇦", + "fa-AF": "🇦🇫", + "din": "🇸🇸", + "dov": "🇨🇩", + "dyu": "🇲🇱", + "dz": "🇧🇹", + "fo": "🇫🇴", + "fj": "🇫🇯", + "fon": "🇧🇯", + "fur": "🇮🇹", + "ff": "🇲🇱", + "gaa": "🇬🇭", + "cnh": "🇲🇲", + "hil": "🇵🇭", + "hrx": "🇩🇪", + "iba": "🇲🇾", + "jam": "🇯🇲", + "jw": "🇮🇩", + "kac": "🇨🇳", + "kl": "🇬🇱", + "kr": "🇳🇪", + "pam": "🇵🇭", + "kha": "🇮🇳", + "cgg": "🇺🇬", + "kg": "🇨🇩", + "ktu": "🇨🇩", + "trp": "🇮🇳", + "kv": "🇷🇺", + "ltg": "🇱🇻", + "lij": "🇮🇹", + "li": "🇳🇱", + "lmo": "🇮🇹", + "luo": "🇰🇪", + "mad": "🇮🇩", + "mak": "🇮🇩", + "ms-Arab": "🇲🇾", + "mam": "🇬🇹", + "gv": "🇮🇲", + "mh": "🇲🇭", + "mwr": "🇮🇳", + "mfe": "🇲🇺", + "chm": "🇷🇺", + "mni-Mtei": "🇮🇳", + "min": "🇮🇩", + "lus": "🇮🇳", + "nhe": "🇲🇽", + "ndc-ZW": "🇿🇼", + "nr": "🇿🇼", + "new": "🇳🇵", + "bm-Nkoo": "🇬🇳", + "nus": "🇸🇸", + "oc": "🇫🇷", + "or": "🇮🇳", + "om": "🇪🇹", + "os": "🇷🇺", + "pag": "🇵🇭", + "pap": "🇦🇼", + "pt-PT": "🇵🇹", + "pa": "🇮🇳", + "pa-Arab": "🇵🇰", + "kek": "🇬🇹", + "qu": "🇵🇪", + "rom": "🇷🇴", + "rn": "🇧🇮", + "se": "🇳🇴", + "sg": "🇨🇫", + "sat-Latn": "🇮🇳", + "crs": "🇸🇨", + "shn": "🇲🇲", + "scn": "🇮🇹", + "szl": "🇵🇱", + "sd": "🇵🇰", + "sus": "🇬🇳", + "ss": "🇸🇿", + "ty": "🇵🇫", + "ber-Latn": "🇩🇿", + "ber": "🇩🇿", + "ta": "🇮🇳", + "tt": "🇷🇺", + "tet": "🇹🇱", + "bo": "🇨🇳", + "tiv": "🇳🇬", + "tpi": "🇵🇬", + "to": "🇹🇴", + "tn": "🇧🇼", + "tcy": "🇮🇳", + "tum": "🇲🇼", + "tyv": "🇷🇺", + "udm": "🇷🇺", + "ug": "🇨🇳", + "ve": "🇿🇦", + "vec": "🇮🇹", + "war": "🇵🇭", + "wo": "🇸🇳", + "sah": "🇷🇺", + "yi": "", + "yua": "🇲🇽", + "zap": "🇲🇽" +}) + module.exports.TRANSLATE_LANGUAGE_MAPPINGS = Object.freeze({ "af": "🇿🇦", "sq": "🇦🇱", @@ -831,145 +1085,253 @@ module.exports.TRANSLATE_LANGUAGE_MAPPINGS = Object.freeze({ }) module.exports.TRANSLATE_LANGUAGES = Object.freeze({ - 'auto': 'Automatic', + "ab": "Abkhaz", + "ace": "Acehnese", + "ach": "Acholi", + "aa": "Afar", "af": "Afrikaans", "sq": "Albanian", + "alz": "Alur", "am": "Amharic", "ar": "Arabic", "hy": "Armenian", "as": "Assamese", + "av": "Avar", + "awa": "Awadhi", "ay": "Aymara", "az": "Azerbaijani", + "ban": "Balinese", + "bal": "Baluchi", "bm": "Bambara", + "bci": "Baoulé", + "ba": "Bashkir", "eu": "Basque", + "btx": "Batak Karo", + "bts": "Batak Simalungun", + "bbc": "Batak Toba", "be": "Belarusian", + "bem": "Bemba", "bn": "Bengali", + "bew": "Betawi", "bho": "Bhojpuri", + "bik": "Bikol", "bs": "Bosnian", + "br": "Breton", "bg": "Bulgarian", + "bua": "Buryat", + "yue": "Cantonese", "ca": "Catalan", "ceb": "Cebuano", - "zh-CN": "Chinese", - "zh": "Chinese", + "ch": "Chamorro", + "ce": "Chechen", + "ny": "Chichewa", + "zh": "Chinese (Simplified)", "zh-TW": "Chinese (Traditional)", + "chk": "Chuukese", + "cv": "Chuvash", "co": "Corsican", + "crh": "Crimean Tatar", "hr": "Croatian", "cs": "Czech", "da": "Danish", - "dv": "Dhivehi", + "fa-AF": "Dari", + "din": "Dinka", + "dv": "Divehi", "doi": "Dogri", + "dov": "Dombe", "nl": "Dutch", + "dyu": "Dyula", + "dz": "Dzongkha", "en": "English", "eo": "Esperanto", "et": "Estonian", "ee": "Ewe", - "fil": "Filipino (Tagalog)", + "fo": "Faroese", + "fj": "Fijian", + "tl": "Filipino", "fi": "Finnish", + "fon": "Fon", "fr": "French", "fy": "Frisian", + "fur": "Friulian", + "ff": "Fulfulde", + "gaa": "Ga", "gl": "Galician", + "lg": "Ganda", "ka": "Georgian", "de": "German", "el": "Greek", "gn": "Guarani", "gu": "Gujarati", "ht": "Haitian Creole", + "cnh": "Hakha Chin", "ha": "Hausa", "haw": "Hawaiian", - "he": "Hebrew", "iw": "Hebrew", + "hil": "Hiligaynon", "hi": "Hindi", "hmn": "Hmong", "hu": "Hungarian", + "hrx": "Hunsrik", + "iba": "Iban", "is": "Icelandic", "ig": "Igbo", - "ilo": "Ilocano", + "ilo": "Iloko", "id": "Indonesian", - "ga": "Irish", + "ga": "Irish Gaelic", "it": "Italian", + "jam": "Jamaican Patois", "ja": "Japanese", - "jv": "Javanese", + "jw": "Javanese", + "kac": "Jingpo", + "kl": "Kalaallisut", "kn": "Kannada", + "kr": "Kanuri", + "pam": "Kapampangan", "kk": "Kazakh", + "kha": "Khasi", "km": "Khmer", + "cgg": "Kiga", + "kg": "Kikongo", "rw": "Kinyarwanda", + "ktu": "Kituba", + "trp": "Kokborok", + "kv": "Komi", "gom": "Konkani", "ko": "Korean", "kri": "Krio", - "ku": "Kurdish", + "ku": "Kurdish (Kurmanji)", "ckb": "Kurdish (Sorani)", "ky": "Kyrgyz", "lo": "Lao", + "ltg": "Latgalian", "la": "Latin", "lv": "Latvian", + "lij": "Ligurian", + "li": "Limburgan", "ln": "Lingala", "lt": "Lithuanian", - "lg": "Luganda", + "lmo": "Lombard", + "luo": "Luo", "lb": "Luxembourgish", "mk": "Macedonian", + "mad": "Madurese", "mai": "Maithili", + "mak": "Makassar", "mg": "Malagasy", "ms": "Malay", + "ms-Arab": "Malay (Jawi)", "ml": "Malayalam", "mt": "Maltese", + "mam": "Mam", + "gv": "Manx", "mi": "Maori", "mr": "Marathi", + "mh": "Marshallese", + "mwr": "Marwadi", + "mfe": "Mauritian Creole", + "chm": "Meadow Mari", "mni-Mtei": "Meiteilon (Manipuri)", + "min": "Minang", "lus": "Mizo", "mn": "Mongolian", "my": "Myanmar (Burmese)", + "nhe": "Nahuatl (Eastern Huasteca)", + "ndc-ZW": "Ndau", + "nr": "Ndebele (South)", + "new": "Nepalbhasa (Newari)", "ne": "Nepali", + "bm-Nkoo": "NKo", + "nso": "Northern Sotho", "no": "Norwegian", - "ny": "Nyanja (Chichewa)", + "nus": "Nuer", + "oc": "Occitan", "or": "Odia (Oriya)", "om": "Oromo", + "os": "Ossetian", + "pag": "Pangasinan", + "pap": "Papiamento", "ps": "Pashto", "fa": "Persian", "pl": "Polish", "pt": "Portuguese", - "pt-br": "Brazilian Portuguese", + "pt-PT": "Portuguese (Portugal)", "pa": "Punjabi", + "pa-Arab": "Punjabi (Shahmukhi)", + "kek": "Q'eqchi'", "qu": "Quechua", + "rom": "Romani", "ro": "Romanian", + "rn": "Rundi", "ru": "Russian", + "se": "Sami (North)", "sm": "Samoan", + "sg": "Sango", "sa": "Sanskrit", + "sat-Latn": "Santali", "gd": "Scots Gaelic", - "nso": "Sepedi", "sr": "Serbian", "st": "Sesotho", + "crs": "Seychellois Creole", + "shn": "Shan", "sn": "Shona", + "scn": "Sicilian", + "szl": "Silesian", "sd": "Sindhi", - "si": "Sinhala (Sinhalese)", + "si": "Sinhala", "sk": "Slovak", "sl": "Slovenian", "so": "Somali", "es": "Spanish", "su": "Sundanese", + "sus": "Susu", "sw": "Swahili", + "ss": "Swati", "sv": "Swedish", - "tl": "Tagalog (Filipino)", + "ty": "Tahitian", "tg": "Tajik", + "ber-Latn": "Tamazight", + "ber": "Tamazight (Tifinagh)", "ta": "Tamil", "tt": "Tatar", "te": "Telugu", + "tet": "Tetum", "th": "Thai", + "bo": "Tibetan", "ti": "Tigrinya", + "tiv": "Tiv", + "tpi": "Tok Pisin", + "to": "Tongan", "ts": "Tsonga", + "tn": "Tswana", + "tcy": "Tulu", + "tum": "Tumbuka", "tr": "Turkish", "tk": "Turkmen", - "ak": "Twi (Akan)", + "tyv": "Tuvan", + "ak": "Twi", + "udm": "Udmurt", "uk": "Ukrainian", "ur": "Urdu", "ug": "Uyghur", "uz": "Uzbek", + "ve": "Venda", + "vec": "Venetian", "vi": "Vietnamese", + "war": "Waray", "cy": "Welsh", + "wo": "Wolof", "xh": "Xhosa", + "sah": "Yakut", "yi": "Yiddish", "yo": "Yoruba", - "zu": "Zulu" - }) + "yua": "Yucatec Maya", + "zap": "Zapotec", + "zu": "Zulu", + "he": "Hebrew", + "jv": "Javanese", + "zh-CN": "Chinese (Simplified)" +}) module.exports.EMOJIPEDIA_PLATFORM_TYPES = [ "apple",