diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/I18n.hs | 27 | ||||
-rw-r--r-- | src/Plugin/GitHubCommit.hs | 4 |
2 files changed, 12 insertions, 19 deletions
diff --git a/src/I18n.hs b/src/I18n.hs index 988c823..5a74d80 100644 --- a/src/I18n.hs +++ b/src/I18n.hs @@ -1,30 +1,25 @@ -{-# LANGUAGE FlexibleContexts #-} -{-# LANGUAGE MultiParamTypeClasses #-} {-# LANGUAGE OverloadedStrings #-} -{-# LANGUAGE TemplateHaskell #-} module I18n ( Locale(..) - , RenderMessage + , Message(..) - , mkMessage , translate ) where import qualified Data.Text as T -import Text.Shakespeare.I18N (mkMessage, renderMessage, RenderMessage) - -data Bot = Bot - data Locale = EN | FR -toISOLocale :: Locale -> T.Text -toISOLocale EN = "en" -toISOLocale FR = "fr" +data Message + = GitHubCommitRepoURLNotFound + | GitRemoteSetOriginUpdatedRepoURL T.Text -mkMessage "Bot" "messages" "en" +translate_en_US :: Message -> T.Text +translate_en_US GitHubCommitRepoURLNotFound = "I couldn't find a repo URL for \ + \this channel. Try `git remote set origin REPO_URL`." +translate_en_US (GitRemoteSetOriginUpdatedRepoURL url) = + "I updated the channel's repo URL to '" `T.append` url `T.append` "'." -translate :: (RenderMessage Bot b) => Locale -> b -> T.Text -translate locale message = - renderMessage Bot [(toISOLocale locale)] message +translate :: Locale -> Message -> T.Text +translate EN = translate_en_US diff --git a/src/Plugin/GitHubCommit.hs b/src/Plugin/GitHubCommit.hs index 23de2fa..8b43b57 100644 --- a/src/Plugin/GitHubCommit.hs +++ b/src/Plugin/GitHubCommit.hs @@ -33,9 +33,7 @@ gitHubCommitAction message = do return $ respond rs where respond [] = - -- Left "I couldn't find a repo URL for this channel. \ - -- \Try `git remote set origin REPO_URL`." - Left $ translate EN MsgGitHubCommitRepoURLNotFound + Left $ translate EN GitHubCommitRepoURLNotFound respond ((RepoUrlRow r):_) = Right $ r `T.append` "/commits/" `T.append` T.pack ( M.textStr message =~ matchRegex gitHubCommit) |