From 9ced807a1eb0a5399abc9d23715d85ccfe5310a9 Mon Sep 17 00:00:00 2001 From: Daniel Odendahl Jr Date: Mon, 6 Nov 2017 14:20:01 +0000 Subject: [PATCH] Revert Google Translate Change --- assets/json/translate.json | 118 ++++++++++++++------------------ commands/text-edit/translate.js | 35 +++++----- 2 files changed, 70 insertions(+), 83 deletions(-) diff --git a/assets/json/translate.json b/assets/json/translate.json index acb85815..8cedc0da 100644 --- a/assets/json/translate.json +++ b/assets/json/translate.json @@ -1,107 +1,95 @@ { - "auto": "Automatic", - "af": "Afrikaans", + "az": "Azerbaijan", "sq": "Albanian", "am": "Amharic", + "en": "English", "ar": "Arabic", "hy": "Armenian", - "az": "Azerbaijani", + "af": "Afrikaans", "eu": "Basque", + "ba": "Bashkir", "be": "Belarusian", "bn": "Bengali", - "bs": "Bosnian", + "my": "Burmese", "bg": "Bulgarian", - "ca": "Catalan", - "ceb": "Cebuano", - "ny": "Chichewa", - "zh-cn": "Chinese Simplified", - "zh-tw": "Chinese Traditional", - "co": "Corsican", - "hr": "Croatian", - "cs": "Czech", - "da": "Danish", - "nl": "Dutch", - "en": "English", - "eo": "Esperanto", - "et": "Estonian", - "tl": "Filipino", - "fi": "Finnish", - "fr": "French", - "fy": "Frisian", - "gl": "Galician", - "ka": "Georgian", - "de": "German", - "el": "Greek", - "gu": "Gujarati", - "ht": "Haitian Creole", - "ha": "Hausa", - "haw": "Hawaiian", - "iw": "Hebrew", - "hi": "Hindi", - "hmn": "Hmong", + "bs": "Bosnian", + "cy": "Welsh", "hu": "Hungarian", - "is": "Icelandic", - "ig": "Igbo", + "vi": "Vietnamese", + "ht": "Haitian (Creole)", + "gl": "Galician", + "nl": "Dutch", + "mrj": "Hill Mari", + "el": "Greek", + "ka": "Georgian", + "gu": "Gujarati", + "da": "Danish", + "he": "Hebrew", + "yi": "Yiddish", "id": "Indonesian", "ga": "Irish", "it": "Italian", - "ja": "Japanese", - "jw": "Javanese", - "kn": "Kannada", + "is": "Icelandic", + "es": "Spanish", "kk": "Kazakh", - "km": "Khmer", - "ko": "Korean", - "ku": "Kurdish (Kurmanji)", + "kn": "Kannada", + "ca": "Catalan", "ky": "Kyrgyz", - "lo": "Lao", + "zh": "Chinese", + "ko": "Korean", + "xh": "Xhosa", + "km": "Khmer", + "lo": "Laotian", "la": "Latin", "lv": "Latvian", "lt": "Lithuanian", "lb": "Luxembourgish", - "mk": "Macedonian", "mg": "Malagasy", "ms": "Malay", "ml": "Malayalam", "mt": "Maltese", + "mk": "Macedonian", "mi": "Maori", "mr": "Marathi", + "mhr": "Mari", "mn": "Mongolian", - "my": "Myanmar (Burmese)", + "de": "German", "ne": "Nepali", "no": "Norwegian", - "ps": "Pashto", + "pa": "Punjabi", + "pap": "Papiamento", "fa": "Persian", "pl": "Polish", "pt": "Portuguese", - "ma": "Punjabi", "ro": "Romanian", "ru": "Russian", - "sm": "Samoan", - "gd": "Scots Gaelic", + "ceb": "Cebuano", "sr": "Serbian", - "st": "Sesotho", - "sn": "Shona", - "sd": "Sindhi", "si": "Sinhala", - "sk": "Slovak", + "sk": "Slovakian", "sl": "Slovenian", - "so": "Somali", - "es": "Spanish", - "su": "Sundanese", "sw": "Swahili", - "sv": "Swedish", + "su": "Sundanese", "tg": "Tajik", - "ta": "Tamil", - "te": "Telugu", "th": "Thai", + "tl": "Tagalog", + "ta": "Tamil", + "tt": "Tatar", + "te": "Telugu", "tr": "Turkish", - "uk": "Ukrainian", - "ur": "Urdu", + "udm": "Udmurt", "uz": "Uzbek", - "vi": "Vietnamese", - "cy": "Welsh", - "xh": "Xhosa", - "yi": "Yiddish", - "yo": "Yoruba", - "zu": "Zulu" + "uk": "Ukranian", + "ur": "Urdu", + "fi": "Finnish", + "fr": "French", + "hi": "Hindi", + "hr": "Croatian", + "cs": "Czech", + "sv": "Swedish", + "gd": "Scottish", + "et": "Estonian", + "eo": "Esperanto", + "jv": "Javanese", + "ja": "Japanese" } diff --git a/commands/text-edit/translate.js b/commands/text-edit/translate.js index 5d3ffc62..f62abdfe 100644 --- a/commands/text-edit/translate.js +++ b/commands/text-edit/translate.js @@ -3,12 +3,13 @@ const { MessageEmbed } = require('discord.js'); const snekfetch = require('snekfetch'); const { list } = require('../../util/Util'); const codes = require('../../assets/json/translate'); +const { YANDEX_KEY } = process.env; module.exports = class TranslateCommand extends Command { constructor(client) { super(client, { name: 'translate', - aliases: ['google-translate'], + aliases: ['yandex', 'yandex-translate', 'translate-yandex'], group: 'text-edit', memberName: 'translate', description: 'Translates text to a specified language.', @@ -16,8 +17,7 @@ module.exports = class TranslateCommand extends Command { clientPermissions: ['EMBED_LINKS'], args: [ { - key: 'content', - label: 'text', + key: 'text', prompt: 'What text would you like to translate?', type: 'string', max: 500 @@ -41,7 +41,7 @@ module.exports = class TranslateCommand extends Command { key: 'base', prompt: `Which language would you like to use as the base? Either ${list(Object.keys(codes), 'or')}.`, type: 'string', - default: 'auto', + default: '', validate: base => { const value = base.toLowerCase(); if (codes[value] || Object.keys(codes).find(key => codes[key].toLowerCase() === value)) return true; @@ -57,24 +57,23 @@ module.exports = class TranslateCommand extends Command { }); } - async run(msg, { content, target, base }) { + async run(msg, { text, target, base }) { try { - const { text } = await snekfetch - .get('https://translate.googleapis.com/translate_a/single') + const { body } = await snekfetch + .get('https://translate.yandex.net/api/v1.5/tr.json/translate') .query({ - client: 'gtx', - sl: base, - tl: target, - dt: 't', - q: content + key: YANDEX_KEY, + text, + lang: base ? `${base}-${target}` : target }); - const body = JSON.parse(text); + const lang = body.lang.split('-'); const embed = new MessageEmbed() - .setColor(0x3174F1) - .addField(`❯ From: ${codes[body[2]]}`, - content) - .addField(`❯ To: ${codes[target]}`, - body[0][0][0]); + .setColor(0xFF0000) + .setFooter('Powered by Yandex.Translate', 'https://i.imgur.com/HMpH9sq.png') + .addField(`❯ From: ${codes[lang[0]]}`, + text) + .addField(`❯ To: ${codes[lang[1]]}`, + body.text[0]); return msg.embed(embed); } catch (err) { return msg.reply(`Oh no, an error occurred: \`${err.message}\`. Try again later!`);