# HG changeset patch # User Goffi # Date 1488831779 -3600 # Node ID d246666ebe253b7537fd9ce8d87ff46e0e9aa71b # Parent f472179305a1f0ba191a4eb6598ddac70c8d0cd7 i18n: updated sat.po diff -r f472179305a1 -r d246666ebe25 i18n/sat.po --- a/i18n/sat.po Sun Mar 05 23:41:10 2017 +0100 +++ b/i18n/sat.po Mon Mar 06 21:22:59 2017 +0100 @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2014-02-24 19:12+0100\n" +"POT-Creation-Date: 2017-03-06 21:21+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -17,629 +17,1196 @@ "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -#: frontends/src/bridge/DBus.py:62 -#: src/bridge/bridge_constructor/dbus_frontend_template.py:62 -#: src/bridge/bridge_constructor/generated/DBus.py:62 +#: frontends/src/bridge/dbus_bridge.py:78 +#: src/bridge/bridge_constructor/constructors/dbus/dbus_core_template.py:227 +#: src/bridge/bridge_constructor/constructors/dbus/dbus_frontend_template.py:78 +#: src/bridge/bridge_constructor/generated/dbus_bridge.py:78 +#: src/bridge/dbus_bridge.py:578 +msgid "" +"D-Bus is not launched, please see README to see instructions on how to " +"launch it" +msgstr "" + +#: frontends/src/bridge/dbus_bridge.py:91 +#: src/bridge/bridge_constructor/constructors/dbus/dbus_frontend_template.py:91 +#: src/bridge/bridge_constructor/generated/dbus_bridge.py:91 msgid "Unknown interface" msgstr "" -#: frontends/src/constants.py:38 frontends/src/constants.py:44 -#: frontends/src/wix/constants.py:39 src/plugins/plugin_xep_0050.py:52 -msgid "Online" -msgstr "" - -#: frontends/src/constants.py:39 frontends/src/constants.py:45 -#: frontends/src/wix/constants.py:40 src/plugins/plugin_xep_0050.py:54 -msgid "Free for chat" -msgstr "" - -#: frontends/src/constants.py:40 frontends/src/constants.py:46 -msgid "Away from keyboard" -msgstr "" - -#: frontends/src/constants.py:41 frontends/src/constants.py:47 -#: src/plugins/plugin_xep_0050.py:55 -msgid "Do not disturb" -msgstr "" - -#: frontends/src/constants.py:42 frontends/src/constants.py:48 -#: frontends/src/wix/constants.py:43 src/plugins/plugin_xep_0050.py:53 -msgid "Away" -msgstr "" - -#: frontends/src/jp/base.py:46 +#: frontends/src/jp/base.py:115 msgid "" "ProgressBar not available, please download it at http://pypi.python.org/pypi/" "progressbar" msgstr "" -#: frontends/src/jp/base.py:47 +#: frontends/src/jp/base.py:116 msgid "" "Progress bar deactivated\n" "--\n" msgstr "" -#: frontends/src/jp/base.py:79 frontends/src/quick_frontend/quick_app.py:43 +#: frontends/src/jp/base.py:173 +msgid "Available commands" +msgstr "" + +#: frontends/src/jp/base.py:188 frontends/src/quick_frontend/quick_app.py:299 msgid "Can't connect to SàT backend, are you sure it's launched ?" msgstr "" -#: frontends/src/jp/base.py:82 frontends/src/quick_frontend/quick_app.py:46 +#: frontends/src/jp/base.py:190 frontends/src/quick_frontend/quick_app.py:302 msgid "Can't init bridge" msgstr "" -#: frontends/src/jp/base.py:90 -msgid "Available commands" -msgstr "" - -#: frontends/src/jp/base.py:112 +#: frontends/src/jp/base.py:192 frontends/src/quick_frontend/quick_app.py:305 +msgid "Error while initialising bridge: {}" +msgstr "" + +#: frontends/src/jp/base.py:291 #, python-format msgid "Use PROFILE profile key (default: %(default)s)" msgstr "" -#: frontends/src/jp/base.py:113 +#: frontends/src/jp/base.py:292 +msgid "Password used to connect profile, if necessary" +msgstr "" + +#: frontends/src/jp/base.py:296 msgid "Connect the profile before doing anything else" msgstr "" -#: frontends/src/jp/base.py:117 +#: frontends/src/jp/base.py:301 +msgid "Start a profile session without connecting" +msgstr "" + +#: frontends/src/jp/base.py:305 msgid "Show progress bar" msgstr "" -#: frontends/src/jp/base.py:145 -#, python-format -msgid "Invalid module %s" -msgstr "" - -#: frontends/src/jp/base.py:161 +#: frontends/src/jp/base.py:308 +msgid "Add a verbosity level (can be used multiple times)" +msgstr "" + +#: frontends/src/jp/base.py:336 +msgid "Can't import {} plugin, ignoring it" +msgstr "" + +#: frontends/src/jp/base.py:340 +#, python-brace-format +msgid "Missing module for plugin {name}: {missing}" +msgstr "" + +#: frontends/src/jp/base.py:354 +#, python-brace-format +msgid "Invalid plugin module [{type}] {module}" +msgstr "" + +#: frontends/src/jp/base.py:368 msgid "User interruption: good bye" msgstr "" -#: frontends/src/jp/base.py:203 +#: frontends/src/jp/base.py:437 #, python-format msgid "%s is not a valid JID !" msgstr "" -#: frontends/src/jp/base.py:226 -msgid "Can't connect profile" -msgstr "" - -#: frontends/src/jp/base.py:232 -#, python-format -msgid "The profile [%s] doesn't exist" -msgstr "" - -#: frontends/src/jp/base.py:241 -#, python-format +#: frontends/src/jp/base.py:461 +#, python-brace-format +msgid "Can't connect profile: {reason}" +msgstr "" + +#: frontends/src/jp/base.py:465 +#, python-brace-format +msgid "Can't start {profile}'s session: {reason}" +msgstr "" + +#: frontends/src/jp/base.py:471 +#, python-brace-format +msgid "The profile [{profile}] doesn't exist" +msgstr "" + +#: frontends/src/jp/base.py:485 +#, python-brace-format +msgid "" +"Session for [{profile}] is not started, please start it before using jp, or " +"use either --start-session or --connect option" +msgstr "" + +#: frontends/src/jp/base.py:501 +#, python-brace-format msgid "" -"Profile [%(profile)s] is not connected, please connect it before using jp, " -"or use --connect option" -msgstr "" - -#: frontends/src/jp/base.py:269 +"Profile [{profile}] is not connected, please connect it before using jp, or " +"use --connect option" +msgstr "" + +#: frontends/src/jp/base.py:582 +msgid "select output format (default: {})" +msgstr "" + +#: frontends/src/jp/base.py:583 +msgid "output specific option" +msgstr "" + +#: frontends/src/jp/base.py:667 +msgid "file size is not known, we can't show a progress bar" +msgstr "" + +#: frontends/src/jp/base.py:672 msgid "Progress: " msgstr "" +#: frontends/src/jp/base.py:696 +msgid "Operation started" +msgstr "" + +#: frontends/src/jp/base.py:712 +msgid "Operation successfully finished" +msgstr "" + +#: frontends/src/jp/base.py:719 +msgid "Error while doing operation: {}" +msgstr "" + +#: frontends/src/jp/cmd_adhoc.py:30 +msgid "Remote control a software" +msgstr "" + +#: frontends/src/jp/cmd_adhoc.py:33 +msgid "Software name" +msgstr "" + #: frontends/src/jp/cmd_adhoc.py:34 -msgid "Remote control a software" +msgid "Jids allowed to use the command" +msgstr "" + +#: frontends/src/jp/cmd_adhoc.py:35 +msgid "Groups allowed to use the command" +msgstr "" + +#: frontends/src/jp/cmd_adhoc.py:36 +msgid "Groups that are *NOT* allowed to use the command" msgstr "" #: frontends/src/jp/cmd_adhoc.py:37 -msgid "Software name" +msgid "Jids that are *NOT* allowed to use the command" msgstr "" #: frontends/src/jp/cmd_adhoc.py:38 -msgid "Jids allowed to use the command" -msgstr "" - -#: frontends/src/jp/cmd_adhoc.py:39 -msgid "Groups allowed to use the command" -msgstr "" - -#: frontends/src/jp/cmd_adhoc.py:40 -msgid "Groups that are *NOT* allowed to use the command" -msgstr "" - -#: frontends/src/jp/cmd_adhoc.py:41 -msgid "Jids that are *NOT* allowed to use the command" -msgstr "" - -#: frontends/src/jp/cmd_adhoc.py:42 msgid "Loop on the commands" msgstr "" -#: frontends/src/jp/cmd_adhoc.py:56 +#: frontends/src/jp/cmd_adhoc.py:52 +msgid "No bus name found" +msgstr "" + +#: frontends/src/jp/cmd_adhoc.py:54 #, python-format msgid "Bus name found: [%s]" msgstr "" -#: frontends/src/jp/cmd_adhoc.py:59 +#: frontends/src/jp/cmd_adhoc.py:57 #, python-format msgid "Command found: (path:%(path)s, iface: %(iface)s) [%(command)s]" msgstr "" -#: frontends/src/jp/cmd_adhoc.py:68 +#: frontends/src/jp/cmd_adhoc.py:66 msgid "Ad-hoc commands" msgstr "" -#: frontends/src/jp/cmd_file.py:33 -msgid "Send a file to a contact" -msgstr "" - -#: frontends/src/jp/cmd_file.py:36 -msgid "A list of file" -msgstr "" - -#: frontends/src/jp/cmd_file.py:37 frontends/src/jp/cmd_message.py:36 -#: frontends/src/jp/cmd_pipe.py:37 -msgid "The destination jid" +#: frontends/src/jp/cmd_avatar.py:36 +msgid "set avatar of the profile" +msgstr "" + +#: frontends/src/jp/cmd_avatar.py:40 +msgid "path to the image to upload" +msgstr "" + +#: frontends/src/jp/cmd_avatar.py:46 frontends/src/jp/cmd_file.py:82 +#: frontends/src/jp/cmd_file.py:264 +msgid "file [{}] doesn't exist !" +msgstr "" + +#: frontends/src/jp/cmd_avatar.py:52 +msgid "avatar has been set" +msgstr "" + +#: frontends/src/jp/cmd_avatar.py:56 +#, python-brace-format +msgid "error while uploading avatar: {msg}" +msgstr "" + +#: frontends/src/jp/cmd_avatar.py:63 +msgid "retrieve avatar of an entity" +msgstr "" + +#: frontends/src/jp/cmd_avatar.py:67 +msgid "entity" +msgstr "" + +#: frontends/src/jp/cmd_avatar.py:68 +msgid "show avatar" +msgstr "" + +#: frontends/src/jp/cmd_avatar.py:90 +msgid "No avatar found." +msgstr "" + +#: frontends/src/jp/cmd_avatar.py:100 +#, python-brace-format +msgid "error while getting avatar: {msg}" +msgstr "" + +#: frontends/src/jp/cmd_avatar.py:111 +msgid "avatar uploading/retrieving" +msgstr "" + +#: frontends/src/jp/cmd_blog.py:197 +msgid "get blog item(s)" +msgstr "" + +#: frontends/src/jp/cmd_blog.py:201 +msgid "PubSub node to request" +msgstr "" + +#: frontends/src/jp/cmd_blog.py:203 +msgid "item(s) id(s) to get (default: request all items)" +msgstr "" + +#: frontends/src/jp/cmd_blog.py:204 +msgid "maximum number of items to get ({} to get all items)" +msgstr "" + +#: frontends/src/jp/cmd_blog.py:207 +msgid "microblog data key(s) to display (default: depend of verbosity)" +msgstr "" + +#: frontends/src/jp/cmd_blog.py:209 +msgid "JID of the PubSub service (default: request profile own blog)" +msgstr "" + +#: frontends/src/jp/cmd_blog.py:369 +msgid "edit an existing or new blog post" +msgstr "" + +#: frontends/src/jp/cmd_blog.py:373 +msgid "URL of the item to edit, or keyword" +msgstr "" + +#: frontends/src/jp/cmd_blog.py:374 +msgid "launch a blog preview in parallel" +msgstr "" + +#: frontends/src/jp/cmd_blog.py:375 +msgid "title of the item" +msgstr "" + +#: frontends/src/jp/cmd_blog.py:376 +msgid "tag (category) of your item" +msgstr "" + +#: frontends/src/jp/cmd_blog.py:377 +msgid "disable comments" +msgstr "" + +#: frontends/src/jp/cmd_blog.py:633 +msgid "preview a blog content" +msgstr "" + +#: frontends/src/jp/cmd_blog.py:637 +msgid "use inotify to handle preview" +msgstr "" + +#: frontends/src/jp/cmd_blog.py:638 +msgid "path to the content file" +msgstr "" + +#: frontends/src/jp/cmd_blog.py:775 +msgid "import an external blog" +msgstr "" + +#: frontends/src/jp/cmd_blog.py:779 +msgid "importer name, nothing to display importers list" +msgstr "" + +#: frontends/src/jp/cmd_blog.py:780 +msgid "original blog host" +msgstr "" + +#: frontends/src/jp/cmd_blog.py:781 +msgid "do *NOT* upload images (default: do upload images)" +msgstr "" + +#: frontends/src/jp/cmd_blog.py:782 +msgid "do not upload images from this host (default: upload all images)" +msgstr "" + +#: frontends/src/jp/cmd_blog.py:783 +msgid "ignore invalide TLS certificate for uploads" +msgstr "" + +#: frontends/src/jp/cmd_blog.py:785 +msgid "importer specific options (see importer description)" +msgstr "" + +#: frontends/src/jp/cmd_blog.py:787 +msgid "PubSub service where the items must be uploaded (default: server)" +msgstr "" + +#: frontends/src/jp/cmd_blog.py:789 +msgid "" +"importer data location (see importer description), nothing to show importer " +"description" +msgstr "" + +#: frontends/src/jp/cmd_blog.py:792 +msgid "Blog upload started" +msgstr "" + +#: frontends/src/jp/cmd_blog.py:795 +msgid "Blog uploaded successfully" +msgstr "" + +#: frontends/src/jp/cmd_blog.py:805 +#, python-brace-format +msgid "" +"\n" +"To redirect old URLs to new ones, put the following lines in your sat.conf " +"file, in [libervia] section:\n" +"\n" +"{conf}" +msgstr "" + +#: frontends/src/jp/cmd_blog.py:808 +msgid "Error while uploading blog: {}" +msgstr "" + +#: frontends/src/jp/cmd_blog.py:811 +#, python-brace-format +msgid "Error while trying to upload a blog: {reason}" +msgstr "" + +#: frontends/src/jp/cmd_blog.py:818 +#, python-brace-format +msgid "{name} argument can't be used without location argument" +msgstr "" + +#: frontends/src/jp/cmd_blog.py:854 +msgid "blog/microblog management" +msgstr "" + +#: frontends/src/jp/cmd_bookmarks.py:32 +#, python-format +msgid "storage location (default: %(default)s)" +msgstr "" + +#: frontends/src/jp/cmd_bookmarks.py:33 +#, python-format +msgid "bookmarks type (default: %(default)s)" +msgstr "" + +#: frontends/src/jp/cmd_bookmarks.py:42 +msgid "list bookmarks" +msgstr "" + +#: frontends/src/jp/cmd_bookmarks.py:70 +msgid "remove a bookmark" +msgstr "" + +#: frontends/src/jp/cmd_bookmarks.py:75 frontends/src/jp/cmd_bookmarks.py:89 +msgid "jid (for muc bookmark) or url of to remove" +msgstr "" + +#: frontends/src/jp/cmd_bookmarks.py:84 src/plugins/plugin_xep_0048.py:252 +msgid "add a bookmark" +msgstr "" + +#: frontends/src/jp/cmd_bookmarks.py:90 +msgid "bookmark name" +msgstr "" + +#: frontends/src/jp/cmd_bookmarks.py:91 +msgid "MUC specific options" +msgstr "" + +#: frontends/src/jp/cmd_bookmarks.py:92 +msgid "nickname" +msgstr "" + +#: frontends/src/jp/cmd_bookmarks.py:93 +msgid "join room on profile connection" +msgstr "" + +#: frontends/src/jp/cmd_bookmarks.py:98 +msgid "You can't use --autojoin or --nick with --type url" +msgstr "" + +#: frontends/src/jp/cmd_bookmarks.py:114 +msgid "manage bookmarks" +msgstr "" + +#: frontends/src/jp/cmd_debug.py:49 +msgid "call a bridge method" +msgstr "" + +#: frontends/src/jp/cmd_debug.py:54 +msgid "name of the method to execute" +msgstr "" + +#: frontends/src/jp/cmd_debug.py:55 +msgid "argument of the method" +msgstr "" + +#: frontends/src/jp/cmd_debug.py:63 +msgid "Error while executing {}: {}" +msgstr "" + +#: frontends/src/jp/cmd_debug.py:76 +msgid "bad arguments" +msgstr "" + +#: frontends/src/jp/cmd_debug.py:82 +msgid "send a fake signal from backend" +msgstr "" + +#: frontends/src/jp/cmd_debug.py:86 +msgid "name of the signal to send" +msgstr "" + +#: frontends/src/jp/cmd_debug.py:87 +msgid "argument of the signal" +msgstr "" + +#: frontends/src/jp/cmd_debug.py:101 +msgid "bridge s(t)imulation" +msgstr "" + +#: frontends/src/jp/cmd_debug.py:108 +msgid "debugging tools" msgstr "" #: frontends/src/jp/cmd_file.py:38 -msgid "Make a bzip2 tarball" -msgstr "" - -#: frontends/src/jp/cmd_file.py:50 -#, python-format -msgid "file [%s] doesn't exist !" -msgstr "" - -#: frontends/src/jp/cmd_file.py:53 -#, python-format -msgid "[%s] is a dir ! Please send files inside or use compression" -msgstr "" - -#: frontends/src/jp/cmd_file.py:61 -#, python-format -msgid "tmp file_ (%s) already exists ! Please remove it" -msgstr "" - -#: frontends/src/jp/cmd_file.py:63 -msgid "bz2 is an experimental option at an early dev stage, use with caution" -msgstr "" - -#: frontends/src/jp/cmd_file.py:65 -msgid "Starting compression, please wait..." -msgstr "" - -#: frontends/src/jp/cmd_file.py:69 -#, python-format -msgid "Adding %s" -msgstr "" - -#: frontends/src/jp/cmd_file.py:72 -msgid "Done !" +msgid "Send a file to a contact" +msgstr "" + +#: frontends/src/jp/cmd_file.py:42 +msgid "a list of file" +msgstr "" + +#: frontends/src/jp/cmd_file.py:43 frontends/src/jp/cmd_message.py:44 +#: frontends/src/jp/cmd_pipe.py:42 +msgid "the destination jid" +msgstr "" + +#: frontends/src/jp/cmd_file.py:44 +msgid "make a bzip2 tarball" +msgstr "" + +#: frontends/src/jp/cmd_file.py:51 frontends/src/jp/cmd_file.py:121 +msgid "File copy started" +msgstr "" + +#: frontends/src/jp/cmd_file.py:54 +msgid "File sent successfully" +msgstr "" + +#: frontends/src/jp/cmd_file.py:57 +msgid "Error while sending file: {}" +msgstr "" + +#: frontends/src/jp/cmd_file.py:66 +#, python-brace-format +msgid "File request sent to {jid}" +msgstr "" + +#: frontends/src/jp/cmd_file.py:71 +#, python-brace-format +msgid "Can't send file to {jid}" +msgstr "" + +#: frontends/src/jp/cmd_file.py:75 +#, python-brace-format +msgid "Error while trying to send a file: {reason}" msgstr "" #: frontends/src/jp/cmd_file.py:85 -msgid "Wait for a file to be sent by a contact" -msgstr "" - -#: frontends/src/jp/cmd_file.py:92 frontends/src/jp/cmd_pipe.py:68 -msgid "Jids accepted (none means \"accept everything\")" +msgid "[{}] is a dir ! Please send files inside or use compression" msgstr "" #: frontends/src/jp/cmd_file.py:93 -msgid "Accept multiple files (you'll have to stop manually)" -msgstr "" - -#: frontends/src/jp/cmd_file.py:94 -msgid "Force overwritting of existing files" +msgid "bz2 is an experimental option, use with caution" +msgstr "" + +#: frontends/src/jp/cmd_file.py:95 +msgid "Starting compression, please wait..." +msgstr "" + +#: frontends/src/jp/cmd_file.py:100 +msgid "Adding {}" msgstr "" #: frontends/src/jp/cmd_file.py:103 +msgid "Done !" +msgstr "" + +#: frontends/src/jp/cmd_file.py:115 +msgid "Wait for a file to be sent by a contact" +msgstr "" + +#: frontends/src/jp/cmd_file.py:124 +msgid "File received successfully" +msgstr "" + +#: frontends/src/jp/cmd_file.py:127 +#, python-brace-format +msgid "hash checked: {algo}:{checksum}" +msgstr "" + +#: frontends/src/jp/cmd_file.py:132 +msgid "hash is checked but hash value is missing" +msgstr "" + +#: frontends/src/jp/cmd_file.py:134 +msgid "hash can't be verified" +msgstr "" + +#: frontends/src/jp/cmd_file.py:137 +msgid "Error while receiving file: {}" +msgstr "" + +#: frontends/src/jp/cmd_file.py:146 frontends/src/jp/cmd_pipe.py:73 +msgid "Action has no XMLUI" +msgstr "" + +#: frontends/src/jp/cmd_file.py:151 frontends/src/jp/cmd_pipe.py:78 +msgid "Invalid XMLUI received" +msgstr "" + +#: frontends/src/jp/cmd_file.py:161 frontends/src/jp/cmd_pipe.py:88 +msgid "Ignoring action without from_jid data" +msgstr "" + +#: frontends/src/jp/cmd_file.py:166 frontends/src/jp/cmd_file.py:185 +msgid "ignoring action without progress id" +msgstr "" + +#: frontends/src/jp/cmd_file.py:171 +msgid "File refused because overwrite is needed" +msgstr "" + +#: frontends/src/jp/cmd_file.py:187 +msgid "Overwriting needed" +msgstr "" + +#: frontends/src/jp/cmd_file.py:191 +msgid "Overwrite accepted" +msgstr "" + +#: frontends/src/jp/cmd_file.py:193 +msgid "Refused to overwrite" +msgstr "" + +#: frontends/src/jp/cmd_file.py:200 +msgid "JIDs accepted (accept everything if none is specified)" +msgstr "" + +#: frontends/src/jp/cmd_file.py:201 +msgid "accept multiple files (you'll have to stop manually)" +msgstr "" + +#: frontends/src/jp/cmd_file.py:202 +msgid "force overwritting of existing files (/!\\ name is choosed by sended)" +msgstr "" + +#: frontends/src/jp/cmd_file.py:203 +msgid "destination path (default: working directory)" +msgstr "" + +#: frontends/src/jp/cmd_file.py:209 +msgid "Given path is not a directory !" +msgstr "" + +#: frontends/src/jp/cmd_file.py:213 +msgid "waiting for incoming file request" +msgstr "" + +#: frontends/src/jp/cmd_file.py:219 +msgid "Upload a file" +msgstr "" + +#: frontends/src/jp/cmd_file.py:223 +msgid "file to upload" +msgstr "" + +#: frontends/src/jp/cmd_file.py:224 +msgid "jid of upload component (nothing to autodetect)" +msgstr "" + +#: frontends/src/jp/cmd_file.py:225 +msgid "ignore invalide TLS certificate" +msgstr "" + +#: frontends/src/jp/cmd_file.py:228 +msgid "File upload started" +msgstr "" + +#: frontends/src/jp/cmd_file.py:231 +msgid "File uploaded successfully" +msgstr "" + +#: frontends/src/jp/cmd_file.py:237 +msgid "URL to retrieve the file:" +msgstr "" + +#: frontends/src/jp/cmd_file.py:242 +msgid "Error while uploading file: {}" +msgstr "" + +#: frontends/src/jp/cmd_file.py:254 +msgid "Can't upload file" +msgstr "" + +#: frontends/src/jp/cmd_file.py:258 +#, python-brace-format +msgid "Error while trying to upload a file: {reason}" +msgstr "" + +#: frontends/src/jp/cmd_file.py:267 +msgid "[{}] is a dir! Can't upload a dir" +msgstr "" + +#: frontends/src/jp/cmd_file.py:283 +msgid "File sending/receiving" +msgstr "" + +#: frontends/src/jp/cmd_info.py:30 +msgid "service discovery" +msgstr "" + +#: frontends/src/jp/cmd_info.py:34 +msgid "entity to discover" +msgstr "" + +#: frontends/src/jp/cmd_info.py:35 +msgid "node to use" +msgstr "" + +#: frontends/src/jp/cmd_info.py:43 #, python-format -msgid "Accepted file [%(filename)s] from %(sender)s" -msgstr "" - -#: frontends/src/jp/cmd_file.py:107 -#, python-format +msgid "Error while doing discovery [%s]" +msgstr "" + +#: frontends/src/jp/cmd_info.py:90 +#, python-brace-format msgid "" -"Refused file [%(filename)s] from %(sender)s: a file with the same name " -"already exist" -msgstr "" - -#: frontends/src/jp/cmd_file.py:125 -msgid "File sending/receiving" -msgstr "" - -#: frontends/src/jp/cmd_message.py:31 -msgid "Send a message to a contact" -msgstr "" - -#: frontends/src/jp/cmd_message.py:34 +"Features:\n" +"\n" +"{features}" +msgstr "" + +#: frontends/src/jp/cmd_info.py:92 +#, python-brace-format +msgid "" +"Identities:\n" +"\n" +"{identities}" +msgstr "" + +#: frontends/src/jp/cmd_info.py:94 +#, python-brace-format +msgid "" +"Extensions:\n" +"\n" +"{extensions}" +msgstr "" + +#: frontends/src/jp/cmd_info.py:96 +#, python-brace-format msgid "" -"Separate xmpp messages: send one message per line instead of one message " -"alone." +"Items:\n" +"\n" +"{items}" +msgstr "" + +#: frontends/src/jp/cmd_info.py:109 +msgid "running session" +msgstr "" + +#: frontends/src/jp/cmd_info.py:113 +msgid "Entity to request" +msgstr "" + +#: frontends/src/jp/cmd_info.py:121 +#, python-format +msgid "Error while trying to get version [%s]" +msgstr "" + +#: frontends/src/jp/cmd_info.py:128 src/plugins/plugin_xep_0092.py:107 +#, python-format +msgid "Client name: %s" +msgstr "" + +#: frontends/src/jp/cmd_info.py:130 src/plugins/plugin_xep_0092.py:109 +#, python-format +msgid "Client version: %s" +msgstr "" + +#: frontends/src/jp/cmd_info.py:132 +#, python-format +msgid "Operating System: %s" +msgstr "" + +#: frontends/src/jp/cmd_info.py:141 +msgid "client version" +msgstr "" + +#: frontends/src/jp/cmd_info.py:155 +msgid "Error getting session infos: {}" +msgstr "" + +#: frontends/src/jp/cmd_info.py:163 +msgid "Get various pieces of information on entities" +msgstr "" + +#: frontends/src/jp/cmd_message.py:32 +msgid "send a message to a contact" msgstr "" #: frontends/src/jp/cmd_message.py:35 -msgid "Add a new line at the beginning of the input (usefull for ascii art ;))" -msgstr "" - -#: frontends/src/jp/cmd_pipe.py:34 -msgid "Pipe a stream out" -msgstr "" - -#: frontends/src/jp/cmd_pipe.py:61 -msgid "Wait for the reception of a pipe stream" -msgstr "" - -#: frontends/src/jp/cmd_pipe.py:87 -msgid "Stream piping through XMPP" +msgid "language of the message" +msgstr "" + +#: frontends/src/jp/cmd_message.py:36 +msgid "" +"separate xmpp messages: send one message per line instead of one message " +"alone." +msgstr "" + +#: frontends/src/jp/cmd_message.py:37 +msgid "add a new line at the beginning of the input (usefull for ascii art ;))" +msgstr "" + +#: frontends/src/jp/cmd_message.py:38 +msgid "subject of the message" +msgstr "" + +#: frontends/src/jp/cmd_message.py:39 +msgid "language of subject" +msgstr "" + +#: frontends/src/jp/cmd_message.py:40 +msgid "type of the message" +msgstr "" + +#: frontends/src/jp/cmd_message.py:42 +msgid "XHTML body" +msgstr "" + +#: frontends/src/jp/cmd_message.py:43 +msgid "rich body" +msgstr "" + +#: frontends/src/jp/cmd_message.py:91 +msgid "messages handling" +msgstr "" + +#: frontends/src/jp/cmd_param.py:29 +msgid "Get a parameter value" +msgstr "" + +#: frontends/src/jp/cmd_param.py:32 frontends/src/jp/cmd_param.py:64 +msgid "Category of the parameter" +msgstr "" + +#: frontends/src/jp/cmd_param.py:33 frontends/src/jp/cmd_param.py:65 +#: frontends/src/jp/cmd_param.py:66 +msgid "Name of the parameter" +msgstr "" + +#: frontends/src/jp/cmd_param.py:34 +msgid "Name of the attribute to get" +msgstr "" + +#: frontends/src/jp/cmd_param.py:35 frontends/src/jp/cmd_param.py:67 +msgid "Security limit" +msgstr "" + +#: frontends/src/jp/cmd_param.py:61 +msgid "Set a parameter value" +msgstr "" + +#: frontends/src/jp/cmd_param.py:78 +msgid "Save parameters template to xml file" +msgstr "" + +#: frontends/src/jp/cmd_param.py:81 +msgid "Output file" +msgstr "" + +#: frontends/src/jp/cmd_param.py:86 +#, python-format +msgid "Parameters saved to file %s" +msgstr "" + +#: frontends/src/jp/cmd_param.py:88 +#, python-format +msgid "Can't save parameters to file %s" +msgstr "" + +#: frontends/src/jp/cmd_param.py:94 +msgid "Load parameters template from xml file" +msgstr "" + +#: frontends/src/jp/cmd_param.py:97 +msgid "Input file" +msgstr "" + +#: frontends/src/jp/cmd_param.py:102 +#, python-format +msgid "Parameters loaded from file %s" +msgstr "" + +#: frontends/src/jp/cmd_param.py:104 +#, python-format +msgid "Can't load parameters from file %s" +msgstr "" + +#: frontends/src/jp/cmd_param.py:111 +msgid "Save/load parameters template" +msgstr "" + +#: frontends/src/jp/cmd_pipe.py:38 +msgid "send a pipe a stream" +msgstr "" + +#: frontends/src/jp/cmd_pipe.py:60 +msgid "receive a pipe stream" +msgstr "" + +#: frontends/src/jp/cmd_pipe.py:64 +msgid "Jids accepted (none means \"accept everything\")" +msgstr "" + +#: frontends/src/jp/cmd_pipe.py:111 +msgid "stream piping through XMPP" msgstr "" #: frontends/src/jp/cmd_profile.py:30 msgid "The name of the profile" msgstr "" -#: frontends/src/jp/cmd_profile.py:35 -msgid "Delete a profile" -msgstr "" - -#: frontends/src/jp/cmd_profile.py:50 -msgid "Get information about a profile" -msgstr "" - -#: frontends/src/jp/cmd_profile.py:76 -msgid "List profiles" -msgstr "" - -#: frontends/src/jp/cmd_profile.py:89 -msgid "Create a new profile" -msgstr "" - -#: frontends/src/jp/cmd_profile.py:92 -msgid "the name of the profile" -msgstr "" - -#: frontends/src/jp/cmd_profile.py:93 -msgid "the jid of the profile" -msgstr "" - -#: frontends/src/jp/cmd_profile.py:94 +#: frontends/src/jp/cmd_profile.py:62 +msgid "delete profile without confirmation" +msgstr "" + +#: frontends/src/jp/cmd_profile.py:72 +msgid "Profile deletion cancelled" +msgstr "" + +#: frontends/src/jp/cmd_profile.py:80 +msgid "get information about a profile" +msgstr "" + +#: frontends/src/jp/cmd_profile.py:82 src/plugins/plugin_xep_0048.py:256 +msgid "jid" +msgstr "" + +#: frontends/src/jp/cmd_profile.py:87 +msgid "show the XMPP password IN CLEAR TEXT" +msgstr "" + +#: frontends/src/jp/cmd_profile.py:103 +msgid "XMPP password" +msgstr "" + +#: frontends/src/jp/cmd_profile.py:113 msgid "the password of the profile" msgstr "" -#: frontends/src/jp/cmd_profile.py:115 -msgid "Profile commands" -msgstr "" - -#: frontends/src/primitivus/card_game.py:266 -#: frontends/src/wix/card_game.py:103 -msgid "Please choose your contrat" -msgstr "" - -#: frontends/src/primitivus/card_game.py:288 -#: frontends/src/wix/card_game.py:114 src/plugins/plugin_misc_tarot.py:239 -msgid "Draw game" -msgstr "" - -#: frontends/src/primitivus/card_game.py:290 -#: frontends/src/wix/card_game.py:116 -msgid "You win \\o/" -msgstr "" - -#: frontends/src/primitivus/card_game.py:290 -#: frontends/src/wix/card_game.py:116 -msgid "You loose :(" -msgstr "" - -#: frontends/src/primitivus/card_game.py:302 -#: frontends/src/wix/card_game.py:134 -msgid "Cards played are invalid !" -msgstr "" - -#: frontends/src/primitivus/card_game.py:335 -#: frontends/src/wix/card_game.py:242 -msgid "Do you put these cards in chien ?" -msgstr "" - -#: frontends/src/primitivus/chat.py:134 +#: frontends/src/jp/cmd_profile.py:139 +msgid "set to component import name (entry point) if this is a component" +msgstr "" + +#: frontends/src/jp/cmd_profile.py:171 +msgid "set as default profile" +msgstr "" + +#: frontends/src/jp/cmd_roster.py:35 +msgid "Purge the roster from its contacts with no subscription" +msgstr "" + +#: frontends/src/jp/cmd_roster.py:39 +msgid "Also purge contacts with no 'from' subscription" +msgstr "" + +#: frontends/src/jp/cmd_roster.py:40 +msgid "Also purge contacts with no 'to' subscription" +msgstr "" + +#: frontends/src/jp/cmd_roster.py:46 frontends/src/jp/cmd_roster.py:110 +#: frontends/src/jp/cmd_roster.py:181 +#, python-format +msgid "Error while retrieving the contacts [%s]" +msgstr "" + +#: frontends/src/jp/cmd_roster.py:100 +msgid "Show statistics about a roster" +msgstr "" + +#: frontends/src/jp/cmd_roster.py:169 +msgid "Retrieve the roster contacts" +msgstr "" + +#: frontends/src/jp/cmd_roster.py:173 +msgid "Show the contacts' subscriptions" +msgstr "" + +#: frontends/src/jp/cmd_roster.py:174 +msgid "Show the contacts' groups" +msgstr "" + +#: frontends/src/jp/cmd_roster.py:175 +msgid "Show the contacts' names" +msgstr "" + +#: frontends/src/jp/cmd_roster.py:214 +msgid "Manage an entity's roster" +msgstr "" + +#: frontends/src/jp/output_template.py:100 +msgid "" +"Browser opening requested.\n" +"Temporary files are put in the following directory, you'll have to delete it " +"yourself once finished viewing: {}" +msgstr "" + +#: frontends/src/primitivus/chat.py:37 +msgid "{} occupants" +msgstr "" + +#: frontends/src/primitivus/chat.py:346 msgid "Game" msgstr "" -#: frontends/src/primitivus/chat.py:135 -msgid "MUC" -msgstr "" - -#: frontends/src/primitivus/chat.py:137 -msgid "Configure room" -msgstr "" - -#: frontends/src/primitivus/chat.py:139 -msgid "Action" -msgstr "" - -#: frontends/src/primitivus/chat.py:139 -msgid "Send file" -msgstr "" - -#: frontends/src/primitivus/chat.py:318 +#: frontends/src/primitivus/chat.py:429 +#, python-brace-format +msgid "<= {nick} has left the room ({count})" +msgstr "" + +#: frontends/src/primitivus/chat.py:431 +#, python-brace-format +msgid "<=> {nick} re-entered the room ({count})" +msgstr "" + +#: frontends/src/primitivus/chat.py:466 +#, python-brace-format +msgid "You have been mentioned by {nick} in {room}" +msgstr "" + +#: frontends/src/primitivus/chat.py:473 +#, python-brace-format +msgid "{entity} is talking to you" +msgstr "" + +#: frontends/src/primitivus/chat.py:560 +msgid "Results for searching the globbing pattern: {}" +msgstr "" + +#: frontends/src/primitivus/chat.py:561 +msgid "Type ':history ' to reset the chat history" +msgstr "" + +#: frontends/src/primitivus/chat.py:591 #, python-format msgid "Primitivus: %s is talking to you" msgstr "" -#: frontends/src/primitivus/chat.py:320 +#: frontends/src/primitivus/chat.py:593 #, python-format msgid "Primitivus: %(user)s mentioned you in room '%(room)s'" msgstr "" -#: frontends/src/primitivus/chat.py:337 frontends/src/wix/chat.py:273 +#: frontends/src/primitivus/chat.py:599 msgid "Can't start game" msgstr "" -#: frontends/src/primitivus/chat.py:337 frontends/src/wix/chat.py:273 +#: frontends/src/primitivus/chat.py:599 msgid "You need to be exactly 4 peoples in the room to start a Tarot game" msgstr "" -#: frontends/src/primitivus/chat.py:345 -#: frontends/src/primitivus/primitivus:458 -#: frontends/src/primitivus/primitivus:460 -#: frontends/src/primitivus/primitivus:523 -#: frontends/src/primitivus/primitivus:549 -#: frontends/src/primitivus/primitivus:559 -#: frontends/src/primitivus/primitivus:578 -#: frontends/src/primitivus/primitivus:597 frontends/src/wix/card_game.py:134 -#: frontends/src/wix/main_window.py:248 frontends/src/wix/main_window.py:255 -#: frontends/src/wix/main_window.py:323 frontends/src/wix/main_window.py:410 -#: frontends/src/wix/main_window.py:458 frontends/src/wix/main_window.py:481 -msgid "Error" -msgstr "" - -#: frontends/src/primitivus/contact_list.py:44 +#: frontends/src/primitivus/chat.py:623 +msgid "Change title" +msgstr "" + +#: frontends/src/primitivus/chat.py:624 +msgid "Enter the new title" +msgstr "" + +#: frontends/src/primitivus/contact_list.py:47 +#: frontends/src/primitivus/primitivus:533 src/plugins/plugin_xep_0055.py:80 +#: src/stdui/ui_contact_list.py:36 src/stdui/ui_contact_list.py:37 +#: src/stdui/ui_contact_list.py:38 msgid "Contacts" msgstr "" -#: frontends/src/primitivus/primitivus:108 -#, python-format -msgid "Error while sending message (%s)" -msgstr "" - -#: frontends/src/primitivus/primitivus:273 +#: frontends/src/primitivus/game_tarot.py:267 +msgid "Please choose your contrat" +msgstr "" + +#: frontends/src/primitivus/game_tarot.py:283 +#: src/plugins/plugin_misc_tarot.py:244 +msgid "Draw game" +msgstr "" + +#: frontends/src/primitivus/game_tarot.py:285 +msgid "You win \\o/" +msgstr "" + +#: frontends/src/primitivus/game_tarot.py:285 +msgid "You loose :(" +msgstr "" + +#: frontends/src/primitivus/game_tarot.py:297 +msgid "Cards played are invalid !" +msgstr "" + +#: frontends/src/primitivus/game_tarot.py:330 +msgid "Do you put these cards in chien ?" +msgstr "" + +#: frontends/src/primitivus/primitivus:91 +msgid "Error while sending message ({})" +msgstr "" + +#: frontends/src/primitivus/primitivus:136 +msgid "Please specify the globbing pattern to search for" +msgstr "" + +#: frontends/src/primitivus/primitivus:371 +msgid "Configuration Error" +msgstr "" + +#: frontends/src/primitivus/primitivus:371 +msgid "" +"Something went wrong while reading the configuration, please check :messages" +msgstr "" + +#: frontends/src/primitivus/primitivus:498 msgid "Pleeeeasse, I can't even breathe !" msgstr "" -#: frontends/src/primitivus/primitivus:285 frontends/src/wix/profile.py:83 +#: frontends/src/primitivus/primitivus:527 src/memory/params.py:81 msgid "General" msgstr "" -#: frontends/src/primitivus/primitivus:286 -#: frontends/src/primitivus/profile_manager.py:49 -#: frontends/src/wix/profile_manager.py:69 +#: frontends/src/primitivus/primitivus:528 +#: frontends/src/primitivus/profile_manager.py:53 msgid "Connect" msgstr "" -#: frontends/src/primitivus/primitivus:287 src/plugins/plugin_xep_0050.py:57 +#: frontends/src/primitivus/primitivus:529 src/plugins/plugin_xep_0050.py:59 msgid "Disconnect" msgstr "" -#: frontends/src/primitivus/primitivus:288 +#: frontends/src/primitivus/primitivus:530 msgid "Parameters" msgstr "" -#: frontends/src/primitivus/primitivus:289 -#: frontends/src/primitivus/primitivus:603 +#: frontends/src/primitivus/primitivus:531 +#: frontends/src/primitivus/primitivus:821 msgid "About" msgstr "" -#: frontends/src/primitivus/primitivus:290 +#: frontends/src/primitivus/primitivus:532 msgid "Exit" msgstr "" -#: frontends/src/primitivus/primitivus:291 -msgid "Contact" -msgstr "" - -#: frontends/src/primitivus/primitivus:292 -msgid "Add contact" -msgstr "" - -#: frontends/src/primitivus/primitivus:293 -msgid "Remove contact" -msgstr "" - -#: frontends/src/primitivus/primitivus:294 src/plugins/plugin_xep_0055.py:56 -msgid "Communication" -msgstr "" - -#: frontends/src/primitivus/primitivus:295 +#: frontends/src/primitivus/primitivus:534 src/plugins/plugin_xep_0048.py:61 +msgid "Groups" +msgstr "" + +#: frontends/src/primitivus/primitivus:536 msgid "Join room" msgstr "" -#: frontends/src/primitivus/primitivus:307 +#: frontends/src/primitivus/primitivus:541 msgid "Main menu" msgstr "" -#: frontends/src/primitivus/primitivus:354 -#: frontends/src/primitivus/primitivus:382 +#: frontends/src/primitivus/primitivus:636 +#, python-brace-format +msgid "{app}: a new event has just happened{entity}" +msgstr "" + +#: frontends/src/primitivus/primitivus:706 msgid "Chat menu" msgstr "" -#: frontends/src/primitivus/primitivus:420 -#: frontends/src/wix/main_window.py:203 +#: frontends/src/primitivus/primitivus:760 +#: frontends/src/primitivus/primitivus:801 +#: frontends/src/quick_frontend/quick_profile_manager.py:130 +#: src/plugins/plugin_misc_account.py:495 +#: src/plugins/plugin_misc_account.py:538 +#: src/plugins/plugin_misc_account.py:595 +msgid "Error" +msgstr "" + +#: frontends/src/primitivus/primitivus:760 +msgid "Unmanaged action" +msgstr "" + +#: frontends/src/primitivus/primitivus:771 +msgid "unkown" +msgstr "" + +#: frontends/src/primitivus/primitivus:801 #, python-format -msgid "unmanaged dialog type: %s" -msgstr "" - -#: frontends/src/primitivus/primitivus:435 -msgid "INTERNAL ERROR: Unexpected class for main widget's footer" -msgstr "" - -#: frontends/src/primitivus/primitivus:458 -#: frontends/src/wix/main_window.py:247 -msgid "Unmanaged action result" -msgstr "" - -#: frontends/src/primitivus/primitivus:477 -#: frontends/src/wix/main_window.py:277 -msgid "Where do you want to save the file ?" -msgstr "" - -#: frontends/src/primitivus/primitivus:489 -#: frontends/src/wix/main_window.py:271 -#, python-format -msgid "" -"The contact %(jid)s wants to send you the file %(filename)s\n" -"Do you accept ?" -msgstr "" - -#: frontends/src/primitivus/primitivus:502 -#: frontends/src/wix/main_window.py:308 -msgid "unknown id, ignoring" -msgstr "" - -#: frontends/src/primitivus/primitivus:508 -#: frontends/src/wix/main_window.py:244 frontends/src/wix/main_window.py:330 -msgid "XML user interface received" -msgstr "" - -#: frontends/src/primitivus/primitivus:511 -#: frontends/src/wix/main_window.py:333 -msgid "Form" -msgstr "" - -#: frontends/src/primitivus/primitivus:513 -#: frontends/src/wix/main_window.py:335 -msgid "Registration" -msgstr "" - -#: frontends/src/primitivus/primitivus:537 -#: frontends/src/wix/main_window.py:352 -#, python-format -msgid "FIXME FIXME FIXME: type [%s] not implemented" -msgstr "" - -#: frontends/src/primitivus/primitivus:547 -#: frontends/src/primitivus/primitivus:557 -#: frontends/src/wix/main_window.py:448 frontends/src/wix/main_window.py:508 -#, python-format -msgid "'%s' is an invalid JID !" -msgstr "" - -#: frontends/src/primitivus/primitivus:563 -#: frontends/src/wix/main_window.py:471 -#, python-format -msgid "Unsubscribing %s presence" -msgstr "" - -#: frontends/src/primitivus/primitivus:578 -msgid "Can't get parameters" -msgstr "" - -#: frontends/src/primitivus/primitivus:587 -#: frontends/src/wix/main_window.py:502 +msgid "Can't get parameters (%s)" +msgstr "" + +#: frontends/src/primitivus/primitivus:816 msgid "Entering a MUC room" msgstr "" -#: frontends/src/primitivus/primitivus:587 -#: frontends/src/wix/main_window.py:500 +#: frontends/src/primitivus/primitivus:816 msgid "Please enter MUC's JID" msgstr "" -#: frontends/src/primitivus/primitivus:591 -#: frontends/src/wix/main_window.py:441 -msgid "Adding a contact" -msgstr "" - -#: frontends/src/primitivus/primitivus:591 -#: frontends/src/wix/main_window.py:440 -msgid "Please enter new contact JID" -msgstr "" - -#: frontends/src/primitivus/primitivus:597 -msgid "You have not selected any contact to delete !" -msgstr "" - -#: frontends/src/primitivus/primitivus:599 -#, python-format -msgid "Are you sure you want to delete the contact [%s] ?" -msgstr "" - -#: frontends/src/primitivus/profile_manager.py:35 -msgid "Login:" -msgstr "" - #: frontends/src/primitivus/profile_manager.py:36 -#: frontends/src/wix/profile_manager.py:66 +msgid "Login:" +msgstr "" + +#: frontends/src/primitivus/profile_manager.py:37 msgid "Password:" msgstr "" -#: frontends/src/primitivus/profile_manager.py:41 -#: frontends/src/wix/profile_manager.py:51 +#: frontends/src/primitivus/profile_manager.py:45 msgid "New" msgstr "" -#: frontends/src/primitivus/profile_manager.py:42 -#: frontends/src/wix/profile_manager.py:52 +#: frontends/src/primitivus/profile_manager.py:46 msgid "Delete" msgstr "" -#: frontends/src/primitivus/profile_manager.py:54 +#: frontends/src/primitivus/profile_manager.py:58 msgid "Profile Manager" msgstr "" -#: frontends/src/primitivus/profile_manager.py:82 -msgid "A profile with this name already exists" -msgstr "" - -#: frontends/src/primitivus/profile_manager.py:84 -msgid "Profile creation cancelled by backend" -msgstr "" - -#: frontends/src/primitivus/profile_manager.py:86 -msgid "Database error" -msgstr "" - -#: frontends/src/primitivus/profile_manager.py:88 -#, python-format -msgid "Unknown reason (%s)" -msgstr "" - -#: frontends/src/primitivus/profile_manager.py:89 +#: frontends/src/primitivus/profile_manager.py:108 msgid "Can't create profile" msgstr "" -#: frontends/src/primitivus/profile_manager.py:100 -#: frontends/src/wix/profile_manager.py:95 +#: frontends/src/primitivus/profile_manager.py:115 msgid "New profile" msgstr "" -#: frontends/src/primitivus/profile_manager.py:100 +#: frontends/src/primitivus/profile_manager.py:115 msgid "Please enter a new profile name" msgstr "" -#: frontends/src/primitivus/profile_manager.py:104 -#, python-format -msgid "Are you sure you want to delete the profile %s ?" -msgstr "" - -#: frontends/src/primitivus/profile_manager.py:123 -#: frontends/src/wix/profile_manager.py:131 -msgid "No profile selected" -msgstr "" - -#: frontends/src/primitivus/profile_manager.py:123 -msgid "You need to create and select a profile before connecting" -msgstr "" - -#: frontends/src/primitivus/profile_manager.py:126 -#: frontends/src/wix/profile_manager.py:100 -#: frontends/src/wix/profile_manager.py:134 -msgid "Bad profile name" -msgstr "" - -#: frontends/src/primitivus/profile_manager.py:126 -#: frontends/src/wix/profile_manager.py:100 -#: frontends/src/wix/profile_manager.py:134 -msgid "A profile name can't start with a @" -msgstr "" - -#: frontends/src/primitivus/profile_manager.py:152 -#: frontends/src/quick_frontend/quick_app.py:119 -#: frontends/src/wix/profile_manager.py:158 -msgid "Can't get profile parameter" -msgstr "" - -#: frontends/src/primitivus/progress.py:33 +#: frontends/src/primitivus/profile_manager.py:120 +msgid "Are you sure you want to delete the profile {} ?" +msgstr "" + +#: frontends/src/primitivus/progress.py:37 msgid "Clear progress list" msgstr "" @@ -647,300 +1214,140 @@ msgid "Set your presence" msgstr "" -#: frontends/src/primitivus/status.py:50 +#: frontends/src/primitivus/status.py:52 msgid "Set your status" msgstr "" -#: frontends/src/primitivus/status.py:50 +#: frontends/src/primitivus/status.py:52 msgid "New status" msgstr "" -#: frontends/src/primitivus/xmlui.py:76 +#: frontends/src/primitivus/xmlui.py:81 msgid "Unknown div_char" msgstr "" -#: frontends/src/primitivus/xmlui.py:225 frontends/src/wix/xmlui.py:255 +#: frontends/src/primitivus/xmlui.py:405 msgid "Submit" msgstr "" -#: frontends/src/primitivus/xmlui.py:227 frontends/src/primitivus/xmlui.py:235 +#: frontends/src/primitivus/xmlui.py:407 frontends/src/primitivus/xmlui.py:418 msgid "Cancel" msgstr "" -#: frontends/src/primitivus/xmlui.py:234 +#: frontends/src/primitivus/xmlui.py:409 +msgid "OK" +msgstr "" + +#: frontends/src/primitivus/xmlui.py:417 src/plugins/plugin_xep_0048.py:263 msgid "Save" msgstr "" -#: frontends/src/quick_frontend/quick_app.py:98 -#, python-format -msgid "Trying to plug an unknown profile (%s)" -msgstr "" - -#: frontends/src/quick_frontend/quick_app.py:104 -msgid "" -"\n" -" %prog [options]\n" -"\n" -" %prog --help for options list\n" -" " -msgstr "" - -#: frontends/src/quick_frontend/quick_app.py:111 -msgid "Select the profile to use" -msgstr "" - -#: frontends/src/quick_frontend/quick_app.py:124 -msgid "There is already one profile plugged (we are in single profile mode) !" -msgstr "" - -#: frontends/src/quick_frontend/quick_app.py:128 -msgid "The profile asked doesn't exist" -msgstr "" - -#: frontends/src/quick_frontend/quick_app.py:131 -msgid "The profile is already plugged" -msgstr "" - -#: frontends/src/quick_frontend/quick_app.py:153 -msgid "Error during autoconnection" -msgstr "" - -#: frontends/src/quick_frontend/quick_app.py:207 -msgid "This profile is not plugged" -msgstr "" - -#: frontends/src/quick_frontend/quick_app.py:218 -msgid "Connected" -msgstr "" - -#: frontends/src/quick_frontend/quick_app.py:225 -msgid "Disconnected" -msgstr "" - -#: frontends/src/quick_frontend/quick_app.py:233 -msgid "Connection Error" -msgstr "" - -#: frontends/src/quick_frontend/quick_app.py:236 -msgid "Can't connect to account, please check your password" -msgstr "" - -#: frontends/src/quick_frontend/quick_app.py:236 -msgid "Connection error" -msgstr "" - -#: frontends/src/quick_frontend/quick_app.py:238 -#, python-format -msgid "FIXME: error_type %s not implemented" -msgstr "" - -#: frontends/src/quick_frontend/quick_app.py:290 -msgid "sendMessage Error" -msgstr "" - -#: frontends/src/quick_frontend/quick_app.py:306 -#, python-format -msgid "" -"presence update for %(jid)s (show=%(show)s, priority=%(priority)s, statuses=" -"%(statuses)s) [profile:%(profile)s]" -msgstr "" - -#: frontends/src/quick_frontend/quick_app.py:323 -#, python-format -msgid "Watched jid [%s] is connected !" -msgstr "" - -#: frontends/src/quick_frontend/quick_app.py:336 -#, python-format -msgid "Room [%(room_jid)s] joined by %(profile)s, users presents:%(users)s" -msgstr "" - -#: frontends/src/quick_frontend/quick_app.py:347 -#, python-format -msgid "Room [%(room_jid)s] left by %(profile)s" -msgstr "" - -#: frontends/src/quick_frontend/quick_app.py:357 -#, python-format -msgid "user [%(user_nick)s] joined room [%(room_jid)s]" -msgstr "" - -#: frontends/src/quick_frontend/quick_app.py:365 -#, python-format -msgid "user [%(user_nick)s] left room [%(room_jid)s]" -msgstr "" - -#: frontends/src/quick_frontend/quick_app.py:373 -#, python-format -msgid "" -"user [%(old_nick)s] is now known as [%(new_nick)s] in room [%(room_jid)s]" -msgstr "" - -#: frontends/src/quick_frontend/quick_app.py:381 -#, python-format -msgid "new subject for room [%(room_jid)s]: %(subject)s" -msgstr "" - -#: frontends/src/quick_frontend/quick_app.py:386 -msgid "Tarot Game Started \\o/" -msgstr "" - -#: frontends/src/quick_frontend/quick_app.py:389 -#, python-format -msgid "" -"new Tarot game started by [%(referee)s] in room [%(room_jid)s] with " -"%(players)s" -msgstr "" - -#: frontends/src/quick_frontend/quick_app.py:394 -msgid "New Tarot Game" -msgstr "" - -#: frontends/src/quick_frontend/quick_app.py:402 -msgid "Tarot: need to select a contrat" -msgstr "" - -#: frontends/src/quick_frontend/quick_app.py:409 -msgid "Show cards" -msgstr "" - -#: frontends/src/quick_frontend/quick_app.py:416 -msgid "My turn to play" -msgstr "" - -#: frontends/src/quick_frontend/quick_app.py:424 -msgid "Tarot: score received" -msgstr "" - -#: frontends/src/quick_frontend/quick_app.py:431 -#, python-format -msgid "Card(s) played (%(player)s): %(cards)s" -msgstr "" - -#: frontends/src/quick_frontend/quick_app.py:438 -#, python-format -msgid "Cards played are not valid: %s" -msgstr "" - -#: frontends/src/quick_frontend/quick_app.py:445 -msgid "Quiz Game Started \\o/" -msgstr "" - -#: frontends/src/quick_frontend/quick_app.py:448 -#, python-format -msgid "" -"new Quiz game started by [%(referee)s] in room [%(room_jid)s] with " -"%(players)s" +#: frontends/src/quick_frontend/constants.py:27 +#: src/plugins/plugin_xep_0050.py:54 +msgid "Online" +msgstr "" + +#: frontends/src/quick_frontend/constants.py:28 +#: src/plugins/plugin_xep_0050.py:56 +msgid "Free for chat" +msgstr "" + +#: frontends/src/quick_frontend/constants.py:29 +msgid "Away from keyboard" +msgstr "" + +#: frontends/src/quick_frontend/constants.py:30 +#: src/plugins/plugin_xep_0050.py:57 +msgid "Do not disturb" +msgstr "" + +#: frontends/src/quick_frontend/constants.py:31 +msgid "Extended away" +msgstr "" + +#: frontends/src/quick_frontend/quick_app.py:81 +msgid "Error while trying to get autodisconnect param, ignoring: {}" +msgstr "" + +#: frontends/src/quick_frontend/quick_app.py:174 +#, python-brace-format +msgid "Can't get profile parameter: {msg}" msgstr "" #: frontends/src/quick_frontend/quick_app.py:453 -msgid "New Quiz Game" -msgstr "" - -#: frontends/src/quick_frontend/quick_app.py:461 #, python-format -msgid "Quiz: new question: %s" -msgstr "" - -#: frontends/src/quick_frontend/quick_app.py:514 -#, python-format -msgid "The contact %s has accepted your subscription" -msgstr "" - -#: frontends/src/quick_frontend/quick_app.py:514 -#: frontends/src/quick_frontend/quick_app.py:520 -msgid "Subscription confirmation" +msgid "Can't connect profile [%s]" +msgstr "" + +#: frontends/src/quick_frontend/quick_app.py:510 +msgid "Connected" msgstr "" #: frontends/src/quick_frontend/quick_app.py:517 +msgid "Disconnected" +msgstr "" + +#: frontends/src/quick_frontend/quick_app.py:574 +#, python-format +msgid "" +"presence update for %(entity)s (show=%(show)s, priority=%(priority)s, " +"statuses=%(statuses)s) [profile:%(profile)s]" +msgstr "" + +#: frontends/src/quick_frontend/quick_app.py:783 +#, python-format +msgid "The contact %s has accepted your subscription" +msgstr "" + +#: frontends/src/quick_frontend/quick_app.py:783 +#: frontends/src/quick_frontend/quick_app.py:790 +msgid "Subscription confirmation" +msgstr "" + +#: frontends/src/quick_frontend/quick_app.py:786 #, python-format msgid "The contact %s has refused your subscription" msgstr "" -#: frontends/src/quick_frontend/quick_app.py:517 +#: frontends/src/quick_frontend/quick_app.py:786 msgid "Subscription refusal" msgstr "" -#: frontends/src/quick_frontend/quick_app.py:520 +#: frontends/src/quick_frontend/quick_app.py:790 #, python-format msgid "" "The contact %s wants to subscribe to your presence.\n" "Do you accept ?" msgstr "" -#: frontends/src/quick_frontend/quick_app.py:531 +#: frontends/src/quick_frontend/quick_app.py:813 #, python-format msgid "param update: [%(namespace)s] %(name)s = %(value)s" msgstr "" -#: frontends/src/quick_frontend/quick_app.py:533 +#: frontends/src/quick_frontend/quick_app.py:815 #, python-format msgid "Changing JID to %s" msgstr "" -#: frontends/src/quick_frontend/quick_chat.py:47 -#, python-format -msgid "Adding users %s to room" -msgstr "" - -#: frontends/src/quick_frontend/quick_chat.py:49 -msgid "[INTERNAL] trying to set presents nicks for a non group chat window" -msgstr "" - -#: frontends/src/quick_frontend/quick_chat.py:55 frontends/src/wix/chat.py:146 -#, python-format -msgid "Replacing user %s" -msgstr "" - -#: frontends/src/quick_frontend/quick_chat.py:57 frontends/src/wix/chat.py:148 -msgid "[INTERNAL] trying to replace user for a non group chat window" -msgstr "" - -#: frontends/src/quick_frontend/quick_chat.py:66 -#, python-format -msgid "Removing user %s" -msgstr "" - -#: frontends/src/quick_frontend/quick_chat.py:68 -msgid "[INTERNAL] trying to remove user for a non group chat window" -msgstr "" - -#: frontends/src/quick_frontend/quick_chat.py:83 -#, python-format -msgid "Changing nick of user %(old_nick)s to %(new_nick)s" -msgstr "" - -#: frontends/src/quick_frontend/quick_chat.py:85 -msgid "[INTERNAL] trying to change user nick for a non group chat window" -msgstr "" - -#: frontends/src/quick_frontend/quick_chat.py:93 -#, python-format -msgid "Setting subject to %s" -msgstr "" - -#: frontends/src/quick_frontend/quick_chat.py:95 -msgid "[INTERNAL] trying to set subject for a non group chat window" -msgstr "" - -#: frontends/src/quick_frontend/quick_chat.py:100 -msgid "now we print history" -msgstr "" - -#: frontends/src/quick_frontend/quick_chat.py:110 -msgid "Can't get history" -msgstr "" - -#: frontends/src/quick_frontend/quick_chat.py:149 -msgid "startGame is not implemented in this frontend" -msgstr "" - -#: frontends/src/quick_frontend/quick_chat.py:154 -msgid "getGame is not implemented in this frontend" -msgstr "" - -#: frontends/src/quick_frontend/quick_contact_list.py:28 -msgid "Contact List init" +#: frontends/src/quick_frontend/quick_chat.py:434 +msgid "now we print the history" +msgstr "" + +#: frontends/src/quick_frontend/quick_chat.py:436 +msgid " ({} messages)" +msgstr "" + +#: frontends/src/quick_frontend/quick_chat.py:478 +msgid "Can't get history: {}" +msgstr "" + +#: frontends/src/quick_frontend/quick_contact_list.py:495 +msgid "Trying to delete an unknow entity [{}]" +msgstr "" + +#: frontends/src/quick_frontend/quick_contact_list.py:536 +msgid "received presence from entity without resource: {}" msgstr "" #: frontends/src/quick_frontend/quick_contact_management.py:71 @@ -948,7 +1355,7 @@ msgstr "" #: frontends/src/quick_frontend/quick_contact_management.py:87 -msgid "INTERNAL ERROR: Key error" +msgid "INTERNAL ERROR: Key log.error" msgstr "" #: frontends/src/quick_frontend/quick_contact_management.py:99 @@ -956,1076 +1363,791 @@ msgid "Trying to update an unknown contact: %s" msgstr "" -#: frontends/src/tools/xmlui.py:191 +#: frontends/src/quick_frontend/quick_games.py:74 +#, python-brace-format +msgid "" +"A {game} activity between {players} has been started, but you couldn't take " +"part because your client doesn't support it." +msgstr "" + +#: frontends/src/quick_frontend/quick_games.py:75 +#, python-brace-format +msgid "{game} Game" +msgstr "" + +#: frontends/src/quick_frontend/quick_profile_manager.py:116 +msgid "Trying to plug an unknown profile key ({})" +msgstr "" + +#: frontends/src/quick_frontend/quick_profile_manager.py:118 +msgid "Profile plugging in error" +msgstr "" + +#: frontends/src/quick_frontend/quick_profile_manager.py:130 +msgid "Can't get profile parameter" +msgstr "" + +#: frontends/src/quick_frontend/quick_profile_manager.py:141 +msgid "A profile with this name already exists" +msgstr "" + +#: frontends/src/quick_frontend/quick_profile_manager.py:143 +msgid "Profile creation cancelled by backend" +msgstr "" + +#: frontends/src/quick_frontend/quick_profile_manager.py:145 +msgid "You profile name is not valid" +msgstr "" + +#: frontends/src/quick_frontend/quick_profile_manager.py:147 +msgid "Can't create profile ({})" +msgstr "" + +#: frontends/src/quick_frontend/quick_profile_manager.py:163 +#: src/stdui/ui_profile_manager.py:65 +msgid "Internal error" +msgstr "" + +#: frontends/src/quick_frontend/quick_profile_manager.py:163 +msgid "You can't connect manually and automatically at the same time" +msgstr "" + +#: frontends/src/quick_frontend/quick_profile_manager.py:168 +msgid "No profile selected" +msgstr "" + +#: frontends/src/quick_frontend/quick_profile_manager.py:168 +msgid "You need to create and select at least one profile before connecting" +msgstr "" + +#: frontends/src/quick_frontend/quick_utils.py:38 +msgid "" +"\n" +" %prog [options]\n" +"\n" +" %prog --help for options list\n" +" " +msgstr "" + +#: frontends/src/quick_frontend/quick_utils.py:45 +msgid "Select the profile to use" +msgstr "" + +#: frontends/src/tools/xmlui.py:193 +msgid "Nothing to submit" +msgstr "" + +#: frontends/src/tools/xmlui.py:337 msgid "XMLUI can have only one main container" msgstr "" -#: frontends/src/tools/xmlui.py:240 +#: frontends/src/tools/xmlui.py:385 #, python-format msgid "Unknown container [%s], using default one" msgstr "" -#: frontends/src/tools/xmlui.py:249 +#: frontends/src/tools/xmlui.py:394 msgid "Internal Error, container has not _xmluiAppend method" msgstr "" -#: frontends/src/tools/xmlui.py:315 +#: frontends/src/tools/xmlui.py:472 #, python-format msgid "FIXME FIXME FIXME: widget type [%s] is not implemented" msgstr "" -#: frontends/src/tools/xmlui.py:316 +#: frontends/src/tools/xmlui.py:473 #, python-format msgid "FIXME FIXME FIXME: type [%s] is not implemented" msgstr "" -#: frontends/src/tools/xmlui.py:324 +#: frontends/src/tools/xmlui.py:481 #, python-format msgid "No change listener on [%s]" msgstr "" -#: frontends/src/tools/xmlui.py:330 +#: frontends/src/tools/xmlui.py:498 #, python-format msgid "Unknown tag [%s]" msgstr "" -#: frontends/src/tools/xmlui.py:395 +#: frontends/src/tools/xmlui.py:548 msgid "No callback_id found" msgstr "" -#: frontends/src/tools/xmlui.py:436 -msgid "The form data is not sent back, the type is not managed properly" -msgstr "" - -#: frontends/src/tools/xmlui.py:441 -msgid "Cancelling form" -msgstr "" - -#: frontends/src/wix/card_game.py:95 -msgid "Contrat choosed" -msgstr "" - -#: frontends/src/wix/card_game.py:242 -msgid "Écart" -msgstr "" - -#: frontends/src/wix/chat.py:114 -msgid "configure chat window for Tarot game" -msgstr "" - -#: frontends/src/wix/chat.py:121 -msgid "configure chat window for Quiz game" -msgstr "" - -#: frontends/src/wix/chat.py:175 -msgid "&SendFile\tCTRL-s" -msgstr "" - -#: frontends/src/wix/chat.py:175 -msgid " Send a file to contact" -msgstr "" - -#: frontends/src/wix/chat.py:176 -msgid "&Action" -msgstr "" - -#: frontends/src/wix/chat.py:187 -msgid "Start &Tarot game\tCTRL-t" -msgstr "" - -#: frontends/src/wix/chat.py:187 -msgid " Start a Tarot card game" -msgstr "" - -#: frontends/src/wix/chat.py:188 -msgid "&Games" -msgstr "" - -#: frontends/src/wix/chat.py:256 -msgid "Send File" -msgstr "" - -#: frontends/src/wix/chat.py:257 -msgid "Choose a file to send" -msgstr "" - -#: frontends/src/wix/chat.py:259 -#, python-format -msgid "filename: %s" -msgstr "" - -#: frontends/src/wix/chat.py:267 frontends/src/wix/main_window.py:281 -msgid "File Transfer" -msgstr "" - -#: frontends/src/wix/chat.py:267 frontends/src/wix/main_window.py:281 -#, python-format -msgid "Copying %s" -msgstr "" - -#: frontends/src/wix/chat.py:270 -msgid "Starting Tarot game" -msgstr "" - -#: frontends/src/wix/chat.py:271 -msgid "FIXME: temporary menu, must be changed" -msgstr "" - -#: frontends/src/wix/constants.py:36 -msgid "offline" -msgstr "" - -#: frontends/src/wix/constants.py:37 -msgid "online" -msgstr "" - -#: frontends/src/wix/constants.py:41 -msgid "AFK" -msgstr "" - -#: frontends/src/wix/constants.py:42 -msgid "DND" -msgstr "" - -#: frontends/src/wix/contact_list.py:79 -#, python-format -msgid "update %s" -msgstr "" - -#: frontends/src/wix/contact_list.py:153 -#, python-format -msgid "adding %s" -msgstr "" - -#: frontends/src/wix/contact_list.py:192 -#, python-format -msgid "removing %s" -msgstr "" - -#: frontends/src/wix/main_window.py:87 -msgid "Wix jabber client" -msgstr "" - -#: frontends/src/wix/main_window.py:109 -#, python-format -msgid "plugin profile %s" -msgstr "" - -#: frontends/src/wix/main_window.py:118 -msgid "Creating menus" -msgstr "" - -#: frontends/src/wix/main_window.py:120 -msgid "&Connect\tCTRL-c" -msgstr "" - -#: frontends/src/wix/main_window.py:120 -msgid " Connect to the server" -msgstr "" - -#: frontends/src/wix/main_window.py:121 -msgid "&Disconnect\tCTRL-d" -msgstr "" - -#: frontends/src/wix/main_window.py:121 -msgid " Disconnect from the server" -msgstr "" - -#: frontends/src/wix/main_window.py:122 -msgid "&Parameters" -msgstr "" - -#: frontends/src/wix/main_window.py:122 -msgid " Configure the program" -msgstr "" - -#: frontends/src/wix/main_window.py:124 -msgid "A&bout" -msgstr "" - -#: frontends/src/wix/main_window.py:124 +#: frontends/src/tools/xmlui.py:580 #, python-format -msgid " About %s" -msgstr "" - -#: frontends/src/wix/main_window.py:125 -msgid "E&xit" -msgstr "" - -#: frontends/src/wix/main_window.py:125 -msgid " Terminate the program" -msgstr "" - -#: frontends/src/wix/main_window.py:127 -msgid "&Add contact" -msgstr "" - -#: frontends/src/wix/main_window.py:127 -msgid " Add a contact to your list" -msgstr "" - -#: frontends/src/wix/main_window.py:128 -msgid "&Remove contact" -msgstr "" - -#: frontends/src/wix/main_window.py:128 -msgid " Remove the selected contact from your list" -msgstr "" - -#: frontends/src/wix/main_window.py:130 -msgid "&Show profile" -msgstr "" - -#: frontends/src/wix/main_window.py:130 -msgid " Show contact's profile" -msgstr "" - -#: frontends/src/wix/main_window.py:132 -msgid "&Join Room" -msgstr "" - -#: frontends/src/wix/main_window.py:132 -msgid " Join a Multi-User Chat room" -msgstr "" - -#: frontends/src/wix/main_window.py:134 -msgid "&General" -msgstr "" - -#: frontends/src/wix/main_window.py:135 -msgid "&Contacts" -msgstr "" - -#: frontends/src/wix/main_window.py:136 -msgid "&Communication" -msgstr "" - -#: frontends/src/wix/main_window.py:267 -msgid "Confirmation asked" -msgstr "" - -#: frontends/src/wix/main_window.py:270 -msgid "File transfer confirmation asked" -msgstr "" - -#: frontends/src/wix/main_window.py:272 -msgid "File Request" -msgstr "" - -#: frontends/src/wix/main_window.py:290 -msgid "Yes/No confirmation asked" -msgstr "" - -#: frontends/src/wix/main_window.py:292 -#: frontends/src/wix/profile_manager.py:111 -msgid "Confirmation" -msgstr "" - -#: frontends/src/wix/main_window.py:306 -#, python-format -msgid "actionResult: type = [%(type)s] id = [%(id)s] data = [%(data)s]" -msgstr "" - -#: frontends/src/wix/main_window.py:315 -msgid "Success" -msgstr "" - -#: frontends/src/wix/main_window.py:334 -msgid "registration" -msgstr "" - -#: frontends/src/wix/main_window.py:382 -#, python-format -msgid "onContactActivated: %s" -msgstr "" - -#: frontends/src/wix/main_window.py:400 -msgid "Status change request" -msgstr "" - -#: frontends/src/wix/main_window.py:404 -msgid "Param request" -msgstr "" - -#: frontends/src/wix/main_window.py:406 -msgid "Configuration" -msgstr "" - -#: frontends/src/wix/main_window.py:422 -#, python-format -msgid "%(name)s is a SàT (Salut à Toi) frontend\n" -msgstr "" - -#: frontends/src/wix/main_window.py:438 -msgid "Add contact request" -msgstr "" - -#: frontends/src/wix/main_window.py:441 -msgid "name@server.tld" -msgstr "" - -#: frontends/src/wix/main_window.py:454 -msgid "Remove contact request" -msgstr "" - -#: frontends/src/wix/main_window.py:457 frontends/src/wix/main_window.py:480 -msgid "You haven't selected any contact !" -msgstr "" - -#: frontends/src/wix/main_window.py:465 -#, python-format -msgid "Are you sure you want to delete %s from your roster list ?" -msgstr "" - -#: frontends/src/wix/main_window.py:466 -msgid "Contact suppression" -msgstr "" - -#: frontends/src/wix/main_window.py:477 -msgid "Show contact's profile request" -msgstr "" - -#: frontends/src/wix/main_window.py:493 -#, python-format -msgid "Profile received: [%s]" -msgstr "" - -#: frontends/src/wix/main_window.py:512 -msgid "Exiting..." -msgstr "" - -#: frontends/src/wix/main_window.py:519 -msgid "Tray Click" -msgstr "" - -#: frontends/src/wix/profile_manager.py:46 -msgid "Profile:" -msgstr "" - -#: frontends/src/wix/profile_manager.py:59 -msgid "Login" -msgstr "" - -#: frontends/src/wix/profile_manager.py:95 -msgid "Please enter the new profile name" -msgstr "" - -#: frontends/src/wix/profile_manager.py:111 -#, python-format -msgid "Are you sure to delete the profile [%s]" -msgstr "" - -#: frontends/src/wix/profile_manager.py:131 -msgid "You must select a profile or create a new one before connecting" -msgstr "" - -#: frontends/src/wix/profile_manager.py:148 -msgid "Saving new JID and server" -msgstr "" - -#: frontends/src/wix/profile_manager.py:152 -msgid "Saving new password" -msgstr "" - -#: frontends/src/wix/profile_manager.py:158 -msgid "Profile error" -msgstr "" - -#: frontends/src/wix/profile.py:34 -msgid "Full Name" -msgstr "" - -#: frontends/src/wix/profile.py:35 -msgid "Nickname" -msgstr "" - -#: frontends/src/wix/profile.py:36 -msgid "Birthday" -msgstr "" - -#: frontends/src/wix/profile.py:37 -msgid "Phone #" -msgstr "" - -#: frontends/src/wix/profile.py:38 -msgid "Website" -msgstr "" - -#: frontends/src/wix/profile.py:39 -msgid "E-mail" -msgstr "" - -#: frontends/src/wix/profile.py:40 -msgid "Avatar" -msgstr "" - -#: frontends/src/wix/profile.py:88 frontends/src/wix/xmlui.py:297 -msgid "close" -msgstr "" - -#: frontends/src/wix/quiz_game.py:168 +msgid "FIXME: XMLUI internal action [%s] is not implemented" +msgstr "" + +#: frontends/src/tools/xmlui.py:667 frontends/src/tools/xmlui.py:677 +msgid "The form data is not sent back, the type is not managed properly" +msgstr "" + +#: frontends/src/tools/xmlui.py:672 +msgid "Cancelling form" +msgstr "" + +#: frontends/src/tools/xmlui.py:778 +msgid "You must register classes with registerClass before creating a XMLUI" +msgstr "" + +#: src/core/sat_main.py:149 +msgid "Memory initialised" +msgstr "" + +#: src/core/sat_main.py:154 +msgid "Backend is ready" +msgstr "" + +#: src/core/sat_main.py:189 +#, python-brace-format msgid "" -"Quel dommage, personne n'a trouvé la réponse\n" -"\n" -"Attention, la prochaine question arrive..." -msgstr "" - -#: frontends/src/wix/xmlui.py:137 -#, python-format -msgid "Can't find value [%s] to select" -msgstr "" - -#: frontends/src/wix/xmlui.py:175 -msgid "select" -msgstr "" - -#: src/core/sat_main.py:97 -#, python-format -msgid "Constant %(name)s overrided with [%(value)s]" -msgstr "" - -#: src/core/sat_main.py:102 -msgid "Trying to access an undefined constant" -msgstr "" - -#: src/core/sat_main.py:109 -msgid "Trying to redefine a constant" -msgstr "" - -#: src/core/sat_main.py:177 -msgid "Memory initialised" -msgstr "" - -#: src/core/sat_main.py:207 -#, python-format -msgid "Dependency plugin not found: [%s]" -msgstr "" - -#: src/core/sat_main.py:214 -#, python-format -msgid "importing plugin: %s" -msgstr "" - -#: src/core/sat_main.py:233 -msgid "Trying to connect a non-exsitant profile" -msgstr "" - -#: src/core/sat_main.py:237 +"Can't import plugin [{path}]:\n" +"{error}" +msgstr "" + +#: src/core/sat_main.py:202 +#, python-brace-format +msgid "{type} type must be used with {mode} mode, ignoring plugin" +msgstr "" + +#: src/core/sat_main.py:208 +#, python-brace-format +msgid "" +"Name conflict for import name [{import_name}], can't import plugin [{name}]" +msgstr "" + +#: src/core/sat_main.py:234 +msgid "Recommended plugin not found: {}" +msgstr "" + +#: src/core/sat_main.py:248 +#, python-brace-format +msgid "Can't import plugin {name}: {error}" +msgstr "" + +#: src/core/sat_main.py:311 msgid "already connected !" msgstr "" -#: src/core/sat_main.py:255 -msgid "Can't parse port value, using default value" -msgstr "" - -#: src/core/sat_main.py:283 -msgid "setting plugins parents" -msgstr "" - -#: src/core/sat_main.py:304 +#: src/core/sat_main.py:331 msgid "not connected !" msgstr "" -#: src/core/sat_main.py:307 -msgid "Disconnecting..." -msgstr "" - -#: src/core/sat_main.py:317 src/memory/memory.py:1027 -msgid "Asking contacts for a non-existant profile" -msgstr "" - -#: src/core/sat_main.py:328 -msgid "Asking group's contacts for a non-existant profile" -msgstr "" - -#: src/core/sat_main.py:337 +#: src/core/sat_main.py:406 msgid "Trying to remove reference to a client not referenced" msgstr "" -#: src/core/sat_main.py:349 +#: src/core/sat_main.py:418 msgid "running app" msgstr "" -#: src/core/sat_main.py:353 -msgid "stopping app" -msgstr "" - -#: src/core/sat_main.py:414 -msgid "No user, password or server given, can't register new account." -msgstr "" - #: src/core/sat_main.py:422 -#, python-format -msgid "Are you sure to register new account [%(user)s] to server %(server)s ?" -msgstr "" - -#: src/core/sat_main.py:427 -#, python-format -msgid "register Confirmation CB ! (%s)" -msgstr "" - -#: src/core/sat_main.py:442 -#, python-format -msgid "setting param: %(name)s=%(value)s in category %(category)s" -msgstr "" - -#: src/core/sat_main.py:452 +msgid "stopping app" +msgstr "" + +#: src/core/sat_main.py:482 +msgid "Unexpected error: {}" +msgstr "" + +#: src/core/sat_main.py:498 msgid "asking connection status for a non-existant profile" msgstr "" -#: src/core/sat_main.py:518 -#, python-format -msgid "Sending jabber message of type [%(type)s] to %(to)s..." -msgstr "" - -#: src/core/sat_main.py:556 -msgid "Trying to send a message with no profile" -msgstr "" - -#: src/core/sat_main.py:603 +#: src/core/sat_main.py:538 #, python-format msgid "subsciption request [%(subs_type)s] for %(jid)s" msgstr "" -#: src/core/sat_main.py:716 src/core/sat_main.py:733 -#, python-format -msgid "Requested disco info on %s" -msgstr "" - -#: src/core/sat_main.py:718 -#, python-format -msgid "Feature found: %s" -msgstr "" - -#: src/core/sat_main.py:721 -#, python-format -msgid "Identity found: [%(category)s/%(type)s] %(identity)s" -msgstr "" - -#: src/core/sat_main.py:735 -#, python-format -msgid "Identity added: (%(category)s,%(type)s) ==> %(entity)s [%(profile)s]" -msgstr "" - -#: src/core/sat_main.py:742 -#, python-format -msgid "" -"Can't get information on identity [%(entity)s] for profile [%(profile)s]" -msgstr "" - -#: src/core/sat_main.py:747 -msgid "" -"Using jabberfr workaround, be sure your domain has at least two levels (e.g. " -"\"example.tld\", not \"example\" alone)" -msgstr "" - -#: src/core/sat_main.py:771 -msgid "action_type for actionResultExt must be DICT_DICT, fixing it" -msgstr "" - -#: src/core/sat_main.py:785 -msgid "Asking confirmation a non-existant profile" -msgstr "" - -#: src/core/sat_main.py:787 -msgid "Attempt to register two callbacks for the same confirmation" -msgstr "" - -#: src/core/sat_main.py:796 -msgid "Confirmation answer from a non-existant profile" -msgstr "" - -#: src/core/sat_main.py:797 -#, python-format -msgid "Received confirmation answer for conf_id [%(conf_id)s]: %(success)s" -msgstr "" - -#: src/core/sat_main.py:797 -msgid "accepted" -msgstr "" - -#: src/core/sat_main.py:797 -msgid "refused" -msgstr "" - -#: src/core/sat_main.py:799 -#, python-format -msgid "Received an unknown confirmation (%(id)s for %(profile)s)" -msgstr "" - -#: src/core/sat_main.py:818 +#: src/core/sat_main.py:654 msgid "Trying to remove an unknow progress callback" msgstr "" -#: src/core/sat_main.py:851 +#: src/core/sat_main.py:738 msgid "id already registered" msgstr "" -#: src/core/sat_main.py:880 +#: src/core/sat_main.py:776 msgid "trying to launch action with a non-existant profile" msgstr "" -#: src/core/sat_main.py:935 +#: src/core/sat_main.py:858 msgid "A menu with the same path and type already exists" msgstr "" -#: src/core/xmpp.py:57 -#, python-format -msgid "********** [%s] CONNECTED **********" -msgstr "" - -#: src/core/xmpp.py:63 -msgid "XML stream is initialized" -msgstr "" - -#: src/core/xmpp.py:100 -#, python-format -msgid "********** [%s] DISCONNECTED **********" -msgstr "" - -#: src/core/xmpp.py:104 -msgid "No keep_alife" -msgstr "" - #: src/core/xmpp.py:120 +msgid "Can't parse port value, using default value" +msgstr "" + +#: src/core/xmpp.py:141 +msgid "setting plugins parents" +msgstr "" + +#: src/core/xmpp.py:160 +msgid "Plugins initialisation error" +msgstr "" + +#: src/core/xmpp.py:177 +msgid "Error while disconnecting: {}" +msgstr "" + +#: src/core/xmpp.py:191 #, python-format -msgid "got message from: %s" -msgstr "" - -#: src/core/xmpp.py:224 +msgid "********** [%s] CONNECTED **********" +msgstr "" + +#: src/core/xmpp.py:200 +msgid "XML stream is initialized" +msgstr "" + +#: src/core/xmpp.py:216 #, python-format -msgid "new contact in roster list: %s" +msgid "ERROR: XMPP connection failed for profile '%(profile)s': %(reason)s" +msgstr "" + +#: src/core/xmpp.py:230 +msgid "No keep_alife" msgstr "" #: src/core/xmpp.py:235 #, python-format -msgid "removing %s from roster list" -msgstr "" - -#: src/core/xmpp.py:293 +msgid "********** [%s] DISCONNECTED **********" +msgstr "" + +#: src/core/xmpp.py:257 +msgid "Disconnecting..." +msgstr "" + +#: src/core/xmpp.py:401 +#, python-brace-format +msgid "Sending message (type {type}, to {to})" +msgstr "" + +#: src/core/xmpp.py:407 +msgid "" +"Triggers, storage and echo have been inhibited by the 'send_only' parameter" +msgstr "" + +#: src/core/xmpp.py:447 +msgid "No message found" +msgstr "" + +#: src/core/xmpp.py:581 +#, python-brace-format +msgid "The requested entry point ({entry_point}) is not available" +msgstr "" + +#: src/core/xmpp.py:615 +#, python-brace-format +msgid "" +"Plugin {current_name} if needed for {entry_name}, but it doesn't handle " +"component mode" +msgstr "" + +#: src/core/xmpp.py:619 +msgid "invalid plugin mode" +msgstr "" + +#: src/core/xmpp.py:717 +#, python-brace-format +msgid "got message from: {from_}" +msgstr "" + +#: src/core/xmpp.py:793 +msgid "There's no subscription between you and [{}]!" +msgstr "" + +#: src/core/xmpp.py:795 +msgid "You are not subscribed to [{}]!" +msgstr "" + +#: src/core/xmpp.py:797 +msgid "[{}] is not subscribed to you!" +msgstr "" + +#: src/core/xmpp.py:954 #, python-format msgid "" "presence update for [%(entity)s] (available, show=%(show)s statuses=" "%(statuses)s priority=%(priority)d)" msgstr "" -#: src/core/xmpp.py:312 +#: src/core/xmpp.py:975 #, python-format msgid "presence update for [%(entity)s] (unavailable, statuses=%(statuses)s)" msgstr "" -#: src/core/xmpp.py:355 +#: src/core/xmpp.py:1038 msgid "sending automatic \"from\" subscription request" msgstr "" -#: src/core/xmpp.py:363 +#: src/core/xmpp.py:1046 #, python-format msgid "subscription approved for [%s]" msgstr "" -#: src/core/xmpp.py:367 +#: src/core/xmpp.py:1050 #, python-format msgid "unsubscription confirmed for [%s]" msgstr "" -#: src/core/xmpp.py:371 +#: src/core/xmpp.py:1055 #, python-format msgid "subscription request from [%s]" msgstr "" -#: src/core/xmpp.py:375 +#: src/core/xmpp.py:1060 msgid "sending automatic subscription acceptance" msgstr "" -#: src/core/xmpp.py:382 +#: src/core/xmpp.py:1068 #, python-format msgid "unsubscription asked for [%s]" msgstr "" -#: src/core/xmpp.py:385 +#: src/core/xmpp.py:1072 msgid "automatic contact deletion" msgstr "" -#: src/core/xmpp.py:417 -msgid "Registration asked for" -msgstr "" - -#: src/core/xmpp.py:438 src/plugins/plugin_xep_0077.py:90 +#: src/core/xmpp.py:1104 +#, python-format +msgid "Registration asked for %(user)s@%(host)s" +msgstr "" + +#: src/core/xmpp.py:1107 #, python-format -msgid "registration answer: %s" -msgstr "" - -#: src/core/xmpp.py:440 -msgid "Registration successfull" -msgstr "" - -#: src/core/xmpp.py:445 src/plugins/plugin_xep_0077.py:86 -#: src/plugins/plugin_xep_0077.py:96 +msgid "Connection made with %s" +msgstr "" + +#: src/core/xmpp.py:1125 +#, python-format +msgid "Registration answer: %s" +msgstr "" + +#: src/core/xmpp.py:1129 src/plugins/plugin_xep_0077.py:87 +#: src/plugins/plugin_xep_0077.py:97 #, python-format msgid "Registration failure: %s" msgstr "" -#: src/core/xmpp.py:450 src/plugins/plugin_xep_0077.py:98 -msgid "Username already exists, please choose an other one" -msgstr "" - -#: src/core/xmpp.py:453 +#: src/memory/disco.py:219 +#, python-format +msgid "Error while requesting [%(jid)s]: %(error)s" +msgstr "" + +#: src/memory/disco.py:307 +#, python-format +msgid "Capability hash generated: [%s]" +msgstr "" + +#: src/memory/disco.py:348 +msgid "invalid item (no jid)" +msgstr "" + +#: src/memory/memory.py:219 +msgid "" +"A database has been found in the default local_dir for previous versions (< " +"0.5)" +msgstr "" + +#: src/memory/memory.py:227 +msgid "Memory manager init" +msgstr "" + +#: src/memory/memory.py:244 +msgid "Loading default params template" +msgstr "" + +#: src/memory/memory.py:276 +#, python-format +msgid "Parameters loaded from file: %s" +msgstr "" + +#: src/memory/memory.py:279 +#, python-format +msgid "Can't load parameters from file: %s" +msgstr "" + +#: src/memory/memory.py:294 +#, python-format +msgid "Parameters saved to file: %s" +msgstr "" + +#: src/memory/memory.py:297 +#, python-format +msgid "Can't save parameters to file: %s" +msgstr "" + +#: src/memory/memory.py:426 +#, python-format +msgid "[%s] Profile session purge" +msgstr "" + +#: src/memory/memory.py:431 #, python-format -msgid "Registration failed (%s)" -msgstr "" - -#: src/memory/memory.py:143 +msgid "Trying to purge roster status cache for a profile not in memory: [%s]" +msgstr "" + +#: src/memory/memory.py:441 +msgid "requesting no profiles at all" +msgstr "" + +#: src/memory/memory.py:496 +#, python-brace-format +msgid "Can't find component {component} entry point" +msgstr "" + +#: src/memory/memory.py:740 +msgid "Trying to get entity data for a non-existant profile" +msgstr "" + +#: src/memory/memory.py:929 +msgid "Need a bare jid to delete all resources" +msgstr "" + +#: src/memory/memory.py:954 +#, python-format +msgid "Trying to encrypt a value for %s while the personal key is undefined!" +msgstr "" + +#: src/memory/memory.py:969 +#, python-format +msgid "Trying to decrypt a value for %s while the personal key is undefined!" +msgstr "" + +#: src/memory/memory.py:992 +#, python-format +msgid "Personal data (%(ns)s, %(key)s) has been successfuly encrypted" +msgstr "" + +#: src/memory/memory.py:1019 +msgid "Asking waiting subscriptions for a non-existant profile" +msgstr "" + +#: src/memory/params.py:82 msgid "Connection" msgstr "" -#: src/memory/memory.py:144 +#: src/memory/params.py:84 +msgid "Chat history limit" +msgstr "" + +#: src/memory/params.py:86 +msgid "Show offline contacts" +msgstr "" + +#: src/memory/params.py:88 +msgid "Show empty groups" +msgstr "" + +#: src/memory/params.py:91 src/plugins/plugin_misc_register_account.py:74 msgid "Register new account" msgstr "" -#: src/memory/memory.py:145 +#: src/memory/params.py:92 msgid "Connect on frontend startup" msgstr "" -#: src/memory/memory.py:146 +#: src/memory/params.py:93 msgid "Disconnect on frontend closure" msgstr "" -#: src/memory/memory.py:147 src/plugins/plugin_xep_0249.py:69 -msgid "Misc" -msgstr "" - -#: src/memory/memory.py:202 +#: src/memory/params.py:154 #, python-format msgid "Trying to purge cache of a profile not in memory: [%s]" msgstr "" -#: src/memory/memory.py:223 -#, python-format -msgid "The profile [%s] already exists" -msgstr "" - -#: src/memory/memory.py:239 +#: src/memory/params.py:178 msgid "The profile name already exists" msgstr "" -#: src/memory/memory.py:250 +#: src/memory/params.py:193 msgid "Trying to delete an unknown profile" msgstr "" -#: src/memory/memory.py:253 +#: src/memory/params.py:199 msgid "Trying to delete a connected profile" msgstr "" -#: src/memory/memory.py:268 +#: src/memory/params.py:217 msgid "No default profile, returning first one" msgstr "" -#: src/memory/memory.py:272 +#: src/memory/params.py:221 msgid "No profile exist yet" msgstr "" -#: src/memory/memory.py:280 -msgid "Trying to access an unknown profile" -msgstr "" - -#: src/memory/memory.py:361 +#: src/memory/params.py:229 +#, python-format +msgid "Trying to access an unknown profile (%s)" +msgstr "" + +#: src/memory/params.py:314 msgid "Trying to register frontends parameters with no specified app: aborted" msgstr "" -#: src/memory/memory.py:366 +#: src/memory/params.py:319 #, python-format msgid "Trying to register twice frontends parameters for %(app)s: aborted" msgstr "" -#: src/memory/memory.py:377 +#: src/memory/params.py:330 #, python-format msgid "Can't determine default value for [%(category)s/%(name)s]: %(reason)s" msgstr "" -#: src/memory/memory.py:392 src/memory/memory.py:437 src/memory/memory.py:472 +#: src/memory/params.py:346 src/memory/params.py:478 src/memory/params.py:523 #, python-format msgid "Requested param [%(name)s] in category [%(category)s] doesn't exist !" msgstr "" -#: src/memory/memory.py:448 +#: src/memory/params.py:381 +#, python-format +msgid "" +"Unset parameter (%(cat)s, %(param)s) of type list will use the default " +"option '%(value)s'" +msgstr "" + +#: src/memory/params.py:385 +#, python-format +msgid "Parameter (%(cat)s, %(param)s) of type list has no default option!" +msgstr "" + +#: src/memory/params.py:387 +#, python-format +msgid "" +"Parameter (%(cat)s, %(param)s) of type list has more than one default option!" +msgstr "" + +#: src/memory/params.py:444 +msgid "The stored password could not be decrypted!" +msgstr "" + +#: src/memory/params.py:494 msgid "Requesting a param for an non-existant profile" msgstr "" -#: src/memory/memory.py:452 +#: src/memory/params.py:498 msgid "Requesting synchronous param for not connected profile" msgstr "" -#: src/memory/memory.py:476 +#: src/memory/params.py:527 #, python-format msgid "" "Trying to get parameter '%(param)s' in category '%(cat)s' without " "authorization!!!" msgstr "" -#: src/memory/memory.py:488 +#: src/memory/params.py:539 msgid "Requesting a param for a non-existant profile" msgstr "" -#: src/memory/memory.py:622 src/memory/memory.py:638 src/memory/memory.py:661 +#: src/memory/params.py:564 src/memory/params.py:742 src/memory/params.py:759 msgid "Asking params for inexistant profile" msgstr "" -#: src/memory/memory.py:713 +#: src/memory/params.py:817 msgid "Trying to set parameter for an unknown profile" msgstr "" -#: src/memory/memory.py:718 +#: src/memory/params.py:822 #, python-format msgid "Requesting an unknown parameter (%(category)s/%(name)s)" msgstr "" -#: src/memory/memory.py:723 +#: src/memory/params.py:827 #, python-format msgid "" "Trying to set parameter '%(param)s' in category '%(cat)s' without " "authorization!!!" msgstr "" -#: src/memory/memory.py:776 -msgid "Memory manager init" -msgstr "" - -#: src/memory/memory.py:791 -msgid "Loading default params template" -msgstr "" - -#: src/memory/memory.py:804 -msgid "Can't read main config !" -msgstr "" - -#: src/memory/memory.py:838 -#, python-format -msgid "Parameters loaded from file: %s" -msgstr "" - -#: src/memory/memory.py:841 -#, python-format -msgid "Can't load parameters from file: %s" -msgstr "" - -#: src/memory/memory.py:857 -#, python-format -msgid "[%s] Profile session started" -msgstr "" - -#: src/memory/memory.py:863 -#, python-format -msgid "[%s] Profile session purge" -msgstr "" - -#: src/memory/memory.py:868 -#, python-format -msgid "Trying to purge roster status cache for a profile not in memory: [%s]" -msgstr "" - -#: src/memory/memory.py:878 -#, python-format -msgid "Parameters saved to file: %s" -msgstr "" - -#: src/memory/memory.py:881 -#, python-format -msgid "Can't save parameters to file: %s" -msgstr "" - -#: src/memory/memory.py:967 +#: src/memory/params.py:839 #, python-format msgid "" -"Entities (%(category)s/%(type)s) of %(server)s not available, maybe they " -"haven't been asked yet?" -msgstr "" - -#: src/memory/memory.py:996 -msgid "Trying find server feature for a non-existant profile" -msgstr "" - -#: src/memory/memory.py:1004 +"Trying to set parameter '%(param)s' in category '%(cat)s' with an non-" +"integer value" +msgstr "" + +#: src/memory/params.py:851 #, python-format -msgid "Features of %s not available, maybe they haven't been asked yet?" -msgstr "" - -#: src/memory/memory.py:1013 -msgid "Asking contacts for a non-existant or not connected profile" -msgstr "" - -#: src/memory/memory.py:1017 -msgid "Entity not in cache" -msgstr "" - -#: src/memory/memory.py:1041 -msgid "Trying to add presence status to a non-existant profile" -msgstr "" - -#: src/memory/memory.py:1061 src/memory/memory.py:1092 -msgid "Trying to get entity data for a non-existant profile" -msgstr "" - -#: src/memory/memory.py:1135 -msgid "Asking waiting subscriptions for a non-existant profile" -msgstr "" - -#: src/memory/persistent.py:38 +msgid "Setting parameter (%(category)s, %(name)s) = %(value)s" +msgstr "" + +#: src/memory/params.py:873 +msgid "Trying to encrypt a password while the personal key is undefined!" +msgstr "" + +#: src/memory/persistent.py:39 msgid "PersistentDict can't be used before memory initialisation" msgstr "" -#: src/memory/sqlite.py:83 +#: src/memory/sqlite.py:127 msgid "Connecting database" msgstr "" -#: src/memory/sqlite.py:88 +#: src/memory/sqlite.py:139 msgid "Can't activate foreign keys" msgstr "" -#: src/memory/sqlite.py:91 +#: src/memory/sqlite.py:142 msgid "The database is new, creating the tables" msgstr "" -#: src/memory/sqlite.py:162 +#: src/memory/sqlite.py:251 #, python-format msgid "Can't delete profile [%s]" msgstr "" -#: src/memory/sqlite.py:167 +#: src/memory/sqlite.py:269 #, python-format msgid "Profile [%s] deleted" msgstr "" -#: src/memory/sqlite.py:181 +#: src/memory/sqlite.py:285 msgid "loading general parameters from database" msgstr "" -#: src/memory/sqlite.py:194 +#: src/memory/sqlite.py:300 msgid "loading individual parameters from database" msgstr "" -#: src/memory/sqlite.py:216 +#: src/memory/sqlite.py:324 #, python-format msgid "Can't set general parameter (%(category)s/%(name)s) in database" msgstr "" -#: src/memory/sqlite.py:227 +#: src/memory/sqlite.py:337 #, python-format msgid "" "Can't set individual parameter (%(category)s/%(name)s) for [%(profile)s] in " "database" msgstr "" -#: src/memory/sqlite.py:247 -#, python-format +#: src/memory/sqlite.py:350 +#, python-brace-format +msgid "" +"Can't save following {key} in history (uid: {uid}, lang:{lang}): {value}" +msgstr "" + +#: src/memory/sqlite.py:360 +#, python-brace-format msgid "" -"Can't save following message in history: from [%(from_jid)s] to [%(to_jid)s] " -"==> [%(message)s]" -msgstr "" - -#: src/memory/sqlite.py:312 +"Can't save following thread in history (uid: {uid}): thread:{thread}), " +"parent:{parent}" +msgstr "" + +#: src/memory/sqlite.py:379 +#, python-brace-format +msgid "" +"Can't save following message in history: from [{from_jid}] to [{to_jid}] " +"(uid: {uid})" +msgstr "" + +#: src/memory/sqlite.py:535 #, python-format msgid "loading general private values [namespace: %s] from database" msgstr "" -#: src/memory/sqlite.py:314 src/memory/sqlite.py:330 +#: src/memory/sqlite.py:537 src/memory/sqlite.py:555 #, python-format msgid "No data present in database for namespace %s" msgstr "" -#: src/memory/sqlite.py:327 +#: src/memory/sqlite.py:552 #, python-format msgid "loading individual private values [namespace: %s] from database" msgstr "" -#: src/memory/sqlite.py:339 +#: src/memory/sqlite.py:566 #, python-format msgid "" "Can't set general private value (%(key)s) [namespace:%(namespace)s] in " "database" msgstr "" -#: src/memory/sqlite.py:351 +#: src/memory/sqlite.py:580 #, python-format msgid "" "Can't set individual private value (%(key)s) [namespace: %(namespace)s] for " "[%(profile)s] in database" msgstr "" -#: src/memory/sqlite.py:361 +#: src/memory/sqlite.py:592 #, python-format msgid "" "Can't delete general private value (%(key)s) [namespace:%(namespace)s] in " "database" msgstr "" -#: src/memory/sqlite.py:372 +#: src/memory/sqlite.py:605 #, python-format msgid "" "Can't delete individual private value (%(key)s) [namespace: %(namespace)s] " "for [%(profile)s] in database" msgstr "" -#: src/memory/sqlite.py:386 +#: src/memory/sqlite.py:621 #, python-format msgid "loading general private binary values [namespace: %s] from database" msgstr "" -#: src/memory/sqlite.py:388 src/memory/sqlite.py:404 +#: src/memory/sqlite.py:623 src/memory/sqlite.py:641 #, python-format msgid "No binary data present in database for namespace %s" msgstr "" -#: src/memory/sqlite.py:401 +#: src/memory/sqlite.py:638 #, python-format msgid "loading individual private binary values [namespace: %s] from database" msgstr "" -#: src/memory/sqlite.py:413 +#: src/memory/sqlite.py:652 #, python-format msgid "" "Can't set general private binary value (%(key)s) [namespace:%(namespace)s] " "in database" msgstr "" -#: src/memory/sqlite.py:425 +#: src/memory/sqlite.py:666 #, python-format msgid "" "Can't set individual binary private value (%(key)s) [namespace: " "%(namespace)s] for [%(profile)s] in database" msgstr "" -#: src/memory/sqlite.py:435 +#: src/memory/sqlite.py:678 #, python-format msgid "" "Can't delete general private binary value (%(key)s) [namespace:" "%(namespace)s] in database" msgstr "" -#: src/memory/sqlite.py:446 +#: src/memory/sqlite.py:691 #, python-format msgid "" "Can't delete individual private binary value (%(key)s) [namespace: " "%(namespace)s] for [%(profile)s] in database" msgstr "" -#: src/memory/sqlite.py:512 +#: src/memory/sqlite.py:761 msgid "" "Your local schema is up-to-date, but database versions mismatch, fixing it..." msgstr "" -#: src/memory/sqlite.py:522 +#: src/memory/sqlite.py:771 msgid "" "There is a schema mismatch, but as we are on a dev version, database will be " "updated" msgstr "" -#: src/memory/sqlite.py:526 +#: src/memory/sqlite.py:775 msgid "" "schema version is up-to-date, but local schema differ from expected current " "schema" msgstr "" -#: src/memory/sqlite.py:528 +#: src/memory/sqlite.py:778 #, python-format msgid "" "Here are the commands that should fix the situation, use at your own risk " @@ -2036,410 +2158,651 @@ "### END SQL ###\n" msgstr "" -#: src/memory/sqlite.py:532 -msgid "Database schema has changed, local database will be updated" -msgstr "" - -#: src/plugins/deprecated_misc_cs.py:50 +#: src/memory/sqlite.py:783 msgid "" -"This plugin allow to manage your CouchSurfing account throught your SàT " -"frontend" -msgstr "" - -#: src/plugins/deprecated_misc_cs.py:70 -msgid "Plugin CS initialization" -msgstr "" - -#: src/plugins/deprecated_misc_cs.py:75 -msgid "Plugin" -msgstr "" - -#: src/plugins/deprecated_misc_cs.py:75 -msgid "Launch CoushSurfing management interface" -msgstr "" - -#: src/plugins/deprecated_misc_cs.py:95 -msgid "" -"Impossible to contact CS website, please check your login/password, " -"connection or try again later" -msgstr "" - -#: src/plugins/deprecated_misc_cs.py:103 +"Database content needs a specific processing, local database will be updated" +msgstr "" + +#: src/memory/sqlite.py:785 +msgid "Database schema has changed, local database will be updated" +msgstr "" + +#: src/plugins/plugin_adhoc_dbus.py:53 +msgid "Add D-Bus management to Ad-Hoc commands" +msgstr "" + +#: src/plugins/plugin_adhoc_dbus.py:60 +msgid "plugin Ad-Hoc D-Bus initialization" +msgstr "" + +#: src/plugins/plugin_adhoc_dbus.py:169 +msgid "Command selection" +msgstr "" + +#: src/plugins/plugin_adhoc_dbus.py:206 src/plugins/plugin_xep_0050.py:439 +msgid "Updated" +msgstr "" + +#: src/plugins/plugin_adhoc_dbus.py:210 +msgid "Command sent" +msgstr "" + +#: src/plugins/plugin_blog_import_dokuwiki.py:52 +msgid "Blog importer for Dokuwiki blog engine." +msgstr "" + +#: src/plugins/plugin_blog_import_dokuwiki.py:55 +msgid "import posts from Dokuwiki blog engine" +msgstr "" + +#: src/plugins/plugin_blog_import_dokuwiki.py:57 msgid "" -"You have to fill your CouchSurfing login & password in parameters before " -"using this interface" -msgstr "" - -#: src/plugins/deprecated_misc_cs.py:162 -msgid "Messages" -msgstr "" - -#: src/plugins/deprecated_misc_cs.py:163 -#, python-format +"This importer handle Dokuwiki blog engine.\n" +"\n" +"To use it, you need an admin access to a running Dokuwiki website\n" +"(local or on the Internet). The importer retrieves the data using\n" +"the XMLRPC Dokuwiki API.\n" +"\n" +"You can specify a namespace (that could be a namespace directory\n" +"or a single post) or leave it empty to use the root namespace \"/\"\n" +"and import all the posts.\n" +"\n" +"You can specify a new media repository to modify the internal\n" +"media links and make them point to the URL of your choice, but\n" +"note that the upload is not done automatically: a temporary\n" +"directory will be created on your local drive and you will\n" +"need to upload it yourself to your repository via SSH or FTP.\n" +"\n" +"Following options are recognized:\n" +"\n" +"location: DokuWiki site URL\n" +"user: DokuWiki admin user\n" +"passwd: DokuWiki admin password\n" +"namespace: DokuWiki namespace to import (default: root namespace \"/\")\n" +"media_repo: URL to the new remote media repository (default: none)\n" +"limit: maximal number of posts to import (default: 100)\n" +"\n" +"Example of usage (with jp frontend):\n" +"\n" +"jp import dokuwiki -p dave --pwd xxxxxx --connect\n" +" http://127.0.1.1 -o user souliane -o passwd qwertz\n" +" -o namespace public:2015:10\n" +" -o media_repo http://media.diekulturvermittlung.at\n" +"\n" +"This retrieves the 100 last blog posts from http://127.0.1.1 that\n" +"are inside the namespace \"public:2015:10\" using the Dokuwiki user\n" +"\"souliane\", and it imports them to sat profile dave's microblog node.\n" +"Internal Dokuwiki media that were hosted on http://127.0.1.1 are now\n" +"pointing to http://media.diekulturvermittlung.at.\n" +msgstr "" + +#: src/plugins/plugin_blog_import_dokuwiki.py:341 +msgid "plugin Dokuwiki Import initialization" +msgstr "" + +#: src/plugins/plugin_blog_import_dokuwiki.py:371 +#, python-brace-format msgid "" -"G'day %(name)s, you have %(nb_message)i unread message%(plural_mess)s and " -"%(unread_CR_mess)s unread couch request message%(plural_CR)s\n" -"If you want to send a message, select the recipient(s) in the list below" -msgstr "" - -#: src/plugins/deprecated_misc_cs.py:165 -#, python-format -msgid "Show unread message%(plural)s in external web browser" -msgstr "" - -#: src/plugins/deprecated_misc_cs.py:168 -msgid "Subject" -msgstr "" - -#: src/plugins/deprecated_misc_cs.py:171 -msgid "Message" -msgstr "" - -#: src/plugins/deprecated_misc_cs.py:174 -msgid "send" -msgstr "" - -#: src/plugins/deprecated_misc_cs.py:195 -#, python-format -msgid "" -"CS friend found: %(friend_name)s (id: %(friend_id)s, link: %(friend_link)s)" -msgstr "" - -#: src/plugins/deprecated_misc_cs.py:218 +"DokuWiki media files will be *downloaded* to {temp_dir} - to finish the " +"import you have to upload them *manually* to {media_repo}" +msgstr "" + +#: src/plugins/plugin_blog_import_dokuwiki.py:375 msgid "" -"INTERNAL ERROR: no confirmation of message sent by CS, maybe the site has " -"been modified ?" -msgstr "" - -#: src/plugins/deprecated_misc_cs.py:229 -#, python-format -msgid "Sending message to %s" -msgstr "" - -#: src/plugins/deprecated_misc_cs.py:230 -#, python-format +"DokuWiki media files will be *uploaded* to the XMPP server. Hyperlinks to " +"these media may not been updated though." +msgstr "" + +#: src/plugins/plugin_blog_import_dokuwiki.py:377 +#, python-brace-format msgid "" +"DokuWiki media files will *stay* on {location} - some of them may be " +"protected by DokuWiki ACL and will not be accessible." +msgstr "" + +#: src/plugins/plugin_blog_import_dotclear.py:41 +msgid "Blog importer for Dotclear blog engine." +msgstr "" + +#: src/plugins/plugin_blog_import_dotclear.py:44 +msgid "import posts from Dotclear blog engine" +msgstr "" + +#: src/plugins/plugin_blog_import_dotclear.py:46 +msgid "" +"This importer handle Dotclear blog engine.\n" "\n" -"subject: %(subject)s\n" -"message: \n" -"---\n" -"%(message)s\n" -"---\n" +"To use it, you'll need to export your blog to a flat file.\n" +"You must go in your admin interface and select Plugins/Maintenance then " +"Backup.\n" +"Export only one blog if you have many, i.e. select \"Download database of " +"current blog\"\n" +"Depending on your configuration, your may need to use Import/Export plugin " +"and export as a flat file.\n" "\n" -msgstr "" - -#: src/plugins/deprecated_misc_cs.py:236 -msgid "Message sent" -msgstr "" - -#: src/plugins/deprecated_misc_cs.py:237 -msgid "The message has been sent to every recipients" -msgstr "" - -#: src/plugins/deprecated_misc_cs.py:250 -msgid "There is not recipient selected for this message !" -msgstr "" - -#: src/plugins/deprecated_misc_cs.py:256 -#, python-format -msgid "sending message to %(friends)s with subject [%(subject)s]" -msgstr "" - -#: src/plugins/plugin_adhoc_dbus.py:48 -msgid "Add D-Bus management to Ad-Hoc commands" -msgstr "" - -#: src/plugins/plugin_adhoc_dbus.py:55 -msgid "plugin Ad-Hoc D-Bus initialization" -msgstr "" - -#: src/plugins/plugin_adhoc_dbus.py:164 -msgid "Command selection" -msgstr "" - -#: src/plugins/plugin_adhoc_dbus.py:201 src/plugins/plugin_xep_0050.py:372 -msgid "Updated" -msgstr "" - -#: src/plugins/plugin_adhoc_dbus.py:205 -msgid "Command sent" -msgstr "" - -#: src/plugins/plugin_exp_command_export.py:36 +"location: you must use the absolute path to your backup for the location " +"parameter\n" +msgstr "" + +#: src/plugins/plugin_blog_import_dotclear.py:242 +msgid "plugin Dotclear Import initialization" +msgstr "" + +#: src/plugins/plugin_blog_import.py:44 +msgid "" +"Blog import management:\n" +"This plugin manage the different blog importers which can register to it, " +"and handler generic importing tasks." +msgstr "" + +#: src/plugins/plugin_blog_import.py:62 +msgid "plugin Blog Import initialization" +msgstr "" + +#: src/plugins/plugin_comp_ep_test.py:36 src/plugins/plugin_exp_parrot.py:38 +msgid "Implementation of parrot mode (repeat messages between 2 entities)" +msgstr "" + +#: src/plugins/plugin_comp_ep_test.py:44 +msgid "Plugin Test initialization" +msgstr "" + +#: src/plugins/plugin_exp_command_export.py:38 msgid "Implementation of command export" msgstr "" -#: src/plugins/plugin_exp_command_export.py:86 +#: src/plugins/plugin_exp_command_export.py:89 msgid "Plugin command export initialization" msgstr "" -#: src/plugins/plugin_exp_parrot.py:35 -msgid "Implementation of parrot mode (repeat messages between 2 entities)" -msgstr "" - -#: src/plugins/plugin_exp_parrot.py:47 +#: src/plugins/plugin_exp_lang_detect.py:42 +msgid "Detect and set message language when unknown" +msgstr "" + +#: src/plugins/plugin_exp_lang_detect.py:45 +#: src/plugins/plugin_misc_watched.py:40 src/plugins/plugin_xep_0249.py:73 +msgid "Misc" +msgstr "" + +#: src/plugins/plugin_exp_lang_detect.py:47 +msgid "language detection" +msgstr "" + +#: src/plugins/plugin_exp_lang_detect.py:65 +msgid "Language detection plugin initialization" +msgstr "" + +#: src/plugins/plugin_exp_parrot.py:51 msgid "Plugin Parrot initialization" msgstr "" +#: src/plugins/plugin_exp_parrot.py:58 src/plugins/plugin_xep_0045.py:99 +#: src/plugins/plugin_xep_0048.py:73 src/plugins/plugin_xep_0092.py:54 +#: src/plugins/plugin_xep_0249.py:89 +msgid "Text commands not available" +msgstr "" + +#: src/plugins/plugin_exp_pipe.py:40 +msgid "Jingle Pipe Transfer experimental plugin" +msgstr "" + #: src/plugins/plugin_exp_pipe.py:43 -msgid "Implementation of SI Pipe Transfer" -msgstr "" - -#: src/plugins/plugin_exp_pipe.py:51 +#, python-brace-format +msgid "{peer} wants to send you a pipe stream, do you accept ?" +msgstr "" + +#: src/plugins/plugin_exp_pipe.py:44 +msgid "Pipe stream" +msgstr "" + +#: src/plugins/plugin_exp_pipe.py:50 msgid "Plugin Pipe initialization" msgstr "" -#: src/plugins/plugin_exp_pipe.py:66 +#: src/plugins/plugin_misc_account.py:48 +msgid "SàT account creation" +msgstr "" + +#: src/plugins/plugin_misc_account.py:105 +msgid "Prosody command succeed" +msgstr "" + +#: src/plugins/plugin_misc_account.py:108 #, python-format -msgid "SI Pipe Transfer: TimeOut reached for id %s" -msgstr "" - -#: src/plugins/plugin_exp_pipe.py:71 src/plugins/plugin_xep_0096.py:70 -msgid "kill id called on a non existant approval id" -msgstr "" - -#: src/plugins/plugin_exp_pipe.py:81 -msgid "EXP-PIPE file transfer requested" -msgstr "" - -#: src/plugins/plugin_exp_pipe.py:90 -msgid "No pipe element found" -msgstr "" - -#: src/plugins/plugin_exp_pipe.py:100 src/plugins/plugin_xep_0096.py:117 -msgid "No stream method found" -msgstr "" - -#: src/plugins/plugin_exp_pipe.py:104 src/plugins/plugin_xep_0096.py:121 -msgid "Can't find a valid stream method" -msgstr "" - -#: src/plugins/plugin_exp_pipe.py:108 src/plugins/plugin_xep_0096.py:125 -msgid "No feature element found" -msgstr "" - -#: src/plugins/plugin_exp_pipe.py:133 src/plugins/plugin_xep_0096.py:159 -msgid "dest path not found in frontend_data" -msgstr "" - -#: src/plugins/plugin_exp_pipe.py:143 src/plugins/plugin_xep_0096.py:171 +msgid "Can't complete Prosody command (error code: %(code)d): %(message)s" +msgstr "" + +#: src/plugins/plugin_misc_account.py:135 +msgid "Plugin Account initialization" +msgstr "" + +#: src/plugins/plugin_misc_account.py:145 +#, python-format +msgid "Can't find %s" +msgstr "" + +#: src/plugins/plugin_misc_account.py:148 +#, python-format +msgid "Prosody path found: %s" +msgstr "" + +#: src/plugins/plugin_misc_account.py:314 +msgid "New Libervia account created" +msgstr "" + +#: src/plugins/plugin_misc_account.py:326 +#, python-brace-format msgid "" -"Unknown stream method, this should not happen at this stage, cancelling " -"transfer" -msgstr "" - -#: src/plugins/plugin_exp_pipe.py:153 src/plugins/plugin_xep_0096.py:186 -#, python-format -msgid "Transfer [%s] refused" -msgstr "" - -#: src/plugins/plugin_exp_pipe.py:164 src/plugins/plugin_exp_pipe.py:249 -#: src/plugins/plugin_xep_0096.py:197 -#, python-format -msgid "Transfer %s successfuly finished" -msgstr "" - -#: src/plugins/plugin_exp_pipe.py:175 +"Welcome to Libervia, the web interface of Salut à Toi.\n" +"\n" +"Your account on {domain} has been successfully created. This is a " +"demonstration version to show you the current status of the project. It is " +"still under development, please keep it in mind!\n" +"\n" +"Here is your connection information:\n" +"\n" +"Login on {domain}: {profile}\n" +"Jabber ID (JID): {jid}\n" +"Your password has been chosen by yourself during registration.\n" +"\n" +"In the beginning, you have nobody to talk to. To find some contacts, you may " +"use the users' directory:\n" +" - make yourself visible in \"Service / Directory subscription\".\n" +" - search for people with \"Contacts\" / Search directory\".\n" +"\n" +"Any feedback welcome. Thank you!\n" +"\n" +"Salut à Toi association\n" +"http://www.salut-a-toi.org\n" +msgstr "" + +#: src/plugins/plugin_misc_account.py:346 +msgid "Libervia account created" +msgstr "" + +#: src/plugins/plugin_misc_account.py:372 +msgid "Manage your account" +msgstr "" + +#: src/plugins/plugin_misc_account.py:375 +msgid "Change your password" +msgstr "" + +#: src/plugins/plugin_misc_account.py:376 +msgid "Current profile password" +msgstr "" + +#: src/plugins/plugin_misc_account.py:378 +msgid "New password" +msgstr "" + +#: src/plugins/plugin_misc_account.py:380 +msgid "New password (again)" +msgstr "" + +#: src/plugins/plugin_misc_account.py:418 src/stdui/ui_profile_manager.py:62 +msgid "The provided profile password doesn't match." +msgstr "" + +#: src/plugins/plugin_misc_account.py:419 +msgid "Attempt failure" +msgstr "" + +#: src/plugins/plugin_misc_account.py:462 +msgid "The values entered for the new password are not equal." +msgstr "" + +#: src/plugins/plugin_misc_account.py:474 +msgid "Change your password?" +msgstr "" + +#: src/plugins/plugin_misc_account.py:475 +msgid "" +"Note for advanced users: this will actually change both your SàT profile " +"password AND your XMPP account password." +msgstr "" + +#: src/plugins/plugin_misc_account.py:476 +msgid "Continue with changing the password?" +msgstr "" + +#: src/plugins/plugin_misc_account.py:490 +#: src/plugins/plugin_misc_register_account.py:108 +msgid "Confirmation" +msgstr "" + +#: src/plugins/plugin_misc_account.py:491 +msgid "Your password has been changed." +msgstr "" + +#: src/plugins/plugin_misc_account.py:496 #, python-format -msgid "Transfer %(id)s failed with stream method %(s_method)s" -msgstr "" - -#: src/plugins/plugin_exp_pipe.py:180 src/plugins/plugin_xep_0096.py:216 -msgid "All stream methods failed, can't transfer the file" -msgstr "" - -#: src/plugins/plugin_exp_pipe.py:187 -#, python-format -msgid "Pipe transfer refused by %s" -msgstr "" - -#: src/plugins/plugin_exp_pipe.py:188 -#, python-format -msgid "The contact %s refused your pipe stream" -msgstr "" - -#: src/plugins/plugin_exp_pipe.py:188 -msgid "Pipe stream refused" -msgstr "" - -#: src/plugins/plugin_exp_pipe.py:190 -#, python-format -msgid "Error during pipe stream transfer with %s" -msgstr "" - -#: src/plugins/plugin_exp_pipe.py:191 +msgid "Your password could not be changed: %s" +msgstr "" + +#: src/plugins/plugin_misc_account.py:507 +msgid "Delete your account?" +msgstr "" + +#: src/plugins/plugin_misc_account.py:508 +msgid "" +"If you confirm this dialog, you will be disconnected and then your XMPP " +"account AND your SàT profile will both be DELETED." +msgstr "" + +#: src/plugins/plugin_misc_account.py:509 +msgid "contact list and messages history" +msgstr "" + +#: src/plugins/plugin_misc_account.py:509 +msgid "contact list, messages history, blog posts and comments" +msgstr "" + +#: src/plugins/plugin_misc_account.py:510 #, python-format msgid "" -"Something went wrong during the pipe stream session intialisation with %s" -msgstr "" - -#: src/plugins/plugin_exp_pipe.py:191 -msgid "Pipe stream error" -msgstr "" - -#: src/plugins/plugin_exp_pipe.py:197 src/plugins/plugin_xep_0096.py:233 -msgid "Protocol error during file transfer" -msgstr "" - -#: src/plugins/plugin_exp_pipe.py:202 src/plugins/plugin_xep_0096.py:238 -msgid "No feature element" -msgstr "" - -#: src/plugins/plugin_exp_pipe.py:209 src/plugins/plugin_xep_0096.py:245 -msgid "No stream method choosed" -msgstr "" - -#: src/plugins/plugin_exp_pipe.py:223 src/plugins/plugin_xep_0096.py:267 -msgid "Invalid stream method received" -msgstr "" - -#: src/plugins/plugin_exp_pipe.py:235 src/plugins/plugin_xep_0096.py:280 -msgid "Trying to send a file from an unknown profile" -msgstr "" - -#: src/plugins/plugin_exp_pipe.py:254 +"All your data stored on %(server)s, including your %(target)s will be erased." +msgstr "" + +#: src/plugins/plugin_misc_account.py:511 +#: src/plugins/plugin_misc_account.py:558 +#: src/plugins/plugin_misc_account.py:562 +#: src/plugins/plugin_misc_account.py:566 +msgid "" +"There is no other confirmation dialog, this is the very last one! Are you " +"sure?" +msgstr "" + +#: src/plugins/plugin_misc_account.py:539 #, python-format -msgid "Transfer %(id)s failed with stream method %(s_method)s %(profile)s" -msgstr "" - -#: src/plugins/plugin_misc_account.py:38 -msgid "SàT account creation" -msgstr "" - -#: src/plugins/plugin_misc_account.py:79 -msgid "Prosody registration success" -msgstr "" - -#: src/plugins/plugin_misc_account.py:82 +msgid "Your XMPP account could not be deleted: %s" +msgstr "" + +#: src/plugins/plugin_misc_account.py:555 +msgid "Delete all your (micro-)blog posts and comments?" +msgstr "" + +#: src/plugins/plugin_misc_account.py:556 +msgid "" +"If you confirm this dialog, all the (micro-)blog data you submitted will be " +"erased." +msgstr "" + +#: src/plugins/plugin_misc_account.py:557 +msgid "" +"These are the public and private posts and comments you sent to any group." +msgstr "" + +#: src/plugins/plugin_misc_account.py:560 +msgid "Delete all your (micro-)blog posts?" +msgstr "" + +#: src/plugins/plugin_misc_account.py:561 +msgid "" +"If you confirm this dialog, all the public and private posts you sent to any " +"group will be erased." +msgstr "" + +#: src/plugins/plugin_misc_account.py:564 +msgid "Delete all your (micro-)blog comments?" +msgstr "" + +#: src/plugins/plugin_misc_account.py:565 +msgid "" +"If you confirm this dialog, all the public and private comments you made on " +"other people's posts will be erased." +msgstr "" + +#: src/plugins/plugin_misc_account.py:578 +msgid "blog posts and comments" +msgstr "" + +#: src/plugins/plugin_misc_account.py:581 +msgid "blog posts" +msgstr "" + +#: src/plugins/plugin_misc_account.py:584 +msgid "comments" +msgstr "" + +#: src/plugins/plugin_misc_account.py:588 +msgid "Deletion confirmation" +msgstr "" + +#: src/plugins/plugin_misc_account.py:590 +#, python-format +msgid "Your %(target)s have been deleted." +msgstr "" + +#: src/plugins/plugin_misc_account.py:591 +msgid "" +"Known issue of the demo version: you need to refresh the page to make the " +"deleted posts actually disappear." +msgstr "" + +#: src/plugins/plugin_misc_account.py:596 #, python-format -msgid "Can't register Prosody account (error code: %(code)d): %(message)s" -msgstr "" - -#: src/plugins/plugin_misc_account.py:92 -msgid "Plugin Account initialization" -msgstr "" - -#: src/plugins/plugin_misc_account.py:100 -#, python-format -msgid "Can't find %s" -msgstr "" - -#: src/plugins/plugin_misc_account.py:103 -#, python-format -msgid "Prosody path found: %s" -msgstr "" - -#: src/plugins/plugin_misc_groupblog.py:61 -msgid "Implementation of microblogging with roster access" -msgstr "" - -#: src/plugins/plugin_misc_groupblog.py:85 +msgid "Your %(target)s could not be deleted: %(message)s" +msgstr "" + +#: src/plugins/plugin_misc_android.py:35 +msgid "Manage Android platform specificities, like pause or notifications" +msgstr "" + +#: src/plugins/plugin_misc_android.py:45 +msgid "Vibrate on notifications" +msgstr "" + +#: src/plugins/plugin_misc_android.py:65 +msgid "plugin Android initialization" +msgstr "" + +#: src/plugins/plugin_misc_debug.py:34 +msgid "Set of method to make development and debugging easier" +msgstr "" + +#: src/plugins/plugin_misc_debug.py:41 +msgid "Plugin Debug initialization" +msgstr "" + +#: src/plugins/plugin_misc_extra_pep.py:37 +msgid "Display messages from extra PEP services" +msgstr "" + +#: src/plugins/plugin_misc_extra_pep.py:68 +msgid "Plugin Extra PEP initialization" +msgstr "" + +#: src/plugins/plugin_misc_file.py:39 +msgid "" +"File Tansfer Management:\n" +"This plugin manage the various ways of sending a file, and choose the best " +"one." +msgstr "" + +#: src/plugins/plugin_misc_file.py:44 +#, python-brace-format +msgid "Please select a file to send to {peer}" +msgstr "" + +#: src/plugins/plugin_misc_file.py:45 +msgid "File sending" +msgstr "" + +#: src/plugins/plugin_misc_file.py:46 +#, python-brace-format +msgid "" +"{peer} wants to send the file \"{name}\" to you:\n" +"{desc}\n" +"\n" +"The file has a size of {size_human}\n" +"\n" +"Do you accept ?" +msgstr "" + +#: src/plugins/plugin_misc_file.py:47 +msgid "Confirm file transfer" +msgstr "" + +#: src/plugins/plugin_misc_file.py:48 +msgid "File {} already exists, are you sure you want to overwrite ?" +msgstr "" + +#: src/plugins/plugin_misc_file.py:49 +msgid "File exists" +msgstr "" + +#: src/plugins/plugin_misc_file.py:194 +msgid "plugin File initialization" +msgstr "" + +#: src/plugins/plugin_misc_file.py:198 +msgid "Action" +msgstr "" + +#: src/plugins/plugin_misc_file.py:198 +msgid "send file" +msgstr "" + +#: src/plugins/plugin_misc_file.py:198 +msgid "Send a file" +msgstr "" + +#: src/plugins/plugin_misc_file.py:244 src/plugins/plugin_xep_0100.py:77 +msgid "Invalid JID" +msgstr "" + +#: src/plugins/plugin_misc_groupblog.py:51 +msgid "Implementation of microblogging fine permissions" +msgstr "" + +#: src/plugins/plugin_misc_groupblog.py:59 msgid "Group blog plugin initialization" msgstr "" -#: src/plugins/plugin_misc_groupblog.py:147 -#: src/plugins/plugin_misc_room_game.py:422 -#, python-format -msgid "No client for this profile key: %s" -msgstr "" - -#: src/plugins/plugin_misc_groupblog.py:153 -msgid "Looking for item-access power pubsub server" -msgstr "" - -#: src/plugins/plugin_misc_groupblog.py:161 -#, python-format -msgid "item-access powered pubsub service found: [%s]" -msgstr "" - -#: src/plugins/plugin_misc_groupblog.py:171 -msgid "No item-access powered pubsub server found, can't use group blog" -msgstr "" - -#: src/plugins/plugin_misc_groupblog.py:320 -msgid "Unknown access_type" -msgstr "" - -#: src/plugins/plugin_misc_groupblog.py:376 -msgid "Unknown access type" -msgstr "" - -#: src/plugins/plugin_misc_imap.py:46 +#: src/plugins/plugin_misc_groupblog.py:77 +msgid "" +"Server is not able to manage item-access pubsub, we can't use group blog" +msgstr "" + +#: src/plugins/plugin_misc_groupblog.py:80 +msgid "Server can manage group blogs" +msgstr "" + +#: src/plugins/plugin_misc_imap.py:44 msgid "" "Create an Imap server that you can use to read your \"normal\" type messages" msgstr "" -#: src/plugins/plugin_misc_imap.py:64 +#: src/plugins/plugin_misc_imap.py:62 msgid "Plugin Imap Server initialization" msgstr "" -#: src/plugins/plugin_misc_imap.py:71 +#: src/plugins/plugin_misc_imap.py:69 #, python-format msgid "Launching IMAP server on port %d" msgstr "" -#: src/plugins/plugin_misc_imap.py:439 +#: src/plugins/plugin_misc_imap.py:437 msgid "IMAP server connection started" msgstr "" -#: src/plugins/plugin_misc_imap.py:442 +#: src/plugins/plugin_misc_imap.py:440 #, python-format msgid "IMAP server connection lost (reason: %s)" msgstr "" +#: src/plugins/plugin_misc_ip.py:52 +msgid "This plugin help to discover our external IP address." +msgstr "" + +#: src/plugins/plugin_misc_ip.py:57 +msgid "Allow external get IP" +msgstr "" + +#: src/plugins/plugin_misc_ip.py:60 +msgid "Confirm external site request" +msgstr "" + +#: src/plugins/plugin_misc_ip.py:61 +#, python-brace-format +msgid "" +"To facilitate data transfer, we need to contact a website.\n" +"A request will be done on {page}\n" +"That means that administrators of {domain} can know that you use " +"\"{app_name}\" and your IP Address.\n" +"\n" +"IP address is an identifier to locate you on Internet (similar to a phone " +"number).\n" +"\n" +"Do you agree to do this request ?\n" +msgstr "" + +#: src/plugins/plugin_misc_ip.py:90 +msgid "plugin IP discovery initialization" +msgstr "" + +#: src/plugins/plugin_misc_maildir.py:42 +msgid "Intercept \"normal\" type messages, and put them in a Maildir type box" +msgstr "" + +#: src/plugins/plugin_misc_maildir.py:46 +msgid "Mail Server" +msgstr "" + #: src/plugins/plugin_misc_maildir.py:47 -msgid "Intercept \"normal\" type messages, and put them in a Maildir type box" -msgstr "" - -#: src/plugins/plugin_misc_maildir.py:60 +msgid "Block \"normal\" messages propagation" +msgstr "" + +#: src/plugins/plugin_misc_maildir.py:71 msgid "Plugin Maildir initialization" msgstr "" -#: src/plugins/plugin_misc_maildir.py:127 +#: src/plugins/plugin_misc_maildir.py:141 msgid "Trying to remove an mailboxUser not referenced" msgstr "" -#: src/plugins/plugin_misc_maildir.py:128 -#: src/plugins/plugin_misc_maildir.py:147 -#: src/plugins/plugin_misc_maildir.py:286 -#: src/plugins/plugin_misc_maildir.py:290 -#: src/plugins/plugin_misc_maildir.py:294 +#: src/plugins/plugin_misc_maildir.py:142 +#: src/plugins/plugin_misc_maildir.py:161 +#: src/plugins/plugin_misc_maildir.py:300 +#: src/plugins/plugin_misc_maildir.py:304 +#: src/plugins/plugin_misc_maildir.py:308 msgid "INTERNAL ERROR: " msgstr "" -#: src/plugins/plugin_misc_maildir.py:146 +#: src/plugins/plugin_misc_maildir.py:160 msgid "Boxname doesn't exist in internal data" msgstr "" -#: src/plugins/plugin_misc_maildir.py:285 +#: src/plugins/plugin_misc_maildir.py:299 msgid "Trying to remove an observer for an inexistant mailbox" msgstr "" -#: src/plugins/plugin_misc_maildir.py:289 +#: src/plugins/plugin_misc_maildir.py:303 msgid "Trying to remove an inexistant observer, no observer for this signal" msgstr "" -#: src/plugins/plugin_misc_maildir.py:293 +#: src/plugins/plugin_misc_maildir.py:307 msgid "Trying to remove an inexistant observer" msgstr "" -#: src/plugins/plugin_misc_quiz.py:44 +#: src/plugins/plugin_misc_nat-port.py:42 +msgid "Automatic NAT port mapping using UPnP" +msgstr "" + +#: src/plugins/plugin_misc_nat-port.py:57 +msgid "plugin NAT Port initialization" +msgstr "" + +#: src/plugins/plugin_misc_quiz.py:41 msgid "Implementation of Quiz game" msgstr "" -#: src/plugins/plugin_misc_quiz.py:56 +#: src/plugins/plugin_misc_quiz.py:53 msgid "Plugin Quiz initialization" msgstr "" -#: src/plugins/plugin_misc_quiz.py:182 -#: src/plugins/plugin_misc_room_game.py:522 -#: src/plugins/plugin_misc_room_game.py:545 -#: src/plugins/plugin_misc_tarot.py:392 src/plugins/plugin_misc_tarot.py:406 -#, python-format -msgid "profile %s is unknown" -msgstr "" - -#: src/plugins/plugin_misc_quiz.py:254 +#: src/plugins/plugin_misc_quiz.py:253 msgid "" "Bienvenue dans cette partie rapide de quizz, le premier à atteindre le score " "de 9 remporte le jeu\n" @@ -2447,173 +2810,251 @@ "Attention, tu es prêt ?" msgstr "" -#: src/plugins/plugin_misc_quiz.py:282 src/plugins/plugin_misc_tarot.py:474 +#: src/plugins/plugin_misc_quiz.py:282 src/plugins/plugin_misc_tarot.py:507 #, python-format msgid "Player %(player)s is ready to start [status: %(status)s]" msgstr "" -#: src/plugins/plugin_misc_quiz.py:330 src/plugins/plugin_misc_radiocol.py:231 +#: src/plugins/plugin_misc_quiz.py:330 src/plugins/plugin_misc_radiocol.py:252 #, python-format msgid "Unmanaged game element: %s" msgstr "" -#: src/plugins/plugin_misc_radiocol.py:45 +#: src/plugins/plugin_misc_radiocol.py:53 msgid "Implementation of radio collective" msgstr "" -#: src/plugins/plugin_misc_radiocol.py:63 +#: src/plugins/plugin_misc_radiocol.py:71 msgid "Radio collective initialization" msgstr "" -#: src/plugins/plugin_misc_radiocol.py:101 -msgid "Can't access profile's data" -msgstr "" - -#: src/plugins/plugin_misc_radiocol.py:125 +#: src/plugins/plugin_misc_radiocol.py:127 +msgid "" +"The uploaded file has been rejected, only Ogg Vorbis and MP3 songs are " +"accepted." +msgstr "" + +#: src/plugins/plugin_misc_radiocol.py:146 msgid "No more participants in the radiocol: cleaning data" msgstr "" -#: src/plugins/plugin_misc_radiocol.py:161 +#: src/plugins/plugin_misc_radiocol.py:182 msgid "INTERNAL ERROR: can't find full path of the song to delete" msgstr "" -#: src/plugins/plugin_misc_radiocol.py:168 +#: src/plugins/plugin_misc_radiocol.py:189 #, python-format msgid "INTERNAL ERROR: can't find %s on the file system" msgstr "" -#: src/plugins/plugin_misc_room_game.py:45 +#: src/plugins/plugin_misc_register_account.py:42 +msgid "Register XMPP account" +msgstr "" + +#: src/plugins/plugin_misc_register_account.py:49 +msgid "Plugin Register Account initialization" +msgstr "" + +#: src/plugins/plugin_misc_register_account.py:67 +msgid "Missing values" +msgstr "" + +#: src/plugins/plugin_misc_register_account.py:68 +msgid "No user JID or password given: can't register new account." +msgstr "" + +#: src/plugins/plugin_misc_register_account.py:75 +#, python-format +msgid "" +"Do you want to register a new XMPP account [%(user)s] on server %(server)s ?" +msgstr "" + +#: src/plugins/plugin_misc_register_account.py:109 +msgid "Registration successful." +msgstr "" + +#: src/plugins/plugin_misc_register_account.py:113 +msgid "Failure" +msgstr "" + +#: src/plugins/plugin_misc_register_account.py:114 +#, python-format +msgid "Registration failed: %s" +msgstr "" + +#: src/plugins/plugin_misc_register_account.py:117 +msgid "Username already exists, please choose an other one." +msgstr "" + +#: src/plugins/plugin_misc_room_game.py:47 msgid "Base class for MUC games" msgstr "" -#: src/plugins/plugin_misc_room_game.py:197 +#: src/plugins/plugin_misc_room_game.py:212 #, python-format msgid "%(user)s not allowed to join the game %(game)s in %(room)s" msgstr "" -#: src/plugins/plugin_misc_room_game.py:331 +#: src/plugins/plugin_misc_room_game.py:348 #, python-format msgid "%(user)s not allowed to invite for the game %(game)s in %(room)s" msgstr "" -#: src/plugins/plugin_misc_room_game.py:376 -#, python-format -msgid "" -"Still waiting for %(users)s before starting the game %(game)s in %(room)s" -msgstr "" - #: src/plugins/plugin_misc_room_game.py:394 #, python-format +msgid "" +"Still waiting for %(users)s before starting the game %(game)s in %(room)s" +msgstr "" + +#: src/plugins/plugin_misc_room_game.py:423 +#, python-format msgid "Preparing room for %s game" msgstr "" -#: src/plugins/plugin_misc_room_game.py:397 src/plugins/plugin_xep_0045.py:259 +#: src/plugins/plugin_misc_room_game.py:426 msgid "Unknown profile" msgstr "" -#: src/plugins/plugin_misc_room_game.py:503 +#: src/plugins/plugin_misc_room_game.py:521 #, python-format msgid "%(game)s game already created in room %(room)s" msgstr "" -#: src/plugins/plugin_misc_room_game.py:506 +#: src/plugins/plugin_misc_room_game.py:524 #, python-format msgid "%(game)s game in room %(room)s can only be created by %(user)s" msgstr "" -#: src/plugins/plugin_misc_room_game.py:519 +#: src/plugins/plugin_misc_room_game.py:542 #, python-format msgid "Creating %(game)s game in room %(room)s" msgstr "" -#: src/plugins/plugin_misc_room_game.py:559 +#: src/plugins/plugin_misc_room_game.py:545 +#: src/plugins/plugin_misc_room_game.py:574 +#: src/plugins/plugin_misc_tarot.py:438 +#, python-format +msgid "profile %s is unknown" +msgstr "" + +#: src/plugins/plugin_misc_room_game.py:589 #, python-format msgid "new round for %s game" msgstr "" -#: src/plugins/plugin_misc_room_game.py:624 -msgid "Message can not be sent without a sender profile" -msgstr "" - -#: src/plugins/plugin_misc_smtp.py:46 +#: src/plugins/plugin_misc_smtp.py:45 msgid "" "Create a SMTP server that you can use to send your \"normal\" type messages" msgstr "" -#: src/plugins/plugin_misc_smtp.py:63 +#: src/plugins/plugin_misc_smtp.py:62 msgid "Plugin SMTP Server initialization" msgstr "" -#: src/plugins/plugin_misc_smtp.py:70 +#: src/plugins/plugin_misc_smtp.py:69 #, python-format msgid "Launching SMTP server on port %d" msgstr "" -#: src/plugins/plugin_misc_smtp.py:96 +#: src/plugins/plugin_misc_smtp.py:95 #, python-format msgid "Can't send message: %s" msgstr "" -#: src/plugins/plugin_misc_smtp.py:201 +#: src/plugins/plugin_misc_smtp.py:200 msgid "SMTP server connection started" msgstr "" -#: src/plugins/plugin_misc_smtp.py:205 +#: src/plugins/plugin_misc_smtp.py:204 #, python-format msgid "SMTP server connection lost (reason: %s)" msgstr "" -#: src/plugins/plugin_misc_tarot.py:43 +#: src/plugins/plugin_misc_static_blog.py:41 +msgid "Plugin for static blogs" +msgstr "" + +#: src/plugins/plugin_misc_static_blog.py:62 +msgid "Page title" +msgstr "" + +#: src/plugins/plugin_misc_static_blog.py:64 +msgid "Banner URL" +msgstr "" + +#: src/plugins/plugin_misc_static_blog.py:66 +msgid "Keywords" +msgstr "" + +#: src/plugins/plugin_misc_static_blog.py:68 +msgid "Description" +msgstr "" + +#: src/plugins/plugin_misc_static_blog.py:91 src/plugins/plugin_sec_otr.py:290 +#: src/plugins/plugin_sec_otr.py:316 src/plugins/plugin_sec_otr.py:339 +#: src/plugins/plugin_sec_otr.py:418 +msgid "jid key is not present !" +msgstr "" + +#: src/plugins/plugin_misc_static_blog.py:96 +msgid "Not available" +msgstr "" + +#: src/plugins/plugin_misc_static_blog.py:97 +msgid "Retrieving a blog from an external domain is not implemented yet." +msgstr "" + +#: src/plugins/plugin_misc_tarot.py:46 msgid "Implementation of Tarot card game" msgstr "" -#: src/plugins/plugin_misc_tarot.py:55 +#: src/plugins/plugin_misc_tarot.py:58 msgid "Plugin Tarot initialization" msgstr "" -#: src/plugins/plugin_misc_tarot.py:60 +#: src/plugins/plugin_misc_tarot.py:64 msgid "Passe" msgstr "" -#: src/plugins/plugin_misc_tarot.py:60 +#: src/plugins/plugin_misc_tarot.py:64 msgid "Petite" msgstr "" -#: src/plugins/plugin_misc_tarot.py:60 +#: src/plugins/plugin_misc_tarot.py:64 msgid "Garde" msgstr "" -#: src/plugins/plugin_misc_tarot.py:60 +#: src/plugins/plugin_misc_tarot.py:64 msgid "Garde Sans" msgstr "" -#: src/plugins/plugin_misc_tarot.py:60 +#: src/plugins/plugin_misc_tarot.py:64 msgid "Garde Contre" msgstr "" -#: src/plugins/plugin_misc_tarot.py:102 +#: src/plugins/plugin_misc_tarot.py:107 msgid "contrat selection" msgstr "" -#: src/plugins/plugin_misc_tarot.py:115 +#: src/plugins/plugin_misc_tarot.py:120 msgid "scores" msgstr "" -#: src/plugins/plugin_misc_tarot.py:196 src/plugins/plugin_misc_tarot.py:227 +#: src/plugins/plugin_misc_tarot.py:201 src/plugins/plugin_misc_tarot.py:232 #, python-format msgid "" "Player %(excuse_owner)s give %(card_waited)s to %(player_waiting)s for " "Excuse compensation" msgstr "" -#: src/plugins/plugin_misc_tarot.py:232 +#: src/plugins/plugin_misc_tarot.py:237 #, python-format msgid "" "%(excuse_owner)s keep the Excuse but has not card to give, %(winner)s is " "waiting for one" msgstr "" -#: src/plugins/plugin_misc_tarot.py:242 src/plugins/plugin_misc_tarot.py:314 +#: src/plugins/plugin_misc_tarot.py:247 src/plugins/plugin_misc_tarot.py:319 #, python-format msgid "" "\n" @@ -2623,127 +3064,466 @@ "total score ==> %(total_score)i" msgstr "" -#: src/plugins/plugin_misc_tarot.py:292 +#: src/plugins/plugin_misc_tarot.py:297 msgid "INTERNAL ERROR: contrat not managed (mispelled ?)" msgstr "" -#: src/plugins/plugin_misc_tarot.py:311 +#: src/plugins/plugin_misc_tarot.py:316 #, python-format msgid "" "The attacker (%(attaquant)s) makes %(points)i and needs to make " -"%(point_limit)i (%(nb_bouts)s oulder%(plural)s%(separator)s%(bouts)s): he " +"%(point_limit)i (%(nb_bouts)s oulder%(plural)s%(separator)s%(bouts)s): (s)he " "%(victory)s" msgstr "" -#: src/plugins/plugin_misc_tarot.py:372 +#: src/plugins/plugin_misc_tarot.py:377 msgid "Internal error: unmanaged game stage" msgstr "" -#: src/plugins/plugin_misc_tarot.py:394 +#: src/plugins/plugin_misc_tarot.py:396 src/plugins/plugin_misc_tarot.py:419 +msgid "session id doesn't exist, session has probably expired" +msgstr "" + +#: src/plugins/plugin_misc_tarot.py:405 #, python-format msgid "contrat [%(contrat)s] choosed by %(profile)s" msgstr "" -#: src/plugins/plugin_misc_tarot.py:408 +#: src/plugins/plugin_misc_tarot.py:440 #, python-format msgid "Cards played by %(profile)s: [%(cards)s]" msgstr "" -#: src/plugins/plugin_misc_tarot.py:507 +#: src/plugins/plugin_misc_tarot.py:542 msgid "Everybody is passing, round ended" msgstr "" -#: src/plugins/plugin_misc_tarot.py:514 +#: src/plugins/plugin_misc_tarot.py:549 #, python-format msgid "%(player)s win the bid with %(contrat)s" msgstr "" -#: src/plugins/plugin_misc_tarot.py:535 +#: src/plugins/plugin_misc_tarot.py:570 msgid "tarot: chien received" msgstr "" -#: src/plugins/plugin_misc_tarot.py:586 +#: src/plugins/plugin_misc_tarot.py:621 #, python-format msgid "The winner of this trick is %s" msgstr "" -#: src/plugins/plugin_misc_tarot.py:630 +#: src/plugins/plugin_misc_tarot.py:667 #, python-format msgid "Unmanaged error type: %s" msgstr "" -#: src/plugins/plugin_misc_tarot.py:632 +#: src/plugins/plugin_misc_tarot.py:669 #, python-format msgid "Unmanaged card game element: %s" msgstr "" -#: src/plugins/plugin_misc_text_commands.py:32 +#: src/plugins/plugin_misc_text_commands.py:38 msgid "IRC like text commands" msgstr "" -#: src/plugins/plugin_misc_text_commands.py:42 +#: src/plugins/plugin_misc_text_commands.py:57 +msgid "" +"Type '/help' to get a list of the available commands. If you didn't want to " +"use a command, please start your message with '//' to escape the slash." +msgstr "" + +#: src/plugins/plugin_misc_text_commands.py:60 msgid "Text commands initialization" msgstr "" -#: src/plugins/plugin_misc_text_commands.py:230 +#: src/plugins/plugin_misc_text_commands.py:143 +#, python-format +msgid "Skipping not callable [%s] attribute" +msgstr "" + +#: src/plugins/plugin_misc_text_commands.py:147 +msgid "Skipping cmd_ method" +msgstr "" + +#: src/plugins/plugin_misc_text_commands.py:153 +#, python-brace-format +msgid "Conflict for command [{old_name}], renaming it to [{new_name}]" +msgstr "" + +#: src/plugins/plugin_misc_text_commands.py:157 +#, python-format +msgid "Registered text command [%s]" +msgstr "" + +#: src/plugins/plugin_misc_text_commands.py:236 +#, python-format +msgid "Unknown command /%s. " +msgstr "" + +#: src/plugins/plugin_misc_text_commands.py:242 +msgid "group discussions" +msgstr "" + +#: src/plugins/plugin_misc_text_commands.py:242 +msgid "one to one discussions" +msgstr "" + +#: src/plugins/plugin_misc_text_commands.py:243 +#, python-brace-format +msgid "/{command} command only applies in {context}." +msgstr "" + +#: src/plugins/plugin_misc_text_commands.py:322 msgid "Invalid jid, can't whois" msgstr "" -#: src/plugins/plugin_misc_text_commands.py:233 +#: src/plugins/plugin_misc_text_commands.py:328 #, python-format msgid "whois for %(jid)s" msgstr "" -#: src/plugins/plugin_misc_text_commands.py:255 +#: src/plugins/plugin_misc_text_commands.py:379 +msgid "Invalid command name [{}]\n" +msgstr "" + +#: src/plugins/plugin_misc_text_commands.py:397 #, python-format msgid "" "Text commands available:\n" "%s" msgstr "" -#: src/plugins/plugin_misc_text_syntaxes.py:33 src/test/constants.py:42 +#: src/plugins/plugin_misc_text_commands.py:402 +#, python-brace-format +msgid "" +"/{name}: {short_help}\n" +"{syntax}{args_help}" +msgstr "" + +#: src/plugins/plugin_misc_text_commands.py:405 +msgid " " +msgstr "" + +#: src/plugins/plugin_misc_text_syntaxes.py:37 src/test/constants.py:44 msgid "Composition" msgstr "" -#: src/plugins/plugin_misc_text_syntaxes.py:58 +#: src/plugins/plugin_misc_text_syntaxes.py:63 msgid "Management of various text syntaxes (XHTML-IM, Markdown, etc)" msgstr "" -#: src/plugins/plugin_misc_text_syntaxes.py:99 +#: src/plugins/plugin_misc_text_syntaxes.py:102 msgid "Text syntaxes plugin initialization" msgstr "" -#: src/plugins/plugin_misc_xmllog.py:33 +#: src/plugins/plugin_misc_upload.py:38 +msgid "File upload management" +msgstr "" + +#: src/plugins/plugin_misc_upload.py:42 +msgid "Please select a file to upload" +msgstr "" + +#: src/plugins/plugin_misc_upload.py:43 +msgid "File upload" +msgstr "" + +#: src/plugins/plugin_misc_upload.py:51 +msgid "plugin Upload initialization" +msgstr "" + +#: src/plugins/plugin_misc_watched.py:36 +msgid "Watch for entities presence, and send notification accordingly" +msgstr "" + +#: src/plugins/plugin_misc_watched.py:42 +#, python-brace-format +msgid "Watched entity {entity} is connected" +msgstr "" + +#: src/plugins/plugin_misc_watched.py:61 +msgid "Watched initialisation" +msgstr "" + +#: src/plugins/plugin_misc_welcome.py:33 +msgid "" +"Plugin which manage welcome message and things to to on first connection." +msgstr "" + +#: src/plugins/plugin_misc_welcome.py:39 +msgid "Display welcome message" +msgstr "" + +#: src/plugins/plugin_misc_welcome.py:40 +msgid "Welcome to Libervia/Salut à Toi" +msgstr "" + +#: src/plugins/plugin_misc_welcome.py:43 +msgid "" +"Welcome to a free (as in freedom) network!\n" +"\n" +"If you have any trouble, or you want to help us for the bug hunting, you can " +"contact us in real time chat by using the “Help / Official chat room” " +"menu.\n" +"\n" +"To use Libervia, you'll need to add contacts, either people you know, or " +"people you discover by using the “Contacts / Search directory” menu.\n" +"\n" +"We hope that you'll enjoy using this project.\n" +"\n" +"The Libervia/Salut à Toi Team\n" +msgstr "" + +#: src/plugins/plugin_misc_welcome.py:69 +msgid "plugin Welcome initialization" +msgstr "" + +#: src/plugins/plugin_misc_xmllog.py:35 msgid "Send raw XML logs to bridge" msgstr "" -#: src/plugins/plugin_misc_xmllog.py:46 +#: src/plugins/plugin_misc_xmllog.py:48 msgid "INTERNAL ERROR: Unmanaged XML type" msgstr "" -#: src/plugins/plugin_misc_xmllog.py:65 +#: src/plugins/plugin_misc_xmllog.py:69 msgid "Activate XML log" msgstr "" -#: src/plugins/plugin_misc_xmllog.py:68 +#: src/plugins/plugin_misc_xmllog.py:72 msgid "Plugin XML Log initialization" msgstr "" -#: src/plugins/plugin_misc_xmllog.py:79 +#: src/plugins/plugin_misc_xmllog.py:83 msgid "XML log activated" msgstr "" -#: src/plugins/plugin_xep_0020.py:43 +#: src/plugins/plugin_sec_otr.py:47 +msgid "Implementation of OTR" +msgstr "" + +#: src/plugins/plugin_sec_otr.py:52 +msgid "OTR" +msgstr "" + +#: src/plugins/plugin_sec_otr.py:53 +msgid "" +"To authenticate your correspondent, you need to give your below fingerprint " +"*BY AN EXTERNAL CANAL* (i.e. not in this chat), and check that the one he " +"gives you is the same as below. If there is a mismatch, there can be a spy " +"between you!" +msgstr "" + +#: src/plugins/plugin_sec_otr.py:54 +msgid "" +"You private key is used to encrypt messages for your correspondent, nobody " +"except you must know it, if you are in doubt, you should drop it!\n" +"\n" +"Are you sure you want to drop your private key?" +msgstr "" + +#: src/plugins/plugin_sec_otr.py:56 +msgid "Some of advanced features are disabled !" +msgstr "" + +#: src/plugins/plugin_sec_otr.py:120 +#, python-format +msgid "/!\\ conversation with %(other_jid)s is now UNENCRYPTED" +msgstr "" + +#: src/plugins/plugin_sec_otr.py:127 +msgid "trusted" +msgstr "" + +#: src/plugins/plugin_sec_otr.py:127 +msgid "untrusted" +msgstr "" + +#: src/plugins/plugin_sec_otr.py:130 +#, python-brace-format +msgid "{trusted} OTR conversation with {other_jid} REFRESHED" +msgstr "" + +#: src/plugins/plugin_sec_otr.py:134 +#, python-brace-format +msgid "" +"{trusted} encrypted OTR conversation started with {other_jid}\n" +"{extra_info}" +msgstr "" + +#: src/plugins/plugin_sec_otr.py:140 +#, python-brace-format +msgid "OTR conversation with {other_jid} is FINISHED" +msgstr "" + +#: src/plugins/plugin_sec_otr.py:143 +msgid "Unknown OTR state" +msgstr "" + +#: src/plugins/plugin_sec_otr.py:178 +msgid "Save is called but privkey is None !" +msgstr "" + +#: src/plugins/plugin_sec_otr.py:230 +msgid "OTR plugin initialization" +msgstr "" + +#: src/plugins/plugin_sec_otr.py:241 +msgid "Start/Refresh" +msgstr "" + +#: src/plugins/plugin_sec_otr.py:241 +msgid "Start or refresh an OTR session" +msgstr "" + +#: src/plugins/plugin_sec_otr.py:242 +msgid "End session" +msgstr "" + +#: src/plugins/plugin_sec_otr.py:242 +msgid "Finish an OTR session" +msgstr "" + +#: src/plugins/plugin_sec_otr.py:243 +msgid "Authenticate" +msgstr "" + +#: src/plugins/plugin_sec_otr.py:243 +msgid "Authenticate user/see your fingerprint" +msgstr "" + +#: src/plugins/plugin_sec_otr.py:244 +msgid "Drop private key" +msgstr "" + +#: src/plugins/plugin_sec_otr.py:355 +msgid "You have no private key yet, start an OTR conversation to have one" +msgstr "" + +#: src/plugins/plugin_sec_otr.py:358 +msgid "No private key" +msgstr "" + +#: src/plugins/plugin_sec_otr.py:368 +#, python-brace-format +msgid "" +"Your fingerprint is:\n" +"{fingerprint}\n" +"\n" +"Start an OTR conversation to have your correspondent one." +msgstr "" + +#: src/plugins/plugin_sec_otr.py:371 +msgid "Fingerprint" +msgstr "" + +#: src/plugins/plugin_sec_otr.py:380 +#, python-brace-format +msgid "Your correspondent {correspondent} is now TRUSTED" +msgstr "" + +#: src/plugins/plugin_sec_otr.py:384 +#, python-brace-format +msgid "Your correspondent {correspondent} is now UNTRUSTED" +msgstr "" + +#: src/plugins/plugin_sec_otr.py:395 +#, python-format +msgid "Authentication (%s)" +msgstr "" + +#: src/plugins/plugin_sec_otr.py:398 +#, python-brace-format +msgid "" +"Your own fingerprint is:\n" +"{fingerprint}" +msgstr "" + +#: src/plugins/plugin_sec_otr.py:399 +#, python-brace-format +msgid "" +"Your correspondent fingerprint should be:\n" +"{fingerprint}" +msgstr "" + +#: src/plugins/plugin_sec_otr.py:402 +msgid "Is your correspondent fingerprint the same as here ?" +msgstr "" + +#: src/plugins/plugin_sec_otr.py:403 +msgid "yes" +msgstr "" + +#: src/plugins/plugin_sec_otr.py:403 +msgid "no" +msgstr "" + +#: src/plugins/plugin_sec_otr.py:423 +msgid "You don't have a private key yet !" +msgstr "" + +#: src/plugins/plugin_sec_otr.py:432 +msgid "Your private key has been dropped" +msgstr "" + +#: src/plugins/plugin_sec_otr.py:437 +msgid "Confirm private key drop" +msgstr "" + +#: src/plugins/plugin_sec_otr.py:454 +msgid "WARNING: received unencrypted data in a supposedly encrypted context" +msgstr "" + +#: src/plugins/plugin_sec_otr.py:531 +msgid "" +"Your message was not sent because your correspondent closed the encrypted " +"conversation on his/her side. Either close your own side, or refresh the " +"session." +msgstr "" + +#: src/plugins/plugin_sec_otr.py:533 +msgid "Message discarded because closed encryption channel" +msgstr "" + +#: src/plugins/plugin_syntax_wiki_dotclear.py:39 +msgid "Implementation of Dotclear wiki syntax" +msgstr "" + +#: src/plugins/plugin_syntax_wiki_dotclear.py:635 +msgid "Dotclear wiki syntax plugin initialization" +msgstr "" + +#: src/plugins/plugin_tmp_directory_subscription.py:36 +msgid "Implementation of directory subscription" +msgstr "" + +#: src/plugins/plugin_tmp_directory_subscription.py:47 +msgid "Directory subscription plugin initialization" +msgstr "" + +#: src/plugins/plugin_tmp_directory_subscription.py:49 +#: src/plugins/plugin_xep_0050.py:222 src/plugins/plugin_xep_0100.py:66 +msgid "Service" +msgstr "" + +#: src/plugins/plugin_tmp_directory_subscription.py:49 +msgid "Directory subscription" +msgstr "" + +#: src/plugins/plugin_tmp_directory_subscription.py:49 +msgid "User directory subscription" +msgstr "" + +#: src/plugins/plugin_xep_0020.py:45 msgid "Implementation of Feature Negotiation" msgstr "" -#: src/plugins/plugin_xep_0020.py:50 +#: src/plugins/plugin_xep_0020.py:52 msgid "Plugin XEP_0020 initialization" msgstr "" -#: src/plugins/plugin_xep_0020.py:71 -#, python-format -msgid "More than one value choosed for %s, keeping the first one" +#: src/plugins/plugin_xep_0020.py:103 +msgid "More than one value choosed for {}, keeping the first one" msgstr "" #: src/plugins/plugin_xep_0033.py:64 @@ -2754,590 +3534,739 @@ msgid "Extended Stanza Addressing plugin initialization" msgstr "" -#: src/plugins/plugin_xep_0033.py:88 +#: src/plugins/plugin_xep_0033.py:89 msgid "XEP-0033 is being used but the server doesn't support it!" msgstr "" -#: src/plugins/plugin_xep_0033.py:90 +#: src/plugins/plugin_xep_0033.py:92 +msgid " or " +msgstr "" + +#: src/plugins/plugin_xep_0033.py:93 #, python-format msgid "" "Stanzas using XEP-0033 should be addressed to %(expected)s, not %(current)s!" msgstr "" -#: src/plugins/plugin_xep_0033.py:91 -msgid "TODO: addressing has be fixed by the backend... fix it in the frontend!" -msgstr "" - -#: src/plugins/plugin_xep_0045.py:47 +#: src/plugins/plugin_xep_0033.py:94 +msgid "" +"TODO: addressing has been fixed by the backend... fix it in the frontend!" +msgstr "" + +#: src/plugins/plugin_xep_0045.py:52 msgid "Implementation of Multi-User Chat" msgstr "" -#: src/plugins/plugin_xep_0045.py:58 +#: src/plugins/plugin_xep_0045.py:78 msgid "Plugin XEP_0045 initialization" msgstr "" -#: src/plugins/plugin_xep_0045.py:83 -#, python-format -msgid "Unknown or disconnected profile (%s)" -msgstr "" - -#: src/plugins/plugin_xep_0045.py:103 +#: src/plugins/plugin_xep_0045.py:95 +msgid "MUC" +msgstr "" + +#: src/plugins/plugin_xep_0045.py:95 +msgid "configure" +msgstr "" + +#: src/plugins/plugin_xep_0045.py:95 +msgid "Configure Multi-User Chat room" +msgstr "" + +#: src/plugins/plugin_xep_0045.py:135 src/plugins/plugin_xep_0045.py:728 +msgid "This room has not been joined" +msgstr "" + +#: src/plugins/plugin_xep_0045.py:168 +msgid "Room joining cancelled by user" +msgstr "" + +#: src/plugins/plugin_xep_0045.py:173 +msgid "Rooms in {}" +msgstr "" + +#: src/plugins/plugin_xep_0045.py:188 +msgid "room locked !" +msgstr "" + +#: src/plugins/plugin_xep_0045.py:190 msgid "Error while configuring the room" msgstr "" -#: src/plugins/plugin_xep_0045.py:114 -#, python-format -msgid "Error while joining the room %s" -msgstr "" - -#: src/plugins/plugin_xep_0045.py:116 src/plugins/plugin_xep_0045.py:308 +#: src/plugins/plugin_xep_0045.py:206 +msgid "Room {} is restricted" +msgstr "" + +#: src/plugins/plugin_xep_0045.py:207 +msgid "This room is restricted, please enter the password" +msgstr "" + +#: src/plugins/plugin_xep_0045.py:215 +#, python-brace-format +msgid "Error while joining the room {room}{suffix}" +msgstr "" + +#: src/plugins/plugin_xep_0045.py:218 msgid "Group chat error" msgstr "" -#: src/plugins/plugin_xep_0045.py:266 -msgid "Can't find a MUC service" -msgstr "" - -#: src/plugins/plugin_xep_0045.py:281 -#, python-format -msgid "%(profile)s is already in room %(room_jid)s" -msgstr "" - -#: src/plugins/plugin_xep_0045.py:283 -#, python-format -msgid "[%(profile)s] is joining room %(room)s with nick %(nick)s" -msgstr "" - -#: src/plugins/plugin_xep_0045.py:306 +#: src/plugins/plugin_xep_0045.py:307 +msgid "room_jid key is not present !" +msgstr "" + +#: src/plugins/plugin_xep_0045.py:340 src/plugins/plugin_xep_0045.py:342 +msgid "Session ID doesn't exist, session has probably expired." +msgstr "" + +#: src/plugins/plugin_xep_0045.py:341 +msgid "Room configuration failed" +msgstr "" + +#: src/plugins/plugin_xep_0045.py:347 +msgid "Room configuration succeed" +msgstr "" + +#: src/plugins/plugin_xep_0045.py:348 +msgid "The new settings have been saved." +msgstr "" + +#: src/plugins/plugin_xep_0045.py:395 +msgid "No MUC service found on main server" +msgstr "" + +#: src/plugins/plugin_xep_0045.py:424 +#, python-brace-format +msgid "" +"Invalid room identifier: {room_id}'. Please give a room short or full " +"identifier like 'room' or 'room@{muc_service}'." +msgstr "" + +#: src/plugins/plugin_xep_0045.py:449 +#, python-brace-format +msgid "{profile} is already in room {room_jid}" +msgstr "" + +#: src/plugins/plugin_xep_0045.py:451 +#, python-brace-format +msgid "[{profile}] is joining room {room} with nick {nick}" +msgstr "" + +#: src/plugins/plugin_xep_0045.py:590 +msgid "You must provide a member's nick to kick." +msgstr "" + +#: src/plugins/plugin_xep_0045.py:597 +msgid "You have kicked {}" +msgstr "" + +#: src/plugins/plugin_xep_0045.py:599 src/plugins/plugin_xep_0045.py:628 +msgid " for the following reason: {}" +msgstr "" + +#: src/plugins/plugin_xep_0045.py:619 +msgid "You must provide a valid JID to ban, like in '/ban contact@example.net'" +msgstr "" + +#: src/plugins/plugin_xep_0045.py:626 +msgid "You have banned {}" +msgstr "" + +#: src/plugins/plugin_xep_0045.py:652 +msgid "" +"You must provide a valid JID to affiliate, like in '/affiliate " +"contact@example.net member'" +msgstr "" + +#: src/plugins/plugin_xep_0045.py:658 #, python-format -msgid "Invalid room jid: %s" -msgstr "" - -#: src/plugins/plugin_xep_0045.py:397 +msgid "You must provide a valid affiliation: %s" +msgstr "" + +#: src/plugins/plugin_xep_0045.py:665 #, python-format -msgid "user %(nick)s has joined room (%(room_id)s)" -msgstr "" - -#: src/plugins/plugin_xep_0045.py:409 +msgid "New affiliation for %(entity)s: %(affiliation)s" +msgstr "" + +#: src/plugins/plugin_xep_0045.py:711 +msgid "No known default MUC service" +msgstr "" + +#: src/plugins/plugin_xep_0045.py:715 +msgid "{} is not a valid JID!" +msgstr "" + +#: src/plugins/plugin_xep_0045.py:733 #, python-format -msgid "Room [%(room)s] left (%(profile)s))" -msgstr "" - -#: src/plugins/plugin_xep_0045.py:415 +msgid "Nickname: %s" +msgstr "" + +#: src/plugins/plugin_xep_0045.py:735 +#, python-format +msgid "Entity: %s" +msgstr "" + +#: src/plugins/plugin_xep_0045.py:737 #, python-format -msgid "user %(nick)s left room (%(room_id)s)" -msgstr "" - -#: src/plugins/plugin_xep_0045.py:427 +msgid "Affiliation: %s" +msgstr "" + +#: src/plugins/plugin_xep_0045.py:739 +#, python-format +msgid "Role: %s" +msgstr "" + +#: src/plugins/plugin_xep_0045.py:741 #, python-format -msgid "New subject for room (%(room_id)s): %(subject)s" -msgstr "" - -#: src/plugins/plugin_xep_0047.py:56 -msgid "Implementation of In-Band Bytestreams" -msgstr "" - -#: src/plugins/plugin_xep_0047.py:64 -msgid "In-Band Bytestreams plugin initialization" -msgstr "" - -#: src/plugins/plugin_xep_0047.py:79 +msgid "Status: %s" +msgstr "" + +#: src/plugins/plugin_xep_0045.py:743 #, python-format -msgid "In-Band Bytestream: TimeOut reached for id %(sid)s [%(profile)s]" -msgstr "" - -#: src/plugins/plugin_xep_0047.py:89 src/plugins/plugin_xep_0065.py:517 -msgid "Client no more in cache" -msgstr "" - -#: src/plugins/plugin_xep_0047.py:92 src/plugins/plugin_xep_0065.py:520 -msgid "kill id called on a non existant id" -msgstr "" - -#: src/plugins/plugin_xep_0047.py:148 -msgid "IBB stream opening" +msgid "Show: %s" +msgstr "" + +#: src/plugins/plugin_xep_0045.py:868 +#, python-brace-format +msgid "user {nick} has joined room {room_id}" +msgstr "" + +#: src/plugins/plugin_xep_0045.py:883 +msgid "=> {} has joined the room" +msgstr "" + +#: src/plugins/plugin_xep_0045.py:899 +#, python-brace-format +msgid "Room ({room}) left ({profile})" +msgstr "" + +#: src/plugins/plugin_xep_0045.py:910 +#, python-brace-format +msgid "user {nick} left room {room_id}" +msgstr "" + +#: src/plugins/plugin_xep_0045.py:922 +msgid "<= {} has left the room" +msgstr "" + +#: src/plugins/plugin_xep_0045.py:1034 +#, python-brace-format +msgid "New subject for room ({room_id}): {subject}" +msgstr "" + +#: src/plugins/plugin_xep_0047.py:60 +msgid "Implementation of In-Band Bytestreams" +msgstr "" + +#: src/plugins/plugin_xep_0047.py:69 +msgid "In-Band Bytestreams plugin initialization" msgstr "" #: src/plugins/plugin_xep_0047.py:158 -#, python-format -msgid "malformed IBB transfer: %s" -msgstr "" - -#: src/plugins/plugin_xep_0047.py:162 +msgid "IBB stream opening" +msgstr "" + +#: src/plugins/plugin_xep_0047.py:168 #, python-format msgid "Ignoring unexpected IBB transfer: %s" msgstr "" -#: src/plugins/plugin_xep_0047.py:166 src/plugins/plugin_xep_0047.py:242 +#: src/plugins/plugin_xep_0047.py:172 msgid "sended jid inconsistency (man in the middle attack attempt ?)" msgstr "" -#: src/plugins/plugin_xep_0047.py:195 +#: src/plugins/plugin_xep_0047.py:201 msgid "IBB stream closing" msgstr "" -#: src/plugins/plugin_xep_0047.py:235 +#: src/plugins/plugin_xep_0047.py:225 msgid "Received data for an unknown session id" msgstr "" -#: src/plugins/plugin_xep_0047.py:249 +#: src/plugins/plugin_xep_0047.py:232 +#, python-brace-format +msgid "" +"sended jid inconsistency (man in the middle attack attempt ?)\n" +"initial={initial}\n" +"given={given}" +msgstr "" + +#: src/plugins/plugin_xep_0047.py:239 msgid "Sequence error" msgstr "" -#: src/plugins/plugin_xep_0047.py:262 +#: src/plugins/plugin_xep_0047.py:254 msgid "Invalid base64 data" msgstr "" -#: src/plugins/plugin_xep_0047.py:295 src/plugins/plugin_xep_0065.py:561 -msgid "stream length not managed yet" -msgstr "" - -#: src/plugins/plugin_xep_0047.py:324 src/plugins/plugin_xep_0065.py:604 -msgid "Transfer failed" -msgstr "" - -#: src/plugins/plugin_xep_0050.py:56 +#: src/plugins/plugin_xep_0048.py:44 +msgid "Implementation of bookmarks" +msgstr "" + +#: src/plugins/plugin_xep_0048.py:57 +msgid "Bookmarks plugin initialization" +msgstr "" + +#: src/plugins/plugin_xep_0048.py:61 +msgid "Bookmarks" +msgstr "" + +#: src/plugins/plugin_xep_0048.py:61 +msgid "Use and manage bookmarks" +msgstr "" + +#: src/plugins/plugin_xep_0048.py:109 +msgid "Private XML storage not available" +msgstr "" + +#: src/plugins/plugin_xep_0048.py:218 +msgid "No room jid selected" +msgstr "" + +#: src/plugins/plugin_xep_0048.py:236 +msgid "Bookmarks manager" +msgstr "" + +#: src/plugins/plugin_xep_0048.py:254 +msgid "Name" +msgstr "" + +#: src/plugins/plugin_xep_0048.py:258 +msgid "Nickname" +msgstr "" + +#: src/plugins/plugin_xep_0048.py:260 +msgid "Autojoin" +msgstr "" + +#: src/plugins/plugin_xep_0048.py:307 +msgid "Bookmarks will be local only" +msgstr "" + +#: src/plugins/plugin_xep_0048.py:308 +#, python-format +msgid "Type selected for \"auto\" storage: %s" +msgstr "" + +#: src/plugins/plugin_xep_0048.py:431 +msgid "Bad arguments" +msgstr "" + +#: src/plugins/plugin_xep_0048.py:438 +#, python-format +msgid "All [%s] bookmarks are being removed" +msgstr "" + +#: src/plugins/plugin_xep_0048.py:446 +msgid "Bookmark added" +msgstr "" + +#: src/plugins/plugin_xep_0049.py:37 +msgid "Implementation of private XML storage" +msgstr "" + +#: src/plugins/plugin_xep_0049.py:45 +msgid "Plugin XEP-0049 initialization" +msgstr "" + +#: src/plugins/plugin_xep_0050.py:55 +msgid "Away" +msgstr "" + +#: src/plugins/plugin_xep_0050.py:58 msgid "Left" msgstr "" -#: src/plugins/plugin_xep_0050.py:66 +#: src/plugins/plugin_xep_0050.py:68 msgid "Implementation of Ad-Hoc Commands" msgstr "" -#: src/plugins/plugin_xep_0050.py:108 +#: src/plugins/plugin_xep_0050.py:110 #, python-format msgid "The groups [%(group)s] is unknown for profile [%(profile)s])" msgstr "" -#: src/plugins/plugin_xep_0050.py:210 +#: src/plugins/plugin_xep_0050.py:214 msgid "plugin XEP-0050 initialization" msgstr "" -#: src/plugins/plugin_xep_0050.py:218 src/plugins/plugin_xep_0100.py:65 -msgid "Service" -msgstr "" - -#: src/plugins/plugin_xep_0050.py:218 -msgid "commands" -msgstr "" - -#: src/plugins/plugin_xep_0050.py:218 +#: src/plugins/plugin_xep_0050.py:222 +msgid "Commands" +msgstr "" + +#: src/plugins/plugin_xep_0050.py:222 msgid "Execute ad-hoc commands" msgstr "" -#: src/plugins/plugin_xep_0050.py:224 +#: src/plugins/plugin_xep_0050.py:228 msgid "Status" msgstr "" -#: src/plugins/plugin_xep_0050.py:237 +#: src/plugins/plugin_xep_0050.py:241 msgid "Please select a command" msgstr "" -#: src/plugins/plugin_xep_0050.py:334 -msgid "Please enter target jid" -msgstr "" - -#: src/plugins/plugin_xep_0050.py:348 -msgid "status selection" -msgstr "" - -#: src/plugins/plugin_xep_0050.py:376 -msgid "Status updated" -msgstr "" - -#: src/plugins/plugin_xep_0054.py:65 -msgid "Implementation of vcard-temp" -msgstr "" - -#: src/plugins/plugin_xep_0054.py:75 -msgid "Plugin XEP_0054 initialization" -msgstr "" - -#: src/plugins/plugin_xep_0054.py:144 +#: src/plugins/plugin_xep_0050.py:259 #, python-format -msgid "Photo of type [%s] found" -msgstr "" - -#: src/plugins/plugin_xep_0054.py:146 -msgid "Decoding binary" -msgstr "" - -#: src/plugins/plugin_xep_0054.py:153 -#, python-format -msgid "file saved to %s" -msgstr "" - -#: src/plugins/plugin_xep_0054.py:155 -#, python-format -msgid "file [%s] already in cache" -msgstr "" - -#: src/plugins/plugin_xep_0054.py:161 -msgid "parsing vcard" -msgstr "" - -#: src/plugins/plugin_xep_0054.py:183 -#, python-format -msgid "FIXME: [%s] VCard tag is not managed yet" -msgstr "" - -#: src/plugins/plugin_xep_0054.py:189 -msgid "VCard found" -msgstr "" - -#: src/plugins/plugin_xep_0054.py:200 -msgid "FIXME: vCard not found as first child element" -msgstr "" - -#: src/plugins/plugin_xep_0054.py:206 -#, python-format -msgid "Can't find VCard of %s" -msgstr "" - -#: src/plugins/plugin_xep_0054.py:215 -msgid "Asking vcard for a non-existant or not connected profile" -msgstr "" - -#: src/plugins/plugin_xep_0054.py:219 -#, python-format -msgid "Asking for %s's VCard" +msgid "Invalid note type [%s], using info" +msgstr "" + +#: src/plugins/plugin_xep_0050.py:269 +msgid "WARNING" +msgstr "" + +#: src/plugins/plugin_xep_0050.py:270 +msgid "ERROR" +msgstr "" + +#: src/plugins/plugin_xep_0050.py:302 +msgid "No known payload found in ad-hoc command result, aborting" +msgstr "" + +#: src/plugins/plugin_xep_0050.py:306 +msgid "No payload found" +msgstr "" + +#: src/plugins/plugin_xep_0050.py:401 +msgid "Please enter target jid" +msgstr "" + +#: src/plugins/plugin_xep_0050.py:415 +msgid "status selection" +msgstr "" + +#: src/plugins/plugin_xep_0050.py:443 +msgid "Status updated" +msgstr "" + +#: src/plugins/plugin_xep_0054.py:73 +msgid "Implementation of vcard-temp" +msgstr "" + +#: src/plugins/plugin_xep_0054.py:83 +msgid "Plugin XEP_0054 initialization" msgstr "" #: src/plugins/plugin_xep_0054.py:234 -#, python-format -msgid "Asking for an uncached avatar [%s]" -msgstr "" - -#: src/plugins/plugin_xep_0054.py:263 -msgid "Trying to set avatar for a non-existant or not connected profile" -msgstr "" - -#: src/plugins/plugin_xep_0054.py:308 -msgid "New avatar found, requesting vcard" -msgstr "" - -#: src/plugins/plugin_xep_0055.py:38 +msgid "Decoding binary" +msgstr "" + +#: src/plugins/plugin_xep_0054.py:294 +msgid "VCard found" +msgstr "" + +#: src/plugins/plugin_xep_0055.py:51 msgid "Implementation of Jabber Search" msgstr "" -#: src/plugins/plugin_xep_0055.py:45 +#: src/plugins/plugin_xep_0055.py:66 msgid "Jabber search plugin initialization" msgstr "" -#: src/plugins/plugin_xep_0055.py:56 src/plugins/plugin_xep_0055.py:76 +#: src/plugins/plugin_xep_0055.py:80 msgid "Search directory" msgstr "" -#: src/plugins/plugin_xep_0055.py:56 -msgid "Search use directory" -msgstr "" - -#: src/plugins/plugin_xep_0055.py:77 -msgid "Please enter the search jid" -msgstr "" - -#: src/plugins/plugin_xep_0055.py:107 src/plugins/plugin_xep_0055.py:165 +#: src/plugins/plugin_xep_0055.py:80 +msgid "Search user directory" +msgstr "" + +#: src/plugins/plugin_xep_0055.py:118 +msgid "Search users" +msgstr "" + +#: src/plugins/plugin_xep_0055.py:139 +msgid "Search for" +msgstr "" + +#: src/plugins/plugin_xep_0055.py:141 +msgid "Simple search" +msgstr "" + +#: src/plugins/plugin_xep_0055.py:149 src/plugins/plugin_xep_0055.py:249 +msgid "Search" +msgstr "" + +#: src/plugins/plugin_xep_0055.py:178 +msgid "Advanced search" +msgstr "" + +#: src/plugins/plugin_xep_0055.py:196 +msgid "Search on" +msgstr "" + +#: src/plugins/plugin_xep_0055.py:198 +msgid "Other service" +msgstr "" + +#: src/plugins/plugin_xep_0055.py:205 +msgid "Refresh fields" +msgstr "" + +#: src/plugins/plugin_xep_0055.py:208 +msgid "Displaying the search form for" +msgstr "" + +#: src/plugins/plugin_xep_0055.py:281 +msgid "Search results" +msgstr "" + +#: src/plugins/plugin_xep_0055.py:286 +msgid "The search gave no result" +msgstr "" + +#: src/plugins/plugin_xep_0055.py:328 src/plugins/plugin_xep_0055.py:429 msgid "No query element found" msgstr "" -#: src/plugins/plugin_xep_0055.py:112 src/plugins/plugin_xep_0055.py:170 +#: src/plugins/plugin_xep_0055.py:333 src/plugins/plugin_xep_0055.py:434 msgid "No data form found" msgstr "" -#: src/plugins/plugin_xep_0055.py:119 +#: src/plugins/plugin_xep_0055.py:343 #, python-format msgid "Fields request failure: %s" msgstr "" -#: src/plugins/plugin_xep_0055.py:176 +#: src/plugins/plugin_xep_0055.py:415 +msgid "The search could not be performed" +msgstr "" + +#: src/plugins/plugin_xep_0055.py:444 #, python-format msgid "Search request failure: %s" msgstr "" -#: src/plugins/plugin_xep_0060.py:34 +#: src/plugins/plugin_xep_0059.py:41 +msgid "Implementation of Result Set Management" +msgstr "" + +#: src/plugins/plugin_xep_0059.py:49 +msgid "Result Set Management plugin initialization" +msgstr "" + +#: src/plugins/plugin_xep_0060.py:53 msgid "Implementation of PubSub Protocol" msgstr "" -#: src/plugins/plugin_xep_0060.py:51 +#: src/plugins/plugin_xep_0060.py:83 msgid "PubSub plugin initialization" msgstr "" -#: src/plugins/plugin_xep_0060.py:85 -#, python-format -msgid "Trying to %(action)s with an unknown profile key [%(profile_key)s]" -msgstr "" - -#: src/plugins/plugin_xep_0060.py:93 -msgid "INTERNAL ERROR: no handler for required profile" -msgstr "" - -#: src/plugins/plugin_xep_0060.py:170 -msgid "Publish node deleted" -msgstr "" - -#: src/plugins/plugin_xep_0065.py:90 +#: src/plugins/plugin_xep_0065.py:95 msgid "Implementation of SOCKS5 Bytestreams" msgstr "" -#: src/plugins/plugin_xep_0065.py:142 -msgid "Protocol init" -msgstr "" - -#: src/plugins/plugin_xep_0065.py:338 +#: src/plugins/plugin_xep_0065.py:515 msgid "File transfer completed, closing connection" msgstr "" -#: src/plugins/plugin_xep_0065.py:404 -msgid "Socks 5 server connection started" -msgstr "" - -#: src/plugins/plugin_xep_0065.py:407 -#, python-format -msgid "Socks 5 server connection lost (reason: %s)" -msgstr "" - -#: src/plugins/plugin_xep_0065.py:432 -msgid "Socks 5 client connection started" -msgstr "" - -#: src/plugins/plugin_xep_0065.py:435 +#: src/plugins/plugin_xep_0065.py:667 #, python-format msgid "Socks 5 client connection lost (reason: %s)" msgstr "" -#: src/plugins/plugin_xep_0065.py:462 +#: src/plugins/plugin_xep_0065.py:695 msgid "Plugin XEP_0065 initialization" msgstr "" -#: src/plugins/plugin_xep_0065.py:468 -msgid "registering" -msgstr "" - -#: src/plugins/plugin_xep_0065.py:476 -#, python-format -msgid "Launching Socks5 Stream server on port %d" -msgstr "" - -#: src/plugins/plugin_xep_0065.py:507 -#, python-format -msgid "Socks5 Bytestream: TimeOut reached for id %(sid)s [%(profile)s]" -msgstr "" - -#: src/plugins/plugin_xep_0065.py:557 -msgid "Unknown profile, this should not happen" -msgstr "" - -#: src/plugins/plugin_xep_0065.py:614 -msgid "Internal error, can't do transfer" -msgstr "" - -#: src/plugins/plugin_xep_0065.py:624 src/plugins/plugin_xep_0065.py:797 -msgid "No streamhost found in stream query" -msgstr "" - -#: src/plugins/plugin_xep_0065.py:629 -msgid "A proxy server is used" -msgstr "" - -#: src/plugins/plugin_xep_0065.py:634 -msgid "Proxy jid is not the same as in parameters, this should not happen" -msgstr "" - -#: src/plugins/plugin_xep_0065.py:642 src/plugins/plugin_xep_0065.py:736 -msgid "activating stream" -msgstr "" - -#: src/plugins/plugin_xep_0065.py:660 -msgid "Can't activate the proxy stream" -msgstr "" - -#: src/plugins/plugin_xep_0065.py:690 -msgid "BS stream query" -msgstr "" - -#: src/plugins/plugin_xep_0065.py:704 -#, python-format -msgid "Ignoring unexpected BS transfer: %s" -msgstr "" - -#: src/plugins/plugin_xep_0065.py:713 -#, python-format -msgid "No streamhost found in stream query %s" -msgstr "" - -#: src/plugins/plugin_xep_0065.py:722 -msgid "incomplete streamhost element" -msgstr "" - -#: src/plugins/plugin_xep_0065.py:728 -#, python-format -msgid "Stream proposed: host=[%(host)s] port=[%(port)s]" -msgstr "" - -#: src/plugins/plugin_xep_0065.py:789 -msgid "Can't determine proxy information" -msgstr "" - -#: src/plugins/plugin_xep_0065.py:793 -msgid "Bad answer received from proxy" -msgstr "" - -#: src/plugins/plugin_xep_0065.py:800 -msgid "" -"Multiple streamhost elements in proxy not managed, keeping only the first one" -msgstr "" - -#: src/plugins/plugin_xep_0065.py:813 -msgid "No proxy found on this server" -msgstr "" - -#: src/plugins/plugin_xep_0071.py:44 +#: src/plugins/plugin_xep_0065.py:750 +msgid "Socks5 Stream server launched on port {}" +msgstr "" + +#: src/plugins/plugin_xep_0070.py:54 +msgid "Implementation of HTTP Requests via XMPP" +msgstr "" + +#: src/plugins/plugin_xep_0070.py:64 +msgid "Plugin XEP_0070 initialization" +msgstr "" + +#: src/plugins/plugin_xep_0070.py:77 +msgid "XEP-0070 Verifying HTTP Requests via XMPP (iq)" +msgstr "" + +#: src/plugins/plugin_xep_0070.py:86 +msgid "XEP-0070 Verifying HTTP Requests via XMPP (message)" +msgstr "" + +#: src/plugins/plugin_xep_0070.py:97 +msgid "Auth confirmation" +msgstr "" + +#: src/plugins/plugin_xep_0070.py:98 +msgid "{} needs to validate your identity, do you agree ?" +msgstr "" + +#: src/plugins/plugin_xep_0070.py:99 +msgid "Validation code : {}" +msgstr "" + +#: src/plugins/plugin_xep_0070.py:100 +msgid "Please check that this code is the same as on {}" +msgstr "" + +#: src/plugins/plugin_xep_0070.py:102 +msgid "Submit to authorize, cancel otherwise." +msgstr "" + +#: src/plugins/plugin_xep_0070.py:131 +msgid "XEP-0070 reply iq" +msgstr "" + +#: src/plugins/plugin_xep_0070.py:136 +msgid "XEP-0070 reply message" +msgstr "" + +#: src/plugins/plugin_xep_0070.py:141 +msgid "XEP-0070 reply error" +msgstr "" + +#: src/plugins/plugin_xep_0071.py:51 msgid "Implementation of XHTML-IM" msgstr "" -#: src/plugins/plugin_xep_0071.py:72 +#: src/plugins/plugin_xep_0071.py:79 msgid "XHTML-IM plugin initialization" msgstr "" -#: src/plugins/plugin_xep_0071.py:114 src/plugins/plugin_xep_0277.py:259 -msgid "Can't have xhtml and rich content at the same time" -msgstr "" - -#: src/plugins/plugin_xep_0077.py:39 +#: src/plugins/plugin_xep_0071.py:196 +msgid "Can't have XHTML and rich content at the same time" +msgstr "" + +#: src/plugins/plugin_xep_0077.py:40 msgid "Implementation of in-band registration" msgstr "" -#: src/plugins/plugin_xep_0077.py:46 +#: src/plugins/plugin_xep_0077.py:47 msgid "Plugin XEP_0077 initialization" msgstr "" -#: src/plugins/plugin_xep_0077.py:64 -msgid "Can't find data form" -msgstr "" - #: src/plugins/plugin_xep_0077.py:65 +msgid "Can't find data form" +msgstr "" + +#: src/plugins/plugin_xep_0077.py:66 msgid "This gateway can't be managed by SàT, sorry :(" msgstr "" -#: src/plugins/plugin_xep_0077.py:109 +#: src/plugins/plugin_xep_0077.py:91 +#, python-format +msgid "registration answer: %s" +msgstr "" + +#: src/plugins/plugin_xep_0077.py:99 +msgid "Username already exists, please choose an other one" +msgstr "" + +#: src/plugins/plugin_xep_0077.py:108 #, python-format msgid "Asking registration for [%s]" msgstr "" -#: src/plugins/plugin_xep_0085.py:49 +#: src/plugins/plugin_xep_0085.py:53 msgid "Implementation of Chat State Notifications Protocol" msgstr "" -#: src/plugins/plugin_xep_0085.py:89 -msgid "Enable chat state notifications" -msgstr "" - #: src/plugins/plugin_xep_0085.py:93 +msgid "Enable chat state notifications" +msgstr "" + +#: src/plugins/plugin_xep_0085.py:97 msgid "Chat State Notifications plugin initialization" msgstr "" -#: src/plugins/plugin_xep_0095.py:51 +#: src/plugins/plugin_xep_0092.py:41 +msgid "Implementation of Software Version" +msgstr "" + +#: src/plugins/plugin_xep_0092.py:48 +msgid "Plugin XEP_0092 initialization" +msgstr "" + +#: src/plugins/plugin_xep_0092.py:111 +#, python-format +msgid "Operating system: %s" +msgstr "" + +#: src/plugins/plugin_xep_0092.py:115 +msgid "Software version not available" +msgstr "" + +#: src/plugins/plugin_xep_0092.py:117 +msgid "Client software version request timeout" +msgstr "" + +#: src/plugins/plugin_xep_0095.py:40 msgid "Implementation of Stream Initiation" msgstr "" -#: src/plugins/plugin_xep_0095.py:58 +#: src/plugins/plugin_xep_0095.py:54 msgid "Plugin XEP_0095 initialization" msgstr "" -#: src/plugins/plugin_xep_0095.py:75 +#: src/plugins/plugin_xep_0095.py:80 msgid "XEP-0095 Stream initiation" msgstr "" -#: src/plugins/plugin_xep_0095.py:161 +#: src/plugins/plugin_xep_0095.py:122 msgid "sending stream initiation accept answer" msgstr "" -#: src/plugins/plugin_xep_0095.py:183 -msgid "Asking for an non-existant or not connected profile" -msgstr "" - -#: src/plugins/plugin_xep_0095.py:188 +#: src/plugins/plugin_xep_0095.py:159 #, python-format msgid "Stream Session ID: %s" msgstr "" -#: src/plugins/plugin_xep_0096.py:43 +#: src/plugins/plugin_xep_0096.py:45 msgid "Implementation of SI File Transfer" msgstr "" -#: src/plugins/plugin_xep_0096.py:50 +#: src/plugins/plugin_xep_0096.py:53 msgid "Plugin XEP_0096 initialization" msgstr "" -#: src/plugins/plugin_xep_0096.py:65 -#, python-format -msgid "SI File Transfer: TimeOut reached for id %s" -msgstr "" - -#: src/plugins/plugin_xep_0096.py:80 +#: src/plugins/plugin_xep_0096.py:119 msgid "XEP-0096 file transfer requested" msgstr "" -#: src/plugins/plugin_xep_0096.py:100 -#, python-format -msgid "File proposed: name=[%(name)s] size=%(size)s" -msgstr "" - -#: src/plugins/plugin_xep_0096.py:107 -msgid "No file element found" -msgstr "" - -#: src/plugins/plugin_xep_0096.py:208 -#, python-format -msgid "Transfer %(id)s failed with stream method %(s_method)s: %(reason)s" -msgstr "" - -#: src/plugins/plugin_xep_0096.py:223 -#, python-format -msgid "File transfer refused by %s" -msgstr "" - -#: src/plugins/plugin_xep_0096.py:224 -#, python-format -msgid "The contact %s refused your file" -msgstr "" - -#: src/plugins/plugin_xep_0096.py:224 +#: src/plugins/plugin_xep_0096.py:337 +msgid "The contact {} has refused your file" +msgstr "" + +#: src/plugins/plugin_xep_0096.py:338 msgid "File refused" msgstr "" -#: src/plugins/plugin_xep_0096.py:226 -#, python-format -msgid "Error during file transfer with %s" -msgstr "" - -#: src/plugins/plugin_xep_0096.py:227 -#, python-format +#: src/plugins/plugin_xep_0096.py:341 +msgid "Error during file transfer" +msgstr "" + +#: src/plugins/plugin_xep_0096.py:342 +#, python-brace-format msgid "" -"Something went wrong during the file transfer session intialisation with %s" -msgstr "" - -#: src/plugins/plugin_xep_0096.py:227 +"Something went wrong during the file transfer session initialisation: " +"{reason}" +msgstr "" + +#: src/plugins/plugin_xep_0096.py:343 msgid "File transfer error" msgstr "" -#: src/plugins/plugin_xep_0096.py:299 -#, python-format -msgid "Transfer %(sid)s successfuly finished [%(profile)s]" -msgstr "" - -#: src/plugins/plugin_xep_0096.py:305 -#, python-format -msgid "" -"Transfer %(id)s failed with stream method %(s_method)s: %(reason)s " -"[%(profile)s]" -msgstr "" - -#: src/plugins/plugin_xep_0100.py:35 +#: src/plugins/plugin_xep_0096.py:351 +#, python-brace-format +msgid "transfer {sid} successfuly finished [{profile}]" +msgstr "" + +#: src/plugins/plugin_xep_0096.py:357 +#, python-brace-format +msgid "transfer {sid} failed [{profile}]: {reason}" +msgstr "" + +#: src/plugins/plugin_xep_0100.py:36 msgid "Implementation of Gateways protocol" msgstr "" -#: src/plugins/plugin_xep_0100.py:38 +#: src/plugins/plugin_xep_0100.py:39 msgid "" "Be careful ! Gateways allow you to use an external IM (legacy IM), so you " "can see your contact as XMPP contacts.\n" @@ -3347,58 +4276,54 @@ "time a private company)." msgstr "" -#: src/plugins/plugin_xep_0100.py:43 +#: src/plugins/plugin_xep_0100.py:44 msgid "Internet Relay Chat" msgstr "" -#: src/plugins/plugin_xep_0100.py:44 -msgid "XMPP" -msgstr "" - #: src/plugins/plugin_xep_0100.py:45 -msgid "Tencent QQ" +msgid "XMPP" msgstr "" #: src/plugins/plugin_xep_0100.py:46 -msgid "SIP/SIMPLE" +msgid "Tencent QQ" msgstr "" #: src/plugins/plugin_xep_0100.py:47 -msgid "ICQ" +msgid "SIP/SIMPLE" msgstr "" #: src/plugins/plugin_xep_0100.py:48 -msgid "Yahoo! Messenger" +msgid "ICQ" msgstr "" #: src/plugins/plugin_xep_0100.py:49 -msgid "Gadu-Gadu" +msgid "Yahoo! Messenger" msgstr "" #: src/plugins/plugin_xep_0100.py:50 -msgid "AOL Instant Messenger" +msgid "Gadu-Gadu" msgstr "" #: src/plugins/plugin_xep_0100.py:51 +msgid "AOL Instant Messenger" +msgstr "" + +#: src/plugins/plugin_xep_0100.py:52 msgid "Windows Live Messenger" msgstr "" -#: src/plugins/plugin_xep_0100.py:58 +#: src/plugins/plugin_xep_0100.py:59 msgid "Gateways plugin initialization" msgstr "" -#: src/plugins/plugin_xep_0100.py:65 -msgid "gateways" -msgstr "" - -#: src/plugins/plugin_xep_0100.py:65 +#: src/plugins/plugin_xep_0100.py:66 +msgid "Gateways" +msgstr "" + +#: src/plugins/plugin_xep_0100.py:66 msgid "Find gateways" msgstr "" -#: src/plugins/plugin_xep_0100.py:77 -msgid "Invalid JID" -msgstr "" - #: src/plugins/plugin_xep_0100.py:84 #, python-format msgid "Gateways manager (%s)" @@ -3459,162 +4384,419 @@ msgid "item found: %s" msgstr "" -#: src/plugins/plugin_xep_0100.py:209 +#: src/plugins/plugin_xep_0100.py:206 #, python-format msgid "find gateways (target = %(target)s, profile = %(profile)s)" msgstr "" -#: src/plugins/plugin_xep_0115.py:54 +#: src/plugins/plugin_xep_0115.py:48 msgid "Implementation of entity capabilities" msgstr "" -#: src/plugins/plugin_xep_0115.py:82 +#: src/plugins/plugin_xep_0115.py:56 msgid "Plugin XEP_0115 initialization" msgstr "" -#: src/plugins/plugin_xep_0115.py:148 +#: src/plugins/plugin_xep_0115.py:73 +msgid "Caps optimisation enabled" +msgstr "" + +#: src/plugins/plugin_xep_0115.py:76 +msgid "Caps optimisation not available" +msgstr "" + +#: src/plugins/plugin_xep_0115.py:143 +#, python-format +msgid "Received invalid capabilities tag: %s" +msgstr "" + +#: src/plugins/plugin_xep_0115.py:153 #, python-format -msgid "Capability hash generated: [%s]" -msgstr "" - -#: src/plugins/plugin_xep_0163.py:42 +msgid "" +"Unknown hash method for entity capabilities: [%(hash_method)s] (entity: " +"%(jid)s, node: %(node)s)" +msgstr "" + +#: src/plugins/plugin_xep_0115.py:158 +#, python-format +msgid "" +"Computed hash differ from given hash:\n" +"given: [%(given_hash)s]\n" +"computed: [%(computed_hash)s]\n" +"(entity: %(jid)s, node: %(node)s)" +msgstr "" + +#: src/plugins/plugin_xep_0115.py:164 +#, python-brace-format +msgid "Couldn't retrieve disco info for {jid}: {error}" +msgstr "" + +#: src/plugins/plugin_xep_0163.py:40 msgid "Implementation of Personal Eventing Protocol" msgstr "" -#: src/plugins/plugin_xep_0163.py:49 +#: src/plugins/plugin_xep_0163.py:47 msgid "PEP plugin initialization" msgstr "" -#: src/plugins/plugin_xep_0163.py:97 +#: src/plugins/plugin_xep_0163.py:114 #, python-format msgid "Trying to send personal event with an unknown profile key [%s]" msgstr "" -#: src/plugins/plugin_xep_0163.py:100 +#: src/plugins/plugin_xep_0163.py:117 msgid "Trying to send personal event for an unknown type" msgstr "" -#: src/plugins/plugin_xep_0163.py:106 +#: src/plugins/plugin_xep_0163.py:123 msgid "No item found" msgstr "" -#: src/plugins/plugin_xep_0163.py:111 +#: src/plugins/plugin_xep_0163.py:128 msgid "Can't find mood element in mood event" msgstr "" -#: src/plugins/plugin_xep_0163.py:115 +#: src/plugins/plugin_xep_0163.py:132 msgid "No mood found" msgstr "" -#: src/plugins/plugin_xep_0249.py:51 +#: src/plugins/plugin_xep_0166.py:48 +#, python-brace-format +msgid "{entity} want to start a jingle session with you, do you accept ?" +msgstr "" + +#: src/plugins/plugin_xep_0166.py:57 +msgid "Implementation of Jingle" +msgstr "" + +#: src/plugins/plugin_xep_0166.py:91 +msgid "plugin Jingle initialization" +msgstr "" + +#: src/plugins/plugin_xep_0166.py:429 +msgid "Confirm Jingle session" +msgstr "" + +#: src/plugins/plugin_xep_0184.py:61 +msgid "Implementation of Message Delivery Receipts" +msgstr "" + +#: src/plugins/plugin_xep_0184.py:85 +msgid "Enable message delivery receipts" +msgstr "" + +#: src/plugins/plugin_xep_0184.py:89 +msgid "Plugin XEP_0184 (message delivery receipts) initialization" +msgstr "" + +#: src/plugins/plugin_xep_0184.py:114 +msgid "[XEP-0184] Request acknowledgment for message id {}" +msgstr "" + +#: src/plugins/plugin_xep_0184.py:147 +msgid "[XEP-0184] Receive acknowledgment for message id {}" +msgstr "" + +#: src/plugins/plugin_xep_0184.py:154 +msgid "[XEP-0184] Delete waiting acknowledgment for message id {}" +msgstr "" + +#: src/plugins/plugin_xep_0203.py:43 +msgid "Implementation of Delayed Delivery" +msgstr "" + +#: src/plugins/plugin_xep_0203.py:50 +msgid "Delayed Delivery plugin initialization" +msgstr "" + +#: src/plugins/plugin_xep_0231.py:39 +msgid "Implementation of bits of binary (used for small images/files)" +msgstr "" + +#: src/plugins/plugin_xep_0231.py:48 +msgid "plugin Bits of Binary initialization" +msgstr "" + +#: src/plugins/plugin_xep_0234.py:48 +msgid "Implementation of Jingle File Transfer" +msgstr "" + +#: src/plugins/plugin_xep_0234.py:57 +msgid "plugin Jingle File Transfer initialization" +msgstr "" + +#: src/plugins/plugin_xep_0249.py:55 msgid "Implementation of Direct MUC Invitations" msgstr "" -#: src/plugins/plugin_xep_0249.py:71 +#: src/plugins/plugin_xep_0249.py:75 msgid "Auto-join MUC on invitation" msgstr "" -#: src/plugins/plugin_xep_0249.py:77 +#: src/plugins/plugin_xep_0249.py:82 msgid "Plugin XEP_0249 initialization" msgstr "" -#: src/plugins/plugin_xep_0249.py:95 src/plugins/plugin_xep_0249.py:123 -msgid "Profile doesn't exists !" -msgstr "" - -#: src/plugins/plugin_xep_0249.py:125 +#: src/plugins/plugin_xep_0249.py:131 #, python-format msgid "Invitation accepted for room %(room)s [%(profile)s]" msgstr "" -#: src/plugins/plugin_xep_0249.py:137 +#: src/plugins/plugin_xep_0249.py:144 #, python-format msgid "Invitation received for room %(room)s [%(profile)s]" msgstr "" -#: src/plugins/plugin_xep_0249.py:139 +#: src/plugins/plugin_xep_0249.py:146 msgid "Error while parsing invitation" msgstr "" -#: src/plugins/plugin_xep_0249.py:143 +#: src/plugins/plugin_xep_0249.py:155 msgid "Invitation silently discarded because user is already in the room." msgstr "" -#: src/plugins/plugin_xep_0249.py:154 -#, python-format -msgid "" -"You have been invited by %(user)s to join the room %(room)s. Do you accept?" -msgstr "" - -#: src/plugins/plugin_xep_0249.py:154 src/plugins/plugin_xep_0249.py:157 -msgid "MUC invitation" -msgstr "" - -#: src/plugins/plugin_xep_0249.py:157 +#: src/plugins/plugin_xep_0249.py:163 #, python-format msgid "" "An invitation from %(user)s to join the room %(room)s has been declined " "according to your personal settings." msgstr "" -#: src/plugins/plugin_xep_0277.py:47 -msgid "Implementation of microblogging Protocol" -msgstr "" - -#: src/plugins/plugin_xep_0277.py:58 -msgid "Microblogging plugin initialization" -msgstr "" - -#: src/plugins/plugin_xep_0277.py:132 -#, python-format -msgid "No entry found in the pubsub item %s" -msgstr "" - -#: src/plugins/plugin_xep_0277.py:155 -#, python-format -msgid "Atom entry %s misses a required element" -msgstr "" - -#: src/plugins/plugin_xep_0277.py:181 +#: src/plugins/plugin_xep_0249.py:164 src/plugins/plugin_xep_0249.py:168 +msgid "MUC invitation" +msgstr "" + +#: src/plugins/plugin_xep_0249.py:167 #, python-format -msgid "Can't parse the link element of pubsub entry %s" -msgstr "" - -#: src/plugins/plugin_xep_0277.py:190 -#, python-format -msgid "Can't find author element in pubsub entry %s" -msgstr "" - -#: src/plugins/plugin_xep_0277.py:218 +msgid "" +"You have been invited by %(user)s to join the room %(room)s. Do you accept?" +msgstr "" + +#: src/plugins/plugin_xep_0249.py:187 +#, python-brace-format +msgid "" +"You must provide a valid JID to invite, like in '/invite contact@{host}'" +msgstr "" + +#: src/plugins/plugin_xep_0260.py:49 +msgid "Implementation of Jingle SOCKS5 Bytestreams" +msgstr "" + +#: src/plugins/plugin_xep_0260.py:63 +msgid "plugin Jingle SOCKS5 Bytestreams" +msgstr "" + +#: src/plugins/plugin_xep_0261.py:45 +msgid "Implementation of Jingle In-Band Bytestreams" +msgstr "" + +#: src/plugins/plugin_xep_0261.py:53 +msgid "plugin Jingle In-Band Bytestreams" +msgstr "" + +#: src/plugins/plugin_xep_0277.py:57 +msgid "Implementation of microblogging Protocol" +msgstr "" + +#: src/plugins/plugin_xep_0277.py:69 +msgid "Microblogging plugin initialization" +msgstr "" + +#: src/plugins/plugin_xep_0277.py:171 msgid "Content of type XHTML must declare its namespace!" msgstr "" -#: src/plugins/plugin_xep_0277.py:302 -msgid "Microblog data must contain at least 'content' key" -msgstr "" - -#: src/plugins/plugin_xep_0277.py:306 -msgid "Microblog data's content value must not be empty" -msgstr "" - -#: src/plugins/plugin_xep_0277.py:340 +#: src/plugins/plugin_xep_0277.py:360 +msgid "Can't have xhtml and rich content at the same time" +msgstr "" + +#: src/plugins/plugin_xep_0277.py:636 msgid "Can't find profile's jid" msgstr "" -#: src/plugins/plugin_xep_0277.py:347 +#: src/plugins/plugin_xep_0277.py:642 #, python-format msgid "Microblog node has now access %s" msgstr "" -#: src/plugins/plugin_xep_0277.py:351 +#: src/plugins/plugin_xep_0277.py:646 msgid "Can't set microblog access" msgstr "" -#: src/test/constants.py:43 +#: src/plugins/plugin_xep_0280.py:38 +msgid "Message carbons" +msgstr "" + +#: src/plugins/plugin_xep_0280.py:49 +msgid "Implementation of Message Carbons" +msgstr "" + +#: src/plugins/plugin_xep_0280.py:74 +msgid "Plugin XEP_0280 initialization" +msgstr "" + +#: src/plugins/plugin_xep_0280.py:99 +msgid "Not activating message carbons as requested in params" +msgstr "" + +#: src/plugins/plugin_xep_0280.py:104 +msgid "server doesn't handle message carbons" +msgstr "" + +#: src/plugins/plugin_xep_0280.py:106 +msgid "message carbons available, enabling it" +msgstr "" + +#: src/plugins/plugin_xep_0280.py:114 +msgid "message carbons activated" +msgstr "" + +#: src/plugins/plugin_xep_0297.py:44 +msgid "Implementation of Stanza Forwarding" +msgstr "" + +#: src/plugins/plugin_xep_0297.py:52 +msgid "Stanza Forwarding plugin initialization" +msgstr "" + +#: src/plugins/plugin_xep_0300.py:42 +msgid "Management of cryptographic hashes" +msgstr "" + +#: src/plugins/plugin_xep_0300.py:60 +msgid "plugin Hashes initialization" +msgstr "" + +#: src/plugins/plugin_xep_0313.py:48 +msgid "Implementation of Message Archive Management" +msgstr "" + +#: src/plugins/plugin_xep_0313.py:55 +msgid "Message Archive Management plugin initialization" +msgstr "" + +#: src/plugins/plugin_xep_0334.py:44 +msgid "Implementation of Message Processing Hints" +msgstr "" + +#: src/plugins/plugin_xep_0334.py:45 +msgid "" +" Frontends can use HINT_* constants in mess_data['extra'] in a " +"serialized 'hints' dict.\n" +" Internal plugins can use directly addHint([HINT_* constant]).\n" +" Will set mess_data['extra']['history'] to 'skipped' when no " +"store is requested and message is not saved in history." +msgstr "" + +#: src/plugins/plugin_xep_0334.py:63 +msgid "Message Processing Hints plugin initialization" +msgstr "" + +#: src/plugins/plugin_xep_0363.py:52 +msgid "Implementation of HTTP File Upload" +msgstr "" + +#: src/plugins/plugin_xep_0363.py:91 +msgid "plugin HTTP File Upload initialization" +msgstr "" + +#: src/stdui/ui_contact_list.py:36 src/stdui/ui_contact_list.py:165 +#: src/stdui/ui_contact_list.py:239 +msgid "Add contact" +msgstr "" + +#: src/stdui/ui_contact_list.py:37 src/stdui/ui_contact_list.py:183 +msgid "Update contact" +msgstr "" + +#: src/stdui/ui_contact_list.py:38 +msgid "Remove contact" +msgstr "" + +#: src/stdui/ui_contact_list.py:135 +msgid "Select in which groups your contact is:" +msgstr "" + +#: src/stdui/ui_contact_list.py:148 +msgid "Add group" +msgstr "" + +#: src/stdui/ui_contact_list.py:150 +msgid "Add" +msgstr "" + +#: src/stdui/ui_contact_list.py:166 +msgid "New contact identifier (JID):" +msgstr "" + +#: src/stdui/ui_contact_list.py:178 +msgid "Nothing to update" +msgstr "" + +#: src/stdui/ui_contact_list.py:179 src/stdui/ui_contact_list.py:197 +msgid "Your contact list is empty." +msgstr "" + +#: src/stdui/ui_contact_list.py:184 +msgid "Which contact do you want to update?" +msgstr "" + +#: src/stdui/ui_contact_list.py:196 +msgid "Nothing to delete" +msgstr "" + +#: src/stdui/ui_contact_list.py:200 +msgid "Who do you want to remove from your contacts?" +msgstr "" + +#: src/stdui/ui_contact_list.py:219 +msgid "Delete contact" +msgstr "" + +#: src/stdui/ui_contact_list.py:220 +#, python-format +msgid "Are you sure you want to remove %s from your contact list?" +msgstr "" + +#: src/stdui/ui_contact_list.py:240 +#, python-format +msgid "Please enter a valid JID (like \"contact@%s\"):" +msgstr "" + +#: src/stdui/ui_profile_manager.py:52 +msgid "Profile password for {}" +msgstr "" + +#: src/stdui/ui_profile_manager.py:61 src/stdui/ui_profile_manager.py:98 +msgid "Connection error" +msgstr "" + +#: src/stdui/ui_profile_manager.py:66 +msgid "Internal error: {}" +msgstr "" + +#: src/stdui/ui_profile_manager.py:99 +#, python-format +msgid "Can't connect to %s. Please check your connection details." +msgstr "" + +#: src/stdui/ui_profile_manager.py:103 +#, python-format +msgid "XMPP password for %(profile)s%(counter)s" +msgstr "" + +#: src/stdui/ui_profile_manager.py:105 +#, python-format +msgid "" +"Can't connect to %s. Please check your connection details or try with " +"another password." +msgstr "" + +#: src/test/constants.py:45 msgid "Enable unibox" msgstr "" -#: src/test/constants.py:44 +#: src/test/constants.py:46 msgid "'Wysiwyg' edition" msgstr "" @@ -3622,79 +4804,139 @@ msgid "Dummy plugin to test room game" msgstr "" -#: src/tools/misc.py:58 +#: src/tools/config.py:51 +#, python-format +msgid "Testing file %s" +msgstr "" + +#: src/tools/config.py:68 +#, python-format +msgid "" +"Config auto-update: %(option)s set to %(value)s in the file %(config_file)s" +msgstr "" + +#: src/tools/config.py:77 +msgid "Can't read main config !" +msgstr "" + +#: src/tools/trigger.py:63 #, python-format msgid "There is already a bound priority [%s]" msgstr "" -#: src/tools/misc.py:60 +#: src/tools/trigger.py:65 #, python-format msgid "There is already a trigger with the same priority [%s]" msgstr "" -#: src/tools/xml_tools.py:177 +#: src/tools/xml_tools.py:60 +msgid "Fixed field has neither value nor label, ignoring it" +msgstr "" + +#: src/tools/xml_tools.py:296 msgid "INTERNAL ERROR: parameters xml not valid" msgstr "" -#: src/tools/xml_tools.py:186 +#: src/tools/xml_tools.py:305 msgid "INTERNAL ERROR: params categories must have a name" msgstr "" -#: src/tools/xml_tools.py:194 +#: src/tools/xml_tools.py:314 msgid "INTERNAL ERROR: params must have a name" msgstr "" -#: src/tools/xml_tools.py:276 +#: src/tools/xml_tools.py:357 +msgid "The 'options' tag is not allowed in parameter of type 'list'!" +msgstr "" + +#: src/tools/xml_tools.py:433 msgid "TabElement must be a child of TabsContainer" msgstr "" -#: src/tools/xml_tools.py:316 +#: src/tools/xml_tools.py:532 msgid "Can't set row index if auto_index is True" msgstr "" -#: src/tools/xml_tools.py:416 +#: src/tools/xml_tools.py:645 msgid "either items or columns need do be filled" msgstr "" -#: src/tools/xml_tools.py:429 +#: src/tools/xml_tools.py:658 msgid "Headers lenght doesn't correspond to columns" msgstr "" -#: src/tools/xml_tools.py:475 +#: src/tools/xml_tools.py:704 msgid "Incorrect number of items in list" msgstr "" -#: src/tools/xml_tools.py:578 +#: src/tools/xml_tools.py:862 +msgid "Value must be an integer" +msgstr "" + +#: src/tools/xml_tools.py:877 msgid "Value must be 0, 1, false or true" msgstr "" -#: src/tools/xml_tools.py:612 +#: src/tools/xml_tools.py:927 msgid "empty \"options\" list" msgstr "" -#: src/tools/xml_tools.py:614 +#: src/tools/xml_tools.py:929 src/tools/xml_tools.py:963 msgid "invalid styles" msgstr "" -#: src/tools/xml_tools.py:652 +#: src/tools/xml_tools.py:985 +msgid "DialogElement must be a direct child of TopElement" +msgstr "" + +#: src/tools/xml_tools.py:997 +msgid "MessageElement must be a direct child of DialogElement" +msgstr "" + +#: src/tools/xml_tools.py:1009 +msgid "ButtonsElement must be a direct child of DialogElement" +msgstr "" + +#: src/tools/xml_tools.py:1020 +msgid "FileElement must be a direct child of DialogElement" +msgstr "" + +#: src/tools/xml_tools.py:1076 #, python-format msgid "Unknown panel type [%s]" msgstr "" -#: src/tools/xml_tools.py:654 +#: src/tools/xml_tools.py:1078 msgid "form XMLUI need a submit_id" msgstr "" -#: src/tools/xml_tools.py:656 +#: src/tools/xml_tools.py:1080 msgid "container argument must be a string" msgstr "" -#: src/tools/xml_tools.py:748 +#: src/tools/xml_tools.py:1082 +msgid "dialog_opt can only be used with dialog panels" +msgstr "" + +#: src/tools/xml_tools.py:1124 +msgid "addXXX can't be used with dialogs" +msgstr "" + +#: src/tools/xml_tools.py:1182 +msgid "Submit ID must be filled for this kind of dialog" +msgstr "" + +#: src/tools/xml_tools.py:1209 #, python-format msgid "Unknown container type [%s]" msgstr "" -#: src/tools/xml_tools.py:767 +#: src/tools/xml_tools.py:1229 #, python-format msgid "Invalid type [%s]" msgstr "" + +#: src/twisted/plugins/sat_plugin.py:58 +#, python-format +msgid "%s XMPP client backend" +msgstr "" diff -r f472179305a1 -r d246666ebe25 src/plugins/plugin_xep_0045.py --- a/src/plugins/plugin_xep_0045.py Sun Mar 05 23:41:10 2017 +0100 +++ b/src/plugins/plugin_xep_0045.py Mon Mar 06 21:22:59 2017 +0100 @@ -421,7 +421,9 @@ try: room_jid = jid.JID(room_jid_s) except (RuntimeError, jid.InvalidFormat, AttributeError): - return defer.fail(jid.InvalidFormat(_(u"Invalid room identifier: '%s'. Please give a room short or full identifier like 'room' or 'room@%s'.") % (room_jid_s, unicode(muc_service)))) + return defer.fail(jid.InvalidFormat(_(u"Invalid room identifier: {room_id}'. Please give a room short or full identifier like 'room' or 'room@{muc_service}'.").format( + room_id=room_jid_s, + muc_service=unicode(muc_service)))) if not room_jid.user: room_jid.user, room_jid.host = room_jid.host, muc_service else: