+(defun mlh-hangul ()
+ (forward-char -1)
+ (skip-chars-backward "a-zEO-RTW,.[]")
+ (mlh-backward-henkan)
+ (setq beg (point))
+ (setq inhibit-henkan nil)
+ (goto-char end-marker)
+ (forward-char -2)
+ (let (its-current-map its-current-language egg-mode-line-title)
+ (its-select-hangul)
+ (its-translate-region-internal beg (point)))
+ (delete-region (point) end-marker)
+ (if (null henkan-begin)
+ (setq henkan-begin beg)))
+
+(defun mlh-zhongwen ()
+ (forward-char -1)
+ (skip-chars-backward "a-z0-4 ,.[]")
+ (mlh-backward-henkan)
+ (setq beg (point))
+ (setq inhibit-henkan nil)
+ (goto-char end-marker)
+ (forward-char -2)
+ (let (its-current-map its-current-language egg-mode-line-title)
+ (its-select-pinyin-cn)
+ (its-translate-region-internal beg (point)))
+ (delete-region (point) end-marker)
+ (if (null henkan-begin)
+ (setq henkan-begin beg)))
+
+(defun mlh-zhongwen-tw ()
+ (forward-char -1)
+ (skip-chars-backward "a-z0-4,.[]")
+ (mlh-backward-henkan)
+ (setq beg (point))
+ (setq inhibit-henkan nil)
+ (goto-char end-marker)
+ (forward-char -2)
+ (let (its-current-map its-current-language egg-mode-line-title)
+ (its-select-pinyin-tw)
+ (its-translate-region-internal beg (point)))
+ (delete-region (point) end-marker)
+ (if (null henkan-begin)
+ (setq henkan-begin beg)))
+