# Translate Widget This widget allows quickly translate words or phrases without opening a browser - just using Awesome. To provide direction of the translation add the 2 letters code of the source and target languages at the end of the phrase, for example _hello enfr_ will translate _hello_ from English to French. This widget is based on [Yandex.Translate API](https://tech.yandex.com/translate/). ![demo](./demo.gif) ## Controls - Mod4 + c - opens a translate prompt; - left click on the popup widget - copies the translation to the clipboard and closes widget; - right click on the popup widget - copies text to translate to the clipboard and closes widget. ## Installation 1. Clone repo under **~/.config/awesome/** 1. Get an [API key](https://translate.yandex.com/developers/keys) and paste it in **secrets.lua** 1. Require widget and secrets in **rc.lua**: ```lua local secrets = require("awesome-wm-widgets.secrets") local translate = require("awesome-wm-widgets.translate-widget.translate") ``` 1. Create a translate prompt, just under `mypromptbox`: ```lua s.mypromptbox = awful.widget.prompt() s.translateprompt = awful.widget.prompt() ``` 1. Add it to the left widgets of the wibox, just after `mypromptbox`: ```lua -- Add widgets to the wibox s.mywibox:setup { layout = wibox.layout.align.horizontal, { -- Left widgets layout = wibox.layout.fixed.horizontal, mylauncher, s.mytaglist, s.mypromptbox, s.translateprompt, }, ``` 1. Add a shortcut to run this prompt (note that we pass an API key from secrets.lua in method call): ```lua awful.key({ modkey }, "c", function() awful.prompt.run { prompt = "trnslt: ", textbox = awful.screen.focused().translateprompt.widget, exe_callback = function(text) translate.translate(text, secrets.translate_widget_api_key) end } ```