mirror of
https://gitlab.com/bignutty/labscore.git
synced 2025-06-22 04:47:02 -04:00
adds /translate
This commit is contained in:
parent
e8312f0b32
commit
064845b307
7 changed files with 147 additions and 2 deletions
35
labscore/parameters/autocomplete/translateLanguage.js
Normal file
35
labscore/parameters/autocomplete/translateLanguage.js
Normal file
|
@ -0,0 +1,35 @@
|
|||
const { TRANSLATE_LANGUAGES } = require("#constants");
|
||||
const { getLanguagesFromAny } = require("#utils/translate");
|
||||
|
||||
module.exports = async (context)=>{
|
||||
let choices = [];
|
||||
if(context.value){
|
||||
choices = getLanguagesFromAny(context.value)
|
||||
} else {
|
||||
// Default language suggestions
|
||||
choices = [
|
||||
"en",
|
||||
"de",
|
||||
"fr",
|
||||
"es",
|
||||
"pt-PT",
|
||||
"no",
|
||||
"fi",
|
||||
"sv",
|
||||
"it",
|
||||
"ja",
|
||||
"ru",
|
||||
"ar",
|
||||
"he",
|
||||
"tr",
|
||||
"hi",
|
||||
"zh-CN",
|
||||
"zh-TW",
|
||||
]
|
||||
}
|
||||
|
||||
return context.respond({ choices: choices.splice(0, 20).map((l)=>({
|
||||
name: TRANSLATE_LANGUAGES[l],
|
||||
value: l
|
||||
}))});
|
||||
}
|
5
labscore/parameters/index.js
Normal file
5
labscore/parameters/index.js
Normal file
|
@ -0,0 +1,5 @@
|
|||
module.exports = {
|
||||
autocomplete: {
|
||||
translateLanguage: require('./autocomplete/translateLanguage')
|
||||
}
|
||||
}
|
|
@ -62,6 +62,10 @@ const Statics = Object.freeze({
|
|||
file: "brands/googlefinance.png",
|
||||
revision: 0
|
||||
},
|
||||
googletranslate: {
|
||||
file: "brands/googletranslate.png",
|
||||
revision: 0
|
||||
},
|
||||
inferkit: {
|
||||
file: "brands/inferkit.png",
|
||||
revision: 1
|
||||
|
@ -212,6 +216,7 @@ module.exports.STATICS = Object.freeze({
|
|||
genius: staticAsset(Statics.brands.genius),
|
||||
google: staticAsset(Statics.brands.google),
|
||||
googlefinance: staticAsset(Statics.brands.googlefinance),
|
||||
googletranslate: staticAsset(Statics.brands.googletranslate),
|
||||
emojipedia: staticAsset(Statics.brands.emojipedia),
|
||||
inferkit: staticAsset(Statics.brands.inferkit),
|
||||
inspirobot: staticAsset(Statics.brands.inspirobot),
|
||||
|
|
|
@ -50,6 +50,14 @@ module.exports.dictionaryGetCodeFromAny = function (prompt) {
|
|||
return languages[0];
|
||||
};
|
||||
|
||||
module.exports.getLanguagesFromAny = function (prompt) {
|
||||
let languages = [];
|
||||
if(TRANSLATE_LANGUAGE_ALIASES[prompt.toLowerCase()]) prompt = TRANSLATE_LANGUAGE_ALIASES[prompt.toLowerCase()]
|
||||
if(TRANSLATE_LANGUAGES[prompt.toLowerCase()]) languages.push(prompt.toLowerCase());
|
||||
for(const i of Object.keys(TRANSLATE_LANGUAGES)) if(!languages.includes(i) && (TRANSLATE_LANGUAGES[i].toLowerCase() == prompt.toLowerCase() || TRANSLATE_LANGUAGES[i].toLowerCase().includes(prompt.toLowerCase()))) languages.push(i)
|
||||
for(const i of Object.keys(TRANSLATE_LANGUAGE_MAPPINGS)) if(!languages.includes(i) && TRANSLATE_LANGUAGE_MAPPINGS[i].toLowerCase() == prompt.toLowerCase()) languages.push(i)
|
||||
return languages;
|
||||
};
|
||||
|
||||
module.exports.isSupported = function (desiredLang) {
|
||||
return Boolean(getCode(desiredLang));
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue