gt-tools-0.1.2: Gtc/gtc.hs
module Main (
main
) where
import Gt.Core
import Gt.Langs
import Data.List (intercalate)
import System.Exit
import qualified System.Environment.UTF8 as U
usage :: IO ()
usage =
do
mapM_ putStrLn [ " Usage: 'fromLang' 'toLang' 'text'"
, " Lang is 2 sumbols code, i.e. by, en, ru.\n"
, " --help or -h - to see this help."
, " --list or -l - list of available languages.\n"
]
exitWith $ ExitFailure 1
langs_list :: IO ()
langs_list = putStrLn $ "\nList of available languages:\n\n" ++
(concat $ zipWith (\l d -> " " ++ l ++ " - " ++ d ++ "\n") langs langs_descrs)
main :: IO ()
main =
do
-- TODO: Need to detecet terminal encoding and make convertions
args <- U.getArgs
case args of
["-l"] -> langs_list
["-h"] -> usage
["--list"] -> langs_list
["--help"] -> usage
from:to:rest -> do_trans from to (intercalate " " rest) >>= putStrLn
_ -> usage
exitWith ExitSuccess