hubot-i18n

0.0.1 • Public • Published

Hubot: hubot-i18n

A hubot script to support i18n.

Basic usage

Use environment variable HUBOT_LANG=language-tag to specify hubot language.

# Init 
i18n = robot.i18n 'unique name'
 
# You can load i18n config serverl times 
i18n.load(
  "language-tag":
    message: "${ robot_name } support i18n now"
    # simple way 
    respond: /.*i18n\s+awesome.*/i
    # complex way 
    respond:
      match: /.*i18n\s+awesome.*/i
      # You can modify `msg` before pass in Listener 
      transform: (msg) ->
        msg.match = [null'R2-D2']
        msg
)
 
# Use it 
robot.respond i18n.t('respond')i18n.'respond'(msg) ->
  msg.send i18n.t('message'robot_name: msg.match[1])
  #=> R2-D2 support i18n now 

Patch mode

You can internationalize other plugin with patch mode by using environment variable HUBOT_I18N_PATCH=true.

Example for hubot-help.

# In your scripts/ file 
 
module.exports = (robot) ->
  # The module name must be `patch` 
  i18n = robot.i18n 'patch'
 
  i18n.load(
    'zh-CN':
      # key is RegExp.source 
      'help\\s*(.*)?$':
        match: /(关于)?\s*([^\s关于的]+)?\s*()?命令$/i
        transform: (msg) ->
          match = msg.match
          msg.match = [match[0]match[2]]
          msg
  )

Package Sidebar

Install

npm i hubot-i18n

Weekly Downloads

1

Version

0.0.1

License

MIT

Last publish

Collaborators

  • bolasblack