Difference between revisions of "X-Chat plugin"
Jump to navigation
Jump to search
(9 intermediate revisions by 5 users not shown) | |||
Line 1: | Line 1: | ||
{{Github-unmigrated-tool}} |
|||
(See also the newer [[Plugin for XChat]]) |
|||
Save this to a Python file and load it with XChat. |
Save this to a Python file and load it with XChat. |
||
==Pre-requisites== |
==Pre-requisites== |
||
* X-Chat2 ([http://en.wikipedia.org/wiki/XChat encyclopedia], [http://www.xchat.org/ official website]) |
|||
* [[apertium-dbus]] |
* [[apertium-dbus]] |
||
==SVN version== |
|||
This module is being further developed in our [http://xixona.dlsi.ua.es/wiki/index.php/SVN SVN] repository. It can be found under apertium-tools/xchat-modules. |
|||
==Script== |
==Script== |
||
Line 63: | Line 72: | ||
/remove_pair fr-es |
/remove_pair fr-es |
||
</pre> |
</pre> |
||
[[Category:Tools]] |
Latest revision as of 04:44, 9 March 2018
Note: After Apertium's migration to GitHub, this tool is read-only on the SourceForge repository and does not exist on GitHub. If you are interested in migrating this tool to GitHub, see Migrating tools to GitHub.
(See also the newer Plugin for XChat)
Save this to a Python file and load it with XChat.
Pre-requisites[edit]
- X-Chat2 (encyclopedia, official website)
- apertium-dbus
SVN version[edit]
This module is being further developed in our SVN repository. It can be found under apertium-tools/xchat-modules.
Script[edit]
__module_name__ = "translate" __module_version__ = "0.1" __module_description__ = "Uses Apertium to translate users' text" __module_author__ = "Wynand Winterbach <wynand.winterbach@gmail.com" import xchat import dbus active_pairs = set() translator = dbus.Interface(dbus.SessionBus().get_object("org.apertium.mode", "/"), "org.apertium.Translate") info = dbus.Interface(dbus.SessionBus().get_object("org.apertium.info", "/"), "org.apertium.Info") modes = info.modes() def translate(word, word_eol, userdata): for pair in active_pairs: print "[%s]: %s" %(pair, translator.translate(pair, {}, word[1])) return xchat.EAT_NONE def add_pair(word, word_eol, userdata): if len(word) != 2: print "usage: /add_pair <language_pair" return xchat.EAT_NONE _, pair = word if pair not in modes: print "invalid language pair" return xchat.EAT_NONE print "Adding %s" % pair active_pairs.add(pair) return xchat.EAT_NONE def remove_pair(word, word_eol, userdata): print "Removing %s" % word[1] active_pairs.remove(word[1]) xchat.hook_print("Channel Message", translate) xchat.hook_command("add_pair", add_pair, help="/add_pair <pair> will start using the language pair to translate IRC text") xchat.hook_command("remove_pair", remove_pair, help="/remove_pair <pair> will stop using the language pair to translate IRC text") print "Plugin translate loaded!"
If you want Apertium to start translating a language pair (let's say fr-es), then type
/add_pair fr-es
You can stop translation of this pair by typing
/remove_pair fr-es