summaryrefslogtreecommitdiff
path: root/translate-widget/README.MD
blob: a82fda749aa4c8d76f6d0dface8dc3103aeda1ce (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
# 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 [Watson Language Translator](https://www.ibm.com/watson/services/language-translator/) from IBM.

![demo](./demo.gif)

## Controls

 - <kbd>Mod4</kbd> + <kbd>c</kbd> - 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. Create an IBM Cloud API key at [cloud.ibm.com/iam/apikeys](https://cloud.ibm.com/iam/apikeys)
1. Copy a service URL by going to [resource list](https://cloud.ibm.com/resources), then under "Services" select "Language Translator" option, and then copy URL from the "Credentials" section
1. Require widget in **rc.lua**:

    ```lua
    local translate = require("awesome-wm-widgets.translate-widget.translate")
    ```

1. Add a shortcut to run translate prompt:

    ```lua
    awful.key({ modkey }, "c", function() 
        translate.launch{api_key = '<api-key>', url = 'url'} 
   end, { description = "run translate prompt", group = "launcher" })    
   ```