- data Language
- = Afrikaans
- | Albanian
- | Amharic
- | Arabic
- | Armenian
- | Azerbaijani
- | Basque
- | Belarusian
- | Bengali
- | Bihari
- | Bulgarian
- | Burmese
- | Catalan
- | Cherokee
- | Chinese
- | ChineseSimplified
- | ChineseTraditional
- | Croatian
- | Czech
- | Danish
- | Dhivehi
- | Dutch
- | English
- | Esperanto
- | Estonian
- | Filipino
- | Finnish
- | French
- | Galician
- | Georgian
- | German
- | Greek
- | Guarani
- | Gujarati
- | Hebrew
- | Hindi
- | Hungarian
- | Icelandic
- | Indonesian
- | Inuktitut
- | Italian
- | Japanese
- | Kannada
- | Kazakh
- | Khmer
- | Korean
- | Kurdish
- | Kyrgyz
- | Laothian
- | Latvian
- | Lithuanian
- | Macedonian
- | Malay
- | Malayalam
- | Maltese
- | Marathi
- | Mongolian
- | Nepali
- | Norwegian
- | Oriya
- | Pashto
- | Persian
- | Polish
- | Portuguese
- | Punjabi
- | Romanian
- | Russian
- | Sanskrit
- | Serbian
- | Sindhi
- | Sinhalese
- | Slovak
- | Slovenian
- | Spanish
- | Swahili
- | Swedish
- | Tajik
- | Tamil
- | Tagalog
- | Telugu
- | Thai
- | Tibetan
- | Turkish
- | Ukrainian
- | Urdu
- | Uzbek
- | Uighur
- | Vietnamese
- | Unknown
- translate :: ByteString -> Maybe Language -> Language -> IO (Either String ByteString)