From 7147e3e027a8f7fd79f7cacd144807cf11cb1b8e Mon Sep 17 00:00:00 2001 From: Griatch Date: Sat, 29 May 2021 18:30:20 +0200 Subject: [PATCH] Prepare all .po files for updating by volunteers --- docs/source/Concepts/Internationalization.md | 102 +- docs/source/Contributing-Docs.md | 67 +- evennia/locale/es/LC_MESSAGES/django.po | 1093 +++++++++++-- evennia/locale/fr/LC_MESSAGES/django.po | 1088 +++++++++++-- evennia/locale/it/LC_MESSAGES/django.po | 1095 ++++++++++--- evennia/locale/ko/LC_MESSAGES/django.po | 1110 +++++++++++-- evennia/locale/la/LC_MESSAGES/django.po | 1134 ++++++++++--- evennia/locale/pl/LC_MESSAGES/django.po | 1048 ++++++++++-- evennia/locale/pt/LC_MESSAGES/django.po | 1153 ++++++++++++-- evennia/locale/ru/LC_MESSAGES/django.po | 1428 +++++++++++++---- evennia/locale/sv/LC_MESSAGES/django.mo | Bin 3041 -> 28707 bytes evennia/locale/sv/LC_MESSAGES/django.po | 28 +- evennia/locale/zh/LC_MESSAGES/django.po | 1505 ++++++++++++++---- evennia/objects/objects.py | 24 +- evennia/scripts/scripthandler.py | 14 +- 15 files changed, 9116 insertions(+), 1773 deletions(-) diff --git a/docs/source/Concepts/Internationalization.md b/docs/source/Concepts/Internationalization.md index 8b42dc319a..be216b1b38 100644 --- a/docs/source/Concepts/Internationalization.md +++ b/docs/source/Concepts/Internationalization.md @@ -10,7 +10,6 @@ vary a lot depending on when they were last updated. Below are all languages (besides English) with som level of support. Generally, any language not updated after May 2021 will be missing translations. - ```eval_rst +---------------+----------------------+--------------+ @@ -26,15 +25,15 @@ updated after May 2021 will be missing translations. +---------------+----------------------+--------------+ | la | Latin | Feb 2021 | +---------------+----------------------+--------------+ -| po | Polish | Feb 2019 | +| pl | Polish | Feb 2019 | +---------------+----------------------+--------------+ | pt | Portugese | Dec 2015 | +---------------+----------------------+--------------+ -| ru-RU | Russian (Russia) | Apr 2020 | +| ru | Russian (Russia) | Apr 2020 | +---------------+----------------------+--------------+ | sv | Swedish | June 2021 | +---------------+----------------------+--------------+ -| zh-Hans | Chinese (simplified) | May 2019 | +| zh | Chinese (simplified) | May 2019 | +---------------+----------------------+--------------+ ``` @@ -62,39 +61,23 @@ the server to activate i18n. Even for a 'fully translated' language you will still see English text in many places when you start Evennia. This is because we expect you (the developer) to know English (you are reading this manual after all). So we - translate hard-coded strings that the end player may see - things you can't - easily change from your mygame/ folder. Outputs from Commands and - Typeclasses are generally not translated, nor are command/log outputs - - and these are likely to be the brunt of the text the player will see. + translate *hard-coded strings that the end player may see* - things you + can't easily change from your mygame/ folder. Outputs from Commands and + Typeclasses are generally *not* translated, nor are console/log outputs. ``` -> Windows Note: If you get errors concerning `gettext` or `xgettext` on Windows, -> see the -> [Django documentation](https://docs.djangoproject.com/en/3.2/topics/i18n/translation/#gettext-on-windows). -> A self-installing and up-to-date version of gettext for Windows (32/64-bit) is -> available on [Github](https://github.com/mlocati/gettext-iconv-windows). +```sidebar:: Windows users + If you get errors concerning `gettext` or `xgettext` on Windows, + see the `Django documentation `_ + A self-installing and up-to-date version of gettext for Windows (32/64-bit) is + available on `Github `_ + +``` ## Translating Evennia -```important:: - - Evennia offers translations of hard-coded strings in the server, things like - "Connection closed" or "Server restarted", strings that end users will see and - which game devs are not supposed to change on their own. Text you see in the log - file or on the command line/log are *not* translated. - - In addition, text in default Commands and in default Typeclasses will *not* be - translated by switching *i18n* language. To translate Commands and Typeclass - hooks you must overload them in your game directory and translate their returns - to the language you want. This is because from Evennia's perspective, adding - *i18n* code to commands tend to add complexity to code that is *meant* to be - changed anyway. One of the goals of Evennia is to keep the user-changeable code - as clean and easy- to-read as possible. - -``` - Translations are found in the core `evennia/` library, under `evennia/evennia/locale/`. You must make sure to have cloned this repository from [Evennia's github](github:evennia) before you can proceed. @@ -104,8 +87,8 @@ has translated it yet. Alternatively you might have the language but find the translation bad ... You are welcome to help improve the situation! To start a new translation you need to first have cloned the Evennia repositry -with GIT and activated a python virtualenv as described on the [Setup -Quickstart](../Setup/Setup-Quickstart) page. +with GIT and activated a python virtualenv as described on the +[Setup Quickstart](../Setup/Setup-Quickstart) page. Go to `evennia/evennia/` - that is, not your game dir, but inside the `evennia/` repo itself. If you see the `locale/` folder you are in the right place. Make @@ -127,25 +110,52 @@ command will not overwrite any existing strings so you can run it as much as you want. Next head to `locale//LC_MESSAGES` and edit the `**.po` file you -find there. You can edit this with a normal text editor but it is easiest if +find there. You can edit this with a normal text editor but it is easiest if you use a special po-file editor from the web (search the web for "po editor" -for many free alternatives). +for many free alternatives), for example: + + - [gtranslator](https://wiki.gnome.org/Apps/Gtranslator) + - [poeditor](https://poeditor.com/) The concept of translating is simple, it's just a matter of taking the english strings you find in the `**.po` file and add your language's translation best -you can. The `**.po` format (and many supporting editors) allow you to mark -translations as "fuzzy". This tells the system (and future translators) that you -are unsure about the translation, or that you couldn't find a translation that -exactly matched the intention of the original text. Other translators will see -this and might be able to improve it later. Finally, you need to compile your -translation into a more efficient form. Do so from the `evennia` folder again: +you can. Once you are done, run - evennia compilemessages + `evennia compilemessages` -This will go through all languages and create/update compiled files (`**.mo`) -for them. This needs to be done whenever a `**.po` file is updated. +This will compile all languages. Check your language and also check back to your +`.po` file in case the process updated it - you may need to fill in some missing +header fields and should usually note who did the translation. When you are done, make sure that everyone can benefit from your translation! -Make a PR against Evennia with the updated `**.po` and `*.mo` files. Less -ideally (if git is not your thing) you can also attach them to a new post in our -forums. +Make a PR against Evennia with the updated `**.po` file. Less ideally (if git is +not your thing) you can also attach it to a new post in our forums. + +### Hints on translation + +Many of the translation strings use `{ ... }` placeholders. This is because they +are to be used in `.format()` python operations. While you can change the +_order_ of these if it makes more sense in your language, you must _not_ +translate the variables in these formatting tags - Python will look for them! + + Original: "|G{key} connected|n" + Swedish: "|G{key} anslöt|n" + +You must also retain line breaks _at the start and end_ of a message, if any +(your po-editor should stop you if you don't). Try to also end with the same +sentence delimiter (if that makes sense in your language). + + Original: "\n(Unsuccessfull tried '{path}')." + Swedish: "\nMisslyckades med att nå '{path}')." + +Finally, try to get a feel for who a string is for. If a special technical term +is used it may be more confusing than helpful to translate it, even if it's +outside of a `{...}` tag. Even though the result is a mix of your language and +English, clarity is more important. Many languages may also use the English term +normally and reaching for a translation may make the result sound awkward +instead. + + Original: "\nError loading cmdset: No cmdset class '{classname}' in '{path}'. + \n(Traceback was logged {timestamp})" + Swedish: "Fel medan cmdset laddades: Ingen cmdset-klass med namn '{classname}' i {path}. + \n(Traceback loggades {timestamp})" diff --git a/docs/source/Contributing-Docs.md b/docs/source/Contributing-Docs.md index c8872ba267..6d7f4b5c44 100644 --- a/docs/source/Contributing-Docs.md +++ b/docs/source/Contributing-Docs.md @@ -13,41 +13,41 @@ Markdown files are simple text files that can be edited with a normal text edito contain raw HTML directives (but that is very rarely needed). They primarly use the [Markdown][commonmark] syntax. See [the syntax section below](#Editing-syntax) for more help. -## Source file structure +## Source file structure The sources are organized into several rough categories, with only a few administrative documents -at the root of `evennia/docs/source/`. The folders are named in singular form since they will +at the root of `evennia/docs/source/`. The folders are named in singular form since they will primarily be accessed as link refs (e.g. `Component/Account`) - `source/Components/` are docs describing separate Evennia building blocks, that is, things that you can import and use. This extends and elaborates on what can be found out by reading the api docs themselves. Example are documentation for `Accounts`, `Objects` and `Commands`. -- `source/Concepts/` describes how larger-scale features of Evennia hang together - things that - can't easily be broken down into one isolated component. This can be general descriptions of - how Models and Typeclasses interact to the path a message takes from the client to the server +- `source/Concepts/` describes how larger-scale features of Evennia hang together - things that + can't easily be broken down into one isolated component. This can be general descriptions of + how Models and Typeclasses interact to the path a message takes from the client to the server and back. -- `source/Setup/` holds detailed docs on installing, running and maintaining the Evennia server and - the infrastructure around it. -- `source/Coding/` has help on how to interact with, use and navigate the Evennia codebase itself. +- `source/Setup/` holds detailed docs on installing, running and maintaining the Evennia server and + the infrastructure around it. +- `source/Coding/` has help on how to interact with, use and navigate the Evennia codebase itself. This also has non-Evennia-specific help on general development concepts and how to set up a sane development environment. - `source/Contribs/` holds documentation specifically for packages in the `evennia/contribs/` folder. Any contrib-specific tutorials will be found here instead of in `Howtos` -- `source/Howtos/` holds docs that describe how to achieve a specific goal, effect or - result in Evennia. This is often on a tutorial or FAQ form and will refer to the rest of the +- `source/Howtos/` holds docs that describe how to achieve a specific goal, effect or + result in Evennia. This is often on a tutorial or FAQ form and will refer to the rest of the documentation for further reading. - `source/Howtos/Starting/` holds all documents part of the initial tutorial sequence. - - + + Other files and folders: - `source/api/` contains the auto-generated API documentation as `.rst` files. Don't edit these - files manually, your changes will be lost. To refer to these files, use `api:` followed by - the Python path, for example `[rpsystem contrib](api:evennia.contrib.rpsystem)`. - - `source/_templates` and `source/_static` should not be modified unless adding a new doc-page + files manually, your changes will be lost. To refer to these files, use `api:` followed by + the Python path, for example `[rpsystem contrib](api:evennia.contrib.rpsystem)`. + - `source/_templates` and `source/_static` should not be modified unless adding a new doc-page feature or changing the look of the HTML documentation. - `conf.py` holds the Sphinx configuration. It should usually not be modified except to update the Evennia version on a new branch. - + ## Building the docs locally @@ -103,12 +103,12 @@ initialize a new game with a default database (you don't need to have any server running) - It's recommended that you use a virtualenv. Install your cloned version of Evennia into -by pointing to the repo folder (the one containing `/docs`): +by pointing to the repo folder (the one containing `/docs`): ``` - pip install -e evennia + pip install -e evennia ``` - + - Make sure you are in the parent folder _containing_ your `evennia/` repo (so _two_ levels up from `evennia/docs/`). - Create a new game folder called exactly `gamedir` at the same level as your `evennia` @@ -118,8 +118,8 @@ repo with evennia --init gamedir ``` -- Then `cd` into it and create a new, empty database. You don't need to start the -game or do any further changes after this. +- Then `cd` into it and create a new, empty database. You don't need to start the +game or do any further changes after this. ``` evennia migrate @@ -234,7 +234,7 @@ smaller and smaller font). > Don't use the same heading/subheading name more than once in one page. While Markdown does not prevent it, it will make it impossible to refer to that heading uniquely. -The Evennia documentation preparser will detect this and give you an error. +The Evennia documentation preparser will detect this and give you an error. ### Lists @@ -313,7 +313,7 @@ The Evennia documentation supports some special reference shortcuts in links: ##### Github online repository -- `github:` - a shortcut for the full path to the Evennia repository on github. This must be given +- `github:` - a shortcut for the full path to the Evennia repository on github. This must be given with forward-slashes and include the `.py` file ending. It will refer to the `master` branch by default: [link to objects.py](github:evennia/objects/objects.py) @@ -337,8 +337,8 @@ with forward-slashes and include the `.py` file ending. It will refer to the `ma ##### Bug reports/feature request -- `github:issue` - links to the github issue selection page, where the user can choose which type of - issue to create. +- `github:issue` - links to the github issue selection page, where the user can choose which type of + issue to create. If you find a problem, make a [bug report](github:issue)! @@ -402,7 +402,7 @@ as the name of the `language` of a literal block: ```` ```eval_rst - This will be evaluated as ReST. + This will be evaluated as ReST. All content must be indented. ``` @@ -420,14 +420,15 @@ There is also a short-hand form for starting a [ReST directive][ReST-directives] ``` ```` -Within a ReST block, one must use Restructured Text syntax, which is not the same as Markdown. +Within a ReST block, one must use Restructured Text syntax, which is not the +same as Markdown. - Single backticks around text makes it _italic_. - Double backticks around text makes it `verbatim`. - A link is written within back-ticks, with an underscore at the end: `python `_ - + [Here is a ReST formatting cheat sheet](https://thomas-cokelaer.info/tutorials/sphinx/rest_syntax.html). Below are examples of ReST-block structures. @@ -554,7 +555,7 @@ a plain HTML string in the markdown like so: #### Tables -A table is specified using [ReST table syntax][ReST-tables] (they don't need to be indented): +A table is specified using [ReST table syntax][ReST-tables] (they don't need to be indented): ```` ```eval_rst @@ -610,7 +611,7 @@ or the more flexible but verbose #### A more flexible code block The regular Markdown Python codeblock is usually enough but for more direct control over the style, one -can also specify the code block explicitly in `ReST` for more flexibility. +can also specify the code block explicitly in `ReST` for more flexibility. It also provides a link to the code block, identified by its name. @@ -659,11 +660,11 @@ lines or captions since that's not a part of the Markdown specification. ## Code documentation The source code docstrings will be parsed as Markdown. When writing a module docstring, you can use Markdown formatting, -including header levels down to 4th level (`#### SubSubSubHeader`). After the module documentation it's -a good idea to end with four dashes `----`. This will create a visible line between the documentation and the +including header levels down to 4th level (`#### SubSubSubHeader`). After the module documentation it's +a good idea to end with four dashes `----`. This will create a visible line between the documentation and the class/function docs to follow. See for example [the Traits docs](api:evennia.contrib.traits). -All non-private classes, methods and functions must have a Google-style docstring, as per the +All non-private classes, methods and functions must have a Google-style docstring, as per the [Evennia coding style guidelines][github:evennia/CODING_STYLE.md]. This will then be correctly formatted into pretty api docs. diff --git a/evennia/locale/es/LC_MESSAGES/django.po b/evennia/locale/es/LC_MESSAGES/django.po index 9ed06e43bc..ae09bedc92 100644 --- a/evennia/locale/es/LC_MESSAGES/django.po +++ b/evennia/locale/es/LC_MESSAGES/django.po @@ -7,44 +7,187 @@ msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-08-16 15:54-0300\n" +"POT-Creation-Date: 2021-05-29 16:24+0000\n" "PO-Revision-Date: 2019-08-16 16:14-0300\n" +"Last-Translator: \n" +"Language-Team: \n" "Language: es\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -"Last-Translator: \n" -"Language-Team: \n" "X-Generator: Poedit 2.2.1\n" -#: evennia/accounts/accounts.py:784 +#: accounts/accounts.py:321 +#, python-brace-format +msgid "|c{key}|R is already puppeted by another Account." +msgstr "" + +#: accounts/accounts.py:515 +msgid "Too many login failures; please try again in a few minutes." +msgstr "" + +#: accounts/accounts.py:528 accounts/accounts.py:789 +msgid "" +"|rYou have been banned and cannot continue from here.\n" +"If you feel this ban is in error, please email an admin.|x" +msgstr "" + +#: accounts/accounts.py:540 +msgid "Username and/or password is incorrect." +msgstr "" + +#: accounts/accounts.py:547 +msgid "Too many authentication failures." +msgstr "" + +#: accounts/accounts.py:760 +msgid "" +"You are creating too many accounts. Please log into an existing account." +msgstr "" + +#: accounts/accounts.py:805 +msgid "" +"There was an error creating the Account. If this problem persists, contact " +"an admin." +msgstr "" + +#: accounts/accounts.py:839 accounts/accounts.py:1751 +msgid "An error occurred. Please e-mail an admin if the problem persists." +msgstr "" + +#: accounts/accounts.py:866 msgid "Account being deleted." msgstr "Cuenta siendo eliminada." -#: evennia/commands/cmdhandler.py:680 +#: accounts/accounts.py:1417 accounts/accounts.py:1768 +#, python-brace-format +msgid "|G{key} connected|n" +msgstr "" + +#: accounts/accounts.py:1424 accounts/accounts.py:1431 +#, fuzzy +#| msgid "The destination doesn't exist." +msgid "The Character does not exist." +msgstr "El destino no existe." + +#: accounts/accounts.py:1470 +#, python-brace-format +msgid "|R{key} disconnected{reason}|n" +msgstr "" + +#: accounts/accounts.py:1704 +msgid "Guest accounts are not enabled on this server." +msgstr "" + +#: accounts/accounts.py:1714 +msgid "All guest accounts are in use. Please try again later." +msgstr "" + +#: commands/cmdhandler.py:83 +msgid "" +"\n" +"An untrapped error occurred.\n" +msgstr "" + +#: commands/cmdhandler.py:86 +msgid "" +"\n" +"An untrapped error occurred. Please file a bug report detailing the steps to " +"reproduce.\n" +msgstr "" + +#: commands/cmdhandler.py:92 +msgid "" +"\n" +"A cmdset merger-error occurred. This is often due to a syntax\n" +"error in one of the cmdsets to merge.\n" +msgstr "" + +#: commands/cmdhandler.py:96 +msgid "" +"\n" +"A cmdset merger-error occurred. Please file a bug report detailing the\n" +"steps to reproduce.\n" +msgstr "" + +#: commands/cmdhandler.py:103 +msgid "" +"\n" +"No command sets found! This is a critical bug that can have\n" +"multiple causes.\n" +msgstr "" + +#: commands/cmdhandler.py:107 +msgid "" +"\n" +"No command sets found! This is a sign of a critical bug. If\n" +"disconnecting/reconnecting doesn't\" solve the problem, try to contact\n" +"the server admin through\" some other means for assistance.\n" +msgstr "" + +#: commands/cmdhandler.py:115 +msgid "" +"\n" +"A command handler bug occurred. If this is not due to a local change,\n" +"please file a bug report with the Evennia project, including the\n" +"traceback and steps to reproduce.\n" +msgstr "" + +#: commands/cmdhandler.py:120 +msgid "" +"\n" +"A command handler bug occurred. Please notify staff - they should\n" +"likely file a bug report with the Evennia project.\n" +msgstr "" + +#: commands/cmdhandler.py:127 +#, python-brace-format +msgid "" +"Command recursion limit ({recursion_limit}) reached for " +"'{raw_cmdname}' ({cmdclass})." +msgstr "" + +#: commands/cmdhandler.py:149 +#, fuzzy, python-brace-format +#| msgid "" +#| "{traceback}\n" +#| "Error loading cmdset '{path}'\n" +#| "(Traceback was logged {timestamp})" +msgid "" +"{traceback}\n" +"{errmsg}\n" +"(Traceback was logged {timestamp})." +msgstr "" +"{traceback}\n" +"Error cargando cmdset '{path}'\n" +"(Traceback fue guardado en {timestamp})" + +#: commands/cmdhandler.py:699 msgid "There were multiple matches." msgstr "Hubo varias coincidencias." -#: evennia/commands/cmdhandler.py:703 -#, python-format -msgid "Command '%s' is not available." +#: commands/cmdhandler.py:724 +#, fuzzy, python-brace-format +#| msgid "Command '%s' is not available." +msgid "Command '{command}' is not available." msgstr "El comando '%s' no está disponible." -#: evennia/commands/cmdhandler.py:708 -#, python-format -msgid " Maybe you meant %s?" +#: commands/cmdhandler.py:734 +#, fuzzy, python-brace-format +#| msgid " Maybe you meant %s?" +msgid " Maybe you meant {command}?" msgstr " ¿Quizás quisiste decir %s?" -#: evennia/commands/cmdhandler.py:708 +#: commands/cmdhandler.py:735 msgid "or" msgstr "o" -#: evennia/commands/cmdhandler.py:710 +#: commands/cmdhandler.py:738 msgid " Type \"help\" for help." msgstr " Escribe \"ayuda\" para obtener ayuda." -#: evennia/commands/cmdsethandler.py:89 +#: commands/cmdsethandler.py:89 #, python-brace-format msgid "" "{traceback}\n" @@ -55,7 +198,7 @@ msgstr "" "Error cargando cmdset '{path}'\n" "(Traceback fue guardado en {timestamp})" -#: evennia/commands/cmdsethandler.py:94 +#: commands/cmdsethandler.py:95 #, python-brace-format msgid "" "Error loading cmdset: No cmdset class '{classname}' in '{path}'.\n" @@ -65,7 +208,7 @@ msgstr "" "'{path}'.\n" "(Traceback guardado en {timestamp})" -#: evennia/commands/cmdsethandler.py:98 +#: commands/cmdsethandler.py:100 #, python-brace-format msgid "" "{traceback}\n" @@ -76,18 +219,22 @@ msgstr "" "SyntaxError encontrado al cargar cmdset '{path}'.\n" "(Traceback guardado en {timestamp})" -#: evennia/commands/cmdsethandler.py:103 -#, python-brace-format +#: commands/cmdsethandler.py:106 +#, fuzzy, python-brace-format +#| msgid "" +#| "{traceback}\n" +#| "Compile/Run error when loading cmdset '{path}'.\",\n" +#| "(Traceback was logged {timestamp})" msgid "" "{traceback}\n" -"Compile/Run error when loading cmdset '{path}'.\",\n" +"Compile/Run error when loading cmdset '{path}'.\n" "(Traceback was logged {timestamp})" msgstr "" "{traceback}\n" "Error al compilar/ejecutar cmdset '{path}'.\",\n" "(Traceback guardado en {timestamp})" -#: evennia/commands/cmdsethandler.py:108 +#: commands/cmdsethandler.py:112 #, python-brace-format msgid "" "\n" @@ -98,156 +245,301 @@ msgstr "" "Error encontrado para el cmdset en la dirección '{path}'.\n" "Reemplazando con '{fallback_path}'.\n" -#: evennia/commands/cmdsethandler.py:114 +#: commands/cmdsethandler.py:118 #, python-brace-format msgid "Fallback path '{fallback_path}' failed to generate a cmdset." msgstr "El fallback '{fallback_path}' falló al generar un cmdset." -#: evennia/commands/cmdsethandler.py:182 evennia/commands/cmdsethandler.py:192 -#, python-format +#: commands/cmdsethandler.py:188 commands/cmdsethandler.py:200 +#, fuzzy, python-brace-format +#| msgid "" +#| "\n" +#| "(Unsuccessfully tried '%s')." msgid "" "\n" -"(Unsuccessfully tried '%s')." +"(Unsuccessfully tried '{path}')." msgstr "" "\n" "(Intentado sin sucesso '%s')." -#: evennia/commands/cmdsethandler.py:311 +#: commands/cmdsethandler.py:331 #, python-brace-format msgid "custom {mergetype} on cmdset '{cmdset}'" msgstr "{mergetype} personalizado en cmdset '{cmdset}'" -#: evennia/commands/cmdsethandler.py:314 -#, python-brace-format -msgid " : {current}" -msgstr " : {current}" - -#: evennia/commands/cmdsethandler.py:322 -#, python-brace-format -msgid "" -" <{key} ({mergetype}, prio {prio}, {permstring})>:\n" -" {keylist}" -msgstr "" -" <{key} ({mergetype}, prio {prio}, {permstring})>:\n" -" {keylist}" - -#: evennia/commands/cmdsethandler.py:426 +#: commands/cmdsethandler.py:459 msgid "Only CmdSets can be added to the cmdsethandler!" msgstr "¡Sólo CmdSets pueden ser añadidos a cmdsethandler!" -#: evennia/comms/channelhandler.py:100 -msgid "Say what?" -msgstr "¿Qué dijiste?" - -#: evennia/comms/channelhandler.py:105 -#, python-format -msgid "Channel '%s' not found." -msgstr "Canal '%s' no encontrado." - -#: evennia/comms/channelhandler.py:108 -#, python-format -msgid "You are not connected to channel '%s'." -msgstr "No estás conectado al canal '%s'." - -#: evennia/comms/channelhandler.py:112 -#, python-format -msgid "You are not permitted to send to channel '%s'." -msgstr "No tienes permitido enviar al canal '%s'." - -#: evennia/comms/channelhandler.py:155 -msgid " (channel)" -msgstr " (canal)" - -#: evennia/locks/lockhandler.py:236 -#, python-format -msgid "Lock: lock-function '%s' is not available." +#: locks/lockhandler.py:238 +#, fuzzy, python-brace-format +#| msgid "Lock: lock-function '%s' is not available." +msgid "Lock: lock-function '{lockfunc}' is not available." msgstr "Bloqueo: función de bloqueo '%s' no está disponible." -#: evennia/locks/lockhandler.py:249 -#, python-format -msgid "Lock: definition '%s' has syntax errors." +#: locks/lockhandler.py:259 +#, fuzzy, python-brace-format +#| msgid "Lock: definition '%s' has syntax errors." +msgid "Lock: definition '{lock_string}' has syntax errors." msgstr "Bloqueo: la definición '%s' tiene errores de sintaxis." -#: evennia/locks/lockhandler.py:253 -#, python-format +#: locks/lockhandler.py:267 +#, fuzzy, python-brace-format +#| msgid "" +#| "LockHandler on %(obj)s: access type '%(access_type)s' changed from " +#| "'%(source)s' to '%(goal)s' " msgid "" -"LockHandler on %(obj)s: access type '%(access_type)s' changed from " -"'%(source)s' to '%(goal)s' " +"LockHandler on {obj}: access type '{access_type}' changed from '{source}' to " +"'{goal}' " msgstr "" "LockHandler en %(obj)s: tipo de acceso '%(access_type)s' cambiado " "de'%(source)s' to '%(goal)s' " -#: evennia/locks/lockhandler.py:320 +#: locks/lockhandler.py:341 #, python-brace-format msgid "Lock: '{lockdef}' contains no colon (:)." msgstr "Bloqueo: '{lockdef}' no tiene dos puntos (:)." -#: evennia/locks/lockhandler.py:328 +#: locks/lockhandler.py:350 #, python-brace-format msgid "Lock: '{lockdef}' has no access_type (left-side of colon is empty)." msgstr "" "Bloqueo: '{lockdef}' no tiene access_type (el lado de la izquierda de los " "dos puntos está vacío)." -#: evennia/locks/lockhandler.py:336 +#: locks/lockhandler.py:358 #, python-brace-format msgid "Lock: '{lockdef}' has mismatched parentheses." msgstr "Bloqueo: '{lockdef}' tiene paréntesis que no se relacionan." -#: evennia/locks/lockhandler.py:343 +#: locks/lockhandler.py:365 #, python-brace-format msgid "Lock: '{lockdef}' has no valid lock functions." msgstr "Bloqueo: '{lockdef}' no tiene funciones de bloqueo válidas." -#: evennia/objects/objects.py:744 -#, python-format -msgid "Couldn't perform move ('%s'). Contact an admin." +#: objects/objects.py:871 +#, fuzzy, python-brace-format +#| msgid "Couldn't perform move ('%s'). Contact an admin." +msgid "Couldn't perform move ({err}). Contact an admin." msgstr "No se puede realizar el movimiento ('%s'). Contacta a un admin." -#: evennia/objects/objects.py:754 +#: objects/objects.py:881 msgid "The destination doesn't exist." msgstr "El destino no existe." -#: evennia/objects/objects.py:845 -#, python-format -msgid "Could not find default home '(#%d)'." +#: objects/objects.py:974 +#, fuzzy, python-brace-format +#| msgid "Could not find default home '(#%d)'." +msgid "Could not find default home '(#{dbid})'." msgstr "No se puede encontrar el hogar por defecto '(#%d)'." -#: evennia/objects/objects.py:861 +#: objects/objects.py:988 msgid "Something went wrong! You are dumped into nowhere. Contact an admin." msgstr "¡Algo salió mal! Estás en la nada. Contacta a un admin." -#: evennia/objects/objects.py:1003 -#, python-format -msgid "Your character %s has been destroyed." +#: objects/objects.py:1138 +#, fuzzy, python-brace-format +#| msgid "Your character %s has been destroyed." +msgid "Your character {key} has been destroyed." msgstr "Tu personaje %s ha sido destruído." -#: evennia/scripts/scripthandler.py:53 -#, python-format +#: objects/objects.py:1546 +#, python-brace-format +msgid "You now have {name} in your possession." +msgstr "" + +#: objects/objects.py:1555 +#, python-brace-format +msgid "{object} arrives to {destination} from {origin}." +msgstr "" + +#: objects/objects.py:1557 +#, python-brace-format +msgid "{object} arrives to {destination}." +msgstr "" + +#: objects/objects.py:2165 +msgid "Invalid character name." +msgstr "" + +#: objects/objects.py:2184 +msgid "There are too many characters associated with this account." +msgstr "" + +#: objects/objects.py:2210 +#, fuzzy +#| msgid "This is User #1." +msgid "This is a character." +msgstr "Este es el Usuario #1." + +#: objects/objects.py:2296 +#, python-brace-format +msgid "|r{obj} has no location and no home is set.|n" +msgstr "" + +#: objects/objects.py:2315 +#, python-brace-format msgid "" "\n" -" '%(key)s' (%(next_repeat)s/%(interval)s, %(repeats)s repeats): %(desc)s" +"You become |c{name}|n.\n" +msgstr "" + +#: objects/objects.py:2319 +#, python-brace-format +msgid "{name} has entered the game." +msgstr "" + +#: objects/objects.py:2343 +#, python-brace-format +msgid "{name} has left the game." +msgstr "" + +#: objects/objects.py:2461 +#, fuzzy +#| msgid "This is User #1." +msgid "This is a room." +msgstr "Este es el Usuario #1." + +#: objects/objects.py:2667 +#, fuzzy +#| msgid "This is User #1." +msgid "This is an exit." +msgstr "Este es el Usuario #1." + +#: objects/objects.py:2764 +msgid "You cannot go there." +msgstr "" + +#: prototypes/prototypes.py:57 +msgid "Error" +msgstr "" + +#: prototypes/prototypes.py:58 +msgid "Warning" +msgstr "" + +#: prototypes/prototypes.py:263 +msgid "Prototype requires a prototype_key" +msgstr "" + +#: prototypes/prototypes.py:271 prototypes/prototypes.py:339 +#, python-brace-format +msgid "{protkey} is a read-only prototype (defined as code in {module})." +msgstr "" + +#: prototypes/prototypes.py:346 +#, python-brace-format +msgid "Prototype {prototype_key} was not found." +msgstr "" + +#: prototypes/prototypes.py:353 +#, python-brace-format +msgid "" +"{caller} needs explicit 'edit' permissions to delete prototype " +"{prototype_key}." +msgstr "" + +#: prototypes/prototypes.py:455 +#, python-brace-format +msgid "Found {num} matching prototypes {module_prototypes}." +msgstr "" + +#: prototypes/prototypes.py:615 +msgid "No prototypes found." +msgstr "" + +#: prototypes/prototypes.py:666 +msgid "Prototype lacks a 'prototype_key'." +msgstr "" + +#: prototypes/prototypes.py:675 +#, python-brace-format +msgid "Prototype {protkey} requires `typeclass` or 'prototype_parent'." +msgstr "" + +#: prototypes/prototypes.py:680 +#, python-brace-format +msgid "" +"Prototype {protkey} can only be used as a mixin since it lacks 'typeclass' " +"or 'prototype_parent' keys." +msgstr "" + +#: prototypes/prototypes.py:689 +#, python-brace-format +msgid "" +"{err}: Prototype {protkey} is based on typeclass {typeclass}, which could " +"not be imported!" +msgstr "" + +#: prototypes/prototypes.py:699 +#, python-brace-format +msgid "Prototype {protkey} tries to parent itself." +msgstr "" + +#: prototypes/prototypes.py:704 +#, python-brace-format +msgid "Prototype {protkey}'s prototype_parent '{parent}' was not found." +msgstr "" + +#: prototypes/prototypes.py:709 +#, python-brace-format +msgid "{protkey} has infinite nesting of prototypes." +msgstr "" + +#: prototypes/prototypes.py:729 +#, python-brace-format +msgid "" +"Prototype {protkey} has no `typeclass` defined anywhere in its parent\n" +" chain. Add `typeclass`, or a `prototype_parent` pointing to a prototype " +"with a typeclass." +msgstr "" + +#: prototypes/spawner.py:473 +#, python-brace-format +msgid "" +"Diff contains non-dicts that are not on the form (old, new, action_to_take): " +"{diffpart}" +msgstr "" + +#: scripts/scripthandler.py:51 +#, fuzzy, python-brace-format +#| msgid "" +#| "\n" +#| " '%(key)s' (%(next_repeat)s/%(interval)s, %(repeats)s repeats): %(desc)s" +msgid "" +"\n" +" '{key}' ({next_repeat}/{interval}, {repeats} repeats): {desc}" msgstr "" "\n" " '%(key)s' (%(next_repeat)s/%(interval)s, %(repeats)s repite): %(desc)s" -#: evennia/scripts/scripts.py:198 -#, python-format -msgid "" -"Script %(key)s(#%(dbid)s) of type '%(cname)s': at_repeat() error '%(err)s'." +#: scripts/scripts.py:329 +#, fuzzy, python-brace-format +#| msgid "" +#| "Script %(key)s(#%(dbid)s) of type '%(cname)s': at_repeat() error " +#| "'%(err)s'." +msgid "Script {key}(#{dbid}) of type '{name}': at_repeat() error '{err}'." msgstr "" "El script %(key)s(#%(dbid)s) del tipo '%(cname)s': at_repeat() dio error " "'%(err)s'." -#: evennia/server/initial_setup.py:28 +#: server/initial_setup.py:28 +#, fuzzy +#| msgid "" +#| "\n" +#| "Welcome to your new |wEvennia|n-based game! Visit http://www.evennia.com " +#| "if you need\n" +#| "help, want to contribute, report issues or just join the community.\n" +#| "As Account #1 you can create a demo/tutorial area with |w@batchcommand " +#| "tutorial_world.build|n.\n" +#| " " msgid "" "\n" -"Welcome to your new |wEvennia|n-based game! Visit http://www.evennia.com if " +"Welcome to your new |wEvennia|n-based game! Visit https://www.evennia.com if " "you need\n" "help, want to contribute, report issues or just join the community.\n" -"As Account #1 you can create a demo/tutorial area with |w@batchcommand " -"tutorial_world.build|n.\n" -" " +"As Account #1 you can create a demo/tutorial area with '|wbatchcommand " +"tutorial_world.build|n'.\n" msgstr "" "\n" "Bienvenid@ a tu nuevo |wJuego basado en Evennia! Visita http://www.evennia." @@ -258,91 +550,632 @@ msgstr "" "w@batchcommand tutorial_world.build|n.\n" " " -#: evennia/server/initial_setup.py:92 +#: server/initial_setup.py:92 msgid "This is User #1." msgstr "Este es el Usuario #1." -#: evennia/server/initial_setup.py:105 +#: server/initial_setup.py:108 msgid "Limbo" msgstr "Limbo" -#: evennia/server/server.py:141 +#: server/portal/portalsessionhandler.py:40 +#, python-brace-format +msgid "" +"{servername} DoS protection is active. You are queued to connect in {num} " +"seconds ..." +msgstr "" + +#: server/server.py:152 msgid "idle timeout exceeded" msgstr "tiempo sin actividad excedido" -#: evennia/server/sessionhandler.py:392 +#: server/sessionhandler.py:42 +msgid "Your client sent an incorrect UTF-8 sequence." +msgstr "" + +#: server/sessionhandler.py:399 msgid " ... Server restarted." msgstr " ... El servidor se reinició." -#: evennia/server/sessionhandler.py:620 +#: server/sessionhandler.py:623 msgid "Logged in from elsewhere. Disconnecting." msgstr "Sesión iniciada desde otro lugar. Desconectando." -#: evennia/server/sessionhandler.py:648 +#: server/sessionhandler.py:652 msgid "Idle timeout exceeded, disconnecting." msgstr "Tiempo sin actividad excedido, desconectando." -#: evennia/server/validators.py:29 +#: server/throttle.py:21 +msgid "" +"Too many failed attempts; you must wait a few minutes before trying again." +msgstr "" + +#: server/validators.py:31 msgid "Sorry, that username is reserved." msgstr "Perdón, ese nombre de usuario ya está reservado." -#: evennia/server/validators.py:37 +#: server/validators.py:38 msgid "Sorry, that username is already taken." msgstr "Perdón, ese nombre de usuario ya está siendo usado." -#: evennia/server/validators.py:89 -#, python-format +#: server/validators.py:88 +#, fuzzy, python-brace-format +#| msgid "" +#| "%s From a terminal client, you can also use a phrase of multiple words if " +#| "you enclose the password in double quotes." msgid "" -"%s From a terminal client, you can also use a phrase of multiple words if " -"you enclose the password in double quotes." +"{policy} From a terminal client, you can also use a phrase of multiple words " +"if you enclose the password in double quotes." msgstr "" "%s Desde un cliente de terminal, puedes usar una frase con múltiples " "palabras si encierras la contraseña en comillas dobles." -#: evennia/utils/evmenu.py:192 +#: utils/eveditor.py:67 +msgid "" +"\n" +" - any non-command is appended to the end of the buffer.\n" +" : - view buffer or only line(s) \n" +" :: - raw-view buffer or only line(s) \n" +" ::: - escape - enter ':' as the only character on the line.\n" +" :h - this help.\n" +"\n" +" :w - save the buffer (don't quit)\n" +" :wq - save buffer and quit\n" +" :q - quit (will be asked to save if buffer was changed)\n" +" :q! - quit without saving, no questions asked\n" +"\n" +" :u - (undo) step backwards in undo history\n" +" :uu - (redo) step forward in undo history\n" +" :UU - reset all changes back to initial state\n" +"\n" +" :dd - delete last line or line(s) \n" +" :dw - delete word or regex in entire buffer or on line \n" +" :DD - clear entire buffer\n" +"\n" +" :y - yank (copy) line(s) to the copy buffer\n" +" :x - cut line(s) and store it in the copy buffer\n" +" :p - put (paste) previously copied line(s) directly after \n" +" :i - insert new text at line . Old line will move " +"down\n" +" :r - replace line with text \n" +" :I - insert text at the beginning of line \n" +" :A - append text after the end of line \n" +"\n" +" :s - search/replace word or regex in buffer or on line " +"\n" +"\n" +" :j - justify buffer or line . is f, c, l or r. Default f " +"(full)\n" +" :f - flood-fill entire buffer or line : Equivalent to :j left\n" +" :fi - indent entire buffer or line \n" +" :fd - de-indent entire buffer or line \n" +"\n" +" :echo - turn echoing of the input on/off (helpful for some clients)\n" +msgstr "" + +#: utils/eveditor.py:105 +msgid "" +"\n" +" Legend:\n" +" - line number, like '5' or range, like '3:7'.\n" +" - a single word, or multiple words with quotes around them.\n" +" - longer string, usually not needing quotes.\n" +msgstr "" + +#: utils/eveditor.py:112 +msgid "" +"\n" +" :! - Execute code buffer without saving\n" +" :< - Decrease the level of automatic indentation for the next lines\n" +" :> - Increase the level of automatic indentation for the next lines\n" +" := - Switch automatic indentation on/off\n" +msgstr "" + +#: utils/eveditor.py:121 #, python-brace-format msgid "" -"Menu node '{nodename}' is either not implemented or caused an error. Make " -"another choice." +"\n" +"{error}\n" +"\n" +"|rBuffer load function error. Could not load initial data.|n\n" msgstr "" -"Nodo del menú '{nodename}' no está implementado o causó un error. " -"Selecciona otra opción." -#: evennia/utils/evmenu.py:194 +#: utils/eveditor.py:127 +#, python-brace-format +msgid "" +"\n" +"{error}\n" +"\n" +"|rSave function returned an error. Buffer not saved.|n\n" +msgstr "" + +#: utils/eveditor.py:133 +msgid "|rNo save function defined. Buffer cannot be saved.|n" +msgstr "" + +#: utils/eveditor.py:135 +msgid "No changes need saving" +msgstr "" + +#: utils/eveditor.py:136 +msgid "Exited editor." +msgstr "" + +#: utils/eveditor.py:138 +#, python-brace-format +msgid "" +"\n" +"{error}\n" +"\n" +"|rQuit function gave an error. Skipping.|n\n" +msgstr "" + +#: utils/eveditor.py:144 +#, python-brace-format +msgid "" +"\n" +"{error}\n" +"\n" +"|rThe editor state could not be saved for persistent mode. Switching\n" +"to non-persistent mode (which means the editor session won't survive\n" +"an eventual server reload - so save often!)|n\n" +msgstr "" + +#: utils/eveditor.py:153 +msgid "" +"EvEditor persistent-mode error. Commonly, this is because one or more of the " +"EvEditor callbacks could not be pickled, for example because it's a class " +"method or is defined inside another function." +msgstr "" + +#: utils/eveditor.py:159 +msgid "Nothing to undo." +msgstr "" + +#: utils/eveditor.py:160 +msgid "Nothing to redo." +msgstr "" + +#: utils/eveditor.py:161 +msgid "Undid one step." +msgstr "" + +#: utils/eveditor.py:162 +msgid "Redid one step." +msgstr "" + +#: utils/eveditor.py:480 +msgid "Single ':' added to buffer." +msgstr "" + +#: utils/eveditor.py:495 +msgid "Save before quitting?" +msgstr "" + +#: utils/eveditor.py:510 +msgid "Reverted all changes to the buffer back to original state." +msgstr "" + +#: utils/eveditor.py:515 +#, python-brace-format +msgid "Deleted {string}." +msgstr "" + +#: utils/eveditor.py:520 +msgid "You must give a search word to delete." +msgstr "" + +#: utils/eveditor.py:525 +#, python-brace-format +msgid "Removed {arg1} for lines {l1}-{l2}." +msgstr "" + +#: utils/eveditor.py:528 +#, python-brace-format +msgid "Removed {arg1} for {line}." +msgstr "" + +#: utils/eveditor.py:544 +#, python-brace-format +msgid "Cleared {nlines} lines from buffer." +msgstr "" + +#: utils/eveditor.py:549 +#, python-brace-format +msgid "{line}, {cbuf} yanked." +msgstr "" + +#: utils/eveditor.py:556 +#, python-brace-format +msgid "{line}, {cbuf} cut." +msgstr "" + +#: utils/eveditor.py:560 +msgid "Copy buffer is empty." +msgstr "" + +#: utils/eveditor.py:564 +#, python-brace-format +msgid "Pasted buffer {cbuf} to {line}." +msgstr "" + +#: utils/eveditor.py:570 +msgid "You need to enter a new line and where to insert it." +msgstr "" + +#: utils/eveditor.py:574 +#, python-brace-format +msgid "Inserted {num} new line(s) at {line}." +msgstr "" + +#: utils/eveditor.py:580 +msgid "You need to enter a replacement string." +msgstr "" + +#: utils/eveditor.py:584 +#, python-brace-format +msgid "Replaced {num} line(s) at {line}." +msgstr "" + +#: utils/eveditor.py:589 +msgid "You need to enter text to insert." +msgstr "" + +#: utils/eveditor.py:597 +#, python-brace-format +msgid "Inserted text at beginning of {line}." +msgstr "" + +#: utils/eveditor.py:601 +msgid "You need to enter text to append." +msgstr "" + +#: utils/eveditor.py:609 +#, python-brace-format +msgid "Appended text to end of {line}." +msgstr "" + +#: utils/eveditor.py:614 +msgid "You must give a search word and something to replace it with." +msgstr "" + +#: utils/eveditor.py:620 +#, python-brace-format +msgid "Search-replaced {arg1} -> {arg2} for lines {l1}-{l2}." +msgstr "" + +#: utils/eveditor.py:625 +#, python-brace-format +msgid "Search-replaced {arg1} -> {arg2} for {line}." +msgstr "" + +#: utils/eveditor.py:648 +#, python-brace-format +msgid "Flood filled lines {l1}-{l2}." +msgstr "" + +#: utils/eveditor.py:651 +#, python-brace-format +msgid "Flood filled {line}." +msgstr "" + +#: utils/eveditor.py:673 +msgid "Valid justifications are" +msgstr "" + +#: utils/eveditor.py:681 +#, python-brace-format +msgid "{align}-justified lines {l1}-{l2}." +msgstr "" + +#: utils/eveditor.py:684 +#, python-brace-format +msgid "{align}-justified {line}." +msgstr "" + +#: utils/eveditor.py:696 +#, python-brace-format +msgid "Indented lines {l1}-{l2}." +msgstr "" + +#: utils/eveditor.py:698 +#, python-brace-format +msgid "Indented {line}." +msgstr "" + +#: utils/eveditor.py:707 +#, python-brace-format +msgid "Removed left margin (dedented) lines {l1}-{l2}." +msgstr "" + +#: utils/eveditor.py:710 +#, python-brace-format +msgid "Removed left margin (dedented) {line}." +msgstr "" + +#: utils/eveditor.py:718 +#, python-brace-format +msgid "Echo mode set to {mode}" +msgstr "" + +#: utils/eveditor.py:723 utils/eveditor.py:736 utils/eveditor.py:749 +#: utils/eveditor.py:760 +msgid "This command is only available in code editor mode." +msgstr "" + +#: utils/eveditor.py:731 +#, python-brace-format +msgid "Decreased indentation: new indentation is {indent}." +msgstr "" + +#: utils/eveditor.py:734 utils/eveditor.py:747 +msgid "|rManual indentation is OFF.|n Use := to turn it on." +msgstr "" + +#: utils/eveditor.py:744 +#, python-brace-format +msgid "Increased indentation: new indentation is {indent}." +msgstr "" + +#: utils/eveditor.py:756 +msgid "Auto-indentation turned on." +msgstr "" + +#: utils/eveditor.py:758 +msgid "Auto-indentation turned off." +msgstr "" + +#: utils/eveditor.py:913 +msgid "|rNote: input buffer was converted to a string.|n" +msgstr "" + +#: utils/eveditor.py:1050 +#, python-brace-format +msgid "Line Editor [{name}]" +msgstr "" + +#: utils/eveditor.py:1058 +msgid "(:h for help)" +msgstr "" + +#: utils/evmenu.py:302 +#, fuzzy, python-brace-format +#| msgid "" +#| "Menu node '{nodename}' is either not implemented or caused an error. Make " +#| "another choice." +msgid "" +"Menu node '{nodename}' is either not implemented or caused an error. Make " +"another choice or try 'q' to abort." +msgstr "" +"Nodo del menú '{nodename}' no está implementado o causó un error. Selecciona " +"otra opción." + +#: utils/evmenu.py:305 #, python-brace-format msgid "Error in menu node '{nodename}'." msgstr "Error en el nodo del menú '{nodename}'." -#: evennia/utils/evmenu.py:195 +#: utils/evmenu.py:306 msgid "No description." msgstr "Sin descripción." -#: evennia/utils/evmenu.py:196 +#: utils/evmenu.py:307 msgid "Commands: , help, quit" msgstr "Comandos: , help, quit" -#: evennia/utils/evmenu.py:197 +#: utils/evmenu.py:308 msgid "Commands: , help" msgstr "Comandos: , help" -#: evennia/utils/evmenu.py:198 +#: utils/evmenu.py:309 msgid "Commands: help, quit" msgstr "Comandos: help, quit" -#: evennia/utils/evmenu.py:199 +#: utils/evmenu.py:310 msgid "Commands: help" msgstr "Comandos: help" -#: evennia/utils/evmenu.py:200 +#: utils/evmenu.py:311 utils/evmenu.py:1842 msgid "Choose an option or try 'help'." msgstr "Elige una opción o intenta 'help'." -#: evennia/utils/utils.py:1877 -#, python-format -msgid "Could not find '%s'." +#: utils/evmenu.py:1383 +msgid "|rInvalid choice.|n" +msgstr "" + +#: utils/evmenu.py:1441 +msgid "|Wcurrent|n" +msgstr "" + +#: utils/evmenu.py:1449 +msgid "|wp|Wrevious page|n" +msgstr "" + +#: utils/evmenu.py:1456 +msgid "|wn|Wext page|n" +msgstr "" + +#: utils/evmenu.py:1690 +msgid "Aborted." +msgstr "" + +#: utils/evmenu.py:1713 +msgid "|rError in ask_yes_no. Choice not confirmed (report to admin)|n" +msgstr "" + +#: utils/evmore.py:235 +msgid "Exited |wmore|n pager." +msgstr "" + +#: utils/optionhandler.py:138 utils/optionhandler.py:162 +msgid "Option not found!" +msgstr "" + +#: utils/optionhandler.py:159 +msgid "Option field blank!" +msgstr "" + +#: utils/optionhandler.py:164 +#, fuzzy +#| msgid "There were multiple matches." +msgid "Multiple matches:" +msgstr "Hubo varias coincidencias." + +#: utils/optionhandler.py:166 +msgid "Please be more specific." +msgstr "" + +#: utils/utils.py:2219 +#, fuzzy, python-brace-format +#| msgid "Could not find '%s'." +msgid "Could not find '{query}'." msgstr "No se pudo encontrar '%s'." -#: evennia/utils/utils.py:1884 -#, python-format -msgid "More than one match for '%s' (please narrow target):\n" +#: utils/utils.py:2226 +#, fuzzy, python-brace-format +#| msgid "More than one match for '%s' (please narrow target):\n" +msgid "More than one match for '{query}' (please narrow target):\n" msgstr "Más de una coincidencia para '%s' (por favor sé más específico):\n" + +#: utils/validatorfuncs.py:25 +#, python-brace-format +msgid "Input could not be converted to text ({err})" +msgstr "" + +#: utils/validatorfuncs.py:34 +#, python-brace-format +msgid "Nothing entered for a {option_key}!" +msgstr "" + +#: utils/validatorfuncs.py:37 +#, python-brace-format +msgid "'{entry}' is not a valid {option_key}." +msgstr "" + +#: utils/validatorfuncs.py:62 utils/validatorfuncs.py:223 +#, python-brace-format +msgid "No {option_key} entered!" +msgstr "" + +#: utils/validatorfuncs.py:71 +#, python-brace-format +msgid "Timezone string '{acct_tz}' is not a valid timezone ({err})" +msgstr "" + +#: utils/validatorfuncs.py:88 utils/validatorfuncs.py:96 +#, python-brace-format +msgid "{option_key} must be entered in a 24-hour format such as: {timeformat}" +msgstr "" + +#: utils/validatorfuncs.py:140 +#, python-brace-format +msgid "Could not convert section '{interval}' to a {option_key}." +msgstr "" + +#: utils/validatorfuncs.py:150 +#, python-brace-format +msgid "That {option_key} is in the past! Must give a Future datetime!" +msgstr "" + +#: utils/validatorfuncs.py:157 +#, python-brace-format +msgid "Must enter a whole number for {option_key}!" +msgstr "" + +#: utils/validatorfuncs.py:162 +#, python-brace-format +msgid "Could not convert '{entry}' to a whole number for {option_key}!" +msgstr "" + +#: utils/validatorfuncs.py:171 +#, python-brace-format +msgid "Must enter a whole number greater than 0 for {option_key}!" +msgstr "" + +#: utils/validatorfuncs.py:179 +#, python-brace-format +msgid "{option_key} must be a whole number greater than or equal to 0!" +msgstr "" + +#: utils/validatorfuncs.py:197 +#, python-brace-format +msgid "Must enter a true/false input for {option_key}. Accepts {alternatives}." +msgstr "" + +#: utils/validatorfuncs.py:227 +#, python-brace-format +msgid "That matched: {matches}. Please be more specific!" +msgstr "" + +#: utils/validatorfuncs.py:231 +#, python-brace-format +msgid "Could not find timezone '{entry}' for {option_key}!" +msgstr "" + +#: utils/validatorfuncs.py:237 +msgid "Email address field empty!" +msgstr "" + +#: utils/validatorfuncs.py:240 +#, python-brace-format +msgid "That isn't a valid {option_key}!" +msgstr "" + +#: utils/validatorfuncs.py:247 +#, python-brace-format +msgid "No {option_key} entered to set!" +msgstr "" + +#: utils/validatorfuncs.py:251 +msgid "Must enter an access type!" +msgstr "" + +#: utils/validatorfuncs.py:254 +#, python-brace-format +msgid "Access type must be one of: {alternatives}" +msgstr "" + +#: utils/validatorfuncs.py:257 +msgid "Lock func not entered." +msgstr "" + +#: web/templates/admin/app_list.html:19 +msgid "Add" +msgstr "" + +#: web/templates/admin/app_list.html:26 +msgid "View" +msgstr "" + +#: web/templates/admin/app_list.html:28 +msgid "Change" +msgstr "" + +#: web/templates/admin/app_list.html:39 +msgid "You don’t have permission to view or edit anything." +msgstr "" + +#~ msgid " : {current}" +#~ msgstr " : {current}" + +#~ msgid "" +#~ " <{key} ({mergetype}, prio {prio}, {permstring})>:\n" +#~ " {keylist}" +#~ msgstr "" +#~ " <{key} ({mergetype}, prio {prio}, {permstring})>:\n" +#~ " {keylist}" + +#~ msgid "Say what?" +#~ msgstr "¿Qué dijiste?" + +#~ msgid "Channel '%s' not found." +#~ msgstr "Canal '%s' no encontrado." + +#~ msgid "You are not connected to channel '%s'." +#~ msgstr "No estás conectado al canal '%s'." + +#~ msgid "You are not permitted to send to channel '%s'." +#~ msgstr "No tienes permitido enviar al canal '%s'." + +#~ msgid " (channel)" +#~ msgstr " (canal)" diff --git a/evennia/locale/fr/LC_MESSAGES/django.po b/evennia/locale/fr/LC_MESSAGES/django.po index baf3d3d13c..04561c9835 100644 --- a/evennia/locale/fr/LC_MESSAGES/django.po +++ b/evennia/locale/fr/LC_MESSAGES/django.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-11-22 08:45+0100\n" +"POT-Creation-Date: 2021-05-29 16:24+0000\n" "PO-Revision-Date: 2016-03-04 11:51-0500\n" "Last-Translator: \n" "Language-Team: \n" @@ -18,34 +18,175 @@ msgstr "" "Plural-Forms: nplurals=2; plural=(n > 1);\n" "X-Generator: Poedit 1.7.6\n" -#: .\accounts\accounts.py:440 +#: accounts/accounts.py:321 +#, python-brace-format +msgid "|c{key}|R is already puppeted by another Account." +msgstr "" + +#: accounts/accounts.py:515 +msgid "Too many login failures; please try again in a few minutes." +msgstr "" + +#: accounts/accounts.py:528 accounts/accounts.py:789 +msgid "" +"|rYou have been banned and cannot continue from here.\n" +"If you feel this ban is in error, please email an admin.|x" +msgstr "" + +#: accounts/accounts.py:540 +msgid "Username and/or password is incorrect." +msgstr "" + +#: accounts/accounts.py:547 +msgid "Too many authentication failures." +msgstr "" + +#: accounts/accounts.py:760 +msgid "" +"You are creating too many accounts. Please log into an existing account." +msgstr "" + +#: accounts/accounts.py:805 +msgid "" +"There was an error creating the Account. If this problem persists, contact " +"an admin." +msgstr "" + +#: accounts/accounts.py:839 accounts/accounts.py:1751 +msgid "An error occurred. Please e-mail an admin if the problem persists." +msgstr "" + +#: accounts/accounts.py:866 #, fuzzy msgid "Account being deleted." msgstr "Suppression du compte." -#: .\commands\cmdhandler.py:681 +#: accounts/accounts.py:1417 accounts/accounts.py:1768 +#, python-brace-format +msgid "|G{key} connected|n" +msgstr "" + +#: accounts/accounts.py:1424 accounts/accounts.py:1431 +#, fuzzy +#| msgid "The destination doesn't exist." +msgid "The Character does not exist." +msgstr "La destination est inconnue." + +#: accounts/accounts.py:1470 +#, python-brace-format +msgid "|R{key} disconnected{reason}|n" +msgstr "" + +#: accounts/accounts.py:1704 +msgid "Guest accounts are not enabled on this server." +msgstr "" + +#: accounts/accounts.py:1714 +msgid "All guest accounts are in use. Please try again later." +msgstr "" + +#: commands/cmdhandler.py:83 +msgid "" +"\n" +"An untrapped error occurred.\n" +msgstr "" + +#: commands/cmdhandler.py:86 +msgid "" +"\n" +"An untrapped error occurred. Please file a bug report detailing the steps to " +"reproduce.\n" +msgstr "" + +#: commands/cmdhandler.py:92 +msgid "" +"\n" +"A cmdset merger-error occurred. This is often due to a syntax\n" +"error in one of the cmdsets to merge.\n" +msgstr "" + +#: commands/cmdhandler.py:96 +msgid "" +"\n" +"A cmdset merger-error occurred. Please file a bug report detailing the\n" +"steps to reproduce.\n" +msgstr "" + +#: commands/cmdhandler.py:103 +msgid "" +"\n" +"No command sets found! This is a critical bug that can have\n" +"multiple causes.\n" +msgstr "" + +#: commands/cmdhandler.py:107 +msgid "" +"\n" +"No command sets found! This is a sign of a critical bug. If\n" +"disconnecting/reconnecting doesn't\" solve the problem, try to contact\n" +"the server admin through\" some other means for assistance.\n" +msgstr "" + +#: commands/cmdhandler.py:115 +msgid "" +"\n" +"A command handler bug occurred. If this is not due to a local change,\n" +"please file a bug report with the Evennia project, including the\n" +"traceback and steps to reproduce.\n" +msgstr "" + +#: commands/cmdhandler.py:120 +msgid "" +"\n" +"A command handler bug occurred. Please notify staff - they should\n" +"likely file a bug report with the Evennia project.\n" +msgstr "" + +#: commands/cmdhandler.py:127 +#, python-brace-format +msgid "" +"Command recursion limit ({recursion_limit}) reached for " +"'{raw_cmdname}' ({cmdclass})." +msgstr "" + +#: commands/cmdhandler.py:149 +#, fuzzy, python-brace-format +#| msgid "" +#| "{traceback}\n" +#| "Error loading cmdset '{path}'\n" +#| "(Traceback was logged {timestamp})" +msgid "" +"{traceback}\n" +"{errmsg}\n" +"(Traceback was logged {timestamp})." +msgstr "" +"{traceback}\n" +"Une erreur s'est produite lors du chargement du cmdset '{path}'\n" +"(Référence de l'erreur : {timestamp})" + +#: commands/cmdhandler.py:699 msgid "There were multiple matches." msgstr "Il y a plusieurs correspondances possibles." -#: .\commands\cmdhandler.py:704 -#, python-format +#: commands/cmdhandler.py:724 +#, python-brace-format msgid "Command '{command}' is not available." msgstr "La commande '{command}' n'est pas disponible." -#: .\commands\cmdhandler.py:709 -#, python-format +#: commands/cmdhandler.py:734 +#, python-brace-format msgid " Maybe you meant {command}?" msgstr " Vouliez-vous dire {command} ?" -#: .\commands\cmdhandler.py:709 +#: commands/cmdhandler.py:735 msgid "or" msgstr "ou" -#: .\commands\cmdhandler.py:711 +#: commands/cmdhandler.py:738 msgid " Type \"help\" for help." msgstr " Tapez \"help\" pour obtenir de l'aide." -#: .\commands\cmdsethandler.py:89 +#: commands/cmdsethandler.py:89 #, python-brace-format msgid "" "{traceback}\n" @@ -56,18 +197,18 @@ msgstr "" "Une erreur s'est produite lors du chargement du cmdset '{path}'\n" "(Référence de l'erreur : {timestamp})" -#: .\commands\cmdsethandler.py:94 +#: commands/cmdsethandler.py:95 #, fuzzy, python-brace-format msgid "" "Error loading cmdset: No cmdset class '{classname}' in '{path}'.\n" "(Traceback was logged {timestamp})" msgstr "" "\n" -"Une erreur s'est produite lors du chargement de cmdset : la classe cmdset '{classname}' est introuvable dans " -"{path}.\n" +"Une erreur s'est produite lors du chargement de cmdset : la classe cmdset " +"'{classname}' est introuvable dans {path}.\n" "(Référence de l'erreur : {timestamp})" -#: .\commands\cmdsethandler.py:98 +#: commands/cmdsethandler.py:100 #, fuzzy, python-brace-format msgid "" "{traceback}\n" @@ -78,11 +219,11 @@ msgstr "" "Erreur de syntaxe lors du chargement de cmdset '{path}' : \"{error}\".\n" "(Référence de l'erreur : {timestamp})" -#: .\commands\cmdsethandler.py:103 +#: commands/cmdsethandler.py:106 #, fuzzy, python-brace-format msgid "" "{traceback}\n" -"Compile/Run error when loading cmdset '{path}'.\",\n" +"Compile/Run error when loading cmdset '{path}'.\n" "(Traceback was logged {timestamp})" msgstr "" "\n" @@ -90,7 +231,7 @@ msgstr "" "\"{error}\".\n" "(Référence de l'erreur : {timestamp})" -#: .\commands\cmdsethandler.py:108 +#: commands/cmdsethandler.py:112 #, python-brace-format msgid "" "\n" @@ -101,245 +242,932 @@ msgstr "" "Une erreur a été rencontrée lors du chargement du cmdset '{path}'.\n" "Le cmdset '{fallback_path}' est utilisé en remplacement.\n" -#: .\commands\cmdsethandler.py:114 +#: commands/cmdsethandler.py:118 #, python-brace-format msgid "Fallback path '{fallback_path}' failed to generate a cmdset." msgstr "Impossible de générer le cmdset de remplacement : '{fallback_path}'." -#: .\commands\cmdsethandler.py:182 .\commands\cmdsethandler.py:192 -#, fuzzy, python-format +#: commands/cmdsethandler.py:188 commands/cmdsethandler.py:200 +#, fuzzy, python-brace-format msgid "" "\n" -"(Unsuccessfully tried '%s')." +"(Unsuccessfully tried '{path}')." msgstr "" "\n" "(Essayé sans succès '%s.' + '%s.%s')." -#: .\commands\cmdsethandler.py:311 +#: commands/cmdsethandler.py:331 #, python-brace-format msgid "custom {mergetype} on cmdset '{cmdset}'" msgstr "custom {mergetype} sur cmdset '{cmdset}'" -#: .\commands\cmdsethandler.py:314 -#, python-brace-format -msgid " : {current}" -msgstr " : {current}" - -#: .\commands\cmdsethandler.py:322 -#, python-brace-format -msgid "" -" <{key} ({mergetype}, prio {prio}, {permstring})>:\n" -" {keylist}" -msgstr "" -" <{key} ({mergetype}, prio {prio}, {permstring})>:\n" -" {keylist}" - -#: .\commands\cmdsethandler.py:426 +#: commands/cmdsethandler.py:459 msgid "Only CmdSets can be added to the cmdsethandler!" msgstr "Seuls des CmdSets peuvent être ajoutés au cmdsethandler !" -#: .\comms\channelhandler.py:100 -msgid "Say what?" -msgstr "Que voulez-vous dire ?" - -#: .\comms\channelhandler.py:105 -#, python-format -msgid "Channel '%s' not found." -msgstr "Le canal '%s' ne semble pas exister." - -#: .\comms\channelhandler.py:108 -#, python-format -msgid "You are not connected to channel '%s'." -msgstr "Vous n'êtes pas connecté au canal '%s'." - -#: .\comms\channelhandler.py:112 -#, python-format -msgid "You are not permitted to send to channel '%s'." -msgstr "Vous n'avez pas le droit de parler sur le canal '%s'." - -#: .\comms\channelhandler.py:155 -msgid " (channel)" -msgstr " (canal)" - -#: .\locks\lockhandler.py:236 -#, python-format -msgid "Lock: lock-function '%s' is not available." +#: locks/lockhandler.py:238 +#, fuzzy, python-brace-format +#| msgid "Lock: lock-function '%s' is not available." +msgid "Lock: lock-function '{lockfunc}' is not available." msgstr "Verrou : lock-function '%s' n'est pas disponible." -#: .\locks\lockhandler.py:249 -#, python-format -msgid "Lock: definition '%s' has syntax errors." +#: locks/lockhandler.py:259 +#, fuzzy, python-brace-format +#| msgid "Lock: definition '%s' has syntax errors." +msgid "Lock: definition '{lock_string}' has syntax errors." msgstr "Verrou : la définition '%s' a des erreurs de syntaxe." -#: .\locks\lockhandler.py:253 -#, python-format +#: locks/lockhandler.py:267 +#, fuzzy, python-brace-format +#| msgid "" +#| "LockHandler on %(obj)s: access type '%(access_type)s' changed from " +#| "'%(source)s' to '%(goal)s' " msgid "" -"LockHandler on %(obj)s: access type '%(access_type)s' changed from " -"'%(source)s' to '%(goal)s' " +"LockHandler on {obj}: access type '{access_type}' changed from '{source}' to " +"'{goal}' " msgstr "" "Gestionnaire de verrous sur %(obj)s: type d'accès '%(access_type)s' a changé " "de '%(source)s' à '%(goal)s'" -#: .\locks\lockhandler.py:320 +#: locks/lockhandler.py:341 #, fuzzy, python-brace-format msgid "Lock: '{lockdef}' contains no colon (:)." msgstr "Verrou : '%s' ne contient pas de deux points (:)." -#: .\locks\lockhandler.py:328 +#: locks/lockhandler.py:350 #, fuzzy, python-brace-format msgid "Lock: '{lockdef}' has no access_type (left-side of colon is empty)." msgstr "" "Verrou : '%s' n'a pas de 'access_type' (il n'y a rien avant les deux points)." -#: .\locks\lockhandler.py:336 +#: locks/lockhandler.py:358 #, fuzzy, python-brace-format msgid "Lock: '{lockdef}' has mismatched parentheses." msgstr "Verrou : '%s' a des parenthèses déséquilibrées." -#: .\locks\lockhandler.py:343 +#: locks/lockhandler.py:365 #, fuzzy, python-brace-format msgid "Lock: '{lockdef}' has no valid lock functions." msgstr "Verrou : '%s' n'a pas de lock-function valide." -#: .\objects\objects.py:729 -#, python-format -msgid "Couldn't perform move ('%s'). Contact an admin." -msgstr "Impossible de se déplacer vers ('%s'). Veuillez contacter un administrateur." +#: objects/objects.py:871 +#, fuzzy, python-brace-format +#| msgid "Couldn't perform move ('%s'). Contact an admin." +msgid "Couldn't perform move ({err}). Contact an admin." +msgstr "" +"Impossible de se déplacer vers ('%s'). Veuillez contacter un administrateur." -#: .\objects\objects.py:739 +#: objects/objects.py:881 msgid "The destination doesn't exist." msgstr "La destination est inconnue." -#: .\objects\objects.py:830 -#, python-format -msgid "Could not find default home '(#%d)'." -msgstr "Impossible de trouver la salle de départ (default home) par défaut : '#%d'." +#: objects/objects.py:974 +#, fuzzy, python-brace-format +#| msgid "Could not find default home '(#%d)'." +msgid "Could not find default home '(#{dbid})'." +msgstr "" +"Impossible de trouver la salle de départ (default home) par défaut : '#%d'." -#: .\objects\objects.py:846 +#: objects/objects.py:988 msgid "Something went wrong! You are dumped into nowhere. Contact an admin." msgstr "" "Quelque chose a mal tourné ! Vous vous trouvez au milieu de nulle part. " "Veuillez contacter un administrateur." -#: .\objects\objects.py:912 -#, python-format -msgid "Your character %s has been destroyed." +#: objects/objects.py:1138 +#, fuzzy, python-brace-format +#| msgid "Your character %s has been destroyed." +msgid "Your character {key} has been destroyed." msgstr "Votre personnage %s a été détruit." -#: .\scripts\scripthandler.py:53 -#, python-format +#: objects/objects.py:1546 +#, python-brace-format +msgid "You now have {name} in your possession." +msgstr "" + +#: objects/objects.py:1555 +#, python-brace-format +msgid "{object} arrives to {destination} from {origin}." +msgstr "" + +#: objects/objects.py:1557 +#, python-brace-format +msgid "{object} arrives to {destination}." +msgstr "" + +#: objects/objects.py:2165 +msgid "Invalid character name." +msgstr "" + +#: objects/objects.py:2184 +msgid "There are too many characters associated with this account." +msgstr "" + +#: objects/objects.py:2210 +#, fuzzy +#| msgid "This is User #1." +msgid "This is a character." +msgstr "C'est l'utilisateur #1." + +#: objects/objects.py:2296 +#, python-brace-format +msgid "|r{obj} has no location and no home is set.|n" +msgstr "" + +#: objects/objects.py:2315 +#, python-brace-format msgid "" "\n" -" '%(key)s' (%(next_repeat)s/%(interval)s, %(repeats)s repeats): %(desc)s" +"You become |c{name}|n.\n" +msgstr "" + +#: objects/objects.py:2319 +#, python-brace-format +msgid "{name} has entered the game." +msgstr "" + +#: objects/objects.py:2343 +#, python-brace-format +msgid "{name} has left the game." +msgstr "" + +#: objects/objects.py:2461 +#, fuzzy +#| msgid "This is User #1." +msgid "This is a room." +msgstr "C'est l'utilisateur #1." + +#: objects/objects.py:2667 +#, fuzzy +#| msgid "This is User #1." +msgid "This is an exit." +msgstr "C'est l'utilisateur #1." + +#: objects/objects.py:2764 +msgid "You cannot go there." +msgstr "" + +#: prototypes/prototypes.py:57 +msgid "Error" +msgstr "" + +#: prototypes/prototypes.py:58 +msgid "Warning" +msgstr "" + +#: prototypes/prototypes.py:263 +msgid "Prototype requires a prototype_key" +msgstr "" + +#: prototypes/prototypes.py:271 prototypes/prototypes.py:339 +#, python-brace-format +msgid "{protkey} is a read-only prototype (defined as code in {module})." +msgstr "" + +#: prototypes/prototypes.py:346 +#, python-brace-format +msgid "Prototype {prototype_key} was not found." +msgstr "" + +#: prototypes/prototypes.py:353 +#, python-brace-format +msgid "" +"{caller} needs explicit 'edit' permissions to delete prototype " +"{prototype_key}." +msgstr "" + +#: prototypes/prototypes.py:455 +#, python-brace-format +msgid "Found {num} matching prototypes {module_prototypes}." +msgstr "" + +#: prototypes/prototypes.py:615 +msgid "No prototypes found." +msgstr "" + +#: prototypes/prototypes.py:666 +msgid "Prototype lacks a 'prototype_key'." +msgstr "" + +#: prototypes/prototypes.py:675 +#, python-brace-format +msgid "Prototype {protkey} requires `typeclass` or 'prototype_parent'." +msgstr "" + +#: prototypes/prototypes.py:680 +#, python-brace-format +msgid "" +"Prototype {protkey} can only be used as a mixin since it lacks 'typeclass' " +"or 'prototype_parent' keys." +msgstr "" + +#: prototypes/prototypes.py:689 +#, python-brace-format +msgid "" +"{err}: Prototype {protkey} is based on typeclass {typeclass}, which could " +"not be imported!" +msgstr "" + +#: prototypes/prototypes.py:699 +#, python-brace-format +msgid "Prototype {protkey} tries to parent itself." +msgstr "" + +#: prototypes/prototypes.py:704 +#, python-brace-format +msgid "Prototype {protkey}'s prototype_parent '{parent}' was not found." +msgstr "" + +#: prototypes/prototypes.py:709 +#, python-brace-format +msgid "{protkey} has infinite nesting of prototypes." +msgstr "" + +#: prototypes/prototypes.py:729 +#, python-brace-format +msgid "" +"Prototype {protkey} has no `typeclass` defined anywhere in its parent\n" +" chain. Add `typeclass`, or a `prototype_parent` pointing to a prototype " +"with a typeclass." +msgstr "" + +#: prototypes/spawner.py:473 +#, python-brace-format +msgid "" +"Diff contains non-dicts that are not on the form (old, new, action_to_take): " +"{diffpart}" +msgstr "" + +#: scripts/scripthandler.py:51 +#, fuzzy, python-brace-format +#| msgid "" +#| "\n" +#| " '%(key)s' (%(next_repeat)s/%(interval)s, %(repeats)s repeats): %(desc)s" +msgid "" +"\n" +" '{key}' ({next_repeat}/{interval}, {repeats} repeats): {desc}" msgstr "" "\n" " '%(key)s' (%(next_repeat)s/%(interval)s, %(repeats)s répète) : %(desc)s" -#: .\scripts\scripts.py:205 -#, python-format -msgid "" -"Script %(key)s(#%(dbid)s) of type '%(cname)s': at_repeat() error '%(err)s'." +#: scripts/scripts.py:329 +#, fuzzy, python-brace-format +#| msgid "" +#| "Script %(key)s(#%(dbid)s) of type '%(cname)s': at_repeat() error " +#| "'%(err)s'." +msgid "Script {key}(#{dbid}) of type '{name}': at_repeat() error '{err}'." msgstr "" "Le script %(key)s(#%(dbid)s) de type '%(cname)s' a rencontré une erreur " "durant at_repeat() : '%(err)s'." -#: .\server\initial_setup.py:28 +#: server/initial_setup.py:28 #, fuzzy msgid "" "\n" -"Welcome to your new |wEvennia|n-based game! Visit http://www.evennia.com if " +"Welcome to your new |wEvennia|n-based game! Visit https://www.evennia.com if " "you need\n" "help, want to contribute, report issues or just join the community.\n" -"As Account #1 you can create a demo/tutorial area with |w@batchcommand " -"tutorial_world.build|n.\n" -" " +"As Account #1 you can create a demo/tutorial area with '|wbatchcommand " +"tutorial_world.build|n'.\n" msgstr "" "\n" "Bienvenue dans votre nouveau jeu basé sur |wEvennia|n ! Visitez le site Web\n" -"http://www.evennia.com si vous avez besoin d'aide, pour contribuer au projet,\n" +"http://www.evennia.com si vous avez besoin d'aide, pour contribuer au " +"projet,\n" "afin de rapporter des bugs ou faire partie de la communauté.\n" "En tant que premier personnage (#1), vous pouvez créer une zone de\n" -"démo/tutoriel en entrant la commande |w@batchcommand tutorial_world.build|n.\n" +"démo/tutoriel en entrant la commande |w@batchcommand tutorial_world.build|" +"n.\n" " " -#: .\server\initial_setup.py:92 +#: server/initial_setup.py:92 msgid "This is User #1." msgstr "C'est l'utilisateur #1." -#: .\server\initial_setup.py:105 +#: server/initial_setup.py:108 msgid "Limbo" msgstr "Limbes" -#: .\server\server.py:139 +#: server/portal/portalsessionhandler.py:40 +#, python-brace-format +msgid "" +"{servername} DoS protection is active. You are queued to connect in {num} " +"seconds ..." +msgstr "" + +#: server/server.py:152 #, fuzzy msgid "idle timeout exceeded" msgstr "Délai d'inactivité dépassé, déconnexion." -#: .\server\sessionhandler.py:386 +#: server/sessionhandler.py:42 +msgid "Your client sent an incorrect UTF-8 sequence." +msgstr "" + +#: server/sessionhandler.py:399 msgid " ... Server restarted." msgstr " ... Serveur redémarré." -#: .\server\sessionhandler.py:606 +#: server/sessionhandler.py:623 msgid "Logged in from elsewhere. Disconnecting." msgstr "Connexion d'une autre session. Déconnexion de celle-ci." -#: .\server\sessionhandler.py:634 +#: server/sessionhandler.py:652 msgid "Idle timeout exceeded, disconnecting." msgstr "Délai d'inactivité dépassé, déconnexion." -#: .\server\validators.py:50 -#, python-format +#: server/throttle.py:21 msgid "" -"%s From a terminal client, you can also use a phrase of multiple words if " -"you enclose the password in double quotes." +"Too many failed attempts; you must wait a few minutes before trying again." +msgstr "" + +#: server/validators.py:31 +msgid "Sorry, that username is reserved." +msgstr "" + +#: server/validators.py:38 +msgid "Sorry, that username is already taken." +msgstr "" + +#: server/validators.py:88 +#, fuzzy, python-brace-format +#| msgid "" +#| "%s From a terminal client, you can also use a phrase of multiple words if " +#| "you enclose the password in double quotes." +msgid "" +"{policy} From a terminal client, you can also use a phrase of multiple words " +"if you enclose the password in double quotes." msgstr "" "%s Depuis votre client, vous pouvez également préciser une phrase contenant " -"plusieurs mots séparés par un espace, dès lors que cette phrase est entourée de guillemets." +"plusieurs mots séparés par un espace, dès lors que cette phrase est entourée " +"de guillemets." -#: .\utils\evmenu.py:192 +#: utils/eveditor.py:67 +msgid "" +"\n" +" - any non-command is appended to the end of the buffer.\n" +" : - view buffer or only line(s) \n" +" :: - raw-view buffer or only line(s) \n" +" ::: - escape - enter ':' as the only character on the line.\n" +" :h - this help.\n" +"\n" +" :w - save the buffer (don't quit)\n" +" :wq - save buffer and quit\n" +" :q - quit (will be asked to save if buffer was changed)\n" +" :q! - quit without saving, no questions asked\n" +"\n" +" :u - (undo) step backwards in undo history\n" +" :uu - (redo) step forward in undo history\n" +" :UU - reset all changes back to initial state\n" +"\n" +" :dd - delete last line or line(s) \n" +" :dw - delete word or regex in entire buffer or on line \n" +" :DD - clear entire buffer\n" +"\n" +" :y - yank (copy) line(s) to the copy buffer\n" +" :x - cut line(s) and store it in the copy buffer\n" +" :p - put (paste) previously copied line(s) directly after \n" +" :i - insert new text at line . Old line will move " +"down\n" +" :r - replace line with text \n" +" :I - insert text at the beginning of line \n" +" :A - append text after the end of line \n" +"\n" +" :s - search/replace word or regex in buffer or on line " +"\n" +"\n" +" :j - justify buffer or line . is f, c, l or r. Default f " +"(full)\n" +" :f - flood-fill entire buffer or line : Equivalent to :j left\n" +" :fi - indent entire buffer or line \n" +" :fd - de-indent entire buffer or line \n" +"\n" +" :echo - turn echoing of the input on/off (helpful for some clients)\n" +msgstr "" + +#: utils/eveditor.py:105 +msgid "" +"\n" +" Legend:\n" +" - line number, like '5' or range, like '3:7'.\n" +" - a single word, or multiple words with quotes around them.\n" +" - longer string, usually not needing quotes.\n" +msgstr "" + +#: utils/eveditor.py:112 +msgid "" +"\n" +" :! - Execute code buffer without saving\n" +" :< - Decrease the level of automatic indentation for the next lines\n" +" :> - Increase the level of automatic indentation for the next lines\n" +" := - Switch automatic indentation on/off\n" +msgstr "" + +#: utils/eveditor.py:121 #, python-brace-format msgid "" -"Menu node '{nodename}' is either not implemented or caused an error. Make " -"another choice." +"\n" +"{error}\n" +"\n" +"|rBuffer load function error. Could not load initial data.|n\n" msgstr "" -"Ce choix '{nodename}' n'est pas implémenté, ou bien a créé une erreur. " -"Faies un autre choix." -#: .\utils\evmenu.py:194 +#: utils/eveditor.py:127 +#, python-brace-format +msgid "" +"\n" +"{error}\n" +"\n" +"|rSave function returned an error. Buffer not saved.|n\n" +msgstr "" + +#: utils/eveditor.py:133 +msgid "|rNo save function defined. Buffer cannot be saved.|n" +msgstr "" + +#: utils/eveditor.py:135 +msgid "No changes need saving" +msgstr "" + +#: utils/eveditor.py:136 +msgid "Exited editor." +msgstr "" + +#: utils/eveditor.py:138 +#, python-brace-format +msgid "" +"\n" +"{error}\n" +"\n" +"|rQuit function gave an error. Skipping.|n\n" +msgstr "" + +#: utils/eveditor.py:144 +#, python-brace-format +msgid "" +"\n" +"{error}\n" +"\n" +"|rThe editor state could not be saved for persistent mode. Switching\n" +"to non-persistent mode (which means the editor session won't survive\n" +"an eventual server reload - so save often!)|n\n" +msgstr "" + +#: utils/eveditor.py:153 +msgid "" +"EvEditor persistent-mode error. Commonly, this is because one or more of the " +"EvEditor callbacks could not be pickled, for example because it's a class " +"method or is defined inside another function." +msgstr "" + +#: utils/eveditor.py:159 +msgid "Nothing to undo." +msgstr "" + +#: utils/eveditor.py:160 +msgid "Nothing to redo." +msgstr "" + +#: utils/eveditor.py:161 +msgid "Undid one step." +msgstr "" + +#: utils/eveditor.py:162 +msgid "Redid one step." +msgstr "" + +#: utils/eveditor.py:480 +msgid "Single ':' added to buffer." +msgstr "" + +#: utils/eveditor.py:495 +msgid "Save before quitting?" +msgstr "" + +#: utils/eveditor.py:510 +msgid "Reverted all changes to the buffer back to original state." +msgstr "" + +#: utils/eveditor.py:515 +#, python-brace-format +msgid "Deleted {string}." +msgstr "" + +#: utils/eveditor.py:520 +msgid "You must give a search word to delete." +msgstr "" + +#: utils/eveditor.py:525 +#, python-brace-format +msgid "Removed {arg1} for lines {l1}-{l2}." +msgstr "" + +#: utils/eveditor.py:528 +#, python-brace-format +msgid "Removed {arg1} for {line}." +msgstr "" + +#: utils/eveditor.py:544 +#, python-brace-format +msgid "Cleared {nlines} lines from buffer." +msgstr "" + +#: utils/eveditor.py:549 +#, python-brace-format +msgid "{line}, {cbuf} yanked." +msgstr "" + +#: utils/eveditor.py:556 +#, python-brace-format +msgid "{line}, {cbuf} cut." +msgstr "" + +#: utils/eveditor.py:560 +msgid "Copy buffer is empty." +msgstr "" + +#: utils/eveditor.py:564 +#, python-brace-format +msgid "Pasted buffer {cbuf} to {line}." +msgstr "" + +#: utils/eveditor.py:570 +msgid "You need to enter a new line and where to insert it." +msgstr "" + +#: utils/eveditor.py:574 +#, python-brace-format +msgid "Inserted {num} new line(s) at {line}." +msgstr "" + +#: utils/eveditor.py:580 +msgid "You need to enter a replacement string." +msgstr "" + +#: utils/eveditor.py:584 +#, python-brace-format +msgid "Replaced {num} line(s) at {line}." +msgstr "" + +#: utils/eveditor.py:589 +msgid "You need to enter text to insert." +msgstr "" + +#: utils/eveditor.py:597 +#, python-brace-format +msgid "Inserted text at beginning of {line}." +msgstr "" + +#: utils/eveditor.py:601 +msgid "You need to enter text to append." +msgstr "" + +#: utils/eveditor.py:609 +#, python-brace-format +msgid "Appended text to end of {line}." +msgstr "" + +#: utils/eveditor.py:614 +msgid "You must give a search word and something to replace it with." +msgstr "" + +#: utils/eveditor.py:620 +#, python-brace-format +msgid "Search-replaced {arg1} -> {arg2} for lines {l1}-{l2}." +msgstr "" + +#: utils/eveditor.py:625 +#, python-brace-format +msgid "Search-replaced {arg1} -> {arg2} for {line}." +msgstr "" + +#: utils/eveditor.py:648 +#, python-brace-format +msgid "Flood filled lines {l1}-{l2}." +msgstr "" + +#: utils/eveditor.py:651 +#, python-brace-format +msgid "Flood filled {line}." +msgstr "" + +#: utils/eveditor.py:673 +msgid "Valid justifications are" +msgstr "" + +#: utils/eveditor.py:681 +#, python-brace-format +msgid "{align}-justified lines {l1}-{l2}." +msgstr "" + +#: utils/eveditor.py:684 +#, python-brace-format +msgid "{align}-justified {line}." +msgstr "" + +#: utils/eveditor.py:696 +#, python-brace-format +msgid "Indented lines {l1}-{l2}." +msgstr "" + +#: utils/eveditor.py:698 +#, python-brace-format +msgid "Indented {line}." +msgstr "" + +#: utils/eveditor.py:707 +#, python-brace-format +msgid "Removed left margin (dedented) lines {l1}-{l2}." +msgstr "" + +#: utils/eveditor.py:710 +#, python-brace-format +msgid "Removed left margin (dedented) {line}." +msgstr "" + +#: utils/eveditor.py:718 +#, python-brace-format +msgid "Echo mode set to {mode}" +msgstr "" + +#: utils/eveditor.py:723 utils/eveditor.py:736 utils/eveditor.py:749 +#: utils/eveditor.py:760 +msgid "This command is only available in code editor mode." +msgstr "" + +#: utils/eveditor.py:731 +#, python-brace-format +msgid "Decreased indentation: new indentation is {indent}." +msgstr "" + +#: utils/eveditor.py:734 utils/eveditor.py:747 +msgid "|rManual indentation is OFF.|n Use := to turn it on." +msgstr "" + +#: utils/eveditor.py:744 +#, python-brace-format +msgid "Increased indentation: new indentation is {indent}." +msgstr "" + +#: utils/eveditor.py:756 +msgid "Auto-indentation turned on." +msgstr "" + +#: utils/eveditor.py:758 +msgid "Auto-indentation turned off." +msgstr "" + +#: utils/eveditor.py:913 +msgid "|rNote: input buffer was converted to a string.|n" +msgstr "" + +#: utils/eveditor.py:1050 +#, python-brace-format +msgid "Line Editor [{name}]" +msgstr "" + +#: utils/eveditor.py:1058 +msgid "(:h for help)" +msgstr "" + +#: utils/evmenu.py:302 +#, fuzzy, python-brace-format +#| msgid "" +#| "Menu node '{nodename}' is either not implemented or caused an error. Make " +#| "another choice." +msgid "" +"Menu node '{nodename}' is either not implemented or caused an error. Make " +"another choice or try 'q' to abort." +msgstr "" +"Ce choix '{nodename}' n'est pas implémenté, ou bien a créé une erreur. Faies " +"un autre choix." + +#: utils/evmenu.py:305 #, python-brace-format msgid "Error in menu node '{nodename}'." msgstr "Une erreur s'est produite dans le choix '{nodename}'." -#: .\utils\evmenu.py:195 +#: utils/evmenu.py:306 msgid "No description." msgstr "Description non renseignée." -#: .\utils\evmenu.py:196 +#: utils/evmenu.py:307 msgid "Commands: , help, quit" msgstr "Utilisez une des commandes : , help, quit" -#: .\utils\evmenu.py:197 +#: utils/evmenu.py:308 msgid "Commands: , help" msgstr "Utilisez une des commandes : , help" -#: .\utils\evmenu.py:198 +#: utils/evmenu.py:309 msgid "Commands: help, quit" msgstr "Utilisez une des commandes : help, quit" -#: .\utils\evmenu.py:199 +#: utils/evmenu.py:310 msgid "Commands: help" msgstr "Utilisez la commande : help" -#: .\utils\evmenu.py:200 +#: utils/evmenu.py:311 utils/evmenu.py:1842 msgid "Choose an option or try 'help'." msgstr "Choisissez une option ou entrez la commande 'help'." -#: .\utils\utils.py:1866 -#, python-format -msgid "Could not find '%s'." +#: utils/evmenu.py:1383 +msgid "|rInvalid choice.|n" +msgstr "" + +#: utils/evmenu.py:1441 +msgid "|Wcurrent|n" +msgstr "" + +#: utils/evmenu.py:1449 +msgid "|wp|Wrevious page|n" +msgstr "" + +#: utils/evmenu.py:1456 +msgid "|wn|Wext page|n" +msgstr "" + +#: utils/evmenu.py:1690 +msgid "Aborted." +msgstr "" + +#: utils/evmenu.py:1713 +msgid "|rError in ask_yes_no. Choice not confirmed (report to admin)|n" +msgstr "" + +#: utils/evmore.py:235 +msgid "Exited |wmore|n pager." +msgstr "" + +#: utils/optionhandler.py:138 utils/optionhandler.py:162 +msgid "Option not found!" +msgstr "" + +#: utils/optionhandler.py:159 +msgid "Option field blank!" +msgstr "" + +#: utils/optionhandler.py:164 +#, fuzzy +#| msgid "There were multiple matches." +msgid "Multiple matches:" +msgstr "Il y a plusieurs correspondances possibles." + +#: utils/optionhandler.py:166 +msgid "Please be more specific." +msgstr "" + +#: utils/utils.py:2219 +#, fuzzy, python-brace-format +#| msgid "Could not find '%s'." +msgid "Could not find '{query}'." msgstr "Impossible de trouver '%s'." -#: .\utils\utils.py:1873 -#, python-format -msgid "More than one match for '%s' (please narrow target):\n" +#: utils/utils.py:2226 +#, fuzzy, python-brace-format +#| msgid "More than one match for '%s' (please narrow target):\n" +msgid "More than one match for '{query}' (please narrow target):\n" msgstr "Plus d'une possibilité pour '%s' (veuillez préciser) :\n" + +#: utils/validatorfuncs.py:25 +#, python-brace-format +msgid "Input could not be converted to text ({err})" +msgstr "" + +#: utils/validatorfuncs.py:34 +#, python-brace-format +msgid "Nothing entered for a {option_key}!" +msgstr "" + +#: utils/validatorfuncs.py:37 +#, python-brace-format +msgid "'{entry}' is not a valid {option_key}." +msgstr "" + +#: utils/validatorfuncs.py:62 utils/validatorfuncs.py:223 +#, python-brace-format +msgid "No {option_key} entered!" +msgstr "" + +#: utils/validatorfuncs.py:71 +#, python-brace-format +msgid "Timezone string '{acct_tz}' is not a valid timezone ({err})" +msgstr "" + +#: utils/validatorfuncs.py:88 utils/validatorfuncs.py:96 +#, python-brace-format +msgid "{option_key} must be entered in a 24-hour format such as: {timeformat}" +msgstr "" + +#: utils/validatorfuncs.py:140 +#, python-brace-format +msgid "Could not convert section '{interval}' to a {option_key}." +msgstr "" + +#: utils/validatorfuncs.py:150 +#, python-brace-format +msgid "That {option_key} is in the past! Must give a Future datetime!" +msgstr "" + +#: utils/validatorfuncs.py:157 +#, python-brace-format +msgid "Must enter a whole number for {option_key}!" +msgstr "" + +#: utils/validatorfuncs.py:162 +#, python-brace-format +msgid "Could not convert '{entry}' to a whole number for {option_key}!" +msgstr "" + +#: utils/validatorfuncs.py:171 +#, python-brace-format +msgid "Must enter a whole number greater than 0 for {option_key}!" +msgstr "" + +#: utils/validatorfuncs.py:179 +#, python-brace-format +msgid "{option_key} must be a whole number greater than or equal to 0!" +msgstr "" + +#: utils/validatorfuncs.py:197 +#, python-brace-format +msgid "Must enter a true/false input for {option_key}. Accepts {alternatives}." +msgstr "" + +#: utils/validatorfuncs.py:227 +#, python-brace-format +msgid "That matched: {matches}. Please be more specific!" +msgstr "" + +#: utils/validatorfuncs.py:231 +#, python-brace-format +msgid "Could not find timezone '{entry}' for {option_key}!" +msgstr "" + +#: utils/validatorfuncs.py:237 +msgid "Email address field empty!" +msgstr "" + +#: utils/validatorfuncs.py:240 +#, python-brace-format +msgid "That isn't a valid {option_key}!" +msgstr "" + +#: utils/validatorfuncs.py:247 +#, python-brace-format +msgid "No {option_key} entered to set!" +msgstr "" + +#: utils/validatorfuncs.py:251 +msgid "Must enter an access type!" +msgstr "" + +#: utils/validatorfuncs.py:254 +#, python-brace-format +msgid "Access type must be one of: {alternatives}" +msgstr "" + +#: utils/validatorfuncs.py:257 +msgid "Lock func not entered." +msgstr "" + +#: web/templates/admin/app_list.html:19 +msgid "Add" +msgstr "" + +#: web/templates/admin/app_list.html:26 +msgid "View" +msgstr "" + +#: web/templates/admin/app_list.html:28 +msgid "Change" +msgstr "" + +#: web/templates/admin/app_list.html:39 +msgid "You don’t have permission to view or edit anything." +msgstr "" + +#~ msgid " : {current}" +#~ msgstr " : {current}" + +#~ msgid "" +#~ " <{key} ({mergetype}, prio {prio}, {permstring})>:\n" +#~ " {keylist}" +#~ msgstr "" +#~ " <{key} ({mergetype}, prio {prio}, {permstring})>:\n" +#~ " {keylist}" + +#~ msgid "Say what?" +#~ msgstr "Que voulez-vous dire ?" + +#~ msgid "Channel '%s' not found." +#~ msgstr "Le canal '%s' ne semble pas exister." + +#~ msgid "You are not connected to channel '%s'." +#~ msgstr "Vous n'êtes pas connecté au canal '%s'." + +#~ msgid "You are not permitted to send to channel '%s'." +#~ msgstr "Vous n'avez pas le droit de parler sur le canal '%s'." + +#~ msgid " (channel)" +#~ msgstr " (canal)" diff --git a/evennia/locale/it/LC_MESSAGES/django.po b/evennia/locale/it/LC_MESSAGES/django.po index 9568bfed29..c780dd08fa 100644 --- a/evennia/locale/it/LC_MESSAGES/django.po +++ b/evennia/locale/it/LC_MESSAGES/django.po @@ -9,7 +9,7 @@ msgid "" msgstr "" "Project-Id-Version: Evennia\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-02-16 10:19+0000\n" +"POT-Creation-Date: 2021-05-29 16:24+0000\n" "PO-Revision-Date: 2021-02-16 11:55+0100\n" "Last-Translator: Roberto PM \n" "Language-Team: Tristano Ajmone \n" @@ -21,25 +21,16 @@ msgstr "" "X-Generator: Poedit 2.4.1\n" "X-Poedit-SourceCharset: UTF-8\n" -#: accounts/accounts.py:278 -msgid "You are already puppeting this object." -msgstr "Stai già manovrando questo oggetto." - -#: accounts/accounts.py:282 -#, python-brace-format -msgid "You don't have permission to puppet '{key}'." -msgstr "Non ti è consentito manovrare '{key}'." - -#: accounts/accounts.py:303 +#: accounts/accounts.py:321 #, python-brace-format msgid "|c{key}|R is already puppeted by another Account." msgstr "|c{key}|R è già manovrato da un altro Account." -#: accounts/accounts.py:499 +#: accounts/accounts.py:515 msgid "Too many login failures; please try again in a few minutes." msgstr "Troppi tentativi di login; per favore riprova tra qualche minuto." -#: accounts/accounts.py:512 accounts/accounts.py:772 +#: accounts/accounts.py:528 accounts/accounts.py:789 msgid "" "|rYou have been banned and cannot continue from here.\n" "If you feel this ban is in error, please email an admin.|x" @@ -48,18 +39,22 @@ msgstr "" "Se ritieni ciò sia avvenuto per errore, per favore contatta un " "amministratore.|x" -#: accounts/accounts.py:524 +#: accounts/accounts.py:540 msgid "Username and/or password is incorrect." msgstr "L'username e/o la password sono errati." -#: accounts/accounts.py:743 +#: accounts/accounts.py:547 +msgid "Too many authentication failures." +msgstr "" + +#: accounts/accounts.py:760 msgid "" "You are creating too many accounts. Please log into an existing account." msgstr "" "Stai creando troppi account. Per favore effettua il login con un account " "esistente." -#: accounts/accounts.py:789 +#: accounts/accounts.py:805 msgid "" "There was an error creating the Account. If this problem persists, contact " "an admin." @@ -67,94 +62,142 @@ msgstr "" "Si è verificato un errore durante la creazione dell'Account. Se questo " "problema persiste, contatta un amministratore." -#: accounts/accounts.py:824 accounts/accounts.py:1635 +#: accounts/accounts.py:839 accounts/accounts.py:1751 msgid "An error occurred. Please e-mail an admin if the problem persists." msgstr "" "Si è verificato un errore. Per favore contatta un amministratore se il " "problema persiste." -#: accounts/accounts.py:851 +#: accounts/accounts.py:866 msgid "Account being deleted." msgstr "Cancellazione account in corso." -#: accounts/accounts.py:1303 accounts/accounts.py:1652 +#: accounts/accounts.py:1417 accounts/accounts.py:1768 #, python-brace-format msgid "|G{key} connected|n" msgstr "|G{key} si è connesso|n" -#: accounts/accounts.py:1310 accounts/accounts.py:1317 +#: accounts/accounts.py:1424 accounts/accounts.py:1431 msgid "The Character does not exist." msgstr "Personaggio inesistente." -#: accounts/accounts.py:1356 +#: accounts/accounts.py:1470 #, python-brace-format msgid "|R{key} disconnected{reason}|n" msgstr "|R{key} si è disconnesso{reason}|n" -#: accounts/accounts.py:1463 -#, python-brace-format -msgid "{target} has no in-game appearance." -msgstr "{target} non ha un'apparenza in gioco." - -#: accounts/accounts.py:1507 -msgid "" -"\n" -"\n" -" You don't have any characters yet. See |whelp @charcreate|n for creating " -"one." -msgstr "" -"\n" -"\n" -"Attualmente non possiedi alcun personaggio. Vedi |whelp @charcreate|n per " -"crearne uno." - -#: accounts/accounts.py:1588 +#: accounts/accounts.py:1704 msgid "Guest accounts are not enabled on this server." msgstr "Su questo server non è abilitato alcun account ospite" -#: accounts/accounts.py:1598 +#: accounts/accounts.py:1714 msgid "All guest accounts are in use. Please try again later." msgstr "" "Tutti gli account ospite stanno venendo utilizzati. Per favore riprova più " "tardi." -#: accounts/bots.py:333 +#: commands/cmdhandler.py:83 +msgid "" +"\n" +"An untrapped error occurred.\n" +msgstr "" + +#: commands/cmdhandler.py:86 +msgid "" +"\n" +"An untrapped error occurred. Please file a bug report detailing the steps to " +"reproduce.\n" +msgstr "" + +#: commands/cmdhandler.py:92 +msgid "" +"\n" +"A cmdset merger-error occurred. This is often due to a syntax\n" +"error in one of the cmdsets to merge.\n" +msgstr "" + +#: commands/cmdhandler.py:96 +msgid "" +"\n" +"A cmdset merger-error occurred. Please file a bug report detailing the\n" +"steps to reproduce.\n" +msgstr "" + +#: commands/cmdhandler.py:103 +msgid "" +"\n" +"No command sets found! This is a critical bug that can have\n" +"multiple causes.\n" +msgstr "" + +#: commands/cmdhandler.py:107 +msgid "" +"\n" +"No command sets found! This is a sign of a critical bug. If\n" +"disconnecting/reconnecting doesn't\" solve the problem, try to contact\n" +"the server admin through\" some other means for assistance.\n" +msgstr "" + +#: commands/cmdhandler.py:115 +msgid "" +"\n" +"A command handler bug occurred. If this is not due to a local change,\n" +"please file a bug report with the Evennia project, including the\n" +"traceback and steps to reproduce.\n" +msgstr "" + +#: commands/cmdhandler.py:120 +msgid "" +"\n" +"A command handler bug occurred. Please notify staff - they should\n" +"likely file a bug report with the Evennia project.\n" +msgstr "" + +#: commands/cmdhandler.py:127 #, python-brace-format msgid "" -"Nicks at {chstr}:\n" -" {nicklist}" +"Command recursion limit ({recursion_limit}) reached for " +"'{raw_cmdname}' ({cmdclass})." msgstr "" -"Nicks associati a {chstr}:\n" -"{nicklist}" -#: accounts/bots.py:344 -#, python-brace-format -msgid "IRC ping return from {chstr} took {time}s." -msgstr "IRC ping di ritorno da {chstr} ha impiegato {time}s." +#: commands/cmdhandler.py:149 +#, fuzzy, python-brace-format +#| msgid "" +#| "{traceback}\n" +#| "Error loading cmdset '{path}'\n" +#| "(Traceback was logged {timestamp})" +msgid "" +"{traceback}\n" +"{errmsg}\n" +"(Traceback was logged {timestamp})." +msgstr "" +"{traceback}\n" +"Errore nel caricamento del cmdset '{path}'\n" +"(Traceback è stato registrato {timestamp})" -#: commands/cmdhandler.py:738 +#: commands/cmdhandler.py:699 msgid "There were multiple matches." msgstr "Sono state trovate diverse corrispondenze." -#: commands/cmdhandler.py:763 +#: commands/cmdhandler.py:724 #, python-brace-format msgid "Command '{command}' is not available." msgstr "Il comando '{command}' non è disponibile." -#: commands/cmdhandler.py:773 +#: commands/cmdhandler.py:734 #, python-brace-format msgid " Maybe you meant {command}?" msgstr " Forse intendevi dire {command}?" -#: commands/cmdhandler.py:774 +#: commands/cmdhandler.py:735 msgid "or" msgstr "oppure" -#: commands/cmdhandler.py:777 +#: commands/cmdhandler.py:738 msgid " Type \"help\" for help." msgstr " Digita \"help\" per ottenere aiuto." -#: commands/cmdsethandler.py:88 +#: commands/cmdsethandler.py:89 #, python-brace-format msgid "" "{traceback}\n" @@ -165,7 +208,7 @@ msgstr "" "Errore nel caricamento del cmdset '{path}'\n" "(Traceback è stato registrato {timestamp})" -#: commands/cmdsethandler.py:94 +#: commands/cmdsethandler.py:95 #, python-brace-format msgid "" "Error loading cmdset: No cmdset class '{classname}' in '{path}'.\n" @@ -175,7 +218,7 @@ msgstr "" "'{path}'.\n" "(Traceback è stato registrato {timestamp})" -#: commands/cmdsethandler.py:99 +#: commands/cmdsethandler.py:100 #, python-brace-format msgid "" "{traceback}\n" @@ -186,18 +229,22 @@ msgstr "" "Riscontrato Errore di Sintassi durante il caricamento del cmdset '{path}'.\n" "(Traceback è stato registrato {timestamp})" -#: commands/cmdsethandler.py:105 -#, python-brace-format +#: commands/cmdsethandler.py:106 +#, fuzzy, python-brace-format +#| msgid "" +#| "{traceback}\n" +#| "Compile/Run error when loading cmdset '{path}'.\",\n" +#| "(Traceback was logged {timestamp})" msgid "" "{traceback}\n" -"Compile/Run error when loading cmdset '{path}'.\",\n" +"Compile/Run error when loading cmdset '{path}'.\n" "(Traceback was logged {timestamp})" msgstr "" "{traceback}\n" "Errore Compile/Run durante il caricamento del cmdset '{path}'.\",\n" "(Traceback è stato registrato {timestamp})" -#: commands/cmdsethandler.py:111 +#: commands/cmdsethandler.py:112 #, python-brace-format msgid "" "\n" @@ -208,13 +255,13 @@ msgstr "" "Errore riscontrato per il cmdset in '{path}'.\n" "Rimpiazzato con fallback '{fallback_path}'.\n" -#: commands/cmdsethandler.py:117 +#: commands/cmdsethandler.py:118 #, python-brace-format msgid "Fallback path '{fallback_path}' failed to generate a cmdset." msgstr "" "Destinazione Fallback '{fallback_path}' ha fallito nel generare un cmdset." -#: commands/cmdsethandler.py:187 commands/cmdsethandler.py:199 +#: commands/cmdsethandler.py:188 commands/cmdsethandler.py:200 #, python-brace-format msgid "" "\n" @@ -223,159 +270,284 @@ msgstr "" "\n" "(Tentativo insuccessoso di utilizzare '{path}')." -#: commands/cmdsethandler.py:329 +#: commands/cmdsethandler.py:331 #, python-brace-format msgid "custom {mergetype} on cmdset '{cmdset}'" msgstr "{mergetype} personalizzato sul cmdset '{cmdset}'" -#: commands/cmdsethandler.py:451 +#: commands/cmdsethandler.py:459 msgid "Only CmdSets can be added to the cmdsethandler!" msgstr "Si possono aggiungere solamente CmdSets al cmdsethandler!" -#: comms/channelhandler.py:103 -msgid "Say what?" -msgstr "Cosa vorresti dire?" - -#: comms/channelhandler.py:108 -#, python-format -msgid "Channel '%s' not found." -msgstr "Canale '%s' non trovato." - -#: comms/channelhandler.py:111 -#, python-format -msgid "You are not connected to channel '%s'." -msgstr "Non sei connesso al canale '%s'." - -#: comms/channelhandler.py:115 -#, python-format -msgid "You are not permitted to send to channel '%s'." -msgstr "Non ti è consentito scrivere nel canale '%s'." - -#: comms/channelhandler.py:122 -#, python-format -msgid "You start listening to %s." -msgstr "Inizi ad ascoltare %s." - -#: comms/channelhandler.py:124 -#, python-format -msgid "You were already listening to %s." -msgstr "Stavi già ascoltando %s." - -#: comms/channelhandler.py:130 -#, python-format -msgid "You stop listening to %s." -msgstr "Smetti di ascoltare %s." - -#: comms/channelhandler.py:132 -#, python-format -msgid "You were already not listening to %s." -msgstr "Stavi già ignorando %s." - -#: comms/channelhandler.py:147 -#, python-format -msgid "You currently have %s muted." -msgstr "Al momento hai %s mutato." - -#: comms/channelhandler.py:161 -msgid " (channel)" -msgstr " (canale)" - -#: help/manager.py:134 -#, python-brace-format -msgid "Help database moved to category {default_category}" -msgstr "Database di aiuto spostato alla categoria {default_category}" - -#: locks/lockhandler.py:236 -#, python-format -msgid "Lock: lock-function '%s' is not available." +#: locks/lockhandler.py:238 +#, fuzzy, python-brace-format +#| msgid "Lock: lock-function '%s' is not available." +msgid "Lock: lock-function '{lockfunc}' is not available." msgstr "Lock: la funzione di lock '%s' non è disponibile." -#: locks/lockhandler.py:256 +#: locks/lockhandler.py:259 #, python-brace-format msgid "Lock: definition '{lock_string}' has syntax errors." msgstr "Lock: la definizione '{lock_string}' contiene errori di sintassi." -#: locks/lockhandler.py:265 -#, python-format +#: locks/lockhandler.py:267 +#, fuzzy, python-brace-format +#| msgid "" +#| "LockHandler on %(obj)s: access type '%(access_type)s' changed from " +#| "'%(source)s' to '%(goal)s' " msgid "" -"LockHandler on %(obj)s: access type '%(access_type)s' changed from " -"'%(source)s' to '%(goal)s' " +"LockHandler on {obj}: access type '{access_type}' changed from '{source}' to " +"'{goal}' " msgstr "" "LockHandler per %(obj)s: l'access type '%(access_type)s' è mutato da " "'%(source)s' a '%(goal)s' " -#: locks/lockhandler.py:339 +#: locks/lockhandler.py:341 #, python-brace-format msgid "Lock: '{lockdef}' contains no colon (:)." msgstr "Lock: '{lockdef}' non contiene i due punti (:)." -#: locks/lockhandler.py:348 +#: locks/lockhandler.py:350 #, python-brace-format msgid "Lock: '{lockdef}' has no access_type (left-side of colon is empty)." msgstr "" "Lock: '{lockdef}' non ha un access_type (la parte a sinistra dei due punti è " "vuota)." -#: locks/lockhandler.py:356 +#: locks/lockhandler.py:358 #, python-brace-format msgid "Lock: '{lockdef}' has mismatched parentheses." msgstr "Lock: '{lockdef}' presenta irregolarità nell'uso delle parentesi." -#: locks/lockhandler.py:363 +#: locks/lockhandler.py:365 #, python-brace-format msgid "Lock: '{lockdef}' has no valid lock functions." msgstr "Lock: '{lockdef}' non contiene funzioni di lock valide." -#: objects/objects.py:795 -#, python-format -msgid "Couldn't perform move ('%s'). Contact an admin." +#: objects/objects.py:871 +#, fuzzy, python-brace-format +#| msgid "Couldn't perform move ('%s'). Contact an admin." +msgid "Couldn't perform move ({err}). Contact an admin." msgstr "Spostamento non riuscito ('%s'). Contatta un amministratore." -#: objects/objects.py:805 +#: objects/objects.py:881 msgid "The destination doesn't exist." msgstr "Destinazione inesistente." -#: objects/objects.py:896 -#, python-format -msgid "Could not find default home '(#%d)'." +#: objects/objects.py:974 +#, fuzzy, python-brace-format +#| msgid "Could not find default home '(#%d)'." +msgid "Could not find default home '(#{dbid})'." msgstr "Non è stata trovata la home predefinita '(#%d)'." -#: objects/objects.py:912 +#: objects/objects.py:988 msgid "Something went wrong! You are dumped into nowhere. Contact an admin." msgstr "" "Qualcosa è andato storto! Sei stato gettato nel nulla. Contatta un " "amministratore." -#: objects/objects.py:1061 +#: objects/objects.py:1138 #, python-brace-format msgid "Your character {key} has been destroyed." msgstr "Il tuo personaggio {key} è stato distrutto." -#: scripts/scripthandler.py:52 -#, python-format +#: objects/objects.py:1546 +#, python-brace-format +msgid "You now have {name} in your possession." +msgstr "" + +#: objects/objects.py:1555 +#, python-brace-format +msgid "{object} arrives to {destination} from {origin}." +msgstr "" + +#: objects/objects.py:1557 +#, python-brace-format +msgid "{object} arrives to {destination}." +msgstr "" + +#: objects/objects.py:2165 +msgid "Invalid character name." +msgstr "" + +#: objects/objects.py:2184 +msgid "There are too many characters associated with this account." +msgstr "" + +# EN: Not clear if 'storage' refers to disk- or database-storage, or if it relates to game-world objects/containers. +# IT: Non è chiaro se se si riferisce a 'storage' nel sendo di dati su disco (o database) oppure a contenitori quali oggetti del MUD! +#: objects/objects.py:2210 +#, fuzzy +msgid "This is a character." +msgstr "Questo è un contenitore per immagazzinamento generico." + +#: objects/objects.py:2296 +#, python-brace-format +msgid "|r{obj} has no location and no home is set.|n" +msgstr "" + +#: objects/objects.py:2315 +#, python-brace-format msgid "" "\n" -" '%(key)s' (%(next_repeat)s/%(interval)s, %(repeats)s repeats): %(desc)s" +"You become |c{name}|n.\n" +msgstr "" + +#: objects/objects.py:2319 +#, python-brace-format +msgid "{name} has entered the game." +msgstr "" + +#: objects/objects.py:2343 +#, python-brace-format +msgid "{name} has left the game." +msgstr "" + +#: objects/objects.py:2461 +#, fuzzy +#| msgid "This is User #1." +msgid "This is a room." +msgstr "Questo è l'Utente #1." + +#: objects/objects.py:2667 +#, fuzzy +#| msgid "This is User #1." +msgid "This is an exit." +msgstr "Questo è l'Utente #1." + +#: objects/objects.py:2764 +msgid "You cannot go there." +msgstr "" + +#: prototypes/prototypes.py:57 +msgid "Error" +msgstr "" + +#: prototypes/prototypes.py:58 +msgid "Warning" +msgstr "" + +#: prototypes/prototypes.py:263 +msgid "Prototype requires a prototype_key" +msgstr "" + +#: prototypes/prototypes.py:271 prototypes/prototypes.py:339 +#, python-brace-format +msgid "{protkey} is a read-only prototype (defined as code in {module})." +msgstr "" + +#: prototypes/prototypes.py:346 +#, python-brace-format +msgid "Prototype {prototype_key} was not found." +msgstr "" + +#: prototypes/prototypes.py:353 +#, python-brace-format +msgid "" +"{caller} needs explicit 'edit' permissions to delete prototype " +"{prototype_key}." +msgstr "" + +#: prototypes/prototypes.py:455 +#, python-brace-format +msgid "Found {num} matching prototypes {module_prototypes}." +msgstr "" + +#: prototypes/prototypes.py:615 +msgid "No prototypes found." +msgstr "" + +#: prototypes/prototypes.py:666 +msgid "Prototype lacks a 'prototype_key'." +msgstr "" + +#: prototypes/prototypes.py:675 +#, python-brace-format +msgid "Prototype {protkey} requires `typeclass` or 'prototype_parent'." +msgstr "" + +#: prototypes/prototypes.py:680 +#, python-brace-format +msgid "" +"Prototype {protkey} can only be used as a mixin since it lacks 'typeclass' " +"or 'prototype_parent' keys." +msgstr "" + +#: prototypes/prototypes.py:689 +#, python-brace-format +msgid "" +"{err}: Prototype {protkey} is based on typeclass {typeclass}, which could " +"not be imported!" +msgstr "" + +#: prototypes/prototypes.py:699 +#, python-brace-format +msgid "Prototype {protkey} tries to parent itself." +msgstr "" + +#: prototypes/prototypes.py:704 +#, python-brace-format +msgid "Prototype {protkey}'s prototype_parent '{parent}' was not found." +msgstr "" + +#: prototypes/prototypes.py:709 +#, python-brace-format +msgid "{protkey} has infinite nesting of prototypes." +msgstr "" + +#: prototypes/prototypes.py:729 +#, python-brace-format +msgid "" +"Prototype {protkey} has no `typeclass` defined anywhere in its parent\n" +" chain. Add `typeclass`, or a `prototype_parent` pointing to a prototype " +"with a typeclass." +msgstr "" + +#: prototypes/spawner.py:473 +#, python-brace-format +msgid "" +"Diff contains non-dicts that are not on the form (old, new, action_to_take): " +"{diffpart}" +msgstr "" + +#: scripts/scripthandler.py:51 +#, fuzzy, python-brace-format +#| msgid "" +#| "\n" +#| " '%(key)s' (%(next_repeat)s/%(interval)s, %(repeats)s repeats): %(desc)s" +msgid "" +"\n" +" '{key}' ({next_repeat}/{interval}, {repeats} repeats): {desc}" msgstr "" "\n" " '%(key)s' (%(next_repeat)s/%(interval)s, %(repeats)s repeats): %(desc)s" -#: scripts/scripts.py:198 -#, python-format -msgid "" -"Script %(key)s(#%(dbid)s) of type '%(cname)s': at_repeat() error '%(err)s'." +#: scripts/scripts.py:329 +#, fuzzy, python-brace-format +#| msgid "" +#| "Script %(key)s(#%(dbid)s) of type '%(cname)s': at_repeat() error " +#| "'%(err)s'." +msgid "Script {key}(#{dbid}) of type '{name}': at_repeat() error '{err}'." msgstr "" "Script %(key)s(#%(dbid)s) del tipo '%(cname)s': at_repeat() error '%(err)s'." -#: server/initial_setup.py:29 +#: server/initial_setup.py:28 +#, fuzzy +#| msgid "" +#| "\n" +#| "Welcome to your new |wEvennia|n-based game! Visit http://www.evennia.com " +#| "if you need\n" +#| "help, want to contribute, report issues or just join the community.\n" +#| "As Account #1 you can create a demo/tutorial area with '|wbatchcommand " +#| "tutorial_world.build|n'.\n" +#| " " msgid "" "\n" -"Welcome to your new |wEvennia|n-based game! Visit http://www.evennia.com if " +"Welcome to your new |wEvennia|n-based game! Visit https://www.evennia.com if " "you need\n" "help, want to contribute, report issues or just join the community.\n" "As Account #1 you can create a demo/tutorial area with '|wbatchcommand " "tutorial_world.build|n'.\n" -" " msgstr "" "\n" "Benvenuto al tuo nuovo gioco creato con |wEvennia|n! Visita http://www." @@ -387,30 +559,46 @@ msgstr "" "|w@batchcommand tutorial_world.build|n.\n" " " -#: server/initial_setup.py:94 +#: server/initial_setup.py:92 msgid "This is User #1." msgstr "Questo è l'Utente #1." -#: server/initial_setup.py:110 +#: server/initial_setup.py:108 msgid "Limbo" msgstr "Limbo" -#: server/server.py:158 +#: server/portal/portalsessionhandler.py:40 +#, python-brace-format +msgid "" +"{servername} DoS protection is active. You are queued to connect in {num} " +"seconds ..." +msgstr "" + +#: server/server.py:152 msgid "idle timeout exceeded" msgstr "Timeout di inattività superato" -#: server/sessionhandler.py:402 +#: server/sessionhandler.py:42 +msgid "Your client sent an incorrect UTF-8 sequence." +msgstr "" + +#: server/sessionhandler.py:399 msgid " ... Server restarted." msgstr " ... Server riavviato." -#: server/sessionhandler.py:627 +#: server/sessionhandler.py:623 msgid "Logged in from elsewhere. Disconnecting." msgstr "Connesso da altrove. Disconnesione in corso." -#: server/sessionhandler.py:655 +#: server/sessionhandler.py:652 msgid "Idle timeout exceeded, disconnecting." msgstr "Timeout di inattività: disconnesione in corso." +#: server/throttle.py:21 +msgid "" +"Too many failed attempts; you must wait a few minutes before trying again." +msgstr "" + #: server/validators.py:31 msgid "Sorry, that username is reserved." msgstr "Spiacente, quell'username è riservato." @@ -420,16 +608,347 @@ msgid "Sorry, that username is already taken." msgstr "Spiacente, quell'username è già in uso." #: server/validators.py:88 -#, python-format +#, fuzzy, python-brace-format +#| msgid "" +#| "%s From a terminal client, you can also use a phrase of multiple words if " +#| "you enclose the password in double quotes." msgid "" -"%s From a terminal client, you can also use a phrase of multiple words if " -"you enclose the password in double quotes." +"{policy} From a terminal client, you can also use a phrase of multiple words " +"if you enclose the password in double quotes." msgstr "" "%s Da una finestra di terminale, puoi usare anche una frase segreta " "(composta da più parole separate da spazio), avendo l'accortezza di " "racchiuderla tra virgolette." -#: utils/evmenu.py:292 +#: utils/eveditor.py:67 +msgid "" +"\n" +" - any non-command is appended to the end of the buffer.\n" +" : - view buffer or only line(s) \n" +" :: - raw-view buffer or only line(s) \n" +" ::: - escape - enter ':' as the only character on the line.\n" +" :h - this help.\n" +"\n" +" :w - save the buffer (don't quit)\n" +" :wq - save buffer and quit\n" +" :q - quit (will be asked to save if buffer was changed)\n" +" :q! - quit without saving, no questions asked\n" +"\n" +" :u - (undo) step backwards in undo history\n" +" :uu - (redo) step forward in undo history\n" +" :UU - reset all changes back to initial state\n" +"\n" +" :dd - delete last line or line(s) \n" +" :dw - delete word or regex in entire buffer or on line \n" +" :DD - clear entire buffer\n" +"\n" +" :y - yank (copy) line(s) to the copy buffer\n" +" :x - cut line(s) and store it in the copy buffer\n" +" :p - put (paste) previously copied line(s) directly after \n" +" :i - insert new text at line . Old line will move " +"down\n" +" :r - replace line with text \n" +" :I - insert text at the beginning of line \n" +" :A - append text after the end of line \n" +"\n" +" :s - search/replace word or regex in buffer or on line " +"\n" +"\n" +" :j - justify buffer or line . is f, c, l or r. Default f " +"(full)\n" +" :f - flood-fill entire buffer or line : Equivalent to :j left\n" +" :fi - indent entire buffer or line \n" +" :fd - de-indent entire buffer or line \n" +"\n" +" :echo - turn echoing of the input on/off (helpful for some clients)\n" +msgstr "" + +#: utils/eveditor.py:105 +msgid "" +"\n" +" Legend:\n" +" - line number, like '5' or range, like '3:7'.\n" +" - a single word, or multiple words with quotes around them.\n" +" - longer string, usually not needing quotes.\n" +msgstr "" + +#: utils/eveditor.py:112 +msgid "" +"\n" +" :! - Execute code buffer without saving\n" +" :< - Decrease the level of automatic indentation for the next lines\n" +" :> - Increase the level of automatic indentation for the next lines\n" +" := - Switch automatic indentation on/off\n" +msgstr "" + +#: utils/eveditor.py:121 +#, python-brace-format +msgid "" +"\n" +"{error}\n" +"\n" +"|rBuffer load function error. Could not load initial data.|n\n" +msgstr "" + +#: utils/eveditor.py:127 +#, python-brace-format +msgid "" +"\n" +"{error}\n" +"\n" +"|rSave function returned an error. Buffer not saved.|n\n" +msgstr "" + +#: utils/eveditor.py:133 +msgid "|rNo save function defined. Buffer cannot be saved.|n" +msgstr "" + +#: utils/eveditor.py:135 +msgid "No changes need saving" +msgstr "" + +#: utils/eveditor.py:136 +msgid "Exited editor." +msgstr "" + +#: utils/eveditor.py:138 +#, python-brace-format +msgid "" +"\n" +"{error}\n" +"\n" +"|rQuit function gave an error. Skipping.|n\n" +msgstr "" + +#: utils/eveditor.py:144 +#, python-brace-format +msgid "" +"\n" +"{error}\n" +"\n" +"|rThe editor state could not be saved for persistent mode. Switching\n" +"to non-persistent mode (which means the editor session won't survive\n" +"an eventual server reload - so save often!)|n\n" +msgstr "" + +#: utils/eveditor.py:153 +msgid "" +"EvEditor persistent-mode error. Commonly, this is because one or more of the " +"EvEditor callbacks could not be pickled, for example because it's a class " +"method or is defined inside another function." +msgstr "" + +#: utils/eveditor.py:159 +msgid "Nothing to undo." +msgstr "" + +#: utils/eveditor.py:160 +msgid "Nothing to redo." +msgstr "" + +#: utils/eveditor.py:161 +msgid "Undid one step." +msgstr "" + +#: utils/eveditor.py:162 +msgid "Redid one step." +msgstr "" + +#: utils/eveditor.py:480 +msgid "Single ':' added to buffer." +msgstr "" + +#: utils/eveditor.py:495 +msgid "Save before quitting?" +msgstr "" + +#: utils/eveditor.py:510 +msgid "Reverted all changes to the buffer back to original state." +msgstr "" + +#: utils/eveditor.py:515 +#, python-brace-format +msgid "Deleted {string}." +msgstr "" + +#: utils/eveditor.py:520 +msgid "You must give a search word to delete." +msgstr "" + +#: utils/eveditor.py:525 +#, python-brace-format +msgid "Removed {arg1} for lines {l1}-{l2}." +msgstr "" + +#: utils/eveditor.py:528 +#, python-brace-format +msgid "Removed {arg1} for {line}." +msgstr "" + +#: utils/eveditor.py:544 +#, python-brace-format +msgid "Cleared {nlines} lines from buffer." +msgstr "" + +#: utils/eveditor.py:549 +#, python-brace-format +msgid "{line}, {cbuf} yanked." +msgstr "" + +#: utils/eveditor.py:556 +#, python-brace-format +msgid "{line}, {cbuf} cut." +msgstr "" + +#: utils/eveditor.py:560 +msgid "Copy buffer is empty." +msgstr "" + +#: utils/eveditor.py:564 +#, python-brace-format +msgid "Pasted buffer {cbuf} to {line}." +msgstr "" + +#: utils/eveditor.py:570 +msgid "You need to enter a new line and where to insert it." +msgstr "" + +#: utils/eveditor.py:574 +#, python-brace-format +msgid "Inserted {num} new line(s) at {line}." +msgstr "" + +#: utils/eveditor.py:580 +msgid "You need to enter a replacement string." +msgstr "" + +#: utils/eveditor.py:584 +#, python-brace-format +msgid "Replaced {num} line(s) at {line}." +msgstr "" + +#: utils/eveditor.py:589 +msgid "You need to enter text to insert." +msgstr "" + +#: utils/eveditor.py:597 +#, python-brace-format +msgid "Inserted text at beginning of {line}." +msgstr "" + +#: utils/eveditor.py:601 +msgid "You need to enter text to append." +msgstr "" + +#: utils/eveditor.py:609 +#, python-brace-format +msgid "Appended text to end of {line}." +msgstr "" + +#: utils/eveditor.py:614 +msgid "You must give a search word and something to replace it with." +msgstr "" + +#: utils/eveditor.py:620 +#, python-brace-format +msgid "Search-replaced {arg1} -> {arg2} for lines {l1}-{l2}." +msgstr "" + +#: utils/eveditor.py:625 +#, python-brace-format +msgid "Search-replaced {arg1} -> {arg2} for {line}." +msgstr "" + +#: utils/eveditor.py:648 +#, python-brace-format +msgid "Flood filled lines {l1}-{l2}." +msgstr "" + +#: utils/eveditor.py:651 +#, python-brace-format +msgid "Flood filled {line}." +msgstr "" + +#: utils/eveditor.py:673 +msgid "Valid justifications are" +msgstr "" + +#: utils/eveditor.py:681 +#, python-brace-format +msgid "{align}-justified lines {l1}-{l2}." +msgstr "" + +#: utils/eveditor.py:684 +#, python-brace-format +msgid "{align}-justified {line}." +msgstr "" + +#: utils/eveditor.py:696 +#, python-brace-format +msgid "Indented lines {l1}-{l2}." +msgstr "" + +#: utils/eveditor.py:698 +#, python-brace-format +msgid "Indented {line}." +msgstr "" + +#: utils/eveditor.py:707 +#, python-brace-format +msgid "Removed left margin (dedented) lines {l1}-{l2}." +msgstr "" + +#: utils/eveditor.py:710 +#, python-brace-format +msgid "Removed left margin (dedented) {line}." +msgstr "" + +#: utils/eveditor.py:718 +#, python-brace-format +msgid "Echo mode set to {mode}" +msgstr "" + +#: utils/eveditor.py:723 utils/eveditor.py:736 utils/eveditor.py:749 +#: utils/eveditor.py:760 +msgid "This command is only available in code editor mode." +msgstr "" + +#: utils/eveditor.py:731 +#, python-brace-format +msgid "Decreased indentation: new indentation is {indent}." +msgstr "" + +#: utils/eveditor.py:734 utils/eveditor.py:747 +msgid "|rManual indentation is OFF.|n Use := to turn it on." +msgstr "" + +#: utils/eveditor.py:744 +#, python-brace-format +msgid "Increased indentation: new indentation is {indent}." +msgstr "" + +#: utils/eveditor.py:756 +msgid "Auto-indentation turned on." +msgstr "" + +#: utils/eveditor.py:758 +msgid "Auto-indentation turned off." +msgstr "" + +#: utils/eveditor.py:913 +msgid "|rNote: input buffer was converted to a string.|n" +msgstr "" + +#: utils/eveditor.py:1050 +#, python-brace-format +msgid "Line Editor [{name}]" +msgstr "" + +#: utils/eveditor.py:1058 +msgid "(:h for help)" +msgstr "" + +#: utils/evmenu.py:302 #, python-brace-format msgid "" "Menu node '{nodename}' is either not implemented or caused an error. Make " @@ -438,49 +957,111 @@ msgstr "" "Nodo del Menu '{nodename}' è alternativamente non implementato o ha causato " "un errore. Fai un'altra scelta o prova 'q' per annullare." -#: utils/evmenu.py:295 +#: utils/evmenu.py:305 #, python-brace-format msgid "Error in menu node '{nodename}'." msgstr "Errore nel nodo del Menu '{nodename}'." -#: utils/evmenu.py:296 +#: utils/evmenu.py:306 msgid "No description." msgstr "Senza descrizione." # here I assume non-translated quit and help cmds -#: utils/evmenu.py:297 +#: utils/evmenu.py:307 msgid "Commands: , help, quit" msgstr "Comandi: , help, quit" -#: utils/evmenu.py:298 +#: utils/evmenu.py:308 msgid "Commands: , help" msgstr "Comandi: , help" -#: utils/evmenu.py:299 +#: utils/evmenu.py:309 msgid "Commands: help, quit" msgstr "Comandi: help, quit" -#: utils/evmenu.py:300 +#: utils/evmenu.py:310 msgid "Commands: help" msgstr "Comandi: help" -#: utils/evmenu.py:301 utils/evmenu.py:1665 +#: utils/evmenu.py:311 utils/evmenu.py:1842 msgid "Choose an option or try 'help'." msgstr "Scegli una opzione o prova 'help'." -#: utils/utils.py:1906 -#, python-format -msgid "Could not find '%s'." +#: utils/evmenu.py:1383 +msgid "|rInvalid choice.|n" +msgstr "" + +#: utils/evmenu.py:1441 +msgid "|Wcurrent|n" +msgstr "" + +#: utils/evmenu.py:1449 +msgid "|wp|Wrevious page|n" +msgstr "" + +#: utils/evmenu.py:1456 +msgid "|wn|Wext page|n" +msgstr "" + +#: utils/evmenu.py:1690 +msgid "Aborted." +msgstr "" + +#: utils/evmenu.py:1713 +msgid "|rError in ask_yes_no. Choice not confirmed (report to admin)|n" +msgstr "" + +#: utils/evmore.py:235 +msgid "Exited |wmore|n pager." +msgstr "" + +#: utils/optionhandler.py:138 utils/optionhandler.py:162 +msgid "Option not found!" +msgstr "" + +#: utils/optionhandler.py:159 +msgid "Option field blank!" +msgstr "" + +#: utils/optionhandler.py:164 +#, fuzzy +#| msgid "There were multiple matches." +msgid "Multiple matches:" +msgstr "Sono state trovate diverse corrispondenze." + +#: utils/optionhandler.py:166 +msgid "Please be more specific." +msgstr "" + +#: utils/utils.py:2219 +#, fuzzy, python-brace-format +#| msgid "Could not find '%s'." +msgid "Could not find '{query}'." msgstr "Impossibile trovare '%s'." -#: utils/utils.py:1913 +#: utils/utils.py:2226 #, python-brace-format msgid "More than one match for '{query}' (please narrow target):\n" msgstr "" "Più di una corrispondenza trovata per '{query}' (per favore restringi il " "campo):\n" -#: utils/validatorfuncs.py:62 +#: utils/validatorfuncs.py:25 +#, python-brace-format +msgid "Input could not be converted to text ({err})" +msgstr "" + +#: utils/validatorfuncs.py:34 +#, python-brace-format +msgid "Nothing entered for a {option_key}!" +msgstr "" + +#: utils/validatorfuncs.py:37 +#, python-brace-format +msgid "'{entry}' is not a valid {option_key}." +msgstr "" + +#: utils/validatorfuncs.py:62 utils/validatorfuncs.py:223 #, python-brace-format msgid "No {option_key} entered!" msgstr "Non hai specificato {option_key}!" @@ -490,6 +1071,162 @@ msgstr "Non hai specificato {option_key}!" msgid "Timezone string '{acct_tz}' is not a valid timezone ({err})" msgstr "La dicitura '{acct_tz}' non rappresenta una timezone valida ({err})" +#: utils/validatorfuncs.py:88 utils/validatorfuncs.py:96 +#, python-brace-format +msgid "{option_key} must be entered in a 24-hour format such as: {timeformat}" +msgstr "" + +#: utils/validatorfuncs.py:140 +#, python-brace-format +msgid "Could not convert section '{interval}' to a {option_key}." +msgstr "" + +#: utils/validatorfuncs.py:150 +#, python-brace-format +msgid "That {option_key} is in the past! Must give a Future datetime!" +msgstr "" + +#: utils/validatorfuncs.py:157 +#, python-brace-format +msgid "Must enter a whole number for {option_key}!" +msgstr "" + +#: utils/validatorfuncs.py:162 +#, python-brace-format +msgid "Could not convert '{entry}' to a whole number for {option_key}!" +msgstr "" + +#: utils/validatorfuncs.py:171 +#, python-brace-format +msgid "Must enter a whole number greater than 0 for {option_key}!" +msgstr "" + +#: utils/validatorfuncs.py:179 +#, python-brace-format +msgid "{option_key} must be a whole number greater than or equal to 0!" +msgstr "" + +#: utils/validatorfuncs.py:197 +#, python-brace-format +msgid "Must enter a true/false input for {option_key}. Accepts {alternatives}." +msgstr "" + +#: utils/validatorfuncs.py:227 +#, python-brace-format +msgid "That matched: {matches}. Please be more specific!" +msgstr "" + +#: utils/validatorfuncs.py:231 +#, python-brace-format +msgid "Could not find timezone '{entry}' for {option_key}!" +msgstr "" + +#: utils/validatorfuncs.py:237 +msgid "Email address field empty!" +msgstr "" + +#: utils/validatorfuncs.py:240 +#, python-brace-format +msgid "That isn't a valid {option_key}!" +msgstr "" + +#: utils/validatorfuncs.py:247 +#, fuzzy, python-brace-format +#| msgid "No {option_key} entered!" +msgid "No {option_key} entered to set!" +msgstr "Non hai specificato {option_key}!" + +#: utils/validatorfuncs.py:251 +msgid "Must enter an access type!" +msgstr "" + +#: utils/validatorfuncs.py:254 +#, python-brace-format +msgid "Access type must be one of: {alternatives}" +msgstr "" + +#: utils/validatorfuncs.py:257 +msgid "Lock func not entered." +msgstr "" + +#: web/templates/admin/app_list.html:19 +msgid "Add" +msgstr "" + +#: web/templates/admin/app_list.html:26 +msgid "View" +msgstr "" + +#: web/templates/admin/app_list.html:28 +msgid "Change" +msgstr "" + +#: web/templates/admin/app_list.html:39 +#, fuzzy +#| msgid "You don't have permission to puppet '{key}'." +msgid "You don’t have permission to view or edit anything." +msgstr "Non ti è consentito manovrare '{key}'." + +#~ msgid "You are already puppeting this object." +#~ msgstr "Stai già manovrando questo oggetto." + +#~ msgid "{target} has no in-game appearance." +#~ msgstr "{target} non ha un'apparenza in gioco." + +#~ msgid "" +#~ "\n" +#~ "\n" +#~ " You don't have any characters yet. See |whelp @charcreate|n for creating " +#~ "one." +#~ msgstr "" +#~ "\n" +#~ "\n" +#~ "Attualmente non possiedi alcun personaggio. Vedi |whelp @charcreate|n per " +#~ "crearne uno." + +#~ msgid "" +#~ "Nicks at {chstr}:\n" +#~ " {nicklist}" +#~ msgstr "" +#~ "Nicks associati a {chstr}:\n" +#~ "{nicklist}" + +#~ msgid "IRC ping return from {chstr} took {time}s." +#~ msgstr "IRC ping di ritorno da {chstr} ha impiegato {time}s." + +#~ msgid "Say what?" +#~ msgstr "Cosa vorresti dire?" + +#~ msgid "Channel '%s' not found." +#~ msgstr "Canale '%s' non trovato." + +#~ msgid "You are not connected to channel '%s'." +#~ msgstr "Non sei connesso al canale '%s'." + +#~ msgid "You are not permitted to send to channel '%s'." +#~ msgstr "Non ti è consentito scrivere nel canale '%s'." + +#~ msgid "You start listening to %s." +#~ msgstr "Inizi ad ascoltare %s." + +#~ msgid "You were already listening to %s." +#~ msgstr "Stavi già ascoltando %s." + +#~ msgid "You stop listening to %s." +#~ msgstr "Smetti di ascoltare %s." + +#~ msgid "You were already not listening to %s." +#~ msgstr "Stavi già ignorando %s." + +#~ msgid "You currently have %s muted." +#~ msgstr "Al momento hai %s mutato." + +#~ msgid " (channel)" +#~ msgstr " (canale)" + +#~ msgid "Help database moved to category {default_category}" +#~ msgstr "Database di aiuto spostato alla categoria {default_category}" + # EN: not easy to translate unless I know exactly what is meant by location (different words available in Italian for different contexts). # IT: traduzione approssimativa, mi mancava il contesto esatto del termine: Collocazione? Posizione? Luogo? Punto? #, fuzzy @@ -502,11 +1239,9 @@ msgstr "La dicitura '{acct_tz}' non rappresenta una timezone valida ({err})" #~ msgid " (carried)" #~ msgstr " (trasportato)" -#, python-format #~ msgid "Error loading cmdset '%s': %s." #~ msgstr "Errore durante il caricamento del cmdset '%s': %s." -#, python-format #~ msgid "Compile/Run error when loading cmdset '%s': %s." #~ msgstr "" #~ "Errore di Compilazione/Esecuzione durante il caricamento del cmdset '%s': " @@ -521,11 +1256,10 @@ msgstr "La dicitura '{acct_tz}' non rappresenta una timezone valida ({err})" # EN: maybe "Merged" could have been left untraslated? # IT: forse si poteva anche non tradurre? -#, fuzzy, python-format +#, fuzzy #~ msgid " : %(current)s" #~ msgstr " : %(current)s" -#, python-format #~ msgid "" #~ " <%(key)s (%(mergetype)s, prio %(prio)i, %(permstring)s)>: %(keylist)s" #~ msgstr "" @@ -534,12 +1268,6 @@ msgstr "La dicitura '{acct_tz}' non rappresenta una timezone valida ({err})" #~ msgid "This is an empty placeholder script." #~ msgstr "Questo è uno script segnaposto vuoto." -# EN: Not clear if 'storage' refers to disk- or database-storage, or if it relates to game-world objects/containers. -# IT: Non è chiaro se se si riferisce a 'storage' nel sendo di dati su disco (o database) oppure a contenitori quali oggetti del MUD! -#, fuzzy -#~ msgid "This is a generic storage container." -#~ msgstr "Questo è un contenitore per immagazzinamento generico." - #~ msgid "Checks sessions so they are live." #~ msgstr "Verifica che le sessioni siano attive." @@ -552,19 +1280,18 @@ msgstr "La dicitura '{acct_tz}' non rappresenta una timezone valida ({err})" #~ msgid "Updates the channel handler" #~ msgstr "Aggiorna l'handler del canale." -#, python-format #~ msgid "Connection dropped: %s %s (%s)" #~ msgstr "Connessione caduta: %s %s (%s)" # EN: translated as if referring to player. In doubt it may refer to list of all connected users... # IT: tradotto presupponendo si riferisca al giocatore. Dubbio: potrebbe riferirsi all'elenco di tutti gli utenti? -#, fuzzy, python-format +#, fuzzy #~ msgid "Logged in: %s %s (%s)" #~ msgstr "Connesso: %s %s (%s)" # EN: translated as if referring to player. In doubt it may refer to list of all connected users... # IT: tradotto presupponendo si riferisca al giocatore. Dubbio: potrebbe riferirsi all'elenco di tutti gli utenti? -#, fuzzy, python-format +#, fuzzy #~ msgid "Logged out: %s %s (%s)" #~ msgstr "Disconnesso: %s %s (%s)" diff --git a/evennia/locale/ko/LC_MESSAGES/django.po b/evennia/locale/ko/LC_MESSAGES/django.po index 333e207aab..9f064a668a 100644 --- a/evennia/locale/ko/LC_MESSAGES/django.po +++ b/evennia/locale/ko/LC_MESSAGES/django.po @@ -1,13 +1,13 @@ -##The Simplified Korean translation for the Evennia server. -##Copyright (C) 2019 Ethan Kwon -##This file is distributed under the same license as the Evennia package. -##FIRST AUTHOR: Ethan Kwon , 2019- -## +# #The Simplified Korean translation for the Evennia server. +# #Copyright (C) 2019 Ethan Kwon +# #This file is distributed under the same license as the Evennia package. +# #FIRST AUTHOR: Ethan Kwon , 2019- +# # msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-09-21 05:00+0900\n" +"POT-Creation-Date: 2021-05-29 16:24+0000\n" "PO-Revision-Date: 2019-09-21 05:00+0900\n" "Last-Translator: \n" "Language-Team: \n" @@ -16,33 +16,176 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -#: .\accounts\accounts.py:784 +#: accounts/accounts.py:321 +#, python-brace-format +msgid "|c{key}|R is already puppeted by another Account." +msgstr "" + +#: accounts/accounts.py:515 +msgid "Too many login failures; please try again in a few minutes." +msgstr "" + +#: accounts/accounts.py:528 accounts/accounts.py:789 +msgid "" +"|rYou have been banned and cannot continue from here.\n" +"If you feel this ban is in error, please email an admin.|x" +msgstr "" + +#: accounts/accounts.py:540 +msgid "Username and/or password is incorrect." +msgstr "" + +#: accounts/accounts.py:547 +msgid "Too many authentication failures." +msgstr "" + +#: accounts/accounts.py:760 +msgid "" +"You are creating too many accounts. Please log into an existing account." +msgstr "" + +#: accounts/accounts.py:805 +msgid "" +"There was an error creating the Account. If this problem persists, contact " +"an admin." +msgstr "" + +#: accounts/accounts.py:839 accounts/accounts.py:1751 +msgid "An error occurred. Please e-mail an admin if the problem persists." +msgstr "" + +#: accounts/accounts.py:866 msgid "Account being deleted." msgstr "계정이 삭제되었습니다." -#: .\commands\cmdhandler.py:680 +#: accounts/accounts.py:1417 accounts/accounts.py:1768 +#, python-brace-format +msgid "|G{key} connected|n" +msgstr "" + +#: accounts/accounts.py:1424 accounts/accounts.py:1431 +#, fuzzy +#| msgid "The destination doesn't exist." +msgid "The Character does not exist." +msgstr "The destination doesn't exist." + +#: accounts/accounts.py:1470 +#, python-brace-format +msgid "|R{key} disconnected{reason}|n" +msgstr "" + +#: accounts/accounts.py:1704 +msgid "Guest accounts are not enabled on this server." +msgstr "" + +#: accounts/accounts.py:1714 +msgid "All guest accounts are in use. Please try again later." +msgstr "" + +#: commands/cmdhandler.py:83 +msgid "" +"\n" +"An untrapped error occurred.\n" +msgstr "" + +#: commands/cmdhandler.py:86 +msgid "" +"\n" +"An untrapped error occurred. Please file a bug report detailing the steps to " +"reproduce.\n" +msgstr "" + +#: commands/cmdhandler.py:92 +msgid "" +"\n" +"A cmdset merger-error occurred. This is often due to a syntax\n" +"error in one of the cmdsets to merge.\n" +msgstr "" + +#: commands/cmdhandler.py:96 +msgid "" +"\n" +"A cmdset merger-error occurred. Please file a bug report detailing the\n" +"steps to reproduce.\n" +msgstr "" + +#: commands/cmdhandler.py:103 +msgid "" +"\n" +"No command sets found! This is a critical bug that can have\n" +"multiple causes.\n" +msgstr "" + +#: commands/cmdhandler.py:107 +msgid "" +"\n" +"No command sets found! This is a sign of a critical bug. If\n" +"disconnecting/reconnecting doesn't\" solve the problem, try to contact\n" +"the server admin through\" some other means for assistance.\n" +msgstr "" + +#: commands/cmdhandler.py:115 +msgid "" +"\n" +"A command handler bug occurred. If this is not due to a local change,\n" +"please file a bug report with the Evennia project, including the\n" +"traceback and steps to reproduce.\n" +msgstr "" + +#: commands/cmdhandler.py:120 +msgid "" +"\n" +"A command handler bug occurred. Please notify staff - they should\n" +"likely file a bug report with the Evennia project.\n" +msgstr "" + +#: commands/cmdhandler.py:127 +#, python-brace-format +msgid "" +"Command recursion limit ({recursion_limit}) reached for " +"'{raw_cmdname}' ({cmdclass})." +msgstr "" + +#: commands/cmdhandler.py:149 +#, fuzzy, python-brace-format +#| msgid "" +#| "{traceback}\n" +#| "Error loading cmdset '{path}'\n" +#| "(Traceback was logged {timestamp})" +msgid "" +"{traceback}\n" +"{errmsg}\n" +"(Traceback was logged {timestamp})." +msgstr "" +"{traceback}\n" +"Error loading cmdset '{path}'\n" +"Traceback was logged {timestamp})" + +#: commands/cmdhandler.py:699 msgid "There were multiple matches." msgstr "여러 개의 일치 항목을 찾았습니다." -#: .\commands\cmdhandler.py:703 -#, python-format -msgid "Command '%s' is not available." +#: commands/cmdhandler.py:724 +#, fuzzy, python-brace-format +#| msgid "Command '%s' is not available." +msgid "Command '{command}' is not available." msgstr "'%s' 명령은 사용할 수 없습니다." -#: .\commands\cmdhandler.py:708 -#, python-format -msgid " Maybe you meant %s?" +#: commands/cmdhandler.py:734 +#, fuzzy, python-brace-format +#| msgid " Maybe you meant %s?" +msgid " Maybe you meant {command}?" msgstr "'%s'이 맞습니까?" -#: .\commands\cmdhandler.py:708 +#: commands/cmdhandler.py:735 msgid "or" msgstr "또는" -#: .\commands\cmdhandler.py:710 +#: commands/cmdhandler.py:738 msgid " Type \"help\" for help." msgstr " 도음말은 \"help\"를 입력하세요." -#: .\commands\cmdsethandler.py:89 +#: commands/cmdsethandler.py:89 #, python-brace-format msgid "" "{traceback}\n" @@ -53,7 +196,7 @@ msgstr "" "Error loading cmdset '{path}'\n" "Traceback was logged {timestamp})" -#: .\commands\cmdsethandler.py:94 +#: commands/cmdsethandler.py:95 #, python-brace-format msgid "" "Error loading cmdset: No cmdset class '{classname}' in '{path}'.\n" @@ -62,7 +205,7 @@ msgstr "" "Error loading cmdset: No cmdset class '{classname}' in '{path}'.\n" "(Traceback was logged {timestamp})" -#: .\commands\cmdsethandler.py:98 +#: commands/cmdsethandler.py:100 #, python-brace-format msgid "" "{traceback}\n" @@ -73,18 +216,22 @@ msgstr "" "SyntaxError encountered when loading cmdset '{path}'.\n" "(Traceback was logged {timestamp})" -#: .\commands\cmdsethandler.py:103 -#, python-brace-format +#: commands/cmdsethandler.py:106 +#, fuzzy, python-brace-format +#| msgid "" +#| "{traceback}\n" +#| "Compile/Run error when loading cmdset '{path}'.\",\n" +#| "(Traceback was logged {timestamp})" msgid "" "{traceback}\n" -"Compile/Run error when loading cmdset '{path}'.\",\n" +"Compile/Run error when loading cmdset '{path}'.\n" "(Traceback was logged {timestamp})" msgstr "" "{traceback}\n" "Compile/Run error when loading cmdset '{path}'.\",\n" "(Traceback was logged {timestamp})" -#: .\commands\cmdsethandler.py:108 +#: commands/cmdsethandler.py:112 #, python-brace-format msgid "" "\n" @@ -95,153 +242,299 @@ msgstr "" "Error encountered for cmdset at path '{path}'.\n" "Replacing with fallback '{fallback_path}'.\n" -#: .\commands\cmdsethandler.py:114 +#: commands/cmdsethandler.py:118 #, python-brace-format msgid "Fallback path '{fallback_path}' failed to generate a cmdset." msgstr "Fallback path '{fallback_path}' failed to generate a cmdset." -#: .\commands\cmdsethandler.py:182 .\commands\cmdsethandler.py:192 -#, python-format +#: commands/cmdsethandler.py:188 commands/cmdsethandler.py:200 +#, fuzzy, python-brace-format +#| msgid "" +#| "\n" +#| "(Unsuccessfully tried '%s')." msgid "" "\n" -"(Unsuccessfully tried '%s')." +"(Unsuccessfully tried '{path}')." msgstr "" "\n" "(Unsuccessfully tried '%s')." -#: .\commands\cmdsethandler.py:311 +#: commands/cmdsethandler.py:331 #, python-brace-format msgid "custom {mergetype} on cmdset '{cmdset}'" msgstr "custom {mergetype} on cmdset '{cmdset}'" -#: .\commands\cmdsethandler.py:314 -#, python-brace-format -msgid " : {current}" -msgstr " : {current}" - -#: .\commands\cmdsethandler.py:322 -#, python-brace-format -msgid "" -" <{key} ({mergetype}, prio {prio}, {permstring})>:\n" -" {keylist}" -msgstr "" -" <{key} ({mergetype}, prio {prio}, {permstring})>:\n" -" {keylist}" - -#: .\commands\cmdsethandler.py:426 +#: commands/cmdsethandler.py:459 msgid "Only CmdSets can be added to the cmdsethandler!" msgstr "Only CmdSets can be added to the cmdsethandler!" -#: .\comms\channelhandler.py:100 -msgid "Say what?" -msgstr "뭐라구요?" - -#: .\comms\channelhandler.py:105 -#, python-format -msgid "Channel '%s' not found." -msgstr "'%s' 채널을 찾을 수 없습니다." - -#: .\comms\channelhandler.py:108 -#, python-format -msgid "You are not connected to channel '%s'." -msgstr "'%s' 채널에 접속하고 있지 않습니다." - -#: .\comms\channelhandler.py:112 -#, python-format -msgid "You are not permitted to send to channel '%s'." -msgstr "'%s' 채널에 보낼 수 없습니다." - -#: .\comms\channelhandler.py:155 -msgid " (channel)" -msgstr " (채널)" - -#: .\locks\lockhandler.py:236 -#, python-format -msgid "Lock: lock-function '%s' is not available." +#: locks/lockhandler.py:238 +#, fuzzy, python-brace-format +#| msgid "Lock: lock-function '%s' is not available." +msgid "Lock: lock-function '{lockfunc}' is not available." msgstr "Lock: lock-function '%s' is not available." -#: .\locks\lockhandler.py:249 -#, python-format -msgid "Lock: definition '%s' has syntax errors." +#: locks/lockhandler.py:259 +#, fuzzy, python-brace-format +#| msgid "Lock: definition '%s' has syntax errors." +msgid "Lock: definition '{lock_string}' has syntax errors." msgstr "Lock: definition '%s' has syntax errors." -#: .\locks\lockhandler.py:253 -#, python-format +#: locks/lockhandler.py:267 +#, fuzzy, python-brace-format +#| msgid "" +#| "LockHandler on %(obj)s: access type '%(access_type)s' changed from " +#| "'%(source)s' to '%(goal)s' " msgid "" -"LockHandler on %(obj)s: access type '%(access_type)s' changed from " -"'%(source)s' to '%(goal)s' " +"LockHandler on {obj}: access type '{access_type}' changed from '{source}' to " +"'{goal}' " msgstr "" "LockHandler on %(obj)s: access type '%(access_type)s' changed from " "'%(source)s' to '%(goal)s' " -#: .\locks\lockhandler.py:320 +#: locks/lockhandler.py:341 #, python-brace-format msgid "Lock: '{lockdef}' contains no colon (:)." msgstr "Lock: '{lockdef}' contains no colon (:)." -#: .\locks\lockhandler.py:328 +#: locks/lockhandler.py:350 #, python-brace-format msgid "Lock: '{lockdef}' has no access_type (left-side of colon is empty)." msgstr "Lock: '{lockdef}' has no access_type (left-side of colon is empty)." -#: .\locks\lockhandler.py:336 +#: locks/lockhandler.py:358 #, python-brace-format msgid "Lock: '{lockdef}' has mismatched parentheses." msgstr "Lock: '{lockdef}' has mismatched parentheses." -#: .\locks\lockhandler.py:343 +#: locks/lockhandler.py:365 #, python-brace-format msgid "Lock: '{lockdef}' has no valid lock functions." msgstr "Lock: '{lockdef}' has no valid lock functions." -#: .\objects\objects.py:745 -#, python-format -msgid "Couldn't perform move ('%s'). Contact an admin." +#: objects/objects.py:871 +#, fuzzy, python-brace-format +#| msgid "Couldn't perform move ('%s'). Contact an admin." +msgid "Couldn't perform move ({err}). Contact an admin." msgstr "Couldn't perform move ('%s'). 운영자에게 문의하세요." -#: .\objects\objects.py:755 +#: objects/objects.py:881 msgid "The destination doesn't exist." msgstr "The destination doesn't exist." -#: .\objects\objects.py:846 -#, python-format -msgid "Could not find default home '(#%d)'." +#: objects/objects.py:974 +#, fuzzy, python-brace-format +#| msgid "Could not find default home '(#%d)'." +msgid "Could not find default home '(#{dbid})'." msgstr "Could not find default home '(#%d)'." -#: .\objects\objects.py:862 +#: objects/objects.py:988 msgid "Something went wrong! You are dumped into nowhere. Contact an admin." -msgstr "Something went wrong! You are dumped into nowhere. 운영자에게 문의하세요." +msgstr "" +"Something went wrong! You are dumped into nowhere. 운영자에게 문의하세요." -#: .\objects\objects.py:1004 -#, python-format -msgid "Your character %s has been destroyed." +#: objects/objects.py:1138 +#, fuzzy, python-brace-format +#| msgid "Your character %s has been destroyed." +msgid "Your character {key} has been destroyed." msgstr "%s 캐릭터가 삭제되었습니다." -#: .\scripts\scripthandler.py:53 -#, python-format +#: objects/objects.py:1546 +#, python-brace-format +msgid "You now have {name} in your possession." +msgstr "" + +#: objects/objects.py:1555 +#, python-brace-format +msgid "{object} arrives to {destination} from {origin}." +msgstr "" + +#: objects/objects.py:1557 +#, python-brace-format +msgid "{object} arrives to {destination}." +msgstr "" + +#: objects/objects.py:2165 +msgid "Invalid character name." +msgstr "" + +#: objects/objects.py:2184 +msgid "There are too many characters associated with this account." +msgstr "" + +#: objects/objects.py:2210 +#, fuzzy +#| msgid "This is User #1." +msgid "This is a character." +msgstr "This is User #1." + +#: objects/objects.py:2296 +#, python-brace-format +msgid "|r{obj} has no location and no home is set.|n" +msgstr "" + +#: objects/objects.py:2315 +#, python-brace-format msgid "" "\n" -" '%(key)s' (%(next_repeat)s/%(interval)s, %(repeats)s repeats): %(desc)s" +"You become |c{name}|n.\n" +msgstr "" + +#: objects/objects.py:2319 +#, python-brace-format +msgid "{name} has entered the game." +msgstr "" + +#: objects/objects.py:2343 +#, python-brace-format +msgid "{name} has left the game." +msgstr "" + +#: objects/objects.py:2461 +#, fuzzy +#| msgid "This is User #1." +msgid "This is a room." +msgstr "This is User #1." + +#: objects/objects.py:2667 +#, fuzzy +#| msgid "This is User #1." +msgid "This is an exit." +msgstr "This is User #1." + +#: objects/objects.py:2764 +msgid "You cannot go there." +msgstr "" + +#: prototypes/prototypes.py:57 +msgid "Error" +msgstr "" + +#: prototypes/prototypes.py:58 +msgid "Warning" +msgstr "" + +#: prototypes/prototypes.py:263 +msgid "Prototype requires a prototype_key" +msgstr "" + +#: prototypes/prototypes.py:271 prototypes/prototypes.py:339 +#, python-brace-format +msgid "{protkey} is a read-only prototype (defined as code in {module})." +msgstr "" + +#: prototypes/prototypes.py:346 +#, python-brace-format +msgid "Prototype {prototype_key} was not found." +msgstr "" + +#: prototypes/prototypes.py:353 +#, python-brace-format +msgid "" +"{caller} needs explicit 'edit' permissions to delete prototype " +"{prototype_key}." +msgstr "" + +#: prototypes/prototypes.py:455 +#, python-brace-format +msgid "Found {num} matching prototypes {module_prototypes}." +msgstr "" + +#: prototypes/prototypes.py:615 +msgid "No prototypes found." +msgstr "" + +#: prototypes/prototypes.py:666 +msgid "Prototype lacks a 'prototype_key'." +msgstr "" + +#: prototypes/prototypes.py:675 +#, python-brace-format +msgid "Prototype {protkey} requires `typeclass` or 'prototype_parent'." +msgstr "" + +#: prototypes/prototypes.py:680 +#, python-brace-format +msgid "" +"Prototype {protkey} can only be used as a mixin since it lacks 'typeclass' " +"or 'prototype_parent' keys." +msgstr "" + +#: prototypes/prototypes.py:689 +#, python-brace-format +msgid "" +"{err}: Prototype {protkey} is based on typeclass {typeclass}, which could " +"not be imported!" +msgstr "" + +#: prototypes/prototypes.py:699 +#, python-brace-format +msgid "Prototype {protkey} tries to parent itself." +msgstr "" + +#: prototypes/prototypes.py:704 +#, python-brace-format +msgid "Prototype {protkey}'s prototype_parent '{parent}' was not found." +msgstr "" + +#: prototypes/prototypes.py:709 +#, python-brace-format +msgid "{protkey} has infinite nesting of prototypes." +msgstr "" + +#: prototypes/prototypes.py:729 +#, python-brace-format +msgid "" +"Prototype {protkey} has no `typeclass` defined anywhere in its parent\n" +" chain. Add `typeclass`, or a `prototype_parent` pointing to a prototype " +"with a typeclass." +msgstr "" + +#: prototypes/spawner.py:473 +#, python-brace-format +msgid "" +"Diff contains non-dicts that are not on the form (old, new, action_to_take): " +"{diffpart}" +msgstr "" + +#: scripts/scripthandler.py:51 +#, fuzzy, python-brace-format +#| msgid "" +#| "\n" +#| " '%(key)s' (%(next_repeat)s/%(interval)s, %(repeats)s repeats): %(desc)s" +msgid "" +"\n" +" '{key}' ({next_repeat}/{interval}, {repeats} repeats): {desc}" msgstr "" "\n" " '%(key)s' (%(next_repeat)s/%(interval)s, %(repeats)s repeats): %(desc)s" -#: .\scripts\scripts.py:199 -#, python-format -msgid "" -"Script %(key)s(#%(dbid)s) of type '%(cname)s': at_repeat() error '%(err)s'." +#: scripts/scripts.py:329 +#, fuzzy, python-brace-format +#| msgid "" +#| "Script %(key)s(#%(dbid)s) of type '%(cname)s': at_repeat() error " +#| "'%(err)s'." +msgid "Script {key}(#{dbid}) of type '{name}': at_repeat() error '{err}'." msgstr "" "Script %(key)s(#%(dbid)s) of type '%(cname)s': at_repeat() error '%(err)s'." -#: .\server\initial_setup.py:28 +#: server/initial_setup.py:28 +#, fuzzy +#| msgid "" +#| "\n" +#| "Welcome to your new |wEvennia|n-based game! Visit http://www.evennia.com " +#| "if you need\n" +#| "help, want to contribute, report issues or just join the community.\n" +#| "As Account #1 you can create a demo/tutorial area with |w@batchcommand " +#| "tutorial_world.build|n.\n" +#| " " msgid "" "\n" -"Welcome to your new |wEvennia|n-based game! Visit http://www.evennia.com if " +"Welcome to your new |wEvennia|n-based game! Visit https://www.evennia.com if " "you need\n" "help, want to contribute, report issues or just join the community.\n" -"As Account #1 you can create a demo/tutorial area with |w@batchcommand " -"tutorial_world.build|n.\n" -" " +"As Account #1 you can create a demo/tutorial area with '|wbatchcommand " +"tutorial_world.build|n'.\n" msgstr "" "\n" "Welcome to your new |wEvennia|n-based game! Visit http://www.evennia.com if " @@ -251,83 +544,632 @@ msgstr "" "데모겸 튜터리얼 월드를 생성할 수 있습니다.\n" " " -#: .\server\initial_setup.py:92 +#: server/initial_setup.py:92 msgid "This is User #1." msgstr "This is User #1." -#: .\server\initial_setup.py:105 +#: server/initial_setup.py:108 msgid "Limbo" msgstr "림보" -#: .\server\server.py:139 +#: server/portal/portalsessionhandler.py:40 +#, python-brace-format +msgid "" +"{servername} DoS protection is active. You are queued to connect in {num} " +"seconds ..." +msgstr "" + +#: server/server.py:152 msgid "idle timeout exceeded" msgstr "연결 시간 초과" -#: .\server\sessionhandler.py:392 +#: server/sessionhandler.py:42 +msgid "Your client sent an incorrect UTF-8 sequence." +msgstr "" + +#: server/sessionhandler.py:399 msgid " ... Server restarted." msgstr " ... 서버가 재가동되었습니다." -#: .\server\sessionhandler.py:620 +#: server/sessionhandler.py:623 msgid "Logged in from elsewhere. Disconnecting." msgstr "어디에선가 로그인했습니다. 접속이 끊어집니다." -#: .\server\sessionhandler.py:648 +#: server/sessionhandler.py:652 msgid "Idle timeout exceeded, disconnecting." msgstr "연결 시간이 초과되었습니다. 접속이 끊어집니다." -#: .\server\validators.py:50 -#, python-format +#: server/throttle.py:21 msgid "" -"%s From a terminal client, you can also use a phrase of multiple words if " -"you enclose the password in double quotes." +"Too many failed attempts; you must wait a few minutes before trying again." msgstr "" -"%s 터미널 클라이언트에서 암호를 큰 따옴표로 묶으면 여러 단어로 된 암호를 사용할 수 있습니다." -"" -#: .\utils\evmenu.py:192 +#: server/validators.py:31 +msgid "Sorry, that username is reserved." +msgstr "" + +#: server/validators.py:38 +msgid "Sorry, that username is already taken." +msgstr "" + +#: server/validators.py:88 +#, fuzzy, python-brace-format +#| msgid "" +#| "%s From a terminal client, you can also use a phrase of multiple words if " +#| "you enclose the password in double quotes." +msgid "" +"{policy} From a terminal client, you can also use a phrase of multiple words " +"if you enclose the password in double quotes." +msgstr "" +"%s 터미널 클라이언트에서 암호를 큰 따옴표로 묶으면 여러 단어로 된 암호를 사용" +"할 수 있습니다." + +#: utils/eveditor.py:67 +msgid "" +"\n" +" - any non-command is appended to the end of the buffer.\n" +" : - view buffer or only line(s) \n" +" :: - raw-view buffer or only line(s) \n" +" ::: - escape - enter ':' as the only character on the line.\n" +" :h - this help.\n" +"\n" +" :w - save the buffer (don't quit)\n" +" :wq - save buffer and quit\n" +" :q - quit (will be asked to save if buffer was changed)\n" +" :q! - quit without saving, no questions asked\n" +"\n" +" :u - (undo) step backwards in undo history\n" +" :uu - (redo) step forward in undo history\n" +" :UU - reset all changes back to initial state\n" +"\n" +" :dd - delete last line or line(s) \n" +" :dw - delete word or regex in entire buffer or on line \n" +" :DD - clear entire buffer\n" +"\n" +" :y - yank (copy) line(s) to the copy buffer\n" +" :x - cut line(s) and store it in the copy buffer\n" +" :p - put (paste) previously copied line(s) directly after \n" +" :i - insert new text at line . Old line will move " +"down\n" +" :r - replace line with text \n" +" :I - insert text at the beginning of line \n" +" :A - append text after the end of line \n" +"\n" +" :s - search/replace word or regex in buffer or on line " +"\n" +"\n" +" :j - justify buffer or line . is f, c, l or r. Default f " +"(full)\n" +" :f - flood-fill entire buffer or line : Equivalent to :j left\n" +" :fi - indent entire buffer or line \n" +" :fd - de-indent entire buffer or line \n" +"\n" +" :echo - turn echoing of the input on/off (helpful for some clients)\n" +msgstr "" + +#: utils/eveditor.py:105 +msgid "" +"\n" +" Legend:\n" +" - line number, like '5' or range, like '3:7'.\n" +" - a single word, or multiple words with quotes around them.\n" +" - longer string, usually not needing quotes.\n" +msgstr "" + +#: utils/eveditor.py:112 +msgid "" +"\n" +" :! - Execute code buffer without saving\n" +" :< - Decrease the level of automatic indentation for the next lines\n" +" :> - Increase the level of automatic indentation for the next lines\n" +" := - Switch automatic indentation on/off\n" +msgstr "" + +#: utils/eveditor.py:121 #, python-brace-format msgid "" -"Menu node '{nodename}' is either not implemented or caused an error. Make " -"another choice." +"\n" +"{error}\n" +"\n" +"|rBuffer load function error. Could not load initial data.|n\n" msgstr "" -"Menu node '{nodename}'가 구현되지 않았거나 오류가 발생했습니다." -"다른 선택을 해보세요." -#: .\utils\evmenu.py:194 +#: utils/eveditor.py:127 +#, python-brace-format +msgid "" +"\n" +"{error}\n" +"\n" +"|rSave function returned an error. Buffer not saved.|n\n" +msgstr "" + +#: utils/eveditor.py:133 +msgid "|rNo save function defined. Buffer cannot be saved.|n" +msgstr "" + +#: utils/eveditor.py:135 +msgid "No changes need saving" +msgstr "" + +#: utils/eveditor.py:136 +msgid "Exited editor." +msgstr "" + +#: utils/eveditor.py:138 +#, python-brace-format +msgid "" +"\n" +"{error}\n" +"\n" +"|rQuit function gave an error. Skipping.|n\n" +msgstr "" + +#: utils/eveditor.py:144 +#, python-brace-format +msgid "" +"\n" +"{error}\n" +"\n" +"|rThe editor state could not be saved for persistent mode. Switching\n" +"to non-persistent mode (which means the editor session won't survive\n" +"an eventual server reload - so save often!)|n\n" +msgstr "" + +#: utils/eveditor.py:153 +msgid "" +"EvEditor persistent-mode error. Commonly, this is because one or more of the " +"EvEditor callbacks could not be pickled, for example because it's a class " +"method or is defined inside another function." +msgstr "" + +#: utils/eveditor.py:159 +msgid "Nothing to undo." +msgstr "" + +#: utils/eveditor.py:160 +msgid "Nothing to redo." +msgstr "" + +#: utils/eveditor.py:161 +msgid "Undid one step." +msgstr "" + +#: utils/eveditor.py:162 +msgid "Redid one step." +msgstr "" + +#: utils/eveditor.py:480 +msgid "Single ':' added to buffer." +msgstr "" + +#: utils/eveditor.py:495 +msgid "Save before quitting?" +msgstr "" + +#: utils/eveditor.py:510 +msgid "Reverted all changes to the buffer back to original state." +msgstr "" + +#: utils/eveditor.py:515 +#, python-brace-format +msgid "Deleted {string}." +msgstr "" + +#: utils/eveditor.py:520 +msgid "You must give a search word to delete." +msgstr "" + +#: utils/eveditor.py:525 +#, python-brace-format +msgid "Removed {arg1} for lines {l1}-{l2}." +msgstr "" + +#: utils/eveditor.py:528 +#, python-brace-format +msgid "Removed {arg1} for {line}." +msgstr "" + +#: utils/eveditor.py:544 +#, python-brace-format +msgid "Cleared {nlines} lines from buffer." +msgstr "" + +#: utils/eveditor.py:549 +#, python-brace-format +msgid "{line}, {cbuf} yanked." +msgstr "" + +#: utils/eveditor.py:556 +#, python-brace-format +msgid "{line}, {cbuf} cut." +msgstr "" + +#: utils/eveditor.py:560 +msgid "Copy buffer is empty." +msgstr "" + +#: utils/eveditor.py:564 +#, python-brace-format +msgid "Pasted buffer {cbuf} to {line}." +msgstr "" + +#: utils/eveditor.py:570 +msgid "You need to enter a new line and where to insert it." +msgstr "" + +#: utils/eveditor.py:574 +#, python-brace-format +msgid "Inserted {num} new line(s) at {line}." +msgstr "" + +#: utils/eveditor.py:580 +msgid "You need to enter a replacement string." +msgstr "" + +#: utils/eveditor.py:584 +#, python-brace-format +msgid "Replaced {num} line(s) at {line}." +msgstr "" + +#: utils/eveditor.py:589 +msgid "You need to enter text to insert." +msgstr "" + +#: utils/eveditor.py:597 +#, python-brace-format +msgid "Inserted text at beginning of {line}." +msgstr "" + +#: utils/eveditor.py:601 +msgid "You need to enter text to append." +msgstr "" + +#: utils/eveditor.py:609 +#, python-brace-format +msgid "Appended text to end of {line}." +msgstr "" + +#: utils/eveditor.py:614 +msgid "You must give a search word and something to replace it with." +msgstr "" + +#: utils/eveditor.py:620 +#, python-brace-format +msgid "Search-replaced {arg1} -> {arg2} for lines {l1}-{l2}." +msgstr "" + +#: utils/eveditor.py:625 +#, python-brace-format +msgid "Search-replaced {arg1} -> {arg2} for {line}." +msgstr "" + +#: utils/eveditor.py:648 +#, python-brace-format +msgid "Flood filled lines {l1}-{l2}." +msgstr "" + +#: utils/eveditor.py:651 +#, python-brace-format +msgid "Flood filled {line}." +msgstr "" + +#: utils/eveditor.py:673 +msgid "Valid justifications are" +msgstr "" + +#: utils/eveditor.py:681 +#, python-brace-format +msgid "{align}-justified lines {l1}-{l2}." +msgstr "" + +#: utils/eveditor.py:684 +#, python-brace-format +msgid "{align}-justified {line}." +msgstr "" + +#: utils/eveditor.py:696 +#, python-brace-format +msgid "Indented lines {l1}-{l2}." +msgstr "" + +#: utils/eveditor.py:698 +#, python-brace-format +msgid "Indented {line}." +msgstr "" + +#: utils/eveditor.py:707 +#, python-brace-format +msgid "Removed left margin (dedented) lines {l1}-{l2}." +msgstr "" + +#: utils/eveditor.py:710 +#, python-brace-format +msgid "Removed left margin (dedented) {line}." +msgstr "" + +#: utils/eveditor.py:718 +#, python-brace-format +msgid "Echo mode set to {mode}" +msgstr "" + +#: utils/eveditor.py:723 utils/eveditor.py:736 utils/eveditor.py:749 +#: utils/eveditor.py:760 +msgid "This command is only available in code editor mode." +msgstr "" + +#: utils/eveditor.py:731 +#, python-brace-format +msgid "Decreased indentation: new indentation is {indent}." +msgstr "" + +#: utils/eveditor.py:734 utils/eveditor.py:747 +msgid "|rManual indentation is OFF.|n Use := to turn it on." +msgstr "" + +#: utils/eveditor.py:744 +#, python-brace-format +msgid "Increased indentation: new indentation is {indent}." +msgstr "" + +#: utils/eveditor.py:756 +msgid "Auto-indentation turned on." +msgstr "" + +#: utils/eveditor.py:758 +msgid "Auto-indentation turned off." +msgstr "" + +#: utils/eveditor.py:913 +msgid "|rNote: input buffer was converted to a string.|n" +msgstr "" + +#: utils/eveditor.py:1050 +#, python-brace-format +msgid "Line Editor [{name}]" +msgstr "" + +#: utils/eveditor.py:1058 +msgid "(:h for help)" +msgstr "" + +#: utils/evmenu.py:302 +#, fuzzy, python-brace-format +#| msgid "" +#| "Menu node '{nodename}' is either not implemented or caused an error. Make " +#| "another choice." +msgid "" +"Menu node '{nodename}' is either not implemented or caused an error. Make " +"another choice or try 'q' to abort." +msgstr "" +"Menu node '{nodename}'가 구현되지 않았거나 오류가 발생했습니다.다른 선택을 해" +"보세요." + +#: utils/evmenu.py:305 #, python-brace-format msgid "Error in menu node '{nodename}'." msgstr "Menu node '{nodename}'에서 오류가 발생했습니다." -#: .\utils\evmenu.py:195 +#: utils/evmenu.py:306 msgid "No description." msgstr "설명이 없습니다." -#: .\utils\evmenu.py:196 +#: utils/evmenu.py:307 msgid "Commands: , help, quit" msgstr "명령: , help, quit" -#: .\utils\evmenu.py:197 +#: utils/evmenu.py:308 msgid "Commands: , help" msgstr "명령: , help" -#: .\utils\evmenu.py:198 +#: utils/evmenu.py:309 msgid "Commands: help, quit" msgstr "명령: help, quit" -#: .\utils\evmenu.py:199 +#: utils/evmenu.py:310 msgid "Commands: help" msgstr "명령: help" -#: .\utils\evmenu.py:200 +#: utils/evmenu.py:311 utils/evmenu.py:1842 msgid "Choose an option or try 'help'." msgstr "다른 옵션을 선택하거나 'help'를 확인해보세요." -#: .\utils\utils.py:1882 -#, python-format -msgid "Could not find '%s'." +#: utils/evmenu.py:1383 +msgid "|rInvalid choice.|n" +msgstr "" + +#: utils/evmenu.py:1441 +msgid "|Wcurrent|n" +msgstr "" + +#: utils/evmenu.py:1449 +msgid "|wp|Wrevious page|n" +msgstr "" + +#: utils/evmenu.py:1456 +msgid "|wn|Wext page|n" +msgstr "" + +#: utils/evmenu.py:1690 +msgid "Aborted." +msgstr "" + +#: utils/evmenu.py:1713 +msgid "|rError in ask_yes_no. Choice not confirmed (report to admin)|n" +msgstr "" + +#: utils/evmore.py:235 +msgid "Exited |wmore|n pager." +msgstr "" + +#: utils/optionhandler.py:138 utils/optionhandler.py:162 +msgid "Option not found!" +msgstr "" + +#: utils/optionhandler.py:159 +msgid "Option field blank!" +msgstr "" + +#: utils/optionhandler.py:164 +#, fuzzy +#| msgid "There were multiple matches." +msgid "Multiple matches:" +msgstr "여러 개의 일치 항목을 찾았습니다." + +#: utils/optionhandler.py:166 +msgid "Please be more specific." +msgstr "" + +#: utils/utils.py:2219 +#, fuzzy, python-brace-format +#| msgid "Could not find '%s'." +msgid "Could not find '{query}'." msgstr "'%s'를 찾을 수 없습니다." -#: .\utils\utils.py:1889 -#, python-format -msgid "More than one match for '%s' (please narrow target):\n" +#: utils/utils.py:2226 +#, fuzzy, python-brace-format +#| msgid "More than one match for '%s' (please narrow target):\n" +msgid "More than one match for '{query}' (please narrow target):\n" msgstr "'%s'와 일치하는 항목을 여러 개 찾았습니다.:\n" + +#: utils/validatorfuncs.py:25 +#, python-brace-format +msgid "Input could not be converted to text ({err})" +msgstr "" + +#: utils/validatorfuncs.py:34 +#, python-brace-format +msgid "Nothing entered for a {option_key}!" +msgstr "" + +#: utils/validatorfuncs.py:37 +#, python-brace-format +msgid "'{entry}' is not a valid {option_key}." +msgstr "" + +#: utils/validatorfuncs.py:62 utils/validatorfuncs.py:223 +#, python-brace-format +msgid "No {option_key} entered!" +msgstr "" + +#: utils/validatorfuncs.py:71 +#, python-brace-format +msgid "Timezone string '{acct_tz}' is not a valid timezone ({err})" +msgstr "" + +#: utils/validatorfuncs.py:88 utils/validatorfuncs.py:96 +#, python-brace-format +msgid "{option_key} must be entered in a 24-hour format such as: {timeformat}" +msgstr "" + +#: utils/validatorfuncs.py:140 +#, python-brace-format +msgid "Could not convert section '{interval}' to a {option_key}." +msgstr "" + +#: utils/validatorfuncs.py:150 +#, python-brace-format +msgid "That {option_key} is in the past! Must give a Future datetime!" +msgstr "" + +#: utils/validatorfuncs.py:157 +#, python-brace-format +msgid "Must enter a whole number for {option_key}!" +msgstr "" + +#: utils/validatorfuncs.py:162 +#, python-brace-format +msgid "Could not convert '{entry}' to a whole number for {option_key}!" +msgstr "" + +#: utils/validatorfuncs.py:171 +#, python-brace-format +msgid "Must enter a whole number greater than 0 for {option_key}!" +msgstr "" + +#: utils/validatorfuncs.py:179 +#, python-brace-format +msgid "{option_key} must be a whole number greater than or equal to 0!" +msgstr "" + +#: utils/validatorfuncs.py:197 +#, python-brace-format +msgid "Must enter a true/false input for {option_key}. Accepts {alternatives}." +msgstr "" + +#: utils/validatorfuncs.py:227 +#, python-brace-format +msgid "That matched: {matches}. Please be more specific!" +msgstr "" + +#: utils/validatorfuncs.py:231 +#, python-brace-format +msgid "Could not find timezone '{entry}' for {option_key}!" +msgstr "" + +#: utils/validatorfuncs.py:237 +msgid "Email address field empty!" +msgstr "" + +#: utils/validatorfuncs.py:240 +#, python-brace-format +msgid "That isn't a valid {option_key}!" +msgstr "" + +#: utils/validatorfuncs.py:247 +#, python-brace-format +msgid "No {option_key} entered to set!" +msgstr "" + +#: utils/validatorfuncs.py:251 +msgid "Must enter an access type!" +msgstr "" + +#: utils/validatorfuncs.py:254 +#, python-brace-format +msgid "Access type must be one of: {alternatives}" +msgstr "" + +#: utils/validatorfuncs.py:257 +msgid "Lock func not entered." +msgstr "" + +#: web/templates/admin/app_list.html:19 +msgid "Add" +msgstr "" + +#: web/templates/admin/app_list.html:26 +msgid "View" +msgstr "" + +#: web/templates/admin/app_list.html:28 +msgid "Change" +msgstr "" + +#: web/templates/admin/app_list.html:39 +msgid "You don’t have permission to view or edit anything." +msgstr "" + +#~ msgid " : {current}" +#~ msgstr " : {current}" + +#~ msgid "" +#~ " <{key} ({mergetype}, prio {prio}, {permstring})>:\n" +#~ " {keylist}" +#~ msgstr "" +#~ " <{key} ({mergetype}, prio {prio}, {permstring})>:\n" +#~ " {keylist}" + +#~ msgid "Say what?" +#~ msgstr "뭐라구요?" + +#~ msgid "Channel '%s' not found." +#~ msgstr "'%s' 채널을 찾을 수 없습니다." + +#~ msgid "You are not connected to channel '%s'." +#~ msgstr "'%s' 채널에 접속하고 있지 않습니다." + +#~ msgid "You are not permitted to send to channel '%s'." +#~ msgstr "'%s' 채널에 보낼 수 없습니다." + +#~ msgid " (channel)" +#~ msgstr " (채널)" diff --git a/evennia/locale/la/LC_MESSAGES/django.po b/evennia/locale/la/LC_MESSAGES/django.po index 685c5858eb..728eef1c4a 100644 --- a/evennia/locale/la/LC_MESSAGES/django.po +++ b/evennia/locale/la/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: 0.1\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-02-04 21:25-0600\n" +"POT-Creation-Date: 2021-05-29 16:24+0000\n" "PO-Revision-Date: 2021-02-04 21:25-0600\n" "Last-Translator: \n" "Language-Team: \n" @@ -17,132 +17,179 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -#: accounts/accounts.py:278 -msgid "You are already puppeting this object." -msgstr "Tū iam hanc rem administrās" - -#: accounts/accounts.py:282 -#, python-brace-format -msgid "You don't have permission to puppet '{key}'." -msgstr "Tibi non licet administrāre '{key}'." - -#: accounts/accounts.py:303 +#: accounts/accounts.py:321 #, python-brace-format msgid "|c{key}|R is already puppeted by another Account." msgstr "|c{key}|R ab aliā ratiōne iam administrātur" -#: accounts/accounts.py:499 +#: accounts/accounts.py:515 msgid "Too many login failures; please try again in a few minutes." -msgstr "Saepius nequīquam nōmen datum est; quaesō, paucis post mōmentīs rursus conāre." +msgstr "" +"Saepius nequīquam nōmen datum est; quaesō, paucis post mōmentīs rursus " +"conāre." -#: accounts/accounts.py:512 accounts/accounts.py:772 +#: accounts/accounts.py:528 accounts/accounts.py:789 msgid "" "|rYou have been banned and cannot continue from here.\n" "If you feel this ban is in error, please email an admin.|x" msgstr "" "|rTū prohibēris neque tibi hinc pergere licet.\n" -"Sī errōre tē prohibērī vidētur, quaesō litterās electronicās ad administrātōrem mitte.|x" +"Sī errōre tē prohibērī vidētur, quaesō litterās electronicās ad " +"administrātōrem mitte.|x" -#: accounts/accounts.py:524 +#: accounts/accounts.py:540 msgid "Username and/or password is incorrect." msgstr "Nōmen vel tessera male datur." -#: accounts/accounts.py:743 +#: accounts/accounts.py:547 +msgid "Too many authentication failures." +msgstr "" + +#: accounts/accounts.py:760 msgid "" "You are creating too many accounts. Please log into an existing account." -msgstr "" -"Plūrēs ratiōnēs creās. Quaesō nōmen prō ratiōne iam factā da." +msgstr "Plūrēs ratiōnēs creās. Quaesō nōmen prō ratiōne iam factā da." -#: accounts/accounts.py:789 +#: accounts/accounts.py:805 msgid "" "There was an error creating the Account. If this problem persists, contact " "an admin." msgstr "" -"Nequīquam ratiō creāta est. Sī semper tibi hic error obviam fit, adminstrātōrem vocā " +"Nequīquam ratiō creāta est. Sī semper tibi hic error obviam fit, " +"adminstrātōrem vocā " -#: accounts/accounts.py:824 accounts/accounts.py:1635 -msgid "Something has gone wrong. If this error persists, contact an admin" -msgstr "Errātum est. Si semper tibi hic error obiam fit, adminstratorem voca." +#: accounts/accounts.py:839 accounts/accounts.py:1751 +msgid "An error occurred. Please e-mail an admin if the problem persists." +msgstr "" -#: accounts/accounts.py:851 +#: accounts/accounts.py:866 msgid "Account being deleted." msgstr "Ratiō dēlētur." -#: accounts/accounts.py:1303 accounts/accounts.py:1652 +#: accounts/accounts.py:1417 accounts/accounts.py:1768 #, python-brace-format msgid "|G{key} connected|n" msgstr "|G{key} sē iunxit.|n" -#: accounts/accounts.py:1310 accounts/accounts.py:1317 +#: accounts/accounts.py:1424 accounts/accounts.py:1431 msgid "The Character does not exist." msgstr "Nōn est ista Persōna." -#: accounts/accounts.py:1356 +#: accounts/accounts.py:1470 #, python-brace-format msgid "|R{key} disconnected{reason}|n" msgstr "|R{key} sē dissolvit{reason}|n" -#: accounts/accounts.py:1463 -#, python-brace-format -msgid "{target} has no in-game appearance." -msgstr "{target} nullam faciem in hōc mundō habet." - -#: accounts/accounts.py:1507 -msgid "" -"\n" -"\n" -" You don't have any characters yet. See |whelp @charcreate|n for creating " -"one." -msgstr "" -"\n" -"\n" -" Tibi nondum est ulla persōna. Vidē |whelp @charcreate|n ad persōnam " -"creāndam." - -#: accounts/accounts.py:1588 +#: accounts/accounts.py:1704 msgid "Guest accounts are not enabled on this server." msgstr "Hospitibus nōn licet ratiōnibus ūtī in hoc moderātrō." -#: accounts/accounts.py:1598 +#: accounts/accounts.py:1714 msgid "All guest accounts are in use. Please try again later." msgstr "Nōn iam sunt ratiōnēs hospitum. Quaesō in posterum rursus conāre." -#: accounts/bots.py:333 +#: commands/cmdhandler.py:83 +msgid "" +"\n" +"An untrapped error occurred.\n" +msgstr "" + +#: commands/cmdhandler.py:86 +msgid "" +"\n" +"An untrapped error occurred. Please file a bug report detailing the steps to " +"reproduce.\n" +msgstr "" + +#: commands/cmdhandler.py:92 +msgid "" +"\n" +"A cmdset merger-error occurred. This is often due to a syntax\n" +"error in one of the cmdsets to merge.\n" +msgstr "" + +#: commands/cmdhandler.py:96 +msgid "" +"\n" +"A cmdset merger-error occurred. Please file a bug report detailing the\n" +"steps to reproduce.\n" +msgstr "" + +#: commands/cmdhandler.py:103 +msgid "" +"\n" +"No command sets found! This is a critical bug that can have\n" +"multiple causes.\n" +msgstr "" + +#: commands/cmdhandler.py:107 +msgid "" +"\n" +"No command sets found! This is a sign of a critical bug. If\n" +"disconnecting/reconnecting doesn't\" solve the problem, try to contact\n" +"the server admin through\" some other means for assistance.\n" +msgstr "" + +#: commands/cmdhandler.py:115 +msgid "" +"\n" +"A command handler bug occurred. If this is not due to a local change,\n" +"please file a bug report with the Evennia project, including the\n" +"traceback and steps to reproduce.\n" +msgstr "" + +#: commands/cmdhandler.py:120 +msgid "" +"\n" +"A command handler bug occurred. Please notify staff - they should\n" +"likely file a bug report with the Evennia project.\n" +msgstr "" + +#: commands/cmdhandler.py:127 #, python-brace-format msgid "" -"Nicks at {chstr}:\n" -" {nicklist}" -msgstr "Nōmina dīminutīva apud {chstr}:\n" -" {nicklist}" +"Command recursion limit ({recursion_limit}) reached for " +"'{raw_cmdname}' ({cmdclass})." +msgstr "" -#: accounts/bots.py:344 -#, python-brace-format -msgid "IRC ping return from {chstr} took {time}s." -msgstr "IRC ad {chstr} {time} secundīs responsāvit." +#: commands/cmdhandler.py:149 +#, fuzzy, python-brace-format +#| msgid "" +#| "{traceback}\n" +#| "Error loading cmdset '{path}'\n" +#| "(Traceback was logged {timestamp})" +msgid "" +"{traceback}\n" +"{errmsg}\n" +"(Traceback was logged {timestamp})." +msgstr "" +"{traceback}\n" +"in legendō cmdset '{path}' errātum est\n" +"(Iter ordōque struis memorātum est {timestamp})" -#: commands/cmdhandler.py:738 +#: commands/cmdhandler.py:699 msgid "There were multiple matches." msgstr "Plūra quam ūnum inventa sunt." -#: commands/cmdhandler.py:763 +#: commands/cmdhandler.py:724 #, python-brace-format msgid "Command '{command}' is not available." msgstr "Iussum '{command}' non suppetit." -#: commands/cmdhandler.py:773 +#: commands/cmdhandler.py:734 #, python-brace-format msgid " Maybe you meant {command}?" msgstr " Fortasse '{command}' in tuō animō habuistī?" -#: commands/cmdhandler.py:774 +#: commands/cmdhandler.py:735 msgid "or" msgstr "vel" -#: commands/cmdhandler.py:777 +#: commands/cmdhandler.py:738 msgid " Type \"help\" for help." msgstr "Scrībe \"auxilium\" ut adiūveris." -#: commands/cmdsethandler.py:88 +#: commands/cmdsethandler.py:89 #, python-brace-format msgid "" "{traceback}\n" @@ -153,16 +200,17 @@ msgstr "" "in legendō cmdset '{path}' errātum est\n" "(Iter ordōque struis memorātum est {timestamp})" -#: commands/cmdsethandler.py:94 +#: commands/cmdsethandler.py:95 #, python-brace-format msgid "" "Error loading cmdset: No cmdset class '{classname}' in '{path}'.\n" "(Traceback was logged {timestamp})" msgstr "" -"In legendō cmdset errātum est: Nūllum exemplar cmdset '{classname}' in '{path}'.\n" +"In legendō cmdset errātum est: Nūllum exemplar cmdset '{classname}' in " +"'{path}'.\n" "(Iter ordōque struis memorātum est {timestamp})" -#: commands/cmdsethandler.py:99 +#: commands/cmdsethandler.py:100 #, python-brace-format msgid "" "{traceback}\n" @@ -173,18 +221,22 @@ msgstr "" "Error syntaxis in obiviam fit dum cmdset lectum est '{path}'.\n" "(Iter ordōque struis memorātum est {timestamp})" -#: commands/cmdsethandler.py:105 -#, python-brace-format +#: commands/cmdsethandler.py:106 +#, fuzzy, python-brace-format +#| msgid "" +#| "{traceback}\n" +#| "Compile/Run error when loading cmdset '{path}'.\",\n" +#| "(Traceback was logged {timestamp})" msgid "" "{traceback}\n" -"Compile/Run error when loading cmdset '{path}'.\",\n" +"Compile/Run error when loading cmdset '{path}'.\n" "(Traceback was logged {timestamp})" msgstr "" "{traceback}\n" "Vel compīlandō vel pellendō errātum est dum cmdset '{path}' lectum est.\",\n" "(Iter ordōque struis memorātum est {timestamp})" -#: commands/cmdsethandler.py:111 +#: commands/cmdsethandler.py:112 #, python-brace-format msgid "" "\n" @@ -195,12 +247,12 @@ msgstr "" "Error in obviam fit prō cmdset apud '{path}'.\n" "Subsidium vocātur '{fallback_path}'.\n" -#: commands/cmdsethandler.py:117 +#: commands/cmdsethandler.py:118 #, python-brace-format msgid "Fallback path '{fallback_path}' failed to generate a cmdset." msgstr "Per subsidiī iter '{fallback_path}' nullum cmdset inventum est" -#: commands/cmdsethandler.py:187 commands/cmdsethandler.py:199 +#: commands/cmdsethandler.py:188 commands/cmdsethandler.py:200 #, python-brace-format msgid "" "\n" @@ -209,190 +261,331 @@ msgstr "" "\n" "(Iter nequīquam factum est: '{path}')." -#: commands/cmdsethandler.py:329 +#: commands/cmdsethandler.py:331 #, python-brace-format msgid "custom {mergetype} on cmdset '{cmdset}'" msgstr "Quoddam {mergetype} ad cmdset '{cmdset}'" -#: commands/cmdsethandler.py:451 +#: commands/cmdsethandler.py:459 msgid "Only CmdSets can be added to the cmdsethandler!" msgstr "Sōla possunt CmdSets ad cmdsethandler addī" -#: comms/channelhandler.py:103 -msgid "Say what?" -msgstr "Quid dīcis?" - -#: comms/channelhandler.py:108 -#, python-format -msgid "Channel '%s' not found." -msgstr "Canālis '%s' nōn est inventa" - -#: comms/channelhandler.py:111 -#, python-format -msgid "You are not connected to channel '%s'." -msgstr "Ad canālem '%s' nōn iungeris" - -#: comms/channelhandler.py:115 -#, python-format -msgid "You are not permitted to send to channel '%s'." -msgstr "Tibi nōn licet per canālem '%s' mittere." - -#: comms/channelhandler.py:122 -#, python-format -msgid "You start listening to %s." -msgstr "Tū %s audīre incipis." - -#: comms/channelhandler.py:124 -#, python-format -msgid "You were already listening to %s." -msgstr "Tū %s iam audīs." - -#: comms/channelhandler.py:130 -#, python-format -msgid "You stop listening to %s." -msgstr "Tū %s audīre desistis." - -#: comms/channelhandler.py:132 -#, python-format -msgid "You were already not listening to %s." -msgstr "Tū %s iam nōn audīs." - -#: comms/channelhandler.py:147 -#, python-format -msgid "You currently have %s muted." -msgstr "Tū %s iam praetermittis." - -#: comms/channelhandler.py:161 -msgid " (channel)" -msgstr " (canālis)" - -#: help/manager.py:134 -#, python-brace-format -msgid "Help database moved to category {default_category}" -msgstr "Datōrum Ordinātrum ad auxilium pertinēns ad genus {default_category} mōtum est." - -#: locks/lockhandler.py:236 -#, python-format -msgid "Lock: lock-function '%s' is not available." +#: locks/lockhandler.py:238 +#, fuzzy, python-brace-format +#| msgid "Lock: lock-function '%s' is not available." +msgid "Lock: lock-function '{lockfunc}' is not available." msgstr "Claustra: functiō ad claudendum '%s' nōn suppetit." -#: locks/lockhandler.py:256 +#: locks/lockhandler.py:259 #, python-brace-format msgid "Lock: definition '{lock_string}' has syntax errors." msgstr "Claustra: explicātiō '{lock_string}' errōrēs syntaxis habet." -#: locks/lockhandler.py:265 -#, python-format +#: locks/lockhandler.py:267 +#, fuzzy, python-brace-format +#| msgid "" +#| "LockHandler on %(obj)s: access type '%(access_type)s' changed from " +#| "'%(source)s' to '%(goal)s' " msgid "" -"LockHandler on %(obj)s: access type '%(access_type)s' changed from " -"'%(source)s' to '%(goal)s' " +"LockHandler on {obj}: access type '{access_type}' changed from '{source}' to " +"'{goal}' " msgstr "" -"Administrātor Claustrōrum ad %(obj)s pertinēns: genus forāminis immitendae clavis " -"'%(access_type)s' ab '%(source)s' in '%(goal)s' mūtātum est." +"Administrātor Claustrōrum ad %(obj)s pertinēns: genus forāminis immitendae " +"clavis '%(access_type)s' ab '%(source)s' in '%(goal)s' mūtātum est." -#: locks/lockhandler.py:339 +#: locks/lockhandler.py:341 #, python-brace-format msgid "Lock: '{lockdef}' contains no colon (:)." msgstr "Claustra: '{lockdef}' nullum punctum duplex (:) continet" -#: locks/lockhandler.py:348 +#: locks/lockhandler.py:350 #, python-brace-format msgid "Lock: '{lockdef}' has no access_type (left-side of colon is empty)." -msgstr "Claustra: {lockdef}' nullum genus forāminis clāvis immitendae habet (spatium ante punctum duplex vacuum est)." +msgstr "" +"Claustra: {lockdef}' nullum genus forāminis clāvis immitendae habet (spatium " +"ante punctum duplex vacuum est)." -#: locks/lockhandler.py:356 +#: locks/lockhandler.py:358 #, python-brace-format msgid "Lock: '{lockdef}' has mismatched parentheses." msgstr "Claustra: '{lockdef}' interclusiōnēs impārēs habet." -#: locks/lockhandler.py:363 +#: locks/lockhandler.py:365 #, python-brace-format msgid "Lock: '{lockdef}' has no valid lock functions." msgstr "Claustra: '{lockdef}' nullās functiōnēs clastrōrum idoneōs habet." -#: objects/objects.py:795 -#, python-format -msgid "Couldn't perform move ('%s'). Contact an admin." +#: objects/objects.py:871 +#, fuzzy, python-brace-format +#| msgid "Couldn't perform move ('%s'). Contact an admin." +msgid "Couldn't perform move ({err}). Contact an admin." msgstr "Iste mōtus ('%s') efficī nōn potuit. Administrātōrem vocā." -#: objects/objects.py:805 +#: objects/objects.py:881 msgid "The destination doesn't exist." msgstr "Iste fīnis nōn est." -#: objects/objects.py:896 -#, python-format -msgid "Could not find default home '(#%d)'." +#: objects/objects.py:974 +#, fuzzy, python-brace-format +#| msgid "Could not find default home '(#%d)'." +msgid "Could not find default home '(#{dbid})'." msgstr "Domus data '(#%d)' nōn inventa est." -#: objects/objects.py:912 +#: objects/objects.py:988 msgid "Something went wrong! You are dumped into nowhere. Contact an admin." msgstr "Errātum est! In nūsquam cecidistī. Administrātōrem vocā." -#: objects/objects.py:1061 +#: objects/objects.py:1138 #, python-brace-format msgid "Your character {key} has been destroyed." msgstr "Persōna tua {key} dēlēta est." -#: scripts/scripthandler.py:52 -#, python-format +#: objects/objects.py:1546 +#, python-brace-format +msgid "You now have {name} in your possession." +msgstr "" + +#: objects/objects.py:1555 +#, python-brace-format +msgid "{object} arrives to {destination} from {origin}." +msgstr "" + +#: objects/objects.py:1557 +#, python-brace-format +msgid "{object} arrives to {destination}." +msgstr "" + +#: objects/objects.py:2165 +msgid "Invalid character name." +msgstr "" + +#: objects/objects.py:2184 +msgid "There are too many characters associated with this account." +msgstr "" + +#: objects/objects.py:2210 +#, fuzzy +#| msgid "This is User #1." +msgid "This is a character." +msgstr "Haec est Ratiō #1." + +#: objects/objects.py:2296 +#, python-brace-format +msgid "|r{obj} has no location and no home is set.|n" +msgstr "" + +#: objects/objects.py:2315 +#, python-brace-format msgid "" "\n" -" '%(key)s' (%(next_repeat)s/%(interval)s, %(repeats)s repeats): %(desc)s" +"You become |c{name}|n.\n" +msgstr "" + +#: objects/objects.py:2319 +#, python-brace-format +msgid "{name} has entered the game." +msgstr "" + +#: objects/objects.py:2343 +#, python-brace-format +msgid "{name} has left the game." +msgstr "" + +#: objects/objects.py:2461 +#, fuzzy +#| msgid "This is User #1." +msgid "This is a room." +msgstr "Haec est Ratiō #1." + +#: objects/objects.py:2667 +#, fuzzy +#| msgid "This is User #1." +msgid "This is an exit." +msgstr "Haec est Ratiō #1." + +#: objects/objects.py:2764 +msgid "You cannot go there." +msgstr "" + +#: prototypes/prototypes.py:57 +msgid "Error" +msgstr "" + +#: prototypes/prototypes.py:58 +msgid "Warning" +msgstr "" + +#: prototypes/prototypes.py:263 +msgid "Prototype requires a prototype_key" +msgstr "" + +#: prototypes/prototypes.py:271 prototypes/prototypes.py:339 +#, python-brace-format +msgid "{protkey} is a read-only prototype (defined as code in {module})." +msgstr "" + +#: prototypes/prototypes.py:346 +#, python-brace-format +msgid "Prototype {prototype_key} was not found." +msgstr "" + +#: prototypes/prototypes.py:353 +#, python-brace-format +msgid "" +"{caller} needs explicit 'edit' permissions to delete prototype " +"{prototype_key}." +msgstr "" + +#: prototypes/prototypes.py:455 +#, python-brace-format +msgid "Found {num} matching prototypes {module_prototypes}." +msgstr "" + +#: prototypes/prototypes.py:615 +msgid "No prototypes found." +msgstr "" + +#: prototypes/prototypes.py:666 +msgid "Prototype lacks a 'prototype_key'." +msgstr "" + +#: prototypes/prototypes.py:675 +#, python-brace-format +msgid "Prototype {protkey} requires `typeclass` or 'prototype_parent'." +msgstr "" + +#: prototypes/prototypes.py:680 +#, python-brace-format +msgid "" +"Prototype {protkey} can only be used as a mixin since it lacks 'typeclass' " +"or 'prototype_parent' keys." +msgstr "" + +#: prototypes/prototypes.py:689 +#, python-brace-format +msgid "" +"{err}: Prototype {protkey} is based on typeclass {typeclass}, which could " +"not be imported!" +msgstr "" + +#: prototypes/prototypes.py:699 +#, python-brace-format +msgid "Prototype {protkey} tries to parent itself." +msgstr "" + +#: prototypes/prototypes.py:704 +#, python-brace-format +msgid "Prototype {protkey}'s prototype_parent '{parent}' was not found." +msgstr "" + +#: prototypes/prototypes.py:709 +#, python-brace-format +msgid "{protkey} has infinite nesting of prototypes." +msgstr "" + +#: prototypes/prototypes.py:729 +#, python-brace-format +msgid "" +"Prototype {protkey} has no `typeclass` defined anywhere in its parent\n" +" chain. Add `typeclass`, or a `prototype_parent` pointing to a prototype " +"with a typeclass." +msgstr "" + +#: prototypes/spawner.py:473 +#, python-brace-format +msgid "" +"Diff contains non-dicts that are not on the form (old, new, action_to_take): " +"{diffpart}" +msgstr "" + +#: scripts/scripthandler.py:51 +#, fuzzy, python-brace-format +#| msgid "" +#| "\n" +#| " '%(key)s' (%(next_repeat)s/%(interval)s, %(repeats)s repeats): %(desc)s" +msgid "" +"\n" +" '{key}' ({next_repeat}/{interval}, {repeats} repeats): {desc}" msgstr "" "\n" " '%(key)s' (%(next_repeat)s/%(interval)s, %(repeats)s iterātur): %(desc)s" -#: scripts/scripts.py:198 -#, python-format -msgid "" -"Script %(key)s(#%(dbid)s) of type '%(cname)s': at_repeat() error '%(err)s'." +#: scripts/scripts.py:329 +#, fuzzy, python-brace-format +#| msgid "" +#| "Script %(key)s(#%(dbid)s) of type '%(cname)s': at_repeat() error " +#| "'%(err)s'." +msgid "Script {key}(#{dbid}) of type '{name}': at_repeat() error '{err}'." msgstr "" "Scriptum %(key)s(#%(dbid)s) generis '%(cname)s': at_repeat() error '%(err)s'." -#: server/initial_setup.py:29 +#: server/initial_setup.py:28 +#, fuzzy +#| msgid "" +#| "\n" +#| "Welcome to your new |wEvennia|n-based game! Visit http://www.evennia.com " +#| "if you need\n" +#| "help, want to contribute, report issues or just join the community.\n" +#| "As Account #1 you can create a demo/tutorial area with '|wbatchcommand " +#| "tutorial_world.build|n'.\n" +#| " " msgid "" "\n" -"Welcome to your new |wEvennia|n-based game! Visit http://www.evennia.com if " +"Welcome to your new |wEvennia|n-based game! Visit https://www.evennia.com if " "you need\n" "help, want to contribute, report issues or just join the community.\n" "As Account #1 you can create a demo/tutorial area with '|wbatchcommand " "tutorial_world.build|n'.\n" -" " msgstr "" "\n" -"Tē excipimus in novum ludum ex |wEvennia|n ortum!\n" +"Tē excipimus in novum ludum ex |wEvennia|n ortum!\n" "Vīsitā http://www.evennia.com sī tū auxilium petis,\n" "collāborāre vel difficilia nuntiāre velis,\n" "etiam sī colloquī modo in animō habēs.\n" "Ut Ratiō #1 tibi licet locūm tuī exercendī atque\n" -"discendī grātiā creāre scrībendō '|wbatchcommand " -"tutorial_world.build|n'.\n" +"discendī grātiā creāre scrībendō '|wbatchcommand tutorial_world.build|n'.\n" " " -#: server/initial_setup.py:94 +#: server/initial_setup.py:92 msgid "This is User #1." msgstr "Haec est Ratiō #1." -#: server/initial_setup.py:110 +#: server/initial_setup.py:108 msgid "Limbo" msgstr "In Limbō" -#: server/server.py:158 +#: server/portal/portalsessionhandler.py:40 +#, python-brace-format +msgid "" +"{servername} DoS protection is active. You are queued to connect in {num} " +"seconds ..." +msgstr "" + +#: server/server.py:152 msgid "idle timeout exceeded" msgstr "Nimis temporis in nihil agendō ēgistī." -#: server/sessionhandler.py:402 +#: server/sessionhandler.py:42 +msgid "Your client sent an incorrect UTF-8 sequence." +msgstr "" + +#: server/sessionhandler.py:399 msgid " ... Server restarted." msgstr "... Moderātrum redintegrātum est." -#: server/sessionhandler.py:627 +#: server/sessionhandler.py:623 msgid "Logged in from elsewhere. Disconnecting." msgstr "Alibi initum est. Dissolveris." -#: server/sessionhandler.py:655 +#: server/sessionhandler.py:652 msgid "Idle timeout exceeded, disconnecting." msgstr "Nimis temporis in nihil agendō ēgistī, dissolveris." +#: server/throttle.py:21 +msgid "" +"Too many failed attempts; you must wait a few minutes before trying again." +msgstr "" + #: server/validators.py:31 msgid "Sorry, that username is reserved." msgstr "Mē paenitet, illud nōmen servātur" @@ -402,63 +595,458 @@ msgid "Sorry, that username is already taken." msgstr "Mē paenitet, illud nōmen iam captum est." #: server/validators.py:88 -#, python-format +#, fuzzy, python-brace-format +#| msgid "" +#| "%s From a terminal client, you can also use a phrase of multiple words if " +#| "you enclose the password in double quotes." msgid "" -"%s From a terminal client, you can also use a phrase of multiple words if " -"you enclose the password in double quotes." +"{policy} From a terminal client, you can also use a phrase of multiple words " +"if you enclose the password in double quotes." msgstr "" -"%s Ūtēns cliente terminālis, multīs verbīs ūtī licet sī " -"circum tesseram signa citātiōnis duplicia ponis." +"%s Ūtēns cliente terminālis, multīs verbīs ūtī licet sī circum tesseram " +"signa citātiōnis duplicia ponis." -#: utils/evmenu.py:292 +#: utils/eveditor.py:67 +msgid "" +"\n" +" - any non-command is appended to the end of the buffer.\n" +" : - view buffer or only line(s) \n" +" :: - raw-view buffer or only line(s) \n" +" ::: - escape - enter ':' as the only character on the line.\n" +" :h - this help.\n" +"\n" +" :w - save the buffer (don't quit)\n" +" :wq - save buffer and quit\n" +" :q - quit (will be asked to save if buffer was changed)\n" +" :q! - quit without saving, no questions asked\n" +"\n" +" :u - (undo) step backwards in undo history\n" +" :uu - (redo) step forward in undo history\n" +" :UU - reset all changes back to initial state\n" +"\n" +" :dd - delete last line or line(s) \n" +" :dw - delete word or regex in entire buffer or on line \n" +" :DD - clear entire buffer\n" +"\n" +" :y - yank (copy) line(s) to the copy buffer\n" +" :x - cut line(s) and store it in the copy buffer\n" +" :p - put (paste) previously copied line(s) directly after \n" +" :i - insert new text at line . Old line will move " +"down\n" +" :r - replace line with text \n" +" :I - insert text at the beginning of line \n" +" :A - append text after the end of line \n" +"\n" +" :s - search/replace word or regex in buffer or on line " +"\n" +"\n" +" :j - justify buffer or line . is f, c, l or r. Default f " +"(full)\n" +" :f - flood-fill entire buffer or line : Equivalent to :j left\n" +" :fi - indent entire buffer or line \n" +" :fd - de-indent entire buffer or line \n" +"\n" +" :echo - turn echoing of the input on/off (helpful for some clients)\n" +msgstr "" + +#: utils/eveditor.py:105 +msgid "" +"\n" +" Legend:\n" +" - line number, like '5' or range, like '3:7'.\n" +" - a single word, or multiple words with quotes around them.\n" +" - longer string, usually not needing quotes.\n" +msgstr "" + +#: utils/eveditor.py:112 +msgid "" +"\n" +" :! - Execute code buffer without saving\n" +" :< - Decrease the level of automatic indentation for the next lines\n" +" :> - Increase the level of automatic indentation for the next lines\n" +" := - Switch automatic indentation on/off\n" +msgstr "" + +#: utils/eveditor.py:121 +#, python-brace-format +msgid "" +"\n" +"{error}\n" +"\n" +"|rBuffer load function error. Could not load initial data.|n\n" +msgstr "" + +#: utils/eveditor.py:127 +#, python-brace-format +msgid "" +"\n" +"{error}\n" +"\n" +"|rSave function returned an error. Buffer not saved.|n\n" +msgstr "" + +#: utils/eveditor.py:133 +msgid "|rNo save function defined. Buffer cannot be saved.|n" +msgstr "" + +#: utils/eveditor.py:135 +msgid "No changes need saving" +msgstr "" + +#: utils/eveditor.py:136 +msgid "Exited editor." +msgstr "" + +#: utils/eveditor.py:138 +#, python-brace-format +msgid "" +"\n" +"{error}\n" +"\n" +"|rQuit function gave an error. Skipping.|n\n" +msgstr "" + +#: utils/eveditor.py:144 +#, python-brace-format +msgid "" +"\n" +"{error}\n" +"\n" +"|rThe editor state could not be saved for persistent mode. Switching\n" +"to non-persistent mode (which means the editor session won't survive\n" +"an eventual server reload - so save often!)|n\n" +msgstr "" + +#: utils/eveditor.py:153 +msgid "" +"EvEditor persistent-mode error. Commonly, this is because one or more of the " +"EvEditor callbacks could not be pickled, for example because it's a class " +"method or is defined inside another function." +msgstr "" + +#: utils/eveditor.py:159 +msgid "Nothing to undo." +msgstr "" + +#: utils/eveditor.py:160 +msgid "Nothing to redo." +msgstr "" + +#: utils/eveditor.py:161 +msgid "Undid one step." +msgstr "" + +#: utils/eveditor.py:162 +msgid "Redid one step." +msgstr "" + +#: utils/eveditor.py:480 +msgid "Single ':' added to buffer." +msgstr "" + +#: utils/eveditor.py:495 +msgid "Save before quitting?" +msgstr "" + +#: utils/eveditor.py:510 +msgid "Reverted all changes to the buffer back to original state." +msgstr "" + +#: utils/eveditor.py:515 +#, python-brace-format +msgid "Deleted {string}." +msgstr "" + +#: utils/eveditor.py:520 +msgid "You must give a search word to delete." +msgstr "" + +#: utils/eveditor.py:525 +#, python-brace-format +msgid "Removed {arg1} for lines {l1}-{l2}." +msgstr "" + +#: utils/eveditor.py:528 +#, python-brace-format +msgid "Removed {arg1} for {line}." +msgstr "" + +#: utils/eveditor.py:544 +#, python-brace-format +msgid "Cleared {nlines} lines from buffer." +msgstr "" + +#: utils/eveditor.py:549 +#, python-brace-format +msgid "{line}, {cbuf} yanked." +msgstr "" + +#: utils/eveditor.py:556 +#, python-brace-format +msgid "{line}, {cbuf} cut." +msgstr "" + +#: utils/eveditor.py:560 +msgid "Copy buffer is empty." +msgstr "" + +#: utils/eveditor.py:564 +#, python-brace-format +msgid "Pasted buffer {cbuf} to {line}." +msgstr "" + +#: utils/eveditor.py:570 +msgid "You need to enter a new line and where to insert it." +msgstr "" + +#: utils/eveditor.py:574 +#, python-brace-format +msgid "Inserted {num} new line(s) at {line}." +msgstr "" + +#: utils/eveditor.py:580 +msgid "You need to enter a replacement string." +msgstr "" + +#: utils/eveditor.py:584 +#, python-brace-format +msgid "Replaced {num} line(s) at {line}." +msgstr "" + +#: utils/eveditor.py:589 +msgid "You need to enter text to insert." +msgstr "" + +#: utils/eveditor.py:597 +#, python-brace-format +msgid "Inserted text at beginning of {line}." +msgstr "" + +#: utils/eveditor.py:601 +msgid "You need to enter text to append." +msgstr "" + +#: utils/eveditor.py:609 +#, python-brace-format +msgid "Appended text to end of {line}." +msgstr "" + +#: utils/eveditor.py:614 +msgid "You must give a search word and something to replace it with." +msgstr "" + +#: utils/eveditor.py:620 +#, python-brace-format +msgid "Search-replaced {arg1} -> {arg2} for lines {l1}-{l2}." +msgstr "" + +#: utils/eveditor.py:625 +#, python-brace-format +msgid "Search-replaced {arg1} -> {arg2} for {line}." +msgstr "" + +#: utils/eveditor.py:648 +#, python-brace-format +msgid "Flood filled lines {l1}-{l2}." +msgstr "" + +#: utils/eveditor.py:651 +#, python-brace-format +msgid "Flood filled {line}." +msgstr "" + +#: utils/eveditor.py:673 +msgid "Valid justifications are" +msgstr "" + +#: utils/eveditor.py:681 +#, python-brace-format +msgid "{align}-justified lines {l1}-{l2}." +msgstr "" + +#: utils/eveditor.py:684 +#, python-brace-format +msgid "{align}-justified {line}." +msgstr "" + +#: utils/eveditor.py:696 +#, python-brace-format +msgid "Indented lines {l1}-{l2}." +msgstr "" + +#: utils/eveditor.py:698 +#, python-brace-format +msgid "Indented {line}." +msgstr "" + +#: utils/eveditor.py:707 +#, python-brace-format +msgid "Removed left margin (dedented) lines {l1}-{l2}." +msgstr "" + +#: utils/eveditor.py:710 +#, python-brace-format +msgid "Removed left margin (dedented) {line}." +msgstr "" + +#: utils/eveditor.py:718 +#, python-brace-format +msgid "Echo mode set to {mode}" +msgstr "" + +#: utils/eveditor.py:723 utils/eveditor.py:736 utils/eveditor.py:749 +#: utils/eveditor.py:760 +msgid "This command is only available in code editor mode." +msgstr "" + +#: utils/eveditor.py:731 +#, python-brace-format +msgid "Decreased indentation: new indentation is {indent}." +msgstr "" + +#: utils/eveditor.py:734 utils/eveditor.py:747 +msgid "|rManual indentation is OFF.|n Use := to turn it on." +msgstr "" + +#: utils/eveditor.py:744 +#, python-brace-format +msgid "Increased indentation: new indentation is {indent}." +msgstr "" + +#: utils/eveditor.py:756 +msgid "Auto-indentation turned on." +msgstr "" + +#: utils/eveditor.py:758 +msgid "Auto-indentation turned off." +msgstr "" + +#: utils/eveditor.py:913 +msgid "|rNote: input buffer was converted to a string.|n" +msgstr "" + +#: utils/eveditor.py:1050 +#, python-brace-format +msgid "Line Editor [{name}]" +msgstr "" + +#: utils/eveditor.py:1058 +msgid "(:h for help)" +msgstr "" + +#: utils/evmenu.py:302 #, python-brace-format msgid "" "Menu node '{nodename}' is either not implemented or caused an error. Make " "another choice or try 'q' to abort." msgstr "" -"Nōdus indicis '{nodename}' aut nōn effectus est aut errāvit. Ēlige " -"aliud aut scrībe 'r' ut fugās." +"Nōdus indicis '{nodename}' aut nōn effectus est aut errāvit. Ēlige aliud aut " +"scrībe 'r' ut fugās." -#: utils/evmenu.py:295 +#: utils/evmenu.py:305 #, python-brace-format msgid "Error in menu node '{nodename}'." msgstr "Errātum est in nōdō indicis '{nodename}'." -#: utils/evmenu.py:296 +#: utils/evmenu.py:306 msgid "No description." msgstr "Nulla dēscriptiō" -#: utils/evmenu.py:297 +#: utils/evmenu.py:307 msgid "Commands: , help, quit" msgstr "Iussa: , auxilium pete, relinque" -#: utils/evmenu.py:298 +#: utils/evmenu.py:308 msgid "Commands: , help" msgstr "Iussa: , auxilium pete" -#: utils/evmenu.py:299 +#: utils/evmenu.py:309 msgid "Commands: help, quit" msgstr "Iussa: auxilium pete, relinque" -#: utils/evmenu.py:300 +#: utils/evmenu.py:310 msgid "Commands: help" msgstr "Iussa: auxilium pete" -#: utils/evmenu.py:301 utils/evmenu.py:1665 +#: utils/evmenu.py:311 utils/evmenu.py:1842 msgid "Choose an option or try 'help'." msgstr "Optiōnem ēlige aut 'auxilium' pete." -#: utils/utils.py:1906 -#, python-format -msgid "Could not find '%s'." +#: utils/evmenu.py:1383 +msgid "|rInvalid choice.|n" +msgstr "" + +#: utils/evmenu.py:1441 +msgid "|Wcurrent|n" +msgstr "" + +#: utils/evmenu.py:1449 +msgid "|wp|Wrevious page|n" +msgstr "" + +#: utils/evmenu.py:1456 +msgid "|wn|Wext page|n" +msgstr "" + +#: utils/evmenu.py:1690 +msgid "Aborted." +msgstr "" + +#: utils/evmenu.py:1713 +msgid "|rError in ask_yes_no. Choice not confirmed (report to admin)|n" +msgstr "" + +#: utils/evmore.py:235 +msgid "Exited |wmore|n pager." +msgstr "" + +#: utils/optionhandler.py:138 utils/optionhandler.py:162 +msgid "Option not found!" +msgstr "" + +#: utils/optionhandler.py:159 +msgid "Option field blank!" +msgstr "" + +#: utils/optionhandler.py:164 +#, fuzzy +#| msgid "There were multiple matches." +msgid "Multiple matches:" +msgstr "Plūra quam ūnum inventa sunt." + +#: utils/optionhandler.py:166 +msgid "Please be more specific." +msgstr "" + +#: utils/utils.py:2219 +#, fuzzy, python-brace-format +#| msgid "Could not find '%s'." +msgid "Could not find '{query}'." msgstr "'%s' nōn inventum est" -#: utils/utils.py:1913 +#: utils/utils.py:2226 #, python-brace-format msgid "More than one match for '{query}' (please narrow target):\n" -msgstr "Plūra quam ūnum inventum est in '{query}' petendō (quaesō certiōribus verbīs ūtere):\n" +msgstr "" +"Plūra quam ūnum inventum est in '{query}' petendō (quaesō certiōribus verbīs " +"ūtere):\n" -#: utils/validatorfuncs.py:62 +#: utils/validatorfuncs.py:25 +#, python-brace-format +msgid "Input could not be converted to text ({err})" +msgstr "" + +#: utils/validatorfuncs.py:34 +#, python-brace-format +msgid "Nothing entered for a {option_key}!" +msgstr "" + +#: utils/validatorfuncs.py:37 +#, python-brace-format +msgid "'{entry}' is not a valid {option_key}." +msgstr "" + +#: utils/validatorfuncs.py:62 utils/validatorfuncs.py:223 #, python-brace-format msgid "No {option_key} entered!" msgstr "{option_key} nōn scriptum est" @@ -466,4 +1054,168 @@ msgstr "{option_key} nōn scriptum est" #: utils/validatorfuncs.py:71 #, python-brace-format msgid "Timezone string '{acct_tz}' is not a valid timezone ({err})" -msgstr "Litterae circulī temporālis '{acct_tz}' nōn est idoneus circulus temporālis ({err})" +msgstr "" +"Litterae circulī temporālis '{acct_tz}' nōn est idoneus circulus temporālis " +"({err})" + +#: utils/validatorfuncs.py:88 utils/validatorfuncs.py:96 +#, python-brace-format +msgid "{option_key} must be entered in a 24-hour format such as: {timeformat}" +msgstr "" + +#: utils/validatorfuncs.py:140 +#, python-brace-format +msgid "Could not convert section '{interval}' to a {option_key}." +msgstr "" + +#: utils/validatorfuncs.py:150 +#, python-brace-format +msgid "That {option_key} is in the past! Must give a Future datetime!" +msgstr "" + +#: utils/validatorfuncs.py:157 +#, python-brace-format +msgid "Must enter a whole number for {option_key}!" +msgstr "" + +#: utils/validatorfuncs.py:162 +#, python-brace-format +msgid "Could not convert '{entry}' to a whole number for {option_key}!" +msgstr "" + +#: utils/validatorfuncs.py:171 +#, python-brace-format +msgid "Must enter a whole number greater than 0 for {option_key}!" +msgstr "" + +#: utils/validatorfuncs.py:179 +#, python-brace-format +msgid "{option_key} must be a whole number greater than or equal to 0!" +msgstr "" + +#: utils/validatorfuncs.py:197 +#, python-brace-format +msgid "Must enter a true/false input for {option_key}. Accepts {alternatives}." +msgstr "" + +#: utils/validatorfuncs.py:227 +#, python-brace-format +msgid "That matched: {matches}. Please be more specific!" +msgstr "" + +#: utils/validatorfuncs.py:231 +#, python-brace-format +msgid "Could not find timezone '{entry}' for {option_key}!" +msgstr "" + +#: utils/validatorfuncs.py:237 +msgid "Email address field empty!" +msgstr "" + +#: utils/validatorfuncs.py:240 +#, python-brace-format +msgid "That isn't a valid {option_key}!" +msgstr "" + +#: utils/validatorfuncs.py:247 +#, fuzzy, python-brace-format +#| msgid "No {option_key} entered!" +msgid "No {option_key} entered to set!" +msgstr "{option_key} nōn scriptum est" + +#: utils/validatorfuncs.py:251 +msgid "Must enter an access type!" +msgstr "" + +#: utils/validatorfuncs.py:254 +#, python-brace-format +msgid "Access type must be one of: {alternatives}" +msgstr "" + +#: utils/validatorfuncs.py:257 +msgid "Lock func not entered." +msgstr "" + +#: web/templates/admin/app_list.html:19 +msgid "Add" +msgstr "" + +#: web/templates/admin/app_list.html:26 +msgid "View" +msgstr "" + +#: web/templates/admin/app_list.html:28 +msgid "Change" +msgstr "" + +#: web/templates/admin/app_list.html:39 +#, fuzzy +#| msgid "You don't have permission to puppet '{key}'." +msgid "You don’t have permission to view or edit anything." +msgstr "Tibi non licet administrāre '{key}'." + +#~ msgid "You are already puppeting this object." +#~ msgstr "Tū iam hanc rem administrās" + +#~ msgid "Something has gone wrong. If this error persists, contact an admin" +#~ msgstr "" +#~ "Errātum est. Si semper tibi hic error obiam fit, adminstratorem voca." + +#~ msgid "{target} has no in-game appearance." +#~ msgstr "{target} nullam faciem in hōc mundō habet." + +#~ msgid "" +#~ "\n" +#~ "\n" +#~ " You don't have any characters yet. See |whelp @charcreate|n for creating " +#~ "one." +#~ msgstr "" +#~ "\n" +#~ "\n" +#~ " Tibi nondum est ulla persōna. Vidē |whelp @charcreate|n ad persōnam " +#~ "creāndam." + +#~ msgid "" +#~ "Nicks at {chstr}:\n" +#~ " {nicklist}" +#~ msgstr "" +#~ "Nōmina dīminutīva apud {chstr}:\n" +#~ " {nicklist}" + +#~ msgid "IRC ping return from {chstr} took {time}s." +#~ msgstr "IRC ad {chstr} {time} secundīs responsāvit." + +#~ msgid "Say what?" +#~ msgstr "Quid dīcis?" + +#~ msgid "Channel '%s' not found." +#~ msgstr "Canālis '%s' nōn est inventa" + +#~ msgid "You are not connected to channel '%s'." +#~ msgstr "Ad canālem '%s' nōn iungeris" + +#~ msgid "You are not permitted to send to channel '%s'." +#~ msgstr "Tibi nōn licet per canālem '%s' mittere." + +#~ msgid "You start listening to %s." +#~ msgstr "Tū %s audīre incipis." + +#~ msgid "You were already listening to %s." +#~ msgstr "Tū %s iam audīs." + +#~ msgid "You stop listening to %s." +#~ msgstr "Tū %s audīre desistis." + +#~ msgid "You were already not listening to %s." +#~ msgstr "Tū %s iam nōn audīs." + +#~ msgid "You currently have %s muted." +#~ msgstr "Tū %s iam praetermittis." + +#~ msgid " (channel)" +#~ msgstr " (canālis)" + +#~ msgid "Help database moved to category {default_category}" +#~ msgstr "" +#~ "Datōrum Ordinātrum ad auxilium pertinēns ad genus {default_category} " +#~ "mōtum est." diff --git a/evennia/locale/pl/LC_MESSAGES/django.po b/evennia/locale/pl/LC_MESSAGES/django.po index f69b4eb0b8..442caae96e 100644 --- a/evennia/locale/pl/LC_MESSAGES/django.po +++ b/evennia/locale/pl/LC_MESSAGES/django.po @@ -7,8 +7,10 @@ msgid "" msgstr "" "Project-Id-Version: ArkMUD Polish translation v0.1\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-02-20 12:13+0000\n" +"POT-Creation-Date: 2021-05-29 16:27+0000\n" "PO-Revision-Date: 2019-02-20 14:18+0100\n" +"Last-Translator: \n" +"Language-Team: ArkMUD team\n" "Language: pl_PL\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -16,33 +18,167 @@ msgstr "" "Plural-Forms: nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n" "%100<12 || n%100>=14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n" "%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n" -"Last-Translator: \n" -"Language-Team: ArkMUD team\n" "X-Generator: Poedit 2.2.1\n" -#: accounts/accounts.py:440 +#: accounts/accounts.py:321 +#, python-brace-format +msgid "|c{key}|R is already puppeted by another Account." +msgstr "" + +#: accounts/accounts.py:515 +msgid "Too many login failures; please try again in a few minutes." +msgstr "" + +#: accounts/accounts.py:528 accounts/accounts.py:789 +msgid "" +"|rYou have been banned and cannot continue from here.\n" +"If you feel this ban is in error, please email an admin.|x" +msgstr "" + +#: accounts/accounts.py:540 +msgid "Username and/or password is incorrect." +msgstr "" + +#: accounts/accounts.py:547 +msgid "Too many authentication failures." +msgstr "" + +#: accounts/accounts.py:760 +msgid "" +"You are creating too many accounts. Please log into an existing account." +msgstr "" + +#: accounts/accounts.py:805 +msgid "" +"There was an error creating the Account. If this problem persists, contact " +"an admin." +msgstr "" + +#: accounts/accounts.py:839 accounts/accounts.py:1751 +msgid "An error occurred. Please e-mail an admin if the problem persists." +msgstr "" + +#: accounts/accounts.py:866 msgid "Account being deleted." msgstr "Konto zostalo usuniete." -#: commands/cmdhandler.py:681 +#: accounts/accounts.py:1417 accounts/accounts.py:1768 +#, python-brace-format +msgid "|G{key} connected|n" +msgstr "" + +#: accounts/accounts.py:1424 accounts/accounts.py:1431 +#, fuzzy +#| msgid "The destination doesn't exist." +msgid "The Character does not exist." +msgstr "Punkt przeznaczenia nie istnieje." + +#: accounts/accounts.py:1470 +#, python-brace-format +msgid "|R{key} disconnected{reason}|n" +msgstr "" + +#: accounts/accounts.py:1704 +msgid "Guest accounts are not enabled on this server." +msgstr "" + +#: accounts/accounts.py:1714 +msgid "All guest accounts are in use. Please try again later." +msgstr "" + +#: commands/cmdhandler.py:83 +msgid "" +"\n" +"An untrapped error occurred.\n" +msgstr "" + +#: commands/cmdhandler.py:86 +msgid "" +"\n" +"An untrapped error occurred. Please file a bug report detailing the steps to " +"reproduce.\n" +msgstr "" + +#: commands/cmdhandler.py:92 +msgid "" +"\n" +"A cmdset merger-error occurred. This is often due to a syntax\n" +"error in one of the cmdsets to merge.\n" +msgstr "" + +#: commands/cmdhandler.py:96 +msgid "" +"\n" +"A cmdset merger-error occurred. Please file a bug report detailing the\n" +"steps to reproduce.\n" +msgstr "" + +#: commands/cmdhandler.py:103 +msgid "" +"\n" +"No command sets found! This is a critical bug that can have\n" +"multiple causes.\n" +msgstr "" + +#: commands/cmdhandler.py:107 +msgid "" +"\n" +"No command sets found! This is a sign of a critical bug. If\n" +"disconnecting/reconnecting doesn't\" solve the problem, try to contact\n" +"the server admin through\" some other means for assistance.\n" +msgstr "" + +#: commands/cmdhandler.py:115 +msgid "" +"\n" +"A command handler bug occurred. If this is not due to a local change,\n" +"please file a bug report with the Evennia project, including the\n" +"traceback and steps to reproduce.\n" +msgstr "" + +#: commands/cmdhandler.py:120 +msgid "" +"\n" +"A command handler bug occurred. Please notify staff - they should\n" +"likely file a bug report with the Evennia project.\n" +msgstr "" + +#: commands/cmdhandler.py:127 +#, python-brace-format +msgid "" +"Command recursion limit ({recursion_limit}) reached for " +"'{raw_cmdname}' ({cmdclass})." +msgstr "" + +#: commands/cmdhandler.py:149 +#, python-brace-format +msgid "" +"{traceback}\n" +"{errmsg}\n" +"(Traceback was logged {timestamp})." +msgstr "" + +#: commands/cmdhandler.py:699 msgid "There were multiple matches." msgstr "Znaleziono wiele dopasowan." -#: commands/cmdhandler.py:704 -#, python-format -msgid "Command '%s' is not available." +#: commands/cmdhandler.py:724 +#, fuzzy, python-brace-format +#| msgid "Command '%s' is not available." +msgid "Command '{command}' is not available." msgstr "Komenda '%s' jests niedostepna." -#: commands/cmdhandler.py:709 -#, python-format -msgid " Maybe you meant %s?" +#: commands/cmdhandler.py:734 +#, fuzzy, python-brace-format +#| msgid " Maybe you meant %s?" +msgid " Maybe you meant {command}?" msgstr " Czy miales na mysli %s?" -#: commands/cmdhandler.py:709 +#: commands/cmdhandler.py:735 msgid "or" msgstr "lub" -#: commands/cmdhandler.py:711 +#: commands/cmdhandler.py:738 msgid " Type \"help\" for help." msgstr " Wpisz \"help\" aby otworzyc pomoc." @@ -54,14 +190,14 @@ msgid "" "(Traceback was logged {timestamp})" msgstr "" -#: commands/cmdsethandler.py:94 +#: commands/cmdsethandler.py:95 #, python-brace-format msgid "" "Error loading cmdset: No cmdset class '{classname}' in '{path}'.\n" "(Traceback was logged {timestamp})" msgstr "" -#: commands/cmdsethandler.py:98 +#: commands/cmdsethandler.py:100 #, python-brace-format msgid "" "{traceback}\n" @@ -69,15 +205,15 @@ msgid "" "(Traceback was logged {timestamp})" msgstr "" -#: commands/cmdsethandler.py:103 +#: commands/cmdsethandler.py:106 #, python-brace-format msgid "" "{traceback}\n" -"Compile/Run error when loading cmdset '{path}'.\",\n" +"Compile/Run error when loading cmdset '{path}'.\n" "(Traceback was logged {timestamp})" msgstr "" -#: commands/cmdsethandler.py:108 +#: commands/cmdsethandler.py:112 #, python-brace-format msgid "" "\n" @@ -85,146 +221,282 @@ msgid "" "Replacing with fallback '{fallback_path}'.\n" msgstr "" -#: commands/cmdsethandler.py:114 +#: commands/cmdsethandler.py:118 #, python-brace-format msgid "Fallback path '{fallback_path}' failed to generate a cmdset." msgstr "" -#: commands/cmdsethandler.py:182 commands/cmdsethandler.py:192 -#, python-format +#: commands/cmdsethandler.py:188 commands/cmdsethandler.py:200 +#, fuzzy, python-brace-format +#| msgid "" +#| "\n" +#| "(Unsuccessfully tried '%s')." msgid "" "\n" -"(Unsuccessfully tried '%s')." +"(Unsuccessfully tried '{path}')." msgstr "" "\n" "(Bezskuteczna proba '%s')." -#: commands/cmdsethandler.py:311 +#: commands/cmdsethandler.py:331 #, python-brace-format msgid "custom {mergetype} on cmdset '{cmdset}'" msgstr "" -#: commands/cmdsethandler.py:314 -#, python-brace-format -msgid " : {current}" -msgstr "" - -#: commands/cmdsethandler.py:322 -#, python-brace-format -msgid "" -" <{key} ({mergetype}, prio {prio}, {permstring})>:\n" -" {keylist}" -msgstr "" - -#: commands/cmdsethandler.py:426 +#: commands/cmdsethandler.py:459 msgid "Only CmdSets can be added to the cmdsethandler!" msgstr "" -#: comms/channelhandler.py:100 -msgid "Say what?" -msgstr "Ze co?" - -#: comms/channelhandler.py:105 -#, python-format -msgid "Channel '%s' not found." -msgstr "Kanal '%s' nie odnaleziony." - -#: comms/channelhandler.py:108 -#, python-format -msgid "You are not connected to channel '%s'." -msgstr "Nie jestes polaczony z kanalem '%s'." - -#: comms/channelhandler.py:112 -#, python-format -msgid "You are not permitted to send to channel '%s'." -msgstr "Nie masz uprawnien do wysylania wiadomosci na kanal '%s'." - -#: comms/channelhandler.py:155 -msgid " (channel)" -msgstr " (kanal)" - -#: locks/lockhandler.py:236 -#, python-format -msgid "Lock: lock-function '%s' is not available." +#: locks/lockhandler.py:238 +#, python-brace-format +msgid "Lock: lock-function '{lockfunc}' is not available." msgstr "" -#: locks/lockhandler.py:249 -#, python-format -msgid "Lock: definition '%s' has syntax errors." +#: locks/lockhandler.py:259 +#, python-brace-format +msgid "Lock: definition '{lock_string}' has syntax errors." msgstr "" -#: locks/lockhandler.py:253 -#, python-format +#: locks/lockhandler.py:267 +#, python-brace-format msgid "" -"LockHandler on %(obj)s: access type '%(access_type)s' changed from " -"'%(source)s' to '%(goal)s' " +"LockHandler on {obj}: access type '{access_type}' changed from '{source}' to " +"'{goal}' " msgstr "" -#: locks/lockhandler.py:320 +#: locks/lockhandler.py:341 #, python-brace-format msgid "Lock: '{lockdef}' contains no colon (:)." msgstr "" -#: locks/lockhandler.py:328 +#: locks/lockhandler.py:350 #, python-brace-format msgid "Lock: '{lockdef}' has no access_type (left-side of colon is empty)." msgstr "" -#: locks/lockhandler.py:336 +#: locks/lockhandler.py:358 #, python-brace-format msgid "Lock: '{lockdef}' has mismatched parentheses." msgstr "" -#: locks/lockhandler.py:343 +#: locks/lockhandler.py:365 #, python-brace-format msgid "Lock: '{lockdef}' has no valid lock functions." msgstr "" -#: objects/objects.py:732 -#, python-format -msgid "Couldn't perform move ('%s'). Contact an admin." +#: objects/objects.py:871 +#, fuzzy, python-brace-format +#| msgid "Couldn't perform move ('%s'). Contact an admin." +msgid "Couldn't perform move ({err}). Contact an admin." msgstr "Nie udalo sie wykonac ruchu ('%s'). Skontaktuj sie z adminem." -#: objects/objects.py:742 +#: objects/objects.py:881 msgid "The destination doesn't exist." msgstr "Punkt przeznaczenia nie istnieje." -#: objects/objects.py:833 -#, python-format -msgid "Could not find default home '(#%d)'." +#: objects/objects.py:974 +#, fuzzy, python-brace-format +#| msgid "Could not find default home '(#%d)'." +msgid "Could not find default home '(#{dbid})'." msgstr "Nie znaleziono domyslnego domu '(#%d)'." -#: objects/objects.py:849 +#: objects/objects.py:988 msgid "Something went wrong! You are dumped into nowhere. Contact an admin." msgstr "Cos poszlo zle! Zostales wrzucony w nicosc. Skontaktuj sie z adminem." -#: objects/objects.py:915 -#, python-format -msgid "Your character %s has been destroyed." +#: objects/objects.py:1138 +#, fuzzy, python-brace-format +#| msgid "Your character %s has been destroyed." +msgid "Your character {key} has been destroyed." msgstr "Twoja postac %s zostala zniszczona." -#: scripts/scripthandler.py:53 -#, python-format -msgid "" -"\n" -" '%(key)s' (%(next_repeat)s/%(interval)s, %(repeats)s repeats): %(desc)s" +#: objects/objects.py:1546 +#, python-brace-format +msgid "You now have {name} in your possession." msgstr "" -#: scripts/scripts.py:205 -#, python-format +#: objects/objects.py:1555 +#, python-brace-format +msgid "{object} arrives to {destination} from {origin}." +msgstr "" + +#: objects/objects.py:1557 +#, python-brace-format +msgid "{object} arrives to {destination}." +msgstr "" + +#: objects/objects.py:2165 +msgid "Invalid character name." +msgstr "" + +#: objects/objects.py:2184 +msgid "There are too many characters associated with this account." +msgstr "" + +#: objects/objects.py:2210 +#, fuzzy +#| msgid "This is User #1." +msgid "This is a character." +msgstr "To jest User #1." + +#: objects/objects.py:2296 +#, python-brace-format +msgid "|r{obj} has no location and no home is set.|n" +msgstr "" + +#: objects/objects.py:2315 +#, python-brace-format msgid "" -"Script %(key)s(#%(dbid)s) of type '%(cname)s': at_repeat() error '%(err)s'." +"\n" +"You become |c{name}|n.\n" +msgstr "" + +#: objects/objects.py:2319 +#, python-brace-format +msgid "{name} has entered the game." +msgstr "" + +#: objects/objects.py:2343 +#, python-brace-format +msgid "{name} has left the game." +msgstr "" + +#: objects/objects.py:2461 +#, fuzzy +#| msgid "This is User #1." +msgid "This is a room." +msgstr "To jest User #1." + +#: objects/objects.py:2667 +#, fuzzy +#| msgid "This is User #1." +msgid "This is an exit." +msgstr "To jest User #1." + +#: objects/objects.py:2764 +msgid "You cannot go there." +msgstr "" + +#: prototypes/prototypes.py:57 +msgid "Error" +msgstr "" + +#: prototypes/prototypes.py:58 +msgid "Warning" +msgstr "" + +#: prototypes/prototypes.py:263 +msgid "Prototype requires a prototype_key" +msgstr "" + +#: prototypes/prototypes.py:271 prototypes/prototypes.py:339 +#, python-brace-format +msgid "{protkey} is a read-only prototype (defined as code in {module})." +msgstr "" + +#: prototypes/prototypes.py:346 +#, python-brace-format +msgid "Prototype {prototype_key} was not found." +msgstr "" + +#: prototypes/prototypes.py:353 +#, python-brace-format +msgid "" +"{caller} needs explicit 'edit' permissions to delete prototype " +"{prototype_key}." +msgstr "" + +#: prototypes/prototypes.py:455 +#, python-brace-format +msgid "Found {num} matching prototypes {module_prototypes}." +msgstr "" + +#: prototypes/prototypes.py:615 +msgid "No prototypes found." +msgstr "" + +#: prototypes/prototypes.py:666 +msgid "Prototype lacks a 'prototype_key'." +msgstr "" + +#: prototypes/prototypes.py:675 +#, python-brace-format +msgid "Prototype {protkey} requires `typeclass` or 'prototype_parent'." +msgstr "" + +#: prototypes/prototypes.py:680 +#, python-brace-format +msgid "" +"Prototype {protkey} can only be used as a mixin since it lacks 'typeclass' " +"or 'prototype_parent' keys." +msgstr "" + +#: prototypes/prototypes.py:689 +#, python-brace-format +msgid "" +"{err}: Prototype {protkey} is based on typeclass {typeclass}, which could " +"not be imported!" +msgstr "" + +#: prototypes/prototypes.py:699 +#, python-brace-format +msgid "Prototype {protkey} tries to parent itself." +msgstr "" + +#: prototypes/prototypes.py:704 +#, python-brace-format +msgid "Prototype {protkey}'s prototype_parent '{parent}' was not found." +msgstr "" + +#: prototypes/prototypes.py:709 +#, python-brace-format +msgid "{protkey} has infinite nesting of prototypes." +msgstr "" + +#: prototypes/prototypes.py:729 +#, python-brace-format +msgid "" +"Prototype {protkey} has no `typeclass` defined anywhere in its parent\n" +" chain. Add `typeclass`, or a `prototype_parent` pointing to a prototype " +"with a typeclass." +msgstr "" + +#: prototypes/spawner.py:473 +#, python-brace-format +msgid "" +"Diff contains non-dicts that are not on the form (old, new, action_to_take): " +"{diffpart}" +msgstr "" + +#: scripts/scripthandler.py:51 +#, python-brace-format +msgid "" +"\n" +" '{key}' ({next_repeat}/{interval}, {repeats} repeats): {desc}" +msgstr "" + +#: scripts/scripts.py:329 +#, python-brace-format +msgid "Script {key}(#{dbid}) of type '{name}': at_repeat() error '{err}'." msgstr "" #: server/initial_setup.py:28 +#, fuzzy +#| msgid "" +#| "\n" +#| "Welcome to your new |wEvennia|n-based game! Visit http://www.evennia.com " +#| "if you need\n" +#| "help, want to contribute, report issues or just join the community.\n" +#| "As Account #1 you can create a demo/tutorial area with |w@batchcommand " +#| "tutorial_world.build|n.\n" +#| " " msgid "" "\n" -"Welcome to your new |wEvennia|n-based game! Visit http://www.evennia.com if " +"Welcome to your new |wEvennia|n-based game! Visit https://www.evennia.com if " "you need\n" "help, want to contribute, report issues or just join the community.\n" -"As Account #1 you can create a demo/tutorial area with |w@batchcommand " -"tutorial_world.build|n.\n" -" " +"As Account #1 you can create a demo/tutorial area with '|wbatchcommand " +"tutorial_world.build|n'.\n" msgstr "" "\n" "Witaj w swojej nowej grze, bazujacej na |wEvennia|n! Odwiedz http://www." @@ -239,77 +511,613 @@ msgstr "" msgid "This is User #1." msgstr "To jest User #1." -#: server/initial_setup.py:105 +#: server/initial_setup.py:108 msgid "Limbo" msgstr "Otchlan" -#: server/server.py:139 +#: server/portal/portalsessionhandler.py:40 +#, python-brace-format +msgid "" +"{servername} DoS protection is active. You are queued to connect in {num} " +"seconds ..." +msgstr "" + +#: server/server.py:152 msgid "idle timeout exceeded" msgstr "czas bezczynnosci przekroczony" -#: server/sessionhandler.py:386 +#: server/sessionhandler.py:42 +msgid "Your client sent an incorrect UTF-8 sequence." +msgstr "" + +#: server/sessionhandler.py:399 msgid " ... Server restarted." msgstr " ... Serwer zrestartowany." -#: server/sessionhandler.py:606 +#: server/sessionhandler.py:623 msgid "Logged in from elsewhere. Disconnecting." msgstr "Zalogowano z innego miejsca. Rozlaczanie." -#: server/sessionhandler.py:634 +#: server/sessionhandler.py:652 msgid "Idle timeout exceeded, disconnecting." msgstr "Czas bezczynnosci przekroczony, rozlaczanie." -#: server/validators.py:50 -#, python-format +#: server/throttle.py:21 msgid "" -"%s From a terminal client, you can also use a phrase of multiple words if " -"you enclose the password in double quotes." +"Too many failed attempts; you must wait a few minutes before trying again." +msgstr "" + +#: server/validators.py:31 +msgid "Sorry, that username is reserved." +msgstr "" + +#: server/validators.py:38 +msgid "Sorry, that username is already taken." +msgstr "" + +#: server/validators.py:88 +#, fuzzy, python-brace-format +#| msgid "" +#| "%s From a terminal client, you can also use a phrase of multiple words if " +#| "you enclose the password in double quotes." +msgid "" +"{policy} From a terminal client, you can also use a phrase of multiple words " +"if you enclose the password in double quotes." msgstr "" "%s Z poziomu terminala, mozesz rowniez uzyc frazy z wieloma slowami jesli " "ujmiesz haslo w cudzyslowie." -#: utils/evmenu.py:192 +#: utils/eveditor.py:67 +msgid "" +"\n" +" - any non-command is appended to the end of the buffer.\n" +" : - view buffer or only line(s) \n" +" :: - raw-view buffer or only line(s) \n" +" ::: - escape - enter ':' as the only character on the line.\n" +" :h - this help.\n" +"\n" +" :w - save the buffer (don't quit)\n" +" :wq - save buffer and quit\n" +" :q - quit (will be asked to save if buffer was changed)\n" +" :q! - quit without saving, no questions asked\n" +"\n" +" :u - (undo) step backwards in undo history\n" +" :uu - (redo) step forward in undo history\n" +" :UU - reset all changes back to initial state\n" +"\n" +" :dd - delete last line or line(s) \n" +" :dw - delete word or regex in entire buffer or on line \n" +" :DD - clear entire buffer\n" +"\n" +" :y - yank (copy) line(s) to the copy buffer\n" +" :x - cut line(s) and store it in the copy buffer\n" +" :p - put (paste) previously copied line(s) directly after \n" +" :i - insert new text at line . Old line will move " +"down\n" +" :r - replace line with text \n" +" :I - insert text at the beginning of line \n" +" :A - append text after the end of line \n" +"\n" +" :s - search/replace word or regex in buffer or on line " +"\n" +"\n" +" :j - justify buffer or line . is f, c, l or r. Default f " +"(full)\n" +" :f - flood-fill entire buffer or line : Equivalent to :j left\n" +" :fi - indent entire buffer or line \n" +" :fd - de-indent entire buffer or line \n" +"\n" +" :echo - turn echoing of the input on/off (helpful for some clients)\n" +msgstr "" + +#: utils/eveditor.py:105 +msgid "" +"\n" +" Legend:\n" +" - line number, like '5' or range, like '3:7'.\n" +" - a single word, or multiple words with quotes around them.\n" +" - longer string, usually not needing quotes.\n" +msgstr "" + +#: utils/eveditor.py:112 +msgid "" +"\n" +" :! - Execute code buffer without saving\n" +" :< - Decrease the level of automatic indentation for the next lines\n" +" :> - Increase the level of automatic indentation for the next lines\n" +" := - Switch automatic indentation on/off\n" +msgstr "" + +#: utils/eveditor.py:121 +#, python-brace-format +msgid "" +"\n" +"{error}\n" +"\n" +"|rBuffer load function error. Could not load initial data.|n\n" +msgstr "" + +#: utils/eveditor.py:127 +#, python-brace-format +msgid "" +"\n" +"{error}\n" +"\n" +"|rSave function returned an error. Buffer not saved.|n\n" +msgstr "" + +#: utils/eveditor.py:133 +msgid "|rNo save function defined. Buffer cannot be saved.|n" +msgstr "" + +#: utils/eveditor.py:135 +msgid "No changes need saving" +msgstr "" + +#: utils/eveditor.py:136 +msgid "Exited editor." +msgstr "" + +#: utils/eveditor.py:138 +#, python-brace-format +msgid "" +"\n" +"{error}\n" +"\n" +"|rQuit function gave an error. Skipping.|n\n" +msgstr "" + +#: utils/eveditor.py:144 +#, python-brace-format +msgid "" +"\n" +"{error}\n" +"\n" +"|rThe editor state could not be saved for persistent mode. Switching\n" +"to non-persistent mode (which means the editor session won't survive\n" +"an eventual server reload - so save often!)|n\n" +msgstr "" + +#: utils/eveditor.py:153 +msgid "" +"EvEditor persistent-mode error. Commonly, this is because one or more of the " +"EvEditor callbacks could not be pickled, for example because it's a class " +"method or is defined inside another function." +msgstr "" + +#: utils/eveditor.py:159 +msgid "Nothing to undo." +msgstr "" + +#: utils/eveditor.py:160 +msgid "Nothing to redo." +msgstr "" + +#: utils/eveditor.py:161 +msgid "Undid one step." +msgstr "" + +#: utils/eveditor.py:162 +msgid "Redid one step." +msgstr "" + +#: utils/eveditor.py:480 +msgid "Single ':' added to buffer." +msgstr "" + +#: utils/eveditor.py:495 +msgid "Save before quitting?" +msgstr "" + +#: utils/eveditor.py:510 +msgid "Reverted all changes to the buffer back to original state." +msgstr "" + +#: utils/eveditor.py:515 +#, python-brace-format +msgid "Deleted {string}." +msgstr "" + +#: utils/eveditor.py:520 +msgid "You must give a search word to delete." +msgstr "" + +#: utils/eveditor.py:525 +#, python-brace-format +msgid "Removed {arg1} for lines {l1}-{l2}." +msgstr "" + +#: utils/eveditor.py:528 +#, python-brace-format +msgid "Removed {arg1} for {line}." +msgstr "" + +#: utils/eveditor.py:544 +#, python-brace-format +msgid "Cleared {nlines} lines from buffer." +msgstr "" + +#: utils/eveditor.py:549 +#, python-brace-format +msgid "{line}, {cbuf} yanked." +msgstr "" + +#: utils/eveditor.py:556 +#, python-brace-format +msgid "{line}, {cbuf} cut." +msgstr "" + +#: utils/eveditor.py:560 +msgid "Copy buffer is empty." +msgstr "" + +#: utils/eveditor.py:564 +#, python-brace-format +msgid "Pasted buffer {cbuf} to {line}." +msgstr "" + +#: utils/eveditor.py:570 +msgid "You need to enter a new line and where to insert it." +msgstr "" + +#: utils/eveditor.py:574 +#, python-brace-format +msgid "Inserted {num} new line(s) at {line}." +msgstr "" + +#: utils/eveditor.py:580 +msgid "You need to enter a replacement string." +msgstr "" + +#: utils/eveditor.py:584 +#, python-brace-format +msgid "Replaced {num} line(s) at {line}." +msgstr "" + +#: utils/eveditor.py:589 +msgid "You need to enter text to insert." +msgstr "" + +#: utils/eveditor.py:597 +#, python-brace-format +msgid "Inserted text at beginning of {line}." +msgstr "" + +#: utils/eveditor.py:601 +msgid "You need to enter text to append." +msgstr "" + +#: utils/eveditor.py:609 +#, python-brace-format +msgid "Appended text to end of {line}." +msgstr "" + +#: utils/eveditor.py:614 +msgid "You must give a search word and something to replace it with." +msgstr "" + +#: utils/eveditor.py:620 +#, python-brace-format +msgid "Search-replaced {arg1} -> {arg2} for lines {l1}-{l2}." +msgstr "" + +#: utils/eveditor.py:625 +#, python-brace-format +msgid "Search-replaced {arg1} -> {arg2} for {line}." +msgstr "" + +#: utils/eveditor.py:648 +#, python-brace-format +msgid "Flood filled lines {l1}-{l2}." +msgstr "" + +#: utils/eveditor.py:651 +#, python-brace-format +msgid "Flood filled {line}." +msgstr "" + +#: utils/eveditor.py:673 +msgid "Valid justifications are" +msgstr "" + +#: utils/eveditor.py:681 +#, python-brace-format +msgid "{align}-justified lines {l1}-{l2}." +msgstr "" + +#: utils/eveditor.py:684 +#, python-brace-format +msgid "{align}-justified {line}." +msgstr "" + +#: utils/eveditor.py:696 +#, python-brace-format +msgid "Indented lines {l1}-{l2}." +msgstr "" + +#: utils/eveditor.py:698 +#, python-brace-format +msgid "Indented {line}." +msgstr "" + +#: utils/eveditor.py:707 +#, python-brace-format +msgid "Removed left margin (dedented) lines {l1}-{l2}." +msgstr "" + +#: utils/eveditor.py:710 +#, python-brace-format +msgid "Removed left margin (dedented) {line}." +msgstr "" + +#: utils/eveditor.py:718 +#, python-brace-format +msgid "Echo mode set to {mode}" +msgstr "" + +#: utils/eveditor.py:723 utils/eveditor.py:736 utils/eveditor.py:749 +#: utils/eveditor.py:760 +msgid "This command is only available in code editor mode." +msgstr "" + +#: utils/eveditor.py:731 +#, python-brace-format +msgid "Decreased indentation: new indentation is {indent}." +msgstr "" + +#: utils/eveditor.py:734 utils/eveditor.py:747 +msgid "|rManual indentation is OFF.|n Use := to turn it on." +msgstr "" + +#: utils/eveditor.py:744 +#, python-brace-format +msgid "Increased indentation: new indentation is {indent}." +msgstr "" + +#: utils/eveditor.py:756 +msgid "Auto-indentation turned on." +msgstr "" + +#: utils/eveditor.py:758 +msgid "Auto-indentation turned off." +msgstr "" + +#: utils/eveditor.py:913 +msgid "|rNote: input buffer was converted to a string.|n" +msgstr "" + +#: utils/eveditor.py:1050 +#, python-brace-format +msgid "Line Editor [{name}]" +msgstr "" + +#: utils/eveditor.py:1058 +msgid "(:h for help)" +msgstr "" + +#: utils/evmenu.py:302 #, python-brace-format msgid "" "Menu node '{nodename}' is either not implemented or caused an error. Make " -"another choice." +"another choice or try 'q' to abort." msgstr "" -#: utils/evmenu.py:194 +#: utils/evmenu.py:305 #, python-brace-format msgid "Error in menu node '{nodename}'." msgstr "" -#: utils/evmenu.py:195 +#: utils/evmenu.py:306 msgid "No description." msgstr "Brak opisu." -#: utils/evmenu.py:196 +#: utils/evmenu.py:307 msgid "Commands: , help, quit" msgstr "" -#: utils/evmenu.py:197 +#: utils/evmenu.py:308 msgid "Commands: , help" msgstr "" -#: utils/evmenu.py:198 +#: utils/evmenu.py:309 msgid "Commands: help, quit" msgstr "" -#: utils/evmenu.py:199 +#: utils/evmenu.py:310 msgid "Commands: help" msgstr "" -#: utils/evmenu.py:200 +#: utils/evmenu.py:311 utils/evmenu.py:1842 msgid "Choose an option or try 'help'." msgstr "Wybierz opcje lub uzyj komendy 'help'." -#: utils/utils.py:1866 -#, python-format -msgid "Could not find '%s'." +#: utils/evmenu.py:1383 +msgid "|rInvalid choice.|n" +msgstr "" + +#: utils/evmenu.py:1441 +msgid "|Wcurrent|n" +msgstr "" + +#: utils/evmenu.py:1449 +msgid "|wp|Wrevious page|n" +msgstr "" + +#: utils/evmenu.py:1456 +msgid "|wn|Wext page|n" +msgstr "" + +#: utils/evmenu.py:1690 +msgid "Aborted." +msgstr "" + +#: utils/evmenu.py:1713 +msgid "|rError in ask_yes_no. Choice not confirmed (report to admin)|n" +msgstr "" + +#: utils/evmore.py:235 +msgid "Exited |wmore|n pager." +msgstr "" + +#: utils/optionhandler.py:138 utils/optionhandler.py:162 +msgid "Option not found!" +msgstr "" + +#: utils/optionhandler.py:159 +msgid "Option field blank!" +msgstr "" + +#: utils/optionhandler.py:164 +#, fuzzy +#| msgid "There were multiple matches." +msgid "Multiple matches:" +msgstr "Znaleziono wiele dopasowan." + +#: utils/optionhandler.py:166 +msgid "Please be more specific." +msgstr "" + +#: utils/utils.py:2219 +#, fuzzy, python-brace-format +#| msgid "Could not find '%s'." +msgid "Could not find '{query}'." msgstr "Nie odnaleziono '%s'." -#: utils/utils.py:1873 -#, python-format -msgid "More than one match for '%s' (please narrow target):\n" +#: utils/utils.py:2226 +#, fuzzy, python-brace-format +#| msgid "More than one match for '%s' (please narrow target):\n" +msgid "More than one match for '{query}' (please narrow target):\n" msgstr "Wiecej niz jedno dopasowanie dla '%s' (prosze zawezyc cel):\n" + +#: utils/validatorfuncs.py:25 +#, python-brace-format +msgid "Input could not be converted to text ({err})" +msgstr "" + +#: utils/validatorfuncs.py:34 +#, python-brace-format +msgid "Nothing entered for a {option_key}!" +msgstr "" + +#: utils/validatorfuncs.py:37 +#, python-brace-format +msgid "'{entry}' is not a valid {option_key}." +msgstr "" + +#: utils/validatorfuncs.py:62 utils/validatorfuncs.py:223 +#, python-brace-format +msgid "No {option_key} entered!" +msgstr "" + +#: utils/validatorfuncs.py:71 +#, python-brace-format +msgid "Timezone string '{acct_tz}' is not a valid timezone ({err})" +msgstr "" + +#: utils/validatorfuncs.py:88 utils/validatorfuncs.py:96 +#, python-brace-format +msgid "{option_key} must be entered in a 24-hour format such as: {timeformat}" +msgstr "" + +#: utils/validatorfuncs.py:140 +#, python-brace-format +msgid "Could not convert section '{interval}' to a {option_key}." +msgstr "" + +#: utils/validatorfuncs.py:150 +#, python-brace-format +msgid "That {option_key} is in the past! Must give a Future datetime!" +msgstr "" + +#: utils/validatorfuncs.py:157 +#, python-brace-format +msgid "Must enter a whole number for {option_key}!" +msgstr "" + +#: utils/validatorfuncs.py:162 +#, python-brace-format +msgid "Could not convert '{entry}' to a whole number for {option_key}!" +msgstr "" + +#: utils/validatorfuncs.py:171 +#, python-brace-format +msgid "Must enter a whole number greater than 0 for {option_key}!" +msgstr "" + +#: utils/validatorfuncs.py:179 +#, python-brace-format +msgid "{option_key} must be a whole number greater than or equal to 0!" +msgstr "" + +#: utils/validatorfuncs.py:197 +#, python-brace-format +msgid "Must enter a true/false input for {option_key}. Accepts {alternatives}." +msgstr "" + +#: utils/validatorfuncs.py:227 +#, python-brace-format +msgid "That matched: {matches}. Please be more specific!" +msgstr "" + +#: utils/validatorfuncs.py:231 +#, python-brace-format +msgid "Could not find timezone '{entry}' for {option_key}!" +msgstr "" + +#: utils/validatorfuncs.py:237 +msgid "Email address field empty!" +msgstr "" + +#: utils/validatorfuncs.py:240 +#, python-brace-format +msgid "That isn't a valid {option_key}!" +msgstr "" + +#: utils/validatorfuncs.py:247 +#, python-brace-format +msgid "No {option_key} entered to set!" +msgstr "" + +#: utils/validatorfuncs.py:251 +msgid "Must enter an access type!" +msgstr "" + +#: utils/validatorfuncs.py:254 +#, python-brace-format +msgid "Access type must be one of: {alternatives}" +msgstr "" + +#: utils/validatorfuncs.py:257 +msgid "Lock func not entered." +msgstr "" + +#: web/templates/admin/app_list.html:19 +msgid "Add" +msgstr "" + +#: web/templates/admin/app_list.html:26 +msgid "View" +msgstr "" + +#: web/templates/admin/app_list.html:28 +msgid "Change" +msgstr "" + +#: web/templates/admin/app_list.html:39 +msgid "You don’t have permission to view or edit anything." +msgstr "" + +#~ msgid "Say what?" +#~ msgstr "Ze co?" + +#~ msgid "Channel '%s' not found." +#~ msgstr "Kanal '%s' nie odnaleziony." + +#~ msgid "You are not connected to channel '%s'." +#~ msgstr "Nie jestes polaczony z kanalem '%s'." + +#~ msgid "You are not permitted to send to channel '%s'." +#~ msgstr "Nie masz uprawnien do wysylania wiadomosci na kanal '%s'." + +#~ msgid " (channel)" +#~ msgstr " (kanal)" diff --git a/evennia/locale/pt/LC_MESSAGES/django.po b/evennia/locale/pt/LC_MESSAGES/django.po index ba9269e53c..48c8216304 100644 --- a/evennia/locale/pt/LC_MESSAGES/django.po +++ b/evennia/locale/pt/LC_MESSAGES/django.po @@ -10,7 +10,7 @@ msgid "" msgstr "" "Project-Id-Version: Evennia Beta\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2014-08-19 13:23-0300\n" +"POT-Creation-Date: 2021-05-29 16:24+0000\n" "PO-Revision-Date: 2015-12-16 16:39-0300\n" "Last-Translator: Nerun \n" "Language-Team: Nerun \n" @@ -21,268 +21,1157 @@ msgstr "" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Poedit-SourceCharset: UTF-8\n" -#: commands/cmdhandler.py:503 +#: accounts/accounts.py:321 +#, python-brace-format +msgid "|c{key}|R is already puppeted by another Account." +msgstr "" + +#: accounts/accounts.py:515 +msgid "Too many login failures; please try again in a few minutes." +msgstr "" + +#: accounts/accounts.py:528 accounts/accounts.py:789 +msgid "" +"|rYou have been banned and cannot continue from here.\n" +"If you feel this ban is in error, please email an admin.|x" +msgstr "" + +#: accounts/accounts.py:540 +msgid "Username and/or password is incorrect." +msgstr "" + +#: accounts/accounts.py:547 +msgid "Too many authentication failures." +msgstr "" + +#: accounts/accounts.py:760 +msgid "" +"You are creating too many accounts. Please log into an existing account." +msgstr "" + +#: accounts/accounts.py:805 +msgid "" +"There was an error creating the Account. If this problem persists, contact " +"an admin." +msgstr "" + +#: accounts/accounts.py:839 accounts/accounts.py:1751 +msgid "An error occurred. Please e-mail an admin if the problem persists." +msgstr "" + +#: accounts/accounts.py:866 +#, fuzzy +#| msgid "Player being deleted." +msgid "Account being deleted." +msgstr "Jogador sendo deletado." + +#: accounts/accounts.py:1417 accounts/accounts.py:1768 +#, python-brace-format +msgid "|G{key} connected|n" +msgstr "" + +#: accounts/accounts.py:1424 accounts/accounts.py:1431 +#, fuzzy +#| msgid "The destination doesn't exist." +msgid "The Character does not exist." +msgstr "O destino não existe." + +#: accounts/accounts.py:1470 +#, python-brace-format +msgid "|R{key} disconnected{reason}|n" +msgstr "" + +#: accounts/accounts.py:1704 +msgid "Guest accounts are not enabled on this server." +msgstr "" + +#: accounts/accounts.py:1714 +msgid "All guest accounts are in use. Please try again later." +msgstr "" + +#: commands/cmdhandler.py:83 +msgid "" +"\n" +"An untrapped error occurred.\n" +msgstr "" + +#: commands/cmdhandler.py:86 +msgid "" +"\n" +"An untrapped error occurred. Please file a bug report detailing the steps to " +"reproduce.\n" +msgstr "" + +#: commands/cmdhandler.py:92 +msgid "" +"\n" +"A cmdset merger-error occurred. This is often due to a syntax\n" +"error in one of the cmdsets to merge.\n" +msgstr "" + +#: commands/cmdhandler.py:96 +msgid "" +"\n" +"A cmdset merger-error occurred. Please file a bug report detailing the\n" +"steps to reproduce.\n" +msgstr "" + +#: commands/cmdhandler.py:103 +msgid "" +"\n" +"No command sets found! This is a critical bug that can have\n" +"multiple causes.\n" +msgstr "" + +#: commands/cmdhandler.py:107 +msgid "" +"\n" +"No command sets found! This is a sign of a critical bug. If\n" +"disconnecting/reconnecting doesn't\" solve the problem, try to contact\n" +"the server admin through\" some other means for assistance.\n" +msgstr "" + +#: commands/cmdhandler.py:115 +msgid "" +"\n" +"A command handler bug occurred. If this is not due to a local change,\n" +"please file a bug report with the Evennia project, including the\n" +"traceback and steps to reproduce.\n" +msgstr "" + +#: commands/cmdhandler.py:120 +msgid "" +"\n" +"A command handler bug occurred. Please notify staff - they should\n" +"likely file a bug report with the Evennia project.\n" +msgstr "" + +#: commands/cmdhandler.py:127 +#, python-brace-format +msgid "" +"Command recursion limit ({recursion_limit}) reached for " +"'{raw_cmdname}' ({cmdclass})." +msgstr "" + +#: commands/cmdhandler.py:149 +#, python-brace-format +msgid "" +"{traceback}\n" +"{errmsg}\n" +"(Traceback was logged {timestamp})." +msgstr "" + +#: commands/cmdhandler.py:699 msgid "There were multiple matches." msgstr "Havia várias correspondências." -#: commands/cmdhandler.py:531 -#, python-format -msgid "Command '%s' is not available." +#: commands/cmdhandler.py:724 +#, fuzzy, python-brace-format +#| msgid "Command '%s' is not available." +msgid "Command '{command}' is not available." msgstr "Comando '%s' não está disponível." -#: commands/cmdhandler.py:536 -#, python-format -msgid " Maybe you meant %s?" +#: commands/cmdhandler.py:734 +#, fuzzy, python-brace-format +#| msgid " Maybe you meant %s?" +msgid " Maybe you meant {command}?" msgstr " Você talvez quis dizer %s?" -#: commands/cmdhandler.py:536 +#: commands/cmdhandler.py:735 msgid "or" msgstr "ou" -#: commands/cmdhandler.py:538 +#: commands/cmdhandler.py:738 msgid " Type \"help\" for help." msgstr " Digite \"help\" para obter ajuda." -#: commands/cmdsethandler.py:143 commands/cmdsethandler.py:153 -#, python-format -msgid "" -"\n" -"(Unsuccessfully tried '%s')." -msgstr "" -"\n" -"(Tentou sem sucesso '%s')." - -#: commands/cmdsethandler.py:164 +#: commands/cmdsethandler.py:89 #, python-brace-format msgid "" -"\n" -"Error loading cmdset {path}: \"{error}\"" +"{traceback}\n" +"Error loading cmdset '{path}'\n" +"(Traceback was logged {timestamp})" msgstr "" -"\n" -"Erro ao carregar cmdset {path}: \"{error}\"" -#: commands/cmdsethandler.py:169 -#, python-brace-format +#: commands/cmdsethandler.py:95 +#, fuzzy, python-brace-format +#| msgid "" +#| "\n" +#| "Error in loading cmdset: No cmdset class '{classname}' in {path}." msgid "" -"\n" -"Error in loading cmdset: No cmdset class '{classname}' in {path}." +"Error loading cmdset: No cmdset class '{classname}' in '{path}'.\n" +"(Traceback was logged {timestamp})" msgstr "" "\n" "Erro ao carregar cmdset: Nenhuma classe cmdset '{classname}' em {path}." -#: commands/cmdsethandler.py:174 -#, python-brace-format +#: commands/cmdsethandler.py:100 +#, fuzzy, python-brace-format +#| msgid "" +#| "\n" +#| "SyntaxError encountered when loading cmdset '{path}': \"{error}\"." msgid "" -"\n" -"SyntaxError encountered when loading cmdset '{path}': \"{error}\"." +"{traceback}\n" +"SyntaxError encountered when loading cmdset '{path}'.\n" +"(Traceback was logged {timestamp})" msgstr "" "\n" "Erro de sintaxe ao carregar cmdset '{path}': \"{error}\"." -#: commands/cmdsethandler.py:179 -#, python-brace-format +#: commands/cmdsethandler.py:106 +#, fuzzy, python-brace-format +#| msgid "" +#| "\n" +#| "Compile/Run error when loading cmdset '{path}': \"{error}\"." msgid "" -"\n" -"Compile/Run error when loading cmdset '{path}': \"{error}\"." +"{traceback}\n" +"Compile/Run error when loading cmdset '{path}'.\n" +"(Traceback was logged {timestamp})" msgstr "" "\n" "Erro de compilação/execução ao carregar cmdset '{path}': \"{error}\"." -#: commands/cmdsethandler.py:191 +#: commands/cmdsethandler.py:112 +#, python-brace-format msgid "" "\n" -" (See log for details.)" +"Error encountered for cmdset at path '{path}'.\n" +"Replacing with fallback '{fallback_path}'.\n" +msgstr "" + +#: commands/cmdsethandler.py:118 +#, python-brace-format +msgid "Fallback path '{fallback_path}' failed to generate a cmdset." +msgstr "" + +#: commands/cmdsethandler.py:188 commands/cmdsethandler.py:200 +#, fuzzy, python-brace-format +#| msgid "" +#| "\n" +#| "(Unsuccessfully tried '%s')." +msgid "" +"\n" +"(Unsuccessfully tried '{path}')." msgstr "" "\n" -" (Veja o log para detalhes.)" +"(Tentou sem sucesso '%s')." -#: commands/cmdsethandler.py:263 +#: commands/cmdsethandler.py:331 #, python-brace-format msgid "custom {mergetype} on cmdset '{cmdset}'" msgstr "{mergetype} personalizado sobre cmdset '{cmdset}'" -#: commands/cmdsethandler.py:266 -#, python-brace-format -msgid " : {current}" -msgstr " : {current}" - -#: commands/cmdsethandler.py:274 -#, python-brace-format -msgid "" -" <{key} ({mergetype}, prio {prio}, {permstring})>:\n" -" {keylist}" -msgstr "" -" <{key} ({mergetype}, prio {prio}, {permstring})>:\n" -" {keylist}" - -#: commands/cmdsethandler.py:362 +#: commands/cmdsethandler.py:459 msgid "Only CmdSets can be added to the cmdsethandler!" msgstr "Somente CmdSets podem ser adicionados ao cmdsethandler!" -#: comms/channelhandler.py:95 -msgid " (channel)" -msgstr " (canal)" - -#: locks/lockhandler.py:232 -#, python-format -msgid "Lock: lock-function '%s' is not available." +#: locks/lockhandler.py:238 +#, fuzzy, python-brace-format +#| msgid "Lock: lock-function '%s' is not available." +msgid "Lock: lock-function '{lockfunc}' is not available." msgstr "Lock: a função de lock '%s' não está disponível." -#: locks/lockhandler.py:245 -#, python-format -msgid "Lock: definition '%s' has syntax errors." +#: locks/lockhandler.py:259 +#, fuzzy, python-brace-format +#| msgid "Lock: definition '%s' has syntax errors." +msgid "Lock: definition '{lock_string}' has syntax errors." msgstr "Lock: a definição '%s' possui erros de sintaxe." -#: locks/lockhandler.py:249 -#, python-format +#: locks/lockhandler.py:267 +#, fuzzy, python-brace-format +#| msgid "" +#| "LockHandler on %(obj)s: access type '%(access_type)s' changed from " +#| "'%(source)s' to '%(goal)s' " msgid "" -"LockHandler on %(obj)s: access type '%(access_type)s' changed from " -"'%(source)s' to '%(goal)s' " +"LockHandler on {obj}: access type '{access_type}' changed from '{source}' to " +"'{goal}' " msgstr "" "LockHandler sobre %(obj)s: tipo de acesso '%(access_type)s' alterado de " "'%(source)s' para '%(goal)s' " -#: locks/lockhandler.py:306 -#, python-format -msgid "Lock: '%s' contains no colon (:)." +#: locks/lockhandler.py:341 +#, fuzzy, python-brace-format +#| msgid "Lock: '%s' contains no colon (:)." +msgid "Lock: '{lockdef}' contains no colon (:)." msgstr "Lock: '%s' não contém dois pontos (:)." -#: locks/lockhandler.py:310 -#, python-format -msgid "Lock: '%s' has no access_type (left-side of colon is empty)." -msgstr "Lock: '%s' não possui access_type (o lado à esquerda dos dois pontos está vazio)." +#: locks/lockhandler.py:350 +#, fuzzy, python-brace-format +#| msgid "Lock: '%s' has no access_type (left-side of colon is empty)." +msgid "Lock: '{lockdef}' has no access_type (left-side of colon is empty)." +msgstr "" +"Lock: '%s' não possui access_type (o lado à esquerda dos dois pontos está " +"vazio)." -#: locks/lockhandler.py:313 -#, python-format -msgid "Lock: '%s' has mismatched parentheses." +#: locks/lockhandler.py:358 +#, fuzzy, python-brace-format +#| msgid "Lock: '%s' has mismatched parentheses." +msgid "Lock: '{lockdef}' has mismatched parentheses." msgstr "Lock: '%s' apresenta irregularidade no uso dos parênteses." -#: locks/lockhandler.py:316 -#, python-format -msgid "Lock: '%s' has no valid lock functions." +#: locks/lockhandler.py:365 +#, fuzzy, python-brace-format +#| msgid "Lock: '%s' has no valid lock functions." +msgid "Lock: '{lockdef}' has no valid lock functions." msgstr "Lock: '%s' não possui funções de lock válidas." -#: objects/objects.py:565 -#, python-format -msgid "Couldn't perform move ('%s'). Contact an admin." -msgstr "Não foi possível executar o movimento ('%s'). Contacte um administrador." +#: objects/objects.py:871 +#, fuzzy, python-brace-format +#| msgid "Couldn't perform move ('%s'). Contact an admin." +msgid "Couldn't perform move ({err}). Contact an admin." +msgstr "" +"Não foi possível executar o movimento ('%s'). Contacte um administrador." -#: objects/objects.py:575 +#: objects/objects.py:881 msgid "The destination doesn't exist." msgstr "O destino não existe." -#: objects/objects.py:675 -#, python-format -msgid "Could not find default home '(#%d)'." +#: objects/objects.py:974 +#, fuzzy, python-brace-format +#| msgid "Could not find default home '(#%d)'." +msgid "Could not find default home '(#{dbid})'." msgstr "Não foi possível encontrar a home predefinida '(#%d)'." -#: objects/objects.py:691 +#: objects/objects.py:988 msgid "Something went wrong! You are dumped into nowhere. Contact an admin." -msgstr "Algo deu errado! Você foi despejado em lugar nenhum. Contacte um administrador." +msgstr "" +"Algo deu errado! Você foi despejado em lugar nenhum. Contacte um " +"administrador." -#: objects/objects.py:771 -#, python-format -msgid "Your character %s has been destroyed." +#: objects/objects.py:1138 +#, fuzzy, python-brace-format +#| msgid "Your character %s has been destroyed." +msgid "Your character {key} has been destroyed." msgstr "Seu personagem %s foi destruído." -#: players/players.py:379 -msgid "Player being deleted." -msgstr "Jogador sendo deletado." +#: objects/objects.py:1546 +#, python-brace-format +msgid "You now have {name} in your possession." +msgstr "" -#: scripts/scripthandler.py:51 -#, python-format +#: objects/objects.py:1555 +#, python-brace-format +msgid "{object} arrives to {destination} from {origin}." +msgstr "" + +#: objects/objects.py:1557 +#, python-brace-format +msgid "{object} arrives to {destination}." +msgstr "" + +#: objects/objects.py:2165 +msgid "Invalid character name." +msgstr "" + +#: objects/objects.py:2184 +msgid "There are too many characters associated with this account." +msgstr "" + +#: objects/objects.py:2210 +#, fuzzy +#| msgid "This is User #1." +msgid "This is a character." +msgstr "Este é o Usuário #1." + +#: objects/objects.py:2296 +#, python-brace-format +msgid "|r{obj} has no location and no home is set.|n" +msgstr "" + +#: objects/objects.py:2315 +#, python-brace-format msgid "" "\n" -" '%(key)s' (%(next_repeat)s/%(interval)s, %(repeats)s repeats): %(desc)s" +"You become |c{name}|n.\n" +msgstr "" + +#: objects/objects.py:2319 +#, python-brace-format +msgid "{name} has entered the game." +msgstr "" + +#: objects/objects.py:2343 +#, python-brace-format +msgid "{name} has left the game." +msgstr "" + +#: objects/objects.py:2461 +#, fuzzy +#| msgid "This is User #1." +msgid "This is a room." +msgstr "Este é o Usuário #1." + +#: objects/objects.py:2667 +#, fuzzy +#| msgid "This is User #1." +msgid "This is an exit." +msgstr "Este é o Usuário #1." + +#: objects/objects.py:2764 +msgid "You cannot go there." +msgstr "" + +#: prototypes/prototypes.py:57 +msgid "Error" +msgstr "" + +#: prototypes/prototypes.py:58 +msgid "Warning" +msgstr "" + +#: prototypes/prototypes.py:263 +msgid "Prototype requires a prototype_key" +msgstr "" + +#: prototypes/prototypes.py:271 prototypes/prototypes.py:339 +#, python-brace-format +msgid "{protkey} is a read-only prototype (defined as code in {module})." +msgstr "" + +#: prototypes/prototypes.py:346 +#, python-brace-format +msgid "Prototype {prototype_key} was not found." +msgstr "" + +#: prototypes/prototypes.py:353 +#, python-brace-format +msgid "" +"{caller} needs explicit 'edit' permissions to delete prototype " +"{prototype_key}." +msgstr "" + +#: prototypes/prototypes.py:455 +#, python-brace-format +msgid "Found {num} matching prototypes {module_prototypes}." +msgstr "" + +#: prototypes/prototypes.py:615 +msgid "No prototypes found." +msgstr "" + +#: prototypes/prototypes.py:666 +msgid "Prototype lacks a 'prototype_key'." +msgstr "" + +#: prototypes/prototypes.py:675 +#, python-brace-format +msgid "Prototype {protkey} requires `typeclass` or 'prototype_parent'." +msgstr "" + +#: prototypes/prototypes.py:680 +#, python-brace-format +msgid "" +"Prototype {protkey} can only be used as a mixin since it lacks 'typeclass' " +"or 'prototype_parent' keys." +msgstr "" + +#: prototypes/prototypes.py:689 +#, python-brace-format +msgid "" +"{err}: Prototype {protkey} is based on typeclass {typeclass}, which could " +"not be imported!" +msgstr "" + +#: prototypes/prototypes.py:699 +#, python-brace-format +msgid "Prototype {protkey} tries to parent itself." +msgstr "" + +#: prototypes/prototypes.py:704 +#, python-brace-format +msgid "Prototype {protkey}'s prototype_parent '{parent}' was not found." +msgstr "" + +#: prototypes/prototypes.py:709 +#, python-brace-format +msgid "{protkey} has infinite nesting of prototypes." +msgstr "" + +#: prototypes/prototypes.py:729 +#, python-brace-format +msgid "" +"Prototype {protkey} has no `typeclass` defined anywhere in its parent\n" +" chain. Add `typeclass`, or a `prototype_parent` pointing to a prototype " +"with a typeclass." +msgstr "" + +#: prototypes/spawner.py:473 +#, python-brace-format +msgid "" +"Diff contains non-dicts that are not on the form (old, new, action_to_take): " +"{diffpart}" +msgstr "" + +#: scripts/scripthandler.py:51 +#, fuzzy, python-brace-format +#| msgid "" +#| "\n" +#| " '%(key)s' (%(next_repeat)s/%(interval)s, %(repeats)s repeats): %(desc)s" +msgid "" +"\n" +" '{key}' ({next_repeat}/{interval}, {repeats} repeats): {desc}" msgstr "" "\n" " '%(key)s' (%(next_repeat)s/%(interval)s, %(repeats)s repeats): %(desc)s" -#: scripts/scripts.py:203 -#, python-format -msgid "" -"Script %(key)s(#%(dbid)s) of type '%(cname)s': at_repeat() error '%(err)s'." +#: scripts/scripts.py:329 +#, fuzzy, python-brace-format +#| msgid "" +#| "Script %(key)s(#%(dbid)s) of type '%(cname)s': at_repeat() error " +#| "'%(err)s'." +msgid "Script {key}(#{dbid}) of type '{name}': at_repeat() error '{err}'." msgstr "" "Script %(key)s(#%(dbid)s) do tipo '%(cname)s': at_repeat() error '%(err)s'." -#: server/initial_setup.py:30 +#: server/initial_setup.py:28 +#, fuzzy +#| msgid "" +#| "\n" +#| "Welcome to your new |wEvennia|n-based game! Visit http://www.evennia.com " +#| "if you need\n" +#| "help, want to contribute, report issues or just join the community.\n" +#| "As Player #1 you can create a demo/tutorial area with |w@batchcommand " +#| "tutorial_world.build|n.\n" +#| " " msgid "" "\n" -"Welcome to your new |wEvennia|n-based game! Visit http://www.evennia.com if " +"Welcome to your new |wEvennia|n-based game! Visit https://www.evennia.com if " "you need\n" "help, want to contribute, report issues or just join the community.\n" -"As Player #1 you can create a demo/tutorial area with |w@batchcommand " -"tutorial_world.build|n.\n" -" " +"As Account #1 you can create a demo/tutorial area with '|wbatchcommand " +"tutorial_world.build|n'.\n" msgstr "" "\n" -"Bem-vindo a seu novo jogo criado com |wEvennia|n! Visite http://www.evennia.com\n" +"Bem-vindo a seu novo jogo criado com |wEvennia|n! Visite http://www.evennia." +"com\n" "se você precisar de ajuda, desejar contribuir, reportar bugs ou apenas\n" "juntar-se à comunidade.\n" "Como Player #1 você pode criar uma área demonstrativa/tutorial digitando\n" "o comando |w@batchcommand tutorial_world.build|n.\n" " " -#: server/initial_setup.py:103 +#: server/initial_setup.py:92 msgid "This is User #1." msgstr "Este é o Usuário #1." -#: server/initial_setup.py:116 +#: server/initial_setup.py:108 msgid "Limbo" msgstr "Limbo" -#: server/sessionhandler.py:244 +#: server/portal/portalsessionhandler.py:40 +#, python-brace-format +msgid "" +"{servername} DoS protection is active. You are queued to connect in {num} " +"seconds ..." +msgstr "" + +#: server/server.py:152 +#, fuzzy +#| msgid "Idle timeout exceeded, disconnecting." +msgid "idle timeout exceeded" +msgstr "Tempo de inatividade esgotado, desconectando." + +#: server/sessionhandler.py:42 +msgid "Your client sent an incorrect UTF-8 sequence." +msgstr "" + +#: server/sessionhandler.py:399 msgid " ... Server restarted." msgstr " ... Servidor reiniciado." -#: server/sessionhandler.py:388 +#: server/sessionhandler.py:623 msgid "Logged in from elsewhere. Disconnecting." msgstr "Logado de outro lugar. Desconectando." -#: server/sessionhandler.py:412 +#: server/sessionhandler.py:652 msgid "Idle timeout exceeded, disconnecting." msgstr "Tempo de inatividade esgotado, desconectando." -#: utils/evmenu.py:160 +#: server/throttle.py:21 +msgid "" +"Too many failed attempts; you must wait a few minutes before trying again." +msgstr "" + +#: server/validators.py:31 +msgid "Sorry, that username is reserved." +msgstr "" + +#: server/validators.py:38 +msgid "Sorry, that username is already taken." +msgstr "" + +#: server/validators.py:88 #, python-brace-format -msgid "Menu node '{nodename}' is not implemented. Make another choice." +msgid "" +"{policy} From a terminal client, you can also use a phrase of multiple words " +"if you enclose the password in double quotes." +msgstr "" + +#: utils/eveditor.py:67 +msgid "" +"\n" +" - any non-command is appended to the end of the buffer.\n" +" : - view buffer or only line(s) \n" +" :: - raw-view buffer or only line(s) \n" +" ::: - escape - enter ':' as the only character on the line.\n" +" :h - this help.\n" +"\n" +" :w - save the buffer (don't quit)\n" +" :wq - save buffer and quit\n" +" :q - quit (will be asked to save if buffer was changed)\n" +" :q! - quit without saving, no questions asked\n" +"\n" +" :u - (undo) step backwards in undo history\n" +" :uu - (redo) step forward in undo history\n" +" :UU - reset all changes back to initial state\n" +"\n" +" :dd - delete last line or line(s) \n" +" :dw - delete word or regex in entire buffer or on line \n" +" :DD - clear entire buffer\n" +"\n" +" :y - yank (copy) line(s) to the copy buffer\n" +" :x - cut line(s) and store it in the copy buffer\n" +" :p - put (paste) previously copied line(s) directly after \n" +" :i - insert new text at line . Old line will move " +"down\n" +" :r - replace line with text \n" +" :I - insert text at the beginning of line \n" +" :A - append text after the end of line \n" +"\n" +" :s - search/replace word or regex in buffer or on line " +"\n" +"\n" +" :j - justify buffer or line . is f, c, l or r. Default f " +"(full)\n" +" :f - flood-fill entire buffer or line : Equivalent to :j left\n" +" :fi - indent entire buffer or line \n" +" :fd - de-indent entire buffer or line \n" +"\n" +" :echo - turn echoing of the input on/off (helpful for some clients)\n" +msgstr "" + +#: utils/eveditor.py:105 +msgid "" +"\n" +" Legend:\n" +" - line number, like '5' or range, like '3:7'.\n" +" - a single word, or multiple words with quotes around them.\n" +" - longer string, usually not needing quotes.\n" +msgstr "" + +#: utils/eveditor.py:112 +msgid "" +"\n" +" :! - Execute code buffer without saving\n" +" :< - Decrease the level of automatic indentation for the next lines\n" +" :> - Increase the level of automatic indentation for the next lines\n" +" := - Switch automatic indentation on/off\n" +msgstr "" + +#: utils/eveditor.py:121 +#, python-brace-format +msgid "" +"\n" +"{error}\n" +"\n" +"|rBuffer load function error. Could not load initial data.|n\n" +msgstr "" + +#: utils/eveditor.py:127 +#, python-brace-format +msgid "" +"\n" +"{error}\n" +"\n" +"|rSave function returned an error. Buffer not saved.|n\n" +msgstr "" + +#: utils/eveditor.py:133 +msgid "|rNo save function defined. Buffer cannot be saved.|n" +msgstr "" + +#: utils/eveditor.py:135 +msgid "No changes need saving" +msgstr "" + +#: utils/eveditor.py:136 +msgid "Exited editor." +msgstr "" + +#: utils/eveditor.py:138 +#, python-brace-format +msgid "" +"\n" +"{error}\n" +"\n" +"|rQuit function gave an error. Skipping.|n\n" +msgstr "" + +#: utils/eveditor.py:144 +#, python-brace-format +msgid "" +"\n" +"{error}\n" +"\n" +"|rThe editor state could not be saved for persistent mode. Switching\n" +"to non-persistent mode (which means the editor session won't survive\n" +"an eventual server reload - so save often!)|n\n" +msgstr "" + +#: utils/eveditor.py:153 +msgid "" +"EvEditor persistent-mode error. Commonly, this is because one or more of the " +"EvEditor callbacks could not be pickled, for example because it's a class " +"method or is defined inside another function." +msgstr "" + +#: utils/eveditor.py:159 +msgid "Nothing to undo." +msgstr "" + +#: utils/eveditor.py:160 +msgid "Nothing to redo." +msgstr "" + +#: utils/eveditor.py:161 +msgid "Undid one step." +msgstr "" + +#: utils/eveditor.py:162 +msgid "Redid one step." +msgstr "" + +#: utils/eveditor.py:480 +msgid "Single ':' added to buffer." +msgstr "" + +#: utils/eveditor.py:495 +msgid "Save before quitting?" +msgstr "" + +#: utils/eveditor.py:510 +msgid "Reverted all changes to the buffer back to original state." +msgstr "" + +#: utils/eveditor.py:515 +#, python-brace-format +msgid "Deleted {string}." +msgstr "" + +#: utils/eveditor.py:520 +msgid "You must give a search word to delete." +msgstr "" + +#: utils/eveditor.py:525 +#, python-brace-format +msgid "Removed {arg1} for lines {l1}-{l2}." +msgstr "" + +#: utils/eveditor.py:528 +#, python-brace-format +msgid "Removed {arg1} for {line}." +msgstr "" + +#: utils/eveditor.py:544 +#, python-brace-format +msgid "Cleared {nlines} lines from buffer." +msgstr "" + +#: utils/eveditor.py:549 +#, python-brace-format +msgid "{line}, {cbuf} yanked." +msgstr "" + +#: utils/eveditor.py:556 +#, python-brace-format +msgid "{line}, {cbuf} cut." +msgstr "" + +#: utils/eveditor.py:560 +msgid "Copy buffer is empty." +msgstr "" + +#: utils/eveditor.py:564 +#, python-brace-format +msgid "Pasted buffer {cbuf} to {line}." +msgstr "" + +#: utils/eveditor.py:570 +msgid "You need to enter a new line and where to insert it." +msgstr "" + +#: utils/eveditor.py:574 +#, python-brace-format +msgid "Inserted {num} new line(s) at {line}." +msgstr "" + +#: utils/eveditor.py:580 +msgid "You need to enter a replacement string." +msgstr "" + +#: utils/eveditor.py:584 +#, python-brace-format +msgid "Replaced {num} line(s) at {line}." +msgstr "" + +#: utils/eveditor.py:589 +msgid "You need to enter text to insert." +msgstr "" + +#: utils/eveditor.py:597 +#, python-brace-format +msgid "Inserted text at beginning of {line}." +msgstr "" + +#: utils/eveditor.py:601 +msgid "You need to enter text to append." +msgstr "" + +#: utils/eveditor.py:609 +#, python-brace-format +msgid "Appended text to end of {line}." +msgstr "" + +#: utils/eveditor.py:614 +msgid "You must give a search word and something to replace it with." +msgstr "" + +#: utils/eveditor.py:620 +#, python-brace-format +msgid "Search-replaced {arg1} -> {arg2} for lines {l1}-{l2}." +msgstr "" + +#: utils/eveditor.py:625 +#, python-brace-format +msgid "Search-replaced {arg1} -> {arg2} for {line}." +msgstr "" + +#: utils/eveditor.py:648 +#, python-brace-format +msgid "Flood filled lines {l1}-{l2}." +msgstr "" + +#: utils/eveditor.py:651 +#, python-brace-format +msgid "Flood filled {line}." +msgstr "" + +#: utils/eveditor.py:673 +msgid "Valid justifications are" +msgstr "" + +#: utils/eveditor.py:681 +#, python-brace-format +msgid "{align}-justified lines {l1}-{l2}." +msgstr "" + +#: utils/eveditor.py:684 +#, python-brace-format +msgid "{align}-justified {line}." +msgstr "" + +#: utils/eveditor.py:696 +#, python-brace-format +msgid "Indented lines {l1}-{l2}." +msgstr "" + +#: utils/eveditor.py:698 +#, python-brace-format +msgid "Indented {line}." +msgstr "" + +#: utils/eveditor.py:707 +#, python-brace-format +msgid "Removed left margin (dedented) lines {l1}-{l2}." +msgstr "" + +#: utils/eveditor.py:710 +#, python-brace-format +msgid "Removed left margin (dedented) {line}." +msgstr "" + +#: utils/eveditor.py:718 +#, python-brace-format +msgid "Echo mode set to {mode}" +msgstr "" + +#: utils/eveditor.py:723 utils/eveditor.py:736 utils/eveditor.py:749 +#: utils/eveditor.py:760 +msgid "This command is only available in code editor mode." +msgstr "" + +#: utils/eveditor.py:731 +#, python-brace-format +msgid "Decreased indentation: new indentation is {indent}." +msgstr "" + +#: utils/eveditor.py:734 utils/eveditor.py:747 +msgid "|rManual indentation is OFF.|n Use := to turn it on." +msgstr "" + +#: utils/eveditor.py:744 +#, python-brace-format +msgid "Increased indentation: new indentation is {indent}." +msgstr "" + +#: utils/eveditor.py:756 +msgid "Auto-indentation turned on." +msgstr "" + +#: utils/eveditor.py:758 +msgid "Auto-indentation turned off." +msgstr "" + +#: utils/eveditor.py:913 +msgid "|rNote: input buffer was converted to a string.|n" +msgstr "" + +#: utils/eveditor.py:1050 +#, python-brace-format +msgid "Line Editor [{name}]" +msgstr "" + +#: utils/eveditor.py:1058 +msgid "(:h for help)" +msgstr "" + +#: utils/evmenu.py:302 +#, fuzzy, python-brace-format +#| msgid "Menu node '{nodename}' is not implemented. Make another choice." +msgid "" +"Menu node '{nodename}' is either not implemented or caused an error. Make " +"another choice or try 'q' to abort." msgstr "Menu node '{nodename}' não está implementado. Faça outra escolha." -#: utils/evmenu.py:161 +#: utils/evmenu.py:305 #, python-brace-format msgid "Error in menu node '{nodename}'." msgstr "Erro no menu node '{nodename}'." -#: utils/evmenu.py:162 +#: utils/evmenu.py:306 msgid "No description." msgstr "Nenhuma descrição." -#: utils/evmenu.py:163 +#: utils/evmenu.py:307 msgid "Commands: , help, quit" msgstr "Comandos: , help (ajuda), quit (sair)" -#: utils/evmenu.py:164 +#: utils/evmenu.py:308 msgid "Commands: , help" msgstr "Comandos: , help (ajuda)" -#: utils/evmenu.py:165 +#: utils/evmenu.py:309 msgid "Commands: help, quit" msgstr "Comandos: help (ajuda), quit (sair)" -#: utils/evmenu.py:166 +#: utils/evmenu.py:310 msgid "Commands: help" msgstr "Comandos: help (ajuda)" -#: utils/evmenu.py:167 +#: utils/evmenu.py:311 utils/evmenu.py:1842 msgid "Choose an option or try 'help'." msgstr "Escolha uma opção ou tente 'help' (ajuda)." -#: utils/utils.py:1520 -#, python-format -msgid "Could not find '%s'." +#: utils/evmenu.py:1383 +msgid "|rInvalid choice.|n" +msgstr "" + +#: utils/evmenu.py:1441 +msgid "|Wcurrent|n" +msgstr "" + +#: utils/evmenu.py:1449 +msgid "|wp|Wrevious page|n" +msgstr "" + +#: utils/evmenu.py:1456 +msgid "|wn|Wext page|n" +msgstr "" + +#: utils/evmenu.py:1690 +msgid "Aborted." +msgstr "" + +#: utils/evmenu.py:1713 +msgid "|rError in ask_yes_no. Choice not confirmed (report to admin)|n" +msgstr "" + +#: utils/evmore.py:235 +msgid "Exited |wmore|n pager." +msgstr "" + +#: utils/optionhandler.py:138 utils/optionhandler.py:162 +msgid "Option not found!" +msgstr "" + +#: utils/optionhandler.py:159 +msgid "Option field blank!" +msgstr "" + +#: utils/optionhandler.py:164 +#, fuzzy +#| msgid "There were multiple matches." +msgid "Multiple matches:" +msgstr "Havia várias correspondências." + +#: utils/optionhandler.py:166 +msgid "Please be more specific." +msgstr "" + +#: utils/utils.py:2219 +#, fuzzy, python-brace-format +#| msgid "Could not find '%s'." +msgid "Could not find '{query}'." msgstr "Não foi possível encontrar '%s'." -#: utils/utils.py:1525 -#, python-format -msgid "More than one match for '%s' (please narrow target):" -msgstr "Há mais de uma correspondência para '%s' (por favor, restrinja o alvo):" +#: utils/utils.py:2226 +#, fuzzy, python-brace-format +#| msgid "More than one match for '%s' (please narrow target):" +msgid "More than one match for '{query}' (please narrow target):\n" +msgstr "" +"Há mais de uma correspondência para '%s' (por favor, restrinja o alvo):" + +#: utils/validatorfuncs.py:25 +#, python-brace-format +msgid "Input could not be converted to text ({err})" +msgstr "" + +#: utils/validatorfuncs.py:34 +#, python-brace-format +msgid "Nothing entered for a {option_key}!" +msgstr "" + +#: utils/validatorfuncs.py:37 +#, python-brace-format +msgid "'{entry}' is not a valid {option_key}." +msgstr "" + +#: utils/validatorfuncs.py:62 utils/validatorfuncs.py:223 +#, python-brace-format +msgid "No {option_key} entered!" +msgstr "" + +#: utils/validatorfuncs.py:71 +#, python-brace-format +msgid "Timezone string '{acct_tz}' is not a valid timezone ({err})" +msgstr "" + +#: utils/validatorfuncs.py:88 utils/validatorfuncs.py:96 +#, python-brace-format +msgid "{option_key} must be entered in a 24-hour format such as: {timeformat}" +msgstr "" + +#: utils/validatorfuncs.py:140 +#, python-brace-format +msgid "Could not convert section '{interval}' to a {option_key}." +msgstr "" + +#: utils/validatorfuncs.py:150 +#, python-brace-format +msgid "That {option_key} is in the past! Must give a Future datetime!" +msgstr "" + +#: utils/validatorfuncs.py:157 +#, python-brace-format +msgid "Must enter a whole number for {option_key}!" +msgstr "" + +#: utils/validatorfuncs.py:162 +#, python-brace-format +msgid "Could not convert '{entry}' to a whole number for {option_key}!" +msgstr "" + +#: utils/validatorfuncs.py:171 +#, python-brace-format +msgid "Must enter a whole number greater than 0 for {option_key}!" +msgstr "" + +#: utils/validatorfuncs.py:179 +#, python-brace-format +msgid "{option_key} must be a whole number greater than or equal to 0!" +msgstr "" + +#: utils/validatorfuncs.py:197 +#, python-brace-format +msgid "Must enter a true/false input for {option_key}. Accepts {alternatives}." +msgstr "" + +#: utils/validatorfuncs.py:227 +#, python-brace-format +msgid "That matched: {matches}. Please be more specific!" +msgstr "" + +#: utils/validatorfuncs.py:231 +#, python-brace-format +msgid "Could not find timezone '{entry}' for {option_key}!" +msgstr "" + +#: utils/validatorfuncs.py:237 +msgid "Email address field empty!" +msgstr "" + +#: utils/validatorfuncs.py:240 +#, python-brace-format +msgid "That isn't a valid {option_key}!" +msgstr "" + +#: utils/validatorfuncs.py:247 +#, python-brace-format +msgid "No {option_key} entered to set!" +msgstr "" + +#: utils/validatorfuncs.py:251 +msgid "Must enter an access type!" +msgstr "" + +#: utils/validatorfuncs.py:254 +#, python-brace-format +msgid "Access type must be one of: {alternatives}" +msgstr "" + +#: utils/validatorfuncs.py:257 +msgid "Lock func not entered." +msgstr "" + +#: web/templates/admin/app_list.html:19 +msgid "Add" +msgstr "" + +#: web/templates/admin/app_list.html:26 +msgid "View" +msgstr "" + +#: web/templates/admin/app_list.html:28 +msgid "Change" +msgstr "" + +#: web/templates/admin/app_list.html:39 +msgid "You don’t have permission to view or edit anything." +msgstr "" + +#~ msgid "" +#~ "\n" +#~ "Error loading cmdset {path}: \"{error}\"" +#~ msgstr "" +#~ "\n" +#~ "Erro ao carregar cmdset {path}: \"{error}\"" + +#~ msgid "" +#~ "\n" +#~ " (See log for details.)" +#~ msgstr "" +#~ "\n" +#~ " (Veja o log para detalhes.)" + +#~ msgid " : {current}" +#~ msgstr " : {current}" + +#~ msgid "" +#~ " <{key} ({mergetype}, prio {prio}, {permstring})>:\n" +#~ " {keylist}" +#~ msgstr "" +#~ " <{key} ({mergetype}, prio {prio}, {permstring})>:\n" +#~ " {keylist}" + +#~ msgid " (channel)" +#~ msgstr " (canal)" diff --git a/evennia/locale/ru/LC_MESSAGES/django.po b/evennia/locale/ru/LC_MESSAGES/django.po index e19b98b1ed..ebb021c610 100644 --- a/evennia/locale/ru/LC_MESSAGES/django.po +++ b/evennia/locale/ru/LC_MESSAGES/django.po @@ -1,304 +1,1124 @@ -# Evennia Russian translation -# Copyright (C) 2019 -# This file is distributed under the same license as the Evennia package. -# AUTHOR , 2019 - -msgid "" -msgstr "" -"Project-Id-Version: Evennia Russian Translation v0.1\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-02-20 12:13+0000\n" -"PO-Revision-Date: 2020-04-19 18:32+0000\n" -"Last-Translator: 3eluk\n" -"Language-Team: Russian (Russia)\n" -"Language: ru-RU\n" -"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10 >= 2 && " -"n%10<=4 &&(n%100<10||n%100 >= 20)? 1 : 2);\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"X-Loco-Source-Locale: ru_RU\n" -"X-Generator: Loco https://localise.biz/\n" -"X-Loco-Parser: loco_parse_po" - -#: accounts/accounts.py:440 -msgid "Account being deleted." -msgstr "Аккаунт удаляется." - -#: commands/cmdhandler.py:681 -msgid "There were multiple matches." -msgstr "Здесь было несколько совпадений." - -#: commands/cmdhandler.py:704 -#, python-format -msgid "Command '%s' is not available." -msgstr "Команда '%s' недоступна." - -#: commands/cmdhandler.py:709 -#, python-format -msgid " Maybe you meant %s?" -msgstr "Возможно, вы имели ввиду %s?" - -#: commands/cmdhandler.py:709 -msgid "or" -msgstr "или" - -#: commands/cmdhandler.py:711 -msgid " Type \"help\" for help." -msgstr " Введи \"справка\" для получения помощи." - -#: commands/cmdsethandler.py:89 -msgid "" -"{traceback}\n" -"Error loading cmdset '{path}'\n" -"(Traceback was logged {timestamp})" -msgstr "" - -#: commands/cmdsethandler.py:94 -msgid "" -"Error loading cmdset: No cmdset class '{classname}' in '{path}'.\n" -"(Traceback was logged {timestamp})" -msgstr "" - -#: commands/cmdsethandler.py:98 -msgid "" -"{traceback}\n" -"SyntaxError encountered when loading cmdset '{path}'.\n" -"(Traceback was logged {timestamp})" -msgstr "" - -#: commands/cmdsethandler.py:103 -msgid "" -"{traceback}\n" -"Compile/Run error when loading cmdset '{path}'.\",\n" -"(Traceback was logged {timestamp})" -msgstr "" - -#: commands/cmdsethandler.py:108 -msgid "" -"\n" -"Error encountered for cmdset at path '{path}'.\n" -"Replacing with fallback '{fallback_path}'.\n" -msgstr "" - -#: commands/cmdsethandler.py:114 -msgid "Fallback path '{fallback_path}' failed to generate a cmdset." -msgstr "" - -#: commands/cmdsethandler.py:182 commands/cmdsethandler.py:192 -#, python-format -msgid "" -"\n" -"(Unsuccessfully tried '%s')." -msgstr "" -"\n" -"(Безуспешно пробую '%s')." - -#: commands/cmdsethandler.py:311 -msgid "custom {mergetype} on cmdset '{cmdset}'" -msgstr "" - -#: commands/cmdsethandler.py:314 -msgid " : {current}" -msgstr "" - -#: commands/cmdsethandler.py:322 -msgid "" -" <{key} ({mergetype}, prio {prio}, {permstring})>:\n" -" {keylist}" -msgstr "" - -#: commands/cmdsethandler.py:426 -msgid "Only CmdSets can be added to the cmdsethandler!" -msgstr "" - -#: comms/channelhandler.py:100 -msgid "Say what?" -msgstr "Сказать что?" - -#: comms/channelhandler.py:105 -#, python-format -msgid "Channel '%s' not found." -msgstr "Канал '%s' не обнаружен." - -#: comms/channelhandler.py:108 -#, python-format -msgid "You are not connected to channel '%s'." -msgstr "Ты не соединён с каналом '%s'." - -#: comms/channelhandler.py:112 -#, python-format -msgid "You are not permitted to send to channel '%s'." -msgstr "У тебя нет разрешения слать в канал '%s'." - -#: comms/channelhandler.py:155 -msgid " (channel)" -msgstr " (канал)" - -#: locks/lockhandler.py:236 -#, python-format -msgid "Lock: lock-function '%s' is not available." -msgstr "" - -#: locks/lockhandler.py:249 -#, python-format -msgid "Lock: definition '%s' has syntax errors." -msgstr "" - -#: locks/lockhandler.py:253 -#, python-format -msgid "" -"LockHandler on %(obj)s: access type '%(access_type)s' changed from '%(source)" -"s' to '%(goal)s' " -msgstr "" - -#: locks/lockhandler.py:320 -msgid "Lock: '{lockdef}' contains no colon (:)." -msgstr "" - -#: locks/lockhandler.py:328 -msgid "Lock: '{lockdef}' has no access_type (left-side of colon is empty)." -msgstr "" - -#: locks/lockhandler.py:336 -msgid "Lock: '{lockdef}' has mismatched parentheses." -msgstr "" - -#: locks/lockhandler.py:343 -msgid "Lock: '{lockdef}' has no valid lock functions." -msgstr "" - -#: objects/objects.py:732 -#, python-format -msgid "Couldn't perform move ('%s'). Contact an admin." -msgstr "Не удалось выполнить действие ('%s'). Свяжитесь с администратором." - -#: objects/objects.py:742 -msgid "The destination doesn't exist." -msgstr "Такой точки назначения нету." - -#: objects/objects.py:833 -#, python-format -msgid "Could not find default home '(#%d)'." -msgstr "Не обнаружен дом по умолчанию '(#%d)'." - -#: objects/objects.py:849 -msgid "Something went wrong! You are dumped into nowhere. Contact an admin." -msgstr "" -"Что-то пошло не так! Тебя выбрасывает в пустоту. Свяжитесь с администратором." - -#: objects/objects.py:915 -#, python-format -msgid "Your character %s has been destroyed." -msgstr "Ваш персонаж %s был уничтожен." - -#: scripts/scripthandler.py:53 -#, python-format -msgid "" -"\n" -" '%(key)s' (%(next_repeat)s/%(interval)s, %(repeats)s repeats): %(desc)s" -msgstr "" - -#: scripts/scripts.py:205 -#, python-format -msgid "" -"Script %(key)s(#%(dbid)s) of type '%(cname)s': at_repeat() error '%(err)s'." -msgstr "" - -#: server/initial_setup.py:28 -msgid "" -"\n" -"Welcome to your new |wEvennia|n-based game! Visit http://www.evennia.com if " -"you need\n" -"help, want to contribute, report issues or just join the community.\n" -"As Account #1 you can create a demo/tutorial area with |w@batchcommand " -"tutorial_world.build|n.\n" -" " -msgstr "" -"\n" -"Добро пожаловать в твою новую игру, основанную на |wEvennia|n! Посети http:" -"//www.evennia.com\n" -"если тебе нужна помощь, хочешь помочь, сообщить об ошибках, lили просто " -"присоединиться к сообществу.\n" -"Как Аккаунт №1, ты можешь создать зону для демонстрации/обучения командой " -"|w@batchcommand tutorial_world.build|n.\n" -" " - -#: server/initial_setup.py:92 -msgid "This is User #1." -msgstr "Это Пользователь №1." - -#: server/initial_setup.py:105 -msgid "Limbo" -msgstr "Лимб" - -#: server/server.py:139 -msgid "idle timeout exceeded" -msgstr "время бездействия превышено" - -#: server/sessionhandler.py:386 -msgid " ... Server restarted." -msgstr " ... Сервер перезапущен." - -#: server/sessionhandler.py:606 -msgid "Logged in from elsewhere. Disconnecting." -msgstr "Выполнено соединение в другом месте. Отключение." - -#: server/sessionhandler.py:634 -msgid "Idle timeout exceeded, disconnecting." -msgstr "Время бездействия превышено, отключение." - -#: server/validators.py:50 -#, python-format -msgid "" -"%s From a terminal client, you can also use a phrase of multiple words if " -"you enclose the password in double quotes." -msgstr "" -"%s Если вы используете терминал, вы можете использовать фразу из нескольких " -"слов если возьмёте пароль в двойные скобки." - -#: utils/evmenu.py:192 -msgid "" -"Menu node '{nodename}' is either not implemented or caused an error. Make " -"another choice." -msgstr "" - -#: utils/evmenu.py:194 -msgid "Error in menu node '{nodename}'." -msgstr "" - -#: utils/evmenu.py:195 -msgid "No description." -msgstr "Нет описания." - -#: utils/evmenu.py:196 -msgid "Commands: , help, quit" -msgstr "Команды: , справка, выход" - -#: utils/evmenu.py:197 -msgid "Commands: , help" -msgstr "Команды: , справка" - -#: utils/evmenu.py:198 -msgid "Commands: help, quit" -msgstr "" - -#: utils/evmenu.py:199 -msgid "Commands: help" -msgstr "Команды: справка" - -#: utils/evmenu.py:200 -msgid "Choose an option or try 'help'." -msgstr "Выберите опцию или введите \"справка\"." - -#: utils/utils.py:1866 -#, python-format -msgid "Could not find '%s'." -msgstr "Не обнаружено '%s'." - -#: utils/utils.py:1873 -#, python-format -msgid "" -"More than one match for '%s' (please narrow target):\n" -msgstr "" -"Больше одного подходящего варианта для '%s' (уточните цель):\n" +# Evennia Russian translation +# Copyright (C) 2019 +# This file is distributed under the same license as the Evennia package. +# AUTHOR , 2019 +msgid "" +msgstr "" +"Project-Id-Version: Evennia Russian Translation v0.1\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-05-29 16:25+0000\n" +"PO-Revision-Date: 2020-04-19 18:32+0000\n" +"Last-Translator: 3eluk\n" +"Language-Team: Russian (Russia)\n" +"Language: ru-RU\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10 >= 2 && n" +"%10<=4 &&(n%100<10||n%100 >= 20)? 1 : 2);\n" +"X-Loco-Source-Locale: ru_RU\n" +"X-Generator: Loco https://localise.biz/\n" +"X-Loco-Parser: loco_parse_po\n" + +#: accounts/accounts.py:321 +#, python-brace-format +msgid "|c{key}|R is already puppeted by another Account." +msgstr "" + +#: accounts/accounts.py:515 +msgid "Too many login failures; please try again in a few minutes." +msgstr "" + +#: accounts/accounts.py:528 accounts/accounts.py:789 +msgid "" +"|rYou have been banned and cannot continue from here.\n" +"If you feel this ban is in error, please email an admin.|x" +msgstr "" + +#: accounts/accounts.py:540 +msgid "Username and/or password is incorrect." +msgstr "" + +#: accounts/accounts.py:547 +msgid "Too many authentication failures." +msgstr "" + +#: accounts/accounts.py:760 +msgid "" +"You are creating too many accounts. Please log into an existing account." +msgstr "" + +#: accounts/accounts.py:805 +msgid "" +"There was an error creating the Account. If this problem persists, contact " +"an admin." +msgstr "" + +#: accounts/accounts.py:839 accounts/accounts.py:1751 +msgid "An error occurred. Please e-mail an admin if the problem persists." +msgstr "" + +#: accounts/accounts.py:866 +msgid "Account being deleted." +msgstr "Аккаунт удаляется." + +#: accounts/accounts.py:1417 accounts/accounts.py:1768 +#, python-brace-format +msgid "|G{key} connected|n" +msgstr "" + +#: accounts/accounts.py:1424 accounts/accounts.py:1431 +#, fuzzy +#| msgid "The destination doesn't exist." +msgid "The Character does not exist." +msgstr "Такой точки назначения нету." + +#: accounts/accounts.py:1470 +#, python-brace-format +msgid "|R{key} disconnected{reason}|n" +msgstr "" + +#: accounts/accounts.py:1704 +msgid "Guest accounts are not enabled on this server." +msgstr "" + +#: accounts/accounts.py:1714 +msgid "All guest accounts are in use. Please try again later." +msgstr "" + +#: commands/cmdhandler.py:83 +msgid "" +"\n" +"An untrapped error occurred.\n" +msgstr "" + +#: commands/cmdhandler.py:86 +msgid "" +"\n" +"An untrapped error occurred. Please file a bug report detailing the steps to " +"reproduce.\n" +msgstr "" + +#: commands/cmdhandler.py:92 +msgid "" +"\n" +"A cmdset merger-error occurred. This is often due to a syntax\n" +"error in one of the cmdsets to merge.\n" +msgstr "" + +#: commands/cmdhandler.py:96 +msgid "" +"\n" +"A cmdset merger-error occurred. Please file a bug report detailing the\n" +"steps to reproduce.\n" +msgstr "" + +#: commands/cmdhandler.py:103 +msgid "" +"\n" +"No command sets found! This is a critical bug that can have\n" +"multiple causes.\n" +msgstr "" + +#: commands/cmdhandler.py:107 +msgid "" +"\n" +"No command sets found! This is a sign of a critical bug. If\n" +"disconnecting/reconnecting doesn't\" solve the problem, try to contact\n" +"the server admin through\" some other means for assistance.\n" +msgstr "" + +#: commands/cmdhandler.py:115 +msgid "" +"\n" +"A command handler bug occurred. If this is not due to a local change,\n" +"please file a bug report with the Evennia project, including the\n" +"traceback and steps to reproduce.\n" +msgstr "" + +#: commands/cmdhandler.py:120 +msgid "" +"\n" +"A command handler bug occurred. Please notify staff - they should\n" +"likely file a bug report with the Evennia project.\n" +msgstr "" + +#: commands/cmdhandler.py:127 +#, python-brace-format +msgid "" +"Command recursion limit ({recursion_limit}) reached for " +"'{raw_cmdname}' ({cmdclass})." +msgstr "" + +#: commands/cmdhandler.py:149 +#, python-brace-format +msgid "" +"{traceback}\n" +"{errmsg}\n" +"(Traceback was logged {timestamp})." +msgstr "" + +#: commands/cmdhandler.py:699 +msgid "There were multiple matches." +msgstr "Здесь было несколько совпадений." + +#: commands/cmdhandler.py:724 +#, fuzzy, python-brace-format +#| msgid "Command '%s' is not available." +msgid "Command '{command}' is not available." +msgstr "Команда '%s' недоступна." + +#: commands/cmdhandler.py:734 +#, fuzzy, python-brace-format +#| msgid " Maybe you meant %s?" +msgid " Maybe you meant {command}?" +msgstr "Возможно, вы имели ввиду %s?" + +#: commands/cmdhandler.py:735 +msgid "or" +msgstr "или" + +#: commands/cmdhandler.py:738 +msgid " Type \"help\" for help." +msgstr " Введи \"справка\" для получения помощи." + +#: commands/cmdsethandler.py:89 +#, python-brace-format +msgid "" +"{traceback}\n" +"Error loading cmdset '{path}'\n" +"(Traceback was logged {timestamp})" +msgstr "" + +#: commands/cmdsethandler.py:95 +#, python-brace-format +msgid "" +"Error loading cmdset: No cmdset class '{classname}' in '{path}'.\n" +"(Traceback was logged {timestamp})" +msgstr "" + +#: commands/cmdsethandler.py:100 +#, python-brace-format +msgid "" +"{traceback}\n" +"SyntaxError encountered when loading cmdset '{path}'.\n" +"(Traceback was logged {timestamp})" +msgstr "" + +#: commands/cmdsethandler.py:106 +#, python-brace-format +msgid "" +"{traceback}\n" +"Compile/Run error when loading cmdset '{path}'.\n" +"(Traceback was logged {timestamp})" +msgstr "" + +#: commands/cmdsethandler.py:112 +#, python-brace-format +msgid "" +"\n" +"Error encountered for cmdset at path '{path}'.\n" +"Replacing with fallback '{fallback_path}'.\n" +msgstr "" + +#: commands/cmdsethandler.py:118 +#, python-brace-format +msgid "Fallback path '{fallback_path}' failed to generate a cmdset." +msgstr "" + +#: commands/cmdsethandler.py:188 commands/cmdsethandler.py:200 +#, fuzzy, python-brace-format +#| msgid "" +#| "\n" +#| "(Unsuccessfully tried '%s')." +msgid "" +"\n" +"(Unsuccessfully tried '{path}')." +msgstr "" +"\n" +"(Безуспешно пробую '%s')." + +#: commands/cmdsethandler.py:331 +#, python-brace-format +msgid "custom {mergetype} on cmdset '{cmdset}'" +msgstr "" + +#: commands/cmdsethandler.py:459 +msgid "Only CmdSets can be added to the cmdsethandler!" +msgstr "" + +#: locks/lockhandler.py:238 +#, python-brace-format +msgid "Lock: lock-function '{lockfunc}' is not available." +msgstr "" + +#: locks/lockhandler.py:259 +#, python-brace-format +msgid "Lock: definition '{lock_string}' has syntax errors." +msgstr "" + +#: locks/lockhandler.py:267 +#, python-brace-format +msgid "" +"LockHandler on {obj}: access type '{access_type}' changed from '{source}' to " +"'{goal}' " +msgstr "" + +#: locks/lockhandler.py:341 +#, python-brace-format +msgid "Lock: '{lockdef}' contains no colon (:)." +msgstr "" + +#: locks/lockhandler.py:350 +#, python-brace-format +msgid "Lock: '{lockdef}' has no access_type (left-side of colon is empty)." +msgstr "" + +#: locks/lockhandler.py:358 +#, python-brace-format +msgid "Lock: '{lockdef}' has mismatched parentheses." +msgstr "" + +#: locks/lockhandler.py:365 +#, python-brace-format +msgid "Lock: '{lockdef}' has no valid lock functions." +msgstr "" + +#: objects/objects.py:871 +#, fuzzy, python-brace-format +#| msgid "Couldn't perform move ('%s'). Contact an admin." +msgid "Couldn't perform move ({err}). Contact an admin." +msgstr "Не удалось выполнить действие ('%s'). Свяжитесь с администратором." + +#: objects/objects.py:881 +msgid "The destination doesn't exist." +msgstr "Такой точки назначения нету." + +#: objects/objects.py:974 +#, fuzzy, python-brace-format +#| msgid "Could not find default home '(#%d)'." +msgid "Could not find default home '(#{dbid})'." +msgstr "Не обнаружен дом по умолчанию '(#%d)'." + +#: objects/objects.py:988 +msgid "Something went wrong! You are dumped into nowhere. Contact an admin." +msgstr "" +"Что-то пошло не так! Тебя выбрасывает в пустоту. Свяжитесь с администратором." + +#: objects/objects.py:1138 +#, fuzzy, python-brace-format +#| msgid "Your character %s has been destroyed." +msgid "Your character {key} has been destroyed." +msgstr "Ваш персонаж %s был уничтожен." + +#: objects/objects.py:1546 +#, python-brace-format +msgid "You now have {name} in your possession." +msgstr "" + +#: objects/objects.py:1555 +#, python-brace-format +msgid "{object} arrives to {destination} from {origin}." +msgstr "" + +#: objects/objects.py:1557 +#, python-brace-format +msgid "{object} arrives to {destination}." +msgstr "" + +#: objects/objects.py:2165 +msgid "Invalid character name." +msgstr "" + +#: objects/objects.py:2184 +msgid "There are too many characters associated with this account." +msgstr "" + +#: objects/objects.py:2210 +#, fuzzy +#| msgid "This is User #1." +msgid "This is a character." +msgstr "Это Пользователь №1." + +#: objects/objects.py:2296 +#, python-brace-format +msgid "|r{obj} has no location and no home is set.|n" +msgstr "" + +#: objects/objects.py:2315 +#, python-brace-format +msgid "" +"\n" +"You become |c{name}|n.\n" +msgstr "" + +#: objects/objects.py:2319 +#, python-brace-format +msgid "{name} has entered the game." +msgstr "" + +#: objects/objects.py:2343 +#, python-brace-format +msgid "{name} has left the game." +msgstr "" + +#: objects/objects.py:2461 +#, fuzzy +#| msgid "This is User #1." +msgid "This is a room." +msgstr "Это Пользователь №1." + +#: objects/objects.py:2667 +#, fuzzy +#| msgid "This is User #1." +msgid "This is an exit." +msgstr "Это Пользователь №1." + +#: objects/objects.py:2764 +msgid "You cannot go there." +msgstr "" + +#: prototypes/prototypes.py:57 +msgid "Error" +msgstr "" + +#: prototypes/prototypes.py:58 +msgid "Warning" +msgstr "" + +#: prototypes/prototypes.py:263 +msgid "Prototype requires a prototype_key" +msgstr "" + +#: prototypes/prototypes.py:271 prototypes/prototypes.py:339 +#, python-brace-format +msgid "{protkey} is a read-only prototype (defined as code in {module})." +msgstr "" + +#: prototypes/prototypes.py:346 +#, python-brace-format +msgid "Prototype {prototype_key} was not found." +msgstr "" + +#: prototypes/prototypes.py:353 +#, python-brace-format +msgid "" +"{caller} needs explicit 'edit' permissions to delete prototype " +"{prototype_key}." +msgstr "" + +#: prototypes/prototypes.py:455 +#, python-brace-format +msgid "Found {num} matching prototypes {module_prototypes}." +msgstr "" + +#: prototypes/prototypes.py:615 +msgid "No prototypes found." +msgstr "" + +#: prototypes/prototypes.py:666 +msgid "Prototype lacks a 'prototype_key'." +msgstr "" + +#: prototypes/prototypes.py:675 +#, python-brace-format +msgid "Prototype {protkey} requires `typeclass` or 'prototype_parent'." +msgstr "" + +#: prototypes/prototypes.py:680 +#, python-brace-format +msgid "" +"Prototype {protkey} can only be used as a mixin since it lacks 'typeclass' " +"or 'prototype_parent' keys." +msgstr "" + +#: prototypes/prototypes.py:689 +#, python-brace-format +msgid "" +"{err}: Prototype {protkey} is based on typeclass {typeclass}, which could " +"not be imported!" +msgstr "" + +#: prototypes/prototypes.py:699 +#, python-brace-format +msgid "Prototype {protkey} tries to parent itself." +msgstr "" + +#: prototypes/prototypes.py:704 +#, python-brace-format +msgid "Prototype {protkey}'s prototype_parent '{parent}' was not found." +msgstr "" + +#: prototypes/prototypes.py:709 +#, python-brace-format +msgid "{protkey} has infinite nesting of prototypes." +msgstr "" + +#: prototypes/prototypes.py:729 +#, python-brace-format +msgid "" +"Prototype {protkey} has no `typeclass` defined anywhere in its parent\n" +" chain. Add `typeclass`, or a `prototype_parent` pointing to a prototype " +"with a typeclass." +msgstr "" + +#: prototypes/spawner.py:473 +#, python-brace-format +msgid "" +"Diff contains non-dicts that are not on the form (old, new, action_to_take): " +"{diffpart}" +msgstr "" + +#: scripts/scripthandler.py:51 +#, python-brace-format +msgid "" +"\n" +" '{key}' ({next_repeat}/{interval}, {repeats} repeats): {desc}" +msgstr "" + +#: scripts/scripts.py:329 +#, python-brace-format +msgid "Script {key}(#{dbid}) of type '{name}': at_repeat() error '{err}'." +msgstr "" + +#: server/initial_setup.py:28 +#, fuzzy +#| msgid "" +#| "\n" +#| "Welcome to your new |wEvennia|n-based game! Visit http://www.evennia.com " +#| "if you need\n" +#| "help, want to contribute, report issues or just join the community.\n" +#| "As Account #1 you can create a demo/tutorial area with |w@batchcommand " +#| "tutorial_world.build|n.\n" +#| " " +msgid "" +"\n" +"Welcome to your new |wEvennia|n-based game! Visit https://www.evennia.com if " +"you need\n" +"help, want to contribute, report issues or just join the community.\n" +"As Account #1 you can create a demo/tutorial area with '|wbatchcommand " +"tutorial_world.build|n'.\n" +msgstr "" +"\n" +"Добро пожаловать в твою новую игру, основанную на |wEvennia|n! Посети " +"http://www.evennia.com\n" +"если тебе нужна помощь, хочешь помочь, сообщить об ошибках, lили просто " +"присоединиться к сообществу.\n" +"Как Аккаунт №1, ты можешь создать зону для демонстрации/обучения командой |" +"w@batchcommand tutorial_world.build|n.\n" +" " + +#: server/initial_setup.py:92 +msgid "This is User #1." +msgstr "Это Пользователь №1." + +#: server/initial_setup.py:108 +msgid "Limbo" +msgstr "Лимб" + +#: server/portal/portalsessionhandler.py:40 +#, python-brace-format +msgid "" +"{servername} DoS protection is active. You are queued to connect in {num} " +"seconds ..." +msgstr "" + +#: server/server.py:152 +msgid "idle timeout exceeded" +msgstr "время бездействия превышено" + +#: server/sessionhandler.py:42 +msgid "Your client sent an incorrect UTF-8 sequence." +msgstr "" + +#: server/sessionhandler.py:399 +msgid " ... Server restarted." +msgstr " ... Сервер перезапущен." + +#: server/sessionhandler.py:623 +msgid "Logged in from elsewhere. Disconnecting." +msgstr "Выполнено соединение в другом месте. Отключение." + +#: server/sessionhandler.py:652 +msgid "Idle timeout exceeded, disconnecting." +msgstr "Время бездействия превышено, отключение." + +#: server/throttle.py:21 +msgid "" +"Too many failed attempts; you must wait a few minutes before trying again." +msgstr "" + +#: server/validators.py:31 +msgid "Sorry, that username is reserved." +msgstr "" + +#: server/validators.py:38 +msgid "Sorry, that username is already taken." +msgstr "" + +#: server/validators.py:88 +#, fuzzy, python-brace-format +#| msgid "" +#| "%s From a terminal client, you can also use a phrase of multiple words if " +#| "you enclose the password in double quotes." +msgid "" +"{policy} From a terminal client, you can also use a phrase of multiple words " +"if you enclose the password in double quotes." +msgstr "" +"%s Если вы используете терминал, вы можете использовать фразу из нескольких " +"слов если возьмёте пароль в двойные скобки." + +#: utils/eveditor.py:67 +msgid "" +"\n" +" - any non-command is appended to the end of the buffer.\n" +" : - view buffer or only line(s) \n" +" :: - raw-view buffer or only line(s) \n" +" ::: - escape - enter ':' as the only character on the line.\n" +" :h - this help.\n" +"\n" +" :w - save the buffer (don't quit)\n" +" :wq - save buffer and quit\n" +" :q - quit (will be asked to save if buffer was changed)\n" +" :q! - quit without saving, no questions asked\n" +"\n" +" :u - (undo) step backwards in undo history\n" +" :uu - (redo) step forward in undo history\n" +" :UU - reset all changes back to initial state\n" +"\n" +" :dd - delete last line or line(s) \n" +" :dw - delete word or regex in entire buffer or on line \n" +" :DD - clear entire buffer\n" +"\n" +" :y - yank (copy) line(s) to the copy buffer\n" +" :x - cut line(s) and store it in the copy buffer\n" +" :p - put (paste) previously copied line(s) directly after \n" +" :i - insert new text at line . Old line will move " +"down\n" +" :r - replace line with text \n" +" :I - insert text at the beginning of line \n" +" :A - append text after the end of line \n" +"\n" +" :s - search/replace word or regex in buffer or on line " +"\n" +"\n" +" :j - justify buffer or line . is f, c, l or r. Default f " +"(full)\n" +" :f - flood-fill entire buffer or line : Equivalent to :j left\n" +" :fi - indent entire buffer or line \n" +" :fd - de-indent entire buffer or line \n" +"\n" +" :echo - turn echoing of the input on/off (helpful for some clients)\n" +msgstr "" + +#: utils/eveditor.py:105 +msgid "" +"\n" +" Legend:\n" +" - line number, like '5' or range, like '3:7'.\n" +" - a single word, or multiple words with quotes around them.\n" +" - longer string, usually not needing quotes.\n" +msgstr "" + +#: utils/eveditor.py:112 +msgid "" +"\n" +" :! - Execute code buffer without saving\n" +" :< - Decrease the level of automatic indentation for the next lines\n" +" :> - Increase the level of automatic indentation for the next lines\n" +" := - Switch automatic indentation on/off\n" +msgstr "" + +#: utils/eveditor.py:121 +#, python-brace-format +msgid "" +"\n" +"{error}\n" +"\n" +"|rBuffer load function error. Could not load initial data.|n\n" +msgstr "" + +#: utils/eveditor.py:127 +#, python-brace-format +msgid "" +"\n" +"{error}\n" +"\n" +"|rSave function returned an error. Buffer not saved.|n\n" +msgstr "" + +#: utils/eveditor.py:133 +msgid "|rNo save function defined. Buffer cannot be saved.|n" +msgstr "" + +#: utils/eveditor.py:135 +msgid "No changes need saving" +msgstr "" + +#: utils/eveditor.py:136 +msgid "Exited editor." +msgstr "" + +#: utils/eveditor.py:138 +#, python-brace-format +msgid "" +"\n" +"{error}\n" +"\n" +"|rQuit function gave an error. Skipping.|n\n" +msgstr "" + +#: utils/eveditor.py:144 +#, python-brace-format +msgid "" +"\n" +"{error}\n" +"\n" +"|rThe editor state could not be saved for persistent mode. Switching\n" +"to non-persistent mode (which means the editor session won't survive\n" +"an eventual server reload - so save often!)|n\n" +msgstr "" + +#: utils/eveditor.py:153 +msgid "" +"EvEditor persistent-mode error. Commonly, this is because one or more of the " +"EvEditor callbacks could not be pickled, for example because it's a class " +"method or is defined inside another function." +msgstr "" + +#: utils/eveditor.py:159 +msgid "Nothing to undo." +msgstr "" + +#: utils/eveditor.py:160 +msgid "Nothing to redo." +msgstr "" + +#: utils/eveditor.py:161 +msgid "Undid one step." +msgstr "" + +#: utils/eveditor.py:162 +msgid "Redid one step." +msgstr "" + +#: utils/eveditor.py:480 +msgid "Single ':' added to buffer." +msgstr "" + +#: utils/eveditor.py:495 +msgid "Save before quitting?" +msgstr "" + +#: utils/eveditor.py:510 +msgid "Reverted all changes to the buffer back to original state." +msgstr "" + +#: utils/eveditor.py:515 +#, python-brace-format +msgid "Deleted {string}." +msgstr "" + +#: utils/eveditor.py:520 +msgid "You must give a search word to delete." +msgstr "" + +#: utils/eveditor.py:525 +#, python-brace-format +msgid "Removed {arg1} for lines {l1}-{l2}." +msgstr "" + +#: utils/eveditor.py:528 +#, python-brace-format +msgid "Removed {arg1} for {line}." +msgstr "" + +#: utils/eveditor.py:544 +#, python-brace-format +msgid "Cleared {nlines} lines from buffer." +msgstr "" + +#: utils/eveditor.py:549 +#, python-brace-format +msgid "{line}, {cbuf} yanked." +msgstr "" + +#: utils/eveditor.py:556 +#, python-brace-format +msgid "{line}, {cbuf} cut." +msgstr "" + +#: utils/eveditor.py:560 +msgid "Copy buffer is empty." +msgstr "" + +#: utils/eveditor.py:564 +#, python-brace-format +msgid "Pasted buffer {cbuf} to {line}." +msgstr "" + +#: utils/eveditor.py:570 +msgid "You need to enter a new line and where to insert it." +msgstr "" + +#: utils/eveditor.py:574 +#, python-brace-format +msgid "Inserted {num} new line(s) at {line}." +msgstr "" + +#: utils/eveditor.py:580 +msgid "You need to enter a replacement string." +msgstr "" + +#: utils/eveditor.py:584 +#, python-brace-format +msgid "Replaced {num} line(s) at {line}." +msgstr "" + +#: utils/eveditor.py:589 +msgid "You need to enter text to insert." +msgstr "" + +#: utils/eveditor.py:597 +#, python-brace-format +msgid "Inserted text at beginning of {line}." +msgstr "" + +#: utils/eveditor.py:601 +msgid "You need to enter text to append." +msgstr "" + +#: utils/eveditor.py:609 +#, python-brace-format +msgid "Appended text to end of {line}." +msgstr "" + +#: utils/eveditor.py:614 +msgid "You must give a search word and something to replace it with." +msgstr "" + +#: utils/eveditor.py:620 +#, python-brace-format +msgid "Search-replaced {arg1} -> {arg2} for lines {l1}-{l2}." +msgstr "" + +#: utils/eveditor.py:625 +#, python-brace-format +msgid "Search-replaced {arg1} -> {arg2} for {line}." +msgstr "" + +#: utils/eveditor.py:648 +#, python-brace-format +msgid "Flood filled lines {l1}-{l2}." +msgstr "" + +#: utils/eveditor.py:651 +#, python-brace-format +msgid "Flood filled {line}." +msgstr "" + +#: utils/eveditor.py:673 +msgid "Valid justifications are" +msgstr "" + +#: utils/eveditor.py:681 +#, python-brace-format +msgid "{align}-justified lines {l1}-{l2}." +msgstr "" + +#: utils/eveditor.py:684 +#, python-brace-format +msgid "{align}-justified {line}." +msgstr "" + +#: utils/eveditor.py:696 +#, python-brace-format +msgid "Indented lines {l1}-{l2}." +msgstr "" + +#: utils/eveditor.py:698 +#, python-brace-format +msgid "Indented {line}." +msgstr "" + +#: utils/eveditor.py:707 +#, python-brace-format +msgid "Removed left margin (dedented) lines {l1}-{l2}." +msgstr "" + +#: utils/eveditor.py:710 +#, python-brace-format +msgid "Removed left margin (dedented) {line}." +msgstr "" + +#: utils/eveditor.py:718 +#, python-brace-format +msgid "Echo mode set to {mode}" +msgstr "" + +#: utils/eveditor.py:723 utils/eveditor.py:736 utils/eveditor.py:749 +#: utils/eveditor.py:760 +msgid "This command is only available in code editor mode." +msgstr "" + +#: utils/eveditor.py:731 +#, python-brace-format +msgid "Decreased indentation: new indentation is {indent}." +msgstr "" + +#: utils/eveditor.py:734 utils/eveditor.py:747 +msgid "|rManual indentation is OFF.|n Use := to turn it on." +msgstr "" + +#: utils/eveditor.py:744 +#, python-brace-format +msgid "Increased indentation: new indentation is {indent}." +msgstr "" + +#: utils/eveditor.py:756 +msgid "Auto-indentation turned on." +msgstr "" + +#: utils/eveditor.py:758 +msgid "Auto-indentation turned off." +msgstr "" + +#: utils/eveditor.py:913 +msgid "|rNote: input buffer was converted to a string.|n" +msgstr "" + +#: utils/eveditor.py:1050 +#, python-brace-format +msgid "Line Editor [{name}]" +msgstr "" + +#: utils/eveditor.py:1058 +msgid "(:h for help)" +msgstr "" + +#: utils/evmenu.py:302 +#, python-brace-format +msgid "" +"Menu node '{nodename}' is either not implemented or caused an error. Make " +"another choice or try 'q' to abort." +msgstr "" + +#: utils/evmenu.py:305 +#, python-brace-format +msgid "Error in menu node '{nodename}'." +msgstr "" + +#: utils/evmenu.py:306 +msgid "No description." +msgstr "Нет описания." + +#: utils/evmenu.py:307 +msgid "Commands: , help, quit" +msgstr "Команды: , справка, выход" + +#: utils/evmenu.py:308 +msgid "Commands: , help" +msgstr "Команды: , справка" + +#: utils/evmenu.py:309 +msgid "Commands: help, quit" +msgstr "" + +#: utils/evmenu.py:310 +msgid "Commands: help" +msgstr "Команды: справка" + +#: utils/evmenu.py:311 utils/evmenu.py:1842 +msgid "Choose an option or try 'help'." +msgstr "Выберите опцию или введите \"справка\"." + +#: utils/evmenu.py:1383 +msgid "|rInvalid choice.|n" +msgstr "" + +#: utils/evmenu.py:1441 +msgid "|Wcurrent|n" +msgstr "" + +#: utils/evmenu.py:1449 +msgid "|wp|Wrevious page|n" +msgstr "" + +#: utils/evmenu.py:1456 +msgid "|wn|Wext page|n" +msgstr "" + +#: utils/evmenu.py:1690 +msgid "Aborted." +msgstr "" + +#: utils/evmenu.py:1713 +msgid "|rError in ask_yes_no. Choice not confirmed (report to admin)|n" +msgstr "" + +#: utils/evmore.py:235 +msgid "Exited |wmore|n pager." +msgstr "" + +#: utils/optionhandler.py:138 utils/optionhandler.py:162 +msgid "Option not found!" +msgstr "" + +#: utils/optionhandler.py:159 +msgid "Option field blank!" +msgstr "" + +#: utils/optionhandler.py:164 +#, fuzzy +#| msgid "There were multiple matches." +msgid "Multiple matches:" +msgstr "Здесь было несколько совпадений." + +#: utils/optionhandler.py:166 +msgid "Please be more specific." +msgstr "" + +#: utils/utils.py:2219 +#, fuzzy, python-brace-format +#| msgid "Could not find '%s'." +msgid "Could not find '{query}'." +msgstr "Не обнаружено '%s'." + +#: utils/utils.py:2226 +#, fuzzy, python-brace-format +#| msgid "More than one match for '%s' (please narrow target):\n" +msgid "More than one match for '{query}' (please narrow target):\n" +msgstr "Больше одного подходящего варианта для '%s' (уточните цель):\n" + +#: utils/validatorfuncs.py:25 +#, python-brace-format +msgid "Input could not be converted to text ({err})" +msgstr "" + +#: utils/validatorfuncs.py:34 +#, python-brace-format +msgid "Nothing entered for a {option_key}!" +msgstr "" + +#: utils/validatorfuncs.py:37 +#, python-brace-format +msgid "'{entry}' is not a valid {option_key}." +msgstr "" + +#: utils/validatorfuncs.py:62 utils/validatorfuncs.py:223 +#, python-brace-format +msgid "No {option_key} entered!" +msgstr "" + +#: utils/validatorfuncs.py:71 +#, python-brace-format +msgid "Timezone string '{acct_tz}' is not a valid timezone ({err})" +msgstr "" + +#: utils/validatorfuncs.py:88 utils/validatorfuncs.py:96 +#, python-brace-format +msgid "{option_key} must be entered in a 24-hour format such as: {timeformat}" +msgstr "" + +#: utils/validatorfuncs.py:140 +#, python-brace-format +msgid "Could not convert section '{interval}' to a {option_key}." +msgstr "" + +#: utils/validatorfuncs.py:150 +#, python-brace-format +msgid "That {option_key} is in the past! Must give a Future datetime!" +msgstr "" + +#: utils/validatorfuncs.py:157 +#, python-brace-format +msgid "Must enter a whole number for {option_key}!" +msgstr "" + +#: utils/validatorfuncs.py:162 +#, python-brace-format +msgid "Could not convert '{entry}' to a whole number for {option_key}!" +msgstr "" + +#: utils/validatorfuncs.py:171 +#, python-brace-format +msgid "Must enter a whole number greater than 0 for {option_key}!" +msgstr "" + +#: utils/validatorfuncs.py:179 +#, python-brace-format +msgid "{option_key} must be a whole number greater than or equal to 0!" +msgstr "" + +#: utils/validatorfuncs.py:197 +#, python-brace-format +msgid "Must enter a true/false input for {option_key}. Accepts {alternatives}." +msgstr "" + +#: utils/validatorfuncs.py:227 +#, python-brace-format +msgid "That matched: {matches}. Please be more specific!" +msgstr "" + +#: utils/validatorfuncs.py:231 +#, python-brace-format +msgid "Could not find timezone '{entry}' for {option_key}!" +msgstr "" + +#: utils/validatorfuncs.py:237 +msgid "Email address field empty!" +msgstr "" + +#: utils/validatorfuncs.py:240 +#, python-brace-format +msgid "That isn't a valid {option_key}!" +msgstr "" + +#: utils/validatorfuncs.py:247 +#, python-brace-format +msgid "No {option_key} entered to set!" +msgstr "" + +#: utils/validatorfuncs.py:251 +msgid "Must enter an access type!" +msgstr "" + +#: utils/validatorfuncs.py:254 +#, python-brace-format +msgid "Access type must be one of: {alternatives}" +msgstr "" + +#: utils/validatorfuncs.py:257 +msgid "Lock func not entered." +msgstr "" + +#: web/templates/admin/app_list.html:19 +msgid "Add" +msgstr "" + +#: web/templates/admin/app_list.html:26 +msgid "View" +msgstr "" + +#: web/templates/admin/app_list.html:28 +msgid "Change" +msgstr "" + +#: web/templates/admin/app_list.html:39 +msgid "You don’t have permission to view or edit anything." +msgstr "" + +#~ msgid "Say what?" +#~ msgstr "Сказать что?" + +#~ msgid "Channel '%s' not found." +#~ msgstr "Канал '%s' не обнаружен." + +#~ msgid "You are not connected to channel '%s'." +#~ msgstr "Ты не соединён с каналом '%s'." + +#~ msgid "You are not permitted to send to channel '%s'." +#~ msgstr "У тебя нет разрешения слать в канал '%s'." + +#~ msgid " (channel)" +#~ msgstr " (канал)" diff --git a/evennia/locale/sv/LC_MESSAGES/django.mo b/evennia/locale/sv/LC_MESSAGES/django.mo index 11f35e564a122ab8560985471472d04221fd02d7..6efc06267158f2c83a32324772eb1e0e0849cbb9 100644 GIT binary patch literal 28707 zcmb`P3zQ^RdEW~R0tOHdAztE9vmj;$wtF84ghtPOvtF$vc2_Hj*Q%zwW~R5ht6Ejv zGdr3Y12zPskdVX%8-tN?cCi5`hy<@~5ir&eL+q0S96PpyInFsbcCek~IM~6*U~-b* z|GT%Ut9xcvOOiQT`=6@1bsyjT?)SRioj-Z*lRg;m^A)a_aGkm$2%hSyfgc5*32uN-1-}8l8vG`xa!(F};77ohfUgHba6fntNRi;@K+)w< zQ1$;I$gqRI0rmd-;48ovLxgL=Tfn=)CP1mpxXZq_$=_L6jHxl2x@+7p!o1O z2x)_PP~&{a<43?<-2V!A75FVs?fwr?-#-yz==&WYQyARn@$KL|_wNFK0sM1NeDFR7 z&!@q^18)Pr3u=6?hY0H58Bpz|AS4bR2Gy_M1~s0)1Yxn@$rRE!r$F)99Jn7m2WlOC z9;C_OJD~XbWiZ!4a28a(?*LWLC%_Q=D!2#y3-A{38g9fVZw6U{!8!0o@MpkN;O~K2 zH`7d(=Is#pY;Xk>eIEj!1wQPbe+Ja|Ujo(c55OMs3w#pz zUGOR3_rW)UPrS~xa}3mY?+0%NKLqOg-v{{@{5}7{YQb&_soi@$J_zdhM?um5%OFz` z{CEHSn%6tJ9sr-n^ZP)}?^{8whj)N?f*%Io4E_ap6?pJ^$8Yz7qE8B{{QE&j8+-y( zJ%0#_AHEMB24~+81P_Am0@aTnfcwB#-{9m;2YfsCkAb&?lT3aSOhAeTzXz)QXFyEN zR|q~GycJ}sf@7fCTL)F{3!v!p4Ui!RS0Efz?k2DYCZPK9pFqvaGa;_NdntJD6DSM* zDfbV-EaIz_%60!a@E{ZQ;oBVl{K*mKhUY&3m%z6%dA|n!KKMcK{YM@D?SL8X=l%fr zR`5J{0(`_!Ovl`Y+%s!P;Gpe@=knw+F#1z>oXqzYL16 zz7E#F?|~ZE)SKKoem59$|1fwZ_$5%|`Wh&H`7;pG1pga^MS`OcL*sZC_-gRyK|TK} z2q}Z$q|nSS%cF7>hE8J&j+u($I1C?LDA(D_*!rs)ObG& zN^krwC^~!tRKLFs*1;#<>(E6EO-EX4Ai__L1B&SIQUYq1*-n{f{;4+3MhK)Xu9@p24Bei z5~%)s02IA{2^1eZ3hoEL4r&}%#n?FDYe7Uo@NQ7;d;`?D{|bBs7|uJraS%it1xGl5%*+9wz{|wanc*dfe|CfQH*KMHa(gUvo zKMFn>d<5J9UIaDH{|Jiye+@#iV1LWa%LP#V{xYck{W&Ol{4elz;MHece~y7~;1jv^N|1jE1>GB{=h=^^V|IYKCZjCn7;DoBEP-M-+cm{<`PeeuMTrfa;> z+|TtYt_`k?YliDOuG_e@7B!zg&h<$y{b*i`pMSzH;v4Cb7249!2eJ2_rK~9(Ppyf z)8Go%ntwhHckCQ@{lGn3p}V#J@AJPu-{T`5cX$+B z#dVyk$MrO>4|2Vk>n5&eaQzFeU?Sw__IM#qnzQ!%O`ThKQVTn+Bo327cP`F$a?_5( zsn<<~X%=QtvJe-KUORjJRNZ~I?7oY_yp=3;;&3_5nmhGDchKp#dj3fsF1PxN;RA!T zALn6|rGumy_7~%>ucd#ke~VgAX(S8tenw?G!$CfXI-Qj;N&8_E$4wskD(VvqVQRG< zudGjn)2m5*u74(rdvVlX-?iFG`f;`tb=G%=tL|aG9{OKqX2aEHoHy3_es)q+sD+2l z#f?Ef4jXAR4(A5*^K?PoO$YrjkCteavNyT12jfN-M|rHyhn;vS?u6-l7!CSqH|n<< zVJm6INuOWSB%Fr|DyH5UVRPycxoGof^8Z-R&90u4bhNR!O$X9sS2{m0Qr%<(rrjtJ zIg?r=?RF#Ppv7$Tdayyve5BT0ZZszK+!2F0nhis7NG)7y#mfba7+#t%J>r?^d`2ZG zIqOSi(Q@rFN>j7w!IVV3SiflU!l~J*Fv_hD)ELZEvYtx8d}1tJ4YRV!G9K zw6d>S^941Q=`Y=cft#xP0nc3a@hCU#WCo}-&c!9rUlpp?1K;au7Dqb6Du{dGT-0bU zM_Dt6vqC)&8E8MvR#e_TsD;y6T$YFDRD6rlci-&>o5gwD4_Q~fx4E^U$!{gCek|<8{ z$VcJ<5jhT-c={`b8?B)?Rzr^(rhAYko(X$dywpkuIV*#YS};pNrY56q^m!i5iSy6ee$`%LyaP#wtVVb)p8dCb7=9 zP7Dw0<&&dhpZNBz46T|Nh!hdS}RM96%rsHz4dNi}R= zi;9;EP7A2^xL@!|+*nK{{{|WBir@V#iSVsNZ0VFhI4$AG08K09X%~*}wCGPhgMOI4 zJIM!)Mx5s&!Agk!g>9!+dr^OJeQKs2OzaCA-KGRbH_lMewK&T(4~@nkL;BRiyI7`Z zMd*ZtWTh=g;im9$Gww$%2(=(invhIGtfzXLrOiPDA^!N4pOSFrU&^vc!sY;(p3+Lb zf~Gw;;kv>yP2q8`xLjwgCF`(n#Vb9ebhE<(R5yo1I4Ygz8j`_LHq%KP2t_B_cTQl@ zY&}pja76Y)OEHTjLJp*7S?)WThel^$#*0YMN0G%6>*!*MnQaJi$*y{8(@n8D@_K&W zbYRR4W=p3zA=8bC+&mxKb<-#$6+{0p2%6#83~QP$@%l0uV4LwCGH!~K26iEmk=A89 zd5%K}i4RM5tWTUUsV1JX(afXFjG$Ai#jj@^=W0-Qq=;c>?7+XQe%YRrVZl>T*vL?O znqsj-f05=IQ4%gSJhUvQZ))yV;*wTb_%sfs08likv}* zbei?KL95eTOK?|$iTmj897JdMYmL=}F|MyAda-KEzCJOrmhE@;e4JVVv0O zdU!xf%e)bLUD!*_s2|nWlF@qJB%`scU_pi`qwy7;Y`1znSYXpvCsnTeDvKr7nU3L? zzIzf-vOk-fYB(j0+iXE5$p!OjicVv^+Be1(y*LwFNF#Oed+MR{BtOOSD zVhdNpF_w6+Xa=<*A}yP3oe#357E4E6hFSV}a0Rnwv5^gBpIS$pJfEBq>B4%QE;y#f zLhVOcpTPy;@o0r^i_g?a`vujXf}g=SPKg>@WaRzlFuuJj7tltz4+F$jus-Gc9^J)Pd$TFl#(wR*Scs? z@qt_MtUb+umk^wGwH3bRoN;GdmjtP+ZE19^&Ezuc!`%uJvd;l4Unej zc{<{#sTHkpOo@(D6qC6Q$F3%75Wm|XoX-##&VHke7spfOWDe(QiD5=ayXVIn!zJWPJu96EzmS)|gtw^E`v@u=TCz0KYeITk>@b8Q*q}m)eb!fgi;! zJB<%6{dT80f|W8F^4M)zrgS&Ng>kosfTL)!5)qI{?>;K6;8indmKRgZCl`G&=B%>p z*pw8<`_vNI^rq>J;YG>Fsp(g&Hs@N+^_k5D`>k&L zpcck(2wF|mW_^d{aKoRx?K)RwTGE!e2oE@YR&sScD55L!U&}bktm&xA1Cf*gs{kB* z(EL(3&P9#%q=h+T$`W73L|L=dK=Ye!*E*C`fNEMn)~)HZL(B?~YbWc~WJEtb(~sJ* zMT@Adhd5df4$0J(utcEQ+FI2O&)wQ=HW6H?+*XW|uqmGm4#}`_|7-Od%O$E|YE|G^ zwC)Q?I!cr{yJt3(<>HKPV_&{8^n6Wqg@In5m_Ainm5M`j(gng0;i_f{S=#Nb&jg2- z4mq_jl$s+8H|Jvdw#gx+o(vkJp`gbcN?<_LhsnX@k(srgtApA2UeanftGvuC}w+SvR}6KuCj2~L&AWKMa?3zxt~gpz^u@D(236sA5qhh&H6!n2~QyYAc*)Ak~l-J z9vsDE2{oUJO2+3JghNH&5sQ*iKCJk|ETE&dlC~Ob`KB1?QS&HAX4;D~M@|bG`1MU+ z6v)sEsUpnkxoQ|;SfwxJ$fvM}h^}}dpA1Vm9X^Z$Y8BLj+gshal>ZS#p1a@T?7FuF zx2L#R;v8G<$O`!te8J;cRt{cW8+OA?s7MNaCj=c%&!QJG(yXhvn>~snyCLMNk(7bxMC~ zHOI|p#5`xcO|34Z1m>qg2xcM*DQ31o+{xo*);iYF!K#x~4~|PsZ<3j&R*BIg9kgm% z5->(MH6hQO@@^!lQ5r)03;Ez zofut2JfuG}I}sc&Har}IftLRfCkKY#2V{N8nEwilax*y6oTENq` zhgGw{5kz7EFCgw)-CMoa3nUZMhaDmtm=ha8XKE!me43_ z8}`?C-PSqQ7@Ko&Jl3;obV}mL^snvhReIor+Ehr5h>KxQhRsN-Ad~JdtGK^Z+iWh` z8kVWkg4(XK39(KqfxX#JsC;I-gi(0^aAdCh{b7&jfFdL!Xl3Ni-)AKio!`2HCDAHv zX|Zn}<<{RT_-T7%hD^Sp)9#|k`E=ESi=5~o4ZVgVF zs0nS~w{%X-CY8UAO|6j56xylS4W6FyaZKD4oDLS(N!w_s`HcoT?*?DH#eUnn4H+)$ ztAa2m=_|&X?O_&zrtp1F;#fJUw#@8>%NaY~lc54ra!i_ou0pSHzd|rxA8vM&PNrFA zb~+XkE1i%8-WrBP)Ir2Ii4~&laM`yjrX4_{hlu7=igvaXcVwMyj*?8e0^Z;u0OB>< zdKtnPmv8=y5qVC>;8)GLHpnJJQ!@+1P-ye;fcOLBX3k~X>hm}}P;T}rC~7MxK1Zxd z{iUq-O%;T}81X?d z?K3iB)FW$(Xi7aeZNWmfjp)Y)Ph@d$n$(Bjo+#5sXi%(J3r`!5lw|P{zjBSxb+@9$ zSYlKgU%_{(2&+USUogpt32e2Ks_>uR`C-EE3JK%0<9S#V4AEd|6^uZv0lTi4KyhDn zMP0wR+@7js<0&SvP`fJL&_@*mnCLqtGf7oBJ_>9EAwc;!Q-ujJX z@tX!Y{*mv1jCO>+5`MNSXTBqqxvk|(m2l1Z5*X%2H>VM_mR7Xc(Mxl@HIdQE;V2Y~ z#_1GundV|`G9qQNbVWjv&Qs7fOEFmKE%R9NOL+IG!?ic?oQRrsSb_!81h<@K(q)1|JF*l zDAQZav~x}5q0~hZe+WOfkq7^F6x$bRhq6&hc7US83RCVL6cD?Z!=d?TB}D9q$-!_= zuu*-y7X3Z2`SxAzC2Fda!oH%yC&iB6rMY zYp{00JsUOYP(-o+j~Q}=la>#UH6*Zdw1`ixE;r$#uiADvy+-; zv*8hv1e6zh(}MfuwgnARX$!YdI9V9b)!L~z>dvz7jc&{-I(#!5=1UXDj~+iX?5sL@ z04gJ@Yo}0gvli9fg$LY9ZZtCjYTRtbz_6S;L^5&h5Z0x3c4osj%#m4o7j|;gsU1eZ zBiECj-R3v%l~t=ZH%}+wK(`t_t7C`)atMD8qV z;+A8Du%~6g6eJqD+0waV*$83Wmuy6HuoyZ!WgUi7n-jZLiaq3r2nyQ`?#u4Rg=E2= zglQLJGa<|bLtc%jcU(;cea zRL%cQs(0T);&HZ3zIU63qp;0JPpeph15#uN9H4QD``}7!T+DK%@cG2=IkUL~kUXlTAvw zbJIR2x-hC;HZmnPGP)w&oAPSR87R?WxAZ`Xh}4PMl!+23QOYoVvMy&2=`CI zY5F#-7`AS*mxx*1X=Q|R5XKu97N7&AxLY!!S9q(MC0^86_RW}3se^1Tgn2@!cD zK3}}8{Ol|ufuzdSZha`>yH>UiA-BpJpKf=^)e zvvgMaeavw-#~Ju`N#)b9hgz6%b^B#$3C~go!v?8in=JE67p*wb7#V>4EEc&R;WnA( z(%>ppAPRhKW=08FCj!_X-7-DG;PyS zqK29%GdA<2a4_>vKSnpUuDpp_D;74(3flt7+KJ}lzmlN%ql;dK@fOxTX_x|NN3nGGDoG=tA# zOT?dNxnhAcKpAYd>)-CTa)gCC)v~9MLb*$>&saKzv2$WURF+hUJDwCynt2DHMkwGcVhwL1 zJessgl^3Ok2~DDwc*xC`EHtN?M6VyN-&;(753SJd@_psma^u=n8~qL!G84MFcZ(Ll#@wnnkK@B zB4wOZGsq4(S&ls}es^0$UK5R{)vNbMWvRPWz`45?%*0aBVH&ZOM3dMMD{jbx>a&=A z5wYX^2kid1sf80|+g3U0tL(496(xUHD=yfPWezhs1CXK8ZF=kDOQ?qm6R_{-noF?Zv>k$V$-0udQ(xhvj?8LU!T5*hDo3_fqHsKwUiws1 z)tLGWnLPLy7e8^}&)Ho6PO^>7l~$^FR=bKeVBFqC7iHMl-Ws7 z%dlsWpVS;M?o=7}nhfkxlRM(+kp%l1E8XdbA0og0AnEn8eIF;eJ_*~TW*}TNVI6WY zm;<5``pt>aL4xeU(9_EIN%mXj*zYp~e&id*L9V@V9}5D3vXE#hH47Lvo3iCkVvm#g zWXNw~I`B7-GUXv>cv_ zT(12v)m|e;4?-QbAK54**UBh05OZ)WwVG~!Qa)LkZZApVovmP)0<48^z0x$aIRCvs z*t8PyX8+yt?uTEKdcQQ6;fWGYBf`h#Oieooq{?nwkSDPupOahWl-27z>rI*X$HdZo zvt0>slZ+=f*NCc2{3u-5IG^{8@2SYC|6J)p5xQ)s6H4hIFGjm?hoChaFjVPxcD(|h zBiOxhfzZlQspKt+HtYJTNTbswDcPvEi=-wcWa2WGR>k)&Hf}60U$x2TD=nbRL@CZ8 zURbiwjC_jzHsuiZW{Oa3e)rtRwv^VF0? zY0B1v!WvNOy5G8H%eb6&jS^y${y;!ySQ>t8yBz+QrLiE>Am1{NAMJ&_B~3`Zq=`#q z@)unplBiVv6^2-(@o)di=jRs%W@W_o%2833?#n`Q4rSLl0@yIw+hbfq@da10^kf;) zT~@RmJh90Z*{QA14vY)Lxj|Kz!{oL#X%X3Z0UD(m$t^i7H;O@TQ4Vm-sK!!wE}jk)f(6 zl{(2Ww{C<+O~|IP1VB1}1`&J4k7_Lczn#{cRL&)aZDOiN0BR^O45xe^<3OP`^%;I4 z#Sv3X7b{!DC_Fp@U~gHGsAO-SnO;OL&temcpzd)Em2OG%1mdHvW@+R|02{aw zdsHJ^R5}a5VrBzbsT}aaB~Js?Oy!-nkSwh_@4^}TBAlt8A|5!eC~|QUK>5T@jd~T( zwnc(M;<#Q5AeiOjizm+HL|4$(z@7?=;_j(C9Igy zK_ACPB0Yg_Mf)cHyQasyqV!LilEcMOff}0?>@_=wCOBakQ9QF_rsKy2+(?Xpm|{Yn-b0h;B!;86PaZi-uPqfY}bP~I#b#2NV36827+v%ayt|@-}1CTMTM2(mQ}^x zr`k2Hb|Fw_0+2exY;#sX>rX~7vtrU5-S8p#wLj#F^G5-!t?_}5z4JM+f%63_#2d;= zAA+`!Pmx!23@$+|&@*hoQd1V;AoPEsDn|&a0L56pIBDq1nQ!Oihm<4%bhk$QnknyP7;h!EZ5ZYD znn{S^Nd$W21y`CedE#tI4JTkx5of~@-_psrDNZAl($Mb;$S#*9h}>mmSZt;+ki638 zPgkIX&Al{(nQgx!KG4?D1ePMXa|r|VuD1^gWV2%lDPk^fbmxrA&MUN$AxF%Zw-{Zf z0I{ZT{FFk~L>MvO-J-#JhBY@?MdK+ol^$#=YyKI_*l4jEvbe(fn>(flO8;S!nI=AA ze8DCw>I!!db%7N(LbQB?YO-3F>EBNfGo~DG56Fz*1NDiBnL}d` zqLEc{zkI49cB2y!7DY!tn;>yo&8#6Ehd3Q|3VViPrdKIwRt>Lcu?YT{fW)G$ig9l^ z`*f~WDUJ_s%dM3xd7M)x@vU?{L6y!$&+YM8K30+8NV(vqSc7Ax_NAj3Ak z#N)J+61IV$Ct`Eofy!|S{y>#kmz53?LO^U!)e-{6=-H7G4BI8q5DJOIDz%N6GZq99 zMe08sGFVb8(a_v3cI3 zW#c6 zAYzhKBs-NsRF+XF;75Pmh&CO}*n&X8$;IfCpuh~$r7*jfCM@@FftHmlK066sNA<v(4!8C7BFhFOBHc4%&ob%XT zQcnhCWDW4o!p*I+$$5cQX2JUrQvibT9L7@u0>8R(|AD>H-aB=3<}(4qKHb5XT(sj zkl)xDw3UAXU!w8w0pt@@-|HxY-(EFoD#P_g6Pye~Mlq6w5Gqk&{fRODP78ILahu!1 z(5C8Wg(AJe4eF*Wd^6~_3hml{EXsYf5f0_S6-?oiKxo-55;v6T*BdjZToJ2Cl$E|uB=go?9 z`!X7OL003;k&w0ap4r+q&ejwc%SUp^^Efrjgs(mrI4d6vU#OuxSU`gpnxg#a|D^bPCB;!?) z(aqz~mD*&Up{XP_DhErd#-kRKj+SV`HAbx&3v)uEk@F?CH|BZU$C=#m5;$Vh0h2+W zS?l%ih&XDZ!ycn&O?)btOoC~5?gRs~Ja{6JtEHyJ;~y5@knQeDQ4dd#B)l_eWD8S& zZt9DskddfNJMTJj=HwDzsq*T%lS?|u{OLcpbL&|UvQi_O*x<8cuqPe*OT z_QpjMVvd~{wa99=JB!_^u<_$5Y*y)bis{l_$CykLXHt1)uapwN{mDbOp$^Mk#wI}Z zV98;rP?x)8TEO-ne3St3VwF!+{>;$U+X~eht4CE>#+5vjYQKwpj-rjx^EHp(%2sDp zw)~3o8vdk;XwN>sjw<+bDz+$HvdHK;m1LlJ8f#gF%abZ-@yu@^i^rsSU4F<(HZ!8k zYu>d?G;NI>QgI;@)4OxA0vBw`6J9$p%;+$YVcTSOwnB9{s{-ZPagUC3RE4#@+0!(> zD>jSkAqQ8y<)XtYrF1sVgr^}0Ct+mkDJE9LeT%qZLtI~+W6`d4X+^jQn(N9PoC(XK z+3+9*SaBN{NY$<;jzbE+Ju1QK>=fFo9BuKY2vGugS326#Ss{~6ioR?SG1Pa)M1A5; z6B|q+YsVS$8a1oIQR%X_LTf)gq3ClPfY8q N%Zx}H7lZe2{tw`OcJlxL literal 3041 zcmbuAO>Z1U8pmsS3B=11UYA{1;4v_GhNLHU7D1R`f)WQdN}NQoLE?nU-OuzC(_J-G z)r>RZ!f`JvF0A$o*heHHBsg-IFTjNp0>O>zp7*lhbP-<(J8R_f1qei(cVY|o$9!DsNiJs%I? z3wZt~coO^!Y=Pf{_kwrdqtr5Z6nqgp4!#av2UoyPz&7~RoIirH&QZMlIQSa40bT`V z-%mk_;|uU1@Eh<2@TWPC98u~iJRb*J;M?H+U=2#h6Yy2!UY=HS1;r@{Y%PlCt(sMKG;mq1zfJSh8Apv3(tDEastL`u}RbAAUR z?6fwJF3AUmQ~ct)T$1Bs>8{Be%8~LdLr>r*d&?!h$n{`@)L#$a{!#oSKYyB!ON|hs zLOZ0qJ^~{3=@S3MXM~nwlzOWrT4}Y1Jne)PYPZ^!Z^ZXKk66b}IN53&8`)2E)d?r4 z)ovz2C(yxN52FQ#yb~0)bM3w1q9eBhZ7o;0?RLAgg*DjYr4Y4`Tyzy}>gf*C)QzcT zZ6me9Sw-8^5z})6u13#M-+7X|t~&4PTH6AS!bcOxx=4DWO{I4#mg#X-q`|(KTir2O za9@wBNCQ_ht+bzS6`hs2kzI*2Vvp@=s@;UCE&Fu3bl%yhb8KZv7qzinb+M?JqN&-9 zBk_%#x!~di6(-~k(dN@jude{iqkvyz{{wmDX7BU)E`^8 z?Ch;gkR@Y{3^k66TVV?4ZxDO$d@?LccxWv3y{n0qD6KXIi!LsPHnPzyr^={W zUAnA8%(lI@q0$JrM{j#0?Mkng&CQ!-jU(C3UHt}(Z8=6xvTfFNkG6IhX9T8;8SK1y zar45$*R}5Il9Uc*&O`=!6d^??kvL<|q*S0=*5BEFD?7cg6Lk+7uCljqq(hJFC_RStQ)f^InOSdJT3)BM&Y7j(qkl0S751G&BG}#;8@@iBTu(Um1okw$Q%F23(6Et~82x==E{zV}DKf->;@I zTI3gfdZ3P%q}zws0AooWA#l-4YoPrbiR{uPH$nkDjWIZv#o0be(kMA3b1>VlaQxwL z$&rSK#BpIKop16X*V1nAn&n}}AkJuDQOfPSH%TO&rU;fP0Hc@6QpGTV&t>LRhiF!OKl^cGU)| z+DD-Hydm;ZQ}naFeqW<-m_qkRA8RY6K{s+z*u?}EY(zE;snXCHTZZ96We*uf1mS9Y v$i?B*RN7|;Li>xLr3S;)n2^v7e94B$@-T`gNoQ}Rr^zFX(yEH3Q`P?g`}\n" "Language-Team: Swedish <>\n" "Language: sv\n" @@ -332,18 +332,18 @@ msgid "Lock: '{lockdef}' has no valid lock functions." msgstr "Lås: '{lockdef}' innehåller inga acceptabla låsfunktioner." #: objects/objects.py:871 -#, python-format -msgid "Couldn't perform move ('%s'). Contact an admin." -msgstr "Kunde inte utföra föflyttningen ('%s'). Kontakta en admininstrator." +#, python-brace-format +msgid "Couldn't perform move ({err}). Contact an admin." +msgstr "Kunde inte utföra föflyttningen ('{err}'). Kontakta en admininstrator." #: objects/objects.py:881 msgid "The destination doesn't exist." msgstr "Destinationen existerar inte." #: objects/objects.py:974 -#, python-format -msgid "Could not find default home '(#%d)'." -msgstr "Kunde inte hitta standard-hem '(#'%d)'." +#, python-brace-format +msgid "Could not find default home '(#{dbid})'." +msgstr "Kunde inte hitta standard-hem '(#{dbid})'." #: objects/objects.py:988 msgid "Something went wrong! You are dumped into nowhere. Contact an admin." @@ -522,14 +522,14 @@ msgstr "" "Diff innehåller icke-dicts som inte är på formen (gammal, ny, " "handling_att_utföra): {diffpart}" -#: scripts/scripthandler.py:52 -#, python-format +#: scripts/scripthandler.py:51 +#, python-brace-format msgid "" "\n" -" '%(key)s' (%(next_repeat)s/%(interval)s, %(repeats)s repeats): %(desc)s" +" '{key}' ({next_repeat}/{interval}, {repeats} repeats): {desc}" msgstr "" "\n" -" '%(key)s' (%(next_repeat)s/%(interval)s, %(repeats)s repetitioner): %(desc)s" +" '{key}' ({next_repeat}/{interval}, {repeats} repetitioner): {desc}" #: scripts/scripts.py:329 #, python-brace-format @@ -752,7 +752,7 @@ msgstr "" "\n" "{error}\n" "\n" -"|rSparfunktionen stötte på ett fel. Bufferten kunde inte sparas." +"|rSparfunktionen stötte på ett fel. Bufferten kunde inte sparas.|n\n" #: utils/eveditor.py:133 msgid "|rNo save function defined. Buffer cannot be saved.|n" @@ -1101,7 +1101,6 @@ msgstr "Försök vara mer specifik." #: utils/utils.py:2219 #, python-brace-format -#| msgid "Could not find '%s'." msgid "Could not find '{query}'." msgstr "Kunde inte hitta '{query}'." @@ -1226,7 +1225,6 @@ msgid "Change" msgstr "Ändra" #: web/templates/admin/app_list.html:39 -#| msgid "You don't have permission to edit anything." msgid "You don’t have permission to view or edit anything." msgstr "Du har inte rättigheter att se eller ändra någonting." diff --git a/evennia/locale/zh/LC_MESSAGES/django.po b/evennia/locale/zh/LC_MESSAGES/django.po index b093154282..2f0c4f0352 100644 --- a/evennia/locale/zh/LC_MESSAGES/django.po +++ b/evennia/locale/zh/LC_MESSAGES/django.po @@ -1,333 +1,1172 @@ -# The Simplified Chinese translation for the Evennia server. -# Copyright (C) 2019 MaxAlex -# This file is distributed under the same license as the Evennia package. -# FIRST AUTHOR: MaxAlex , 2018- -# -msgid "" -msgstr "" -"Project-Id-Version: \n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-05-03 17:04+0800\n" -"PO-Revision-Date: 2019-05-03 17:04+0800\n" -"Last-Translator: \n" -"Language-Team: \n" -"Language: zh-hans\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" - -#: .\accounts\accounts.py:440 -msgid "Account being deleted." -msgstr "用户已删除。" - -#: .\commands\cmdhandler.py:681 -msgid "There were multiple matches." -msgstr "发现多个匹配项。" - -#: .\commands\cmdhandler.py:704 -#, python-format -msgid "Command '%s' is not available." -msgstr "命令 '%s' 不可用。" - -#: .\commands\cmdhandler.py:709 -#, python-format -msgid " Maybe you meant %s?" -msgstr " 您指的是 %s 吗?" - -#: .\commands\cmdhandler.py:709 -msgid "or" -msgstr "或" - -#: .\commands\cmdhandler.py:711 -msgid " Type \"help\" for help." -msgstr " 键入 \"help\" 获得帮助。" - -#: .\commands\cmdsethandler.py:89 -#, python-brace-format -msgid "" -"{traceback}\n" -"Error loading cmdset '{path}'\n" -"(Traceback was logged {timestamp})" -msgstr "" -"{traceback}\n" -"读取CmdSet '{path}' 时发生错误 \n" -"(已记录 Traceback {timestamp})" - -#: .\commands\cmdsethandler.py:94 -#, python-brace-format -msgid "" -"Error loading cmdset: No cmdset class '{classname}' in '{path}'.\n" -"(Traceback was logged {timestamp})" -msgstr "" -"读取 CmdSet 时发生错误:在 '{path}' 处未找到 CmdSet '{classname}' 。\n" -"(已记录 Traceback {timestamp})" - -#: .\commands\cmdsethandler.py:98 -#, python-brace-format -msgid "" -"{traceback}\n" -"SyntaxError encountered when loading cmdset '{path}'.\n" -"(Traceback was logged {timestamp})" -msgstr "" -"{traceback}\n" -"读取在 '{path}' 处的 CmdSet 时发生 语法 错误。\n" -"(已记录 Traceback {timestamp})" - -#: .\commands\cmdsethandler.py:103 -#, python-brace-format -msgid "" -"{traceback}\n" -"Compile/Run error when loading cmdset '{path}'.\",\n" -"(Traceback was logged {timestamp})" -msgstr "" -"{traceback}\n" -"读取在 '{path}' 处的 CmdSet 时发生 编译/运行 错误。\",\n" -"(已记录 Traceback {timestamp})" - -#: .\commands\cmdsethandler.py:108 -#, python-brace-format -msgid "" -"\n" -"Error encountered for cmdset at path '{path}'.\n" -"Replacing with fallback '{fallback_path}'.\n" -msgstr "" -"\n" -"读取在 '{path}' 处的 CmdSet 时发生错误。\n" -"使用备选路径 '{fallback_path}' 。\n" - -#: .\commands\cmdsethandler.py:114 -#, python-brace-format -msgid "Fallback path '{fallback_path}' failed to generate a cmdset." -msgstr "在备选路径 '{fallback_path}' 处创建 CmdSet 失败。" - -#: .\commands\cmdsethandler.py:182 .\commands\cmdsethandler.py:192 -#, python-format -msgid "" -"\n" -"(Unsuccessfully tried '%s')." -msgstr "" -"\n" -"(尝试 '%s' 失败)。" - -#: .\commands\cmdsethandler.py:311 -#, python-brace-format -msgid "custom {mergetype} on cmdset '{cmdset}'" -msgstr "CmdSet '{cmdset}' 的自定义 {mergetype}" - -#: .\commands\cmdsethandler.py:314 -#, python-brace-format -msgid " : {current}" -msgstr "<合并 {mergelist} {mergetype},优先级 {prio}>: {current}" - -#: .\commands\cmdsethandler.py:322 -#, python-brace-format -msgid "" -" <{key} ({mergetype}, prio {prio}, {permstring})>:\n" -" {keylist}" -msgstr "" -" <{key} ({mergetype}, 优先级 {prio}, {permstring})>:\n" -" {keylist}" - -#: .\commands\cmdsethandler.py:426 -msgid "Only CmdSets can be added to the cmdsethandler!" -msgstr "只有 CmdSet 可以被添加给 cmdsethandler!" - -#: .\comms\channelhandler.py:100 -msgid "Say what?" -msgstr "您想说?" - -#: .\comms\channelhandler.py:105 -#, python-format -msgid "Channel '%s' not found." -msgstr "未找到频道 '%s' 。" - -#: .\comms\channelhandler.py:108 -#, python-format -msgid "You are not connected to channel '%s'." -msgstr "未连接至频道 '%s' 。" - -#: .\comms\channelhandler.py:112 -#, python-format -msgid "You are not permitted to send to channel '%s'." -msgstr "您未被允许在频道 '%s' 发送信息。" - -#: .\comms\channelhandler.py:155 -msgid " (channel)" -msgstr " (频道)" - -#: .\locks\lockhandler.py:236 -#, python-format -msgid "Lock: lock-function '%s' is not available." -msgstr "Lock:Lock函数 '%s' 不可用。" - -#: .\locks\lockhandler.py:249 -#, python-format -msgid "Lock: definition '%s' has syntax errors." -msgstr "Lock:定义 '%s' 发生语法错误。" - -#: .\locks\lockhandler.py:253 -#, python-format -msgid "" -"LockHandler on %(obj)s: access type '%(access_type)s' changed from " -"'%(source)s' to '%(goal)s' " -msgstr "" -"%(obj)s 上的 LockHandler: 访问类型 '%(access_type)s' 由 " -"'%(source)s' 改变为 '%(goal)s' " - -#: .\locks\lockhandler.py:320 -#, python-brace-format -msgid "Lock: '{lockdef}' contains no colon (:)." -msgstr "Lock:'{lockdef}' 缺少英文冒号 (:) 。" - -#: .\locks\lockhandler.py:328 -#, python-brace-format -msgid "Lock: '{lockdef}' has no access_type (left-side of colon is empty)." -msgstr "Lock: '{lockdef}' 无访问类型(冒号左侧缺少数据)。" - -#: .\locks\lockhandler.py:336 -#, python-brace-format -msgid "Lock: '{lockdef}' has mismatched parentheses." -msgstr "Lock: '{lockdef}' 英文括号不匹配。" - -#: .\locks\lockhandler.py:343 -#, python-brace-format -msgid "Lock: '{lockdef}' has no valid lock functions." -msgstr "Lock: '{lockdef}' 缺少合法Lock函数。" - -#: .\objects\objects.py:732 -#, python-format -msgid "Couldn't perform move ('%s'). Contact an admin." -msgstr "无法做出行动 ('%s')。请联系管理员。" - -#: .\objects\objects.py:742 -msgid "The destination doesn't exist." -msgstr "目的地不存在。" - -#: .\objects\objects.py:833 -#, python-format -msgid "Could not find default home '(#%d)'." -msgstr "无法定位默认寓所 '(#%d)' 。" - -#: .\objects\objects.py:849 -msgid "Something went wrong! You are dumped into nowhere. Contact an admin." -msgstr "出现错误!您进入了错误的地点。请联系管理员。" - -#: .\objects\objects.py:915 -#, python-format -msgid "Your character %s has been destroyed." -msgstr "您的角色 %s 被摧毁了。" - -#: .\scripts\scripthandler.py:53 -#, python-format -msgid "" -"\n" -" '%(key)s' (%(next_repeat)s/%(interval)s, %(repeats)s repeats): %(desc)s" -msgstr "" -"\n" -" '%(key)s' (%(next_repeat)s/%(interval)s, %(repeats)s repeats): %(desc)s" - -#: .\scripts\scripts.py:205 -#, python-format -msgid "" -"Script %(key)s(#%(dbid)s) of type '%(cname)s': at_repeat() error '%(err)s'." -msgstr "" -"'%(cname)s' 的脚本 %(key)s(#%(dbid)s): at_repeat() 出现 '%(err)s' 错误。" - -#: .\server\initial_setup.py:28 -msgid "" -"\n" -"Welcome to your new |wEvennia|n-based game! Visit http://www.evennia.com if " -"you need\n" -"help, want to contribute, report issues or just join the community.\n" -"As Account #1 you can create a demo/tutorial area with |w@batchcommand " -"tutorial_world.build|n.\n" -" " -msgstr "" -"\n" -"欢迎进入您的基于 |wEvennia|n 的游戏! 如果需要帮助、想要做些贡献、报告错误的话," -"请访问 http://www.evennia.com 。\n" -"\n" -"作为管理员,你可以使用 |w@batchcommand " -"tutorial_world.build|n 来创建一个演示/教程区域。\n" -" " - -#: .\server\initial_setup.py:92 -msgid "This is User #1." -msgstr "这是管理员。" - -#: .\server\initial_setup.py:105 -msgid "Limbo" -msgstr "边境" - -#: .\server\server.py:139 -msgid "idle timeout exceeded" -msgstr "连接超时" - -#: .\server\sessionhandler.py:386 -msgid " ... Server restarted." -msgstr " ... 服务器已启动。" - -#: .\server\sessionhandler.py:606 -msgid "Logged in from elsewhere. Disconnecting." -msgstr "异地登录。已断线。" - -#: .\server\sessionhandler.py:634 -msgid "Idle timeout exceeded, disconnecting." -msgstr "连接超时。已断线。" - -#: .\server\validators.py:50 -#, python-format -msgid "" -"%s From a terminal client, you can also use a phrase of multiple words if " -"you enclose the password in double quotes." -msgstr "" -"(%s) 在命令行客户端中,您可以使用英文引号将输入内容扩起," -"来使用包含空格的词组。" - -#: .\utils\evmenu.py:192 -#, python-brace-format -msgid "" -"Menu node '{nodename}' is either not implemented or caused an error. Make " -"another choice." -msgstr "" -"菜单节点 '{nodename}' 未实现或发生错误。" -"请尝试其他选项。" - -#: .\utils\evmenu.py:194 -#, python-brace-format -msgid "Error in menu node '{nodename}'." -msgstr "菜单节点 '{nodename}' 发生错误。" - -#: .\utils\evmenu.py:195 -msgid "No description." -msgstr "无描述。" - -#: .\utils\evmenu.py:196 -msgid "Commands: , help, quit" -msgstr "命令:, help, quit" - -#: .\utils\evmenu.py:197 -msgid "Commands: , help" -msgstr "命令: , help" - -#: .\utils\evmenu.py:198 -msgid "Commands: help, quit" -msgstr "命令: help, quit" - -#: .\utils\evmenu.py:199 -msgid "Commands: help" -msgstr "命令: help" - -#: .\utils\evmenu.py:200 -msgid "进行选择或者尝试键入 'help'。" -msgstr "" - -#: .\utils\utils.py:1866 -#, python-format -msgid "Could not find '%s'." -msgstr "无法找到 '%s'" - -#: .\utils\utils.py:1873 -#, python-format -msgid "More than one match for '%s' (please narrow target):\n" -msgstr "发现多个符合 '%s' 的匹配项 (请缩小范围):\n" +# The Simplified Chinese translation for the Evennia server. +# Copyright (C) 2019 MaxAlex +# This file is distributed under the same license as the Evennia package. +# FIRST AUTHOR: MaxAlex , 2018- +# +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-05-29 16:25+0000\n" +"PO-Revision-Date: 2019-05-03 17:04+0800\n" +"Last-Translator: \n" +"Language-Team: \n" +"Language: zh-hans\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: accounts/accounts.py:321 +#, python-brace-format +msgid "|c{key}|R is already puppeted by another Account." +msgstr "" + +#: accounts/accounts.py:515 +msgid "Too many login failures; please try again in a few minutes." +msgstr "" + +#: accounts/accounts.py:528 accounts/accounts.py:789 +msgid "" +"|rYou have been banned and cannot continue from here.\n" +"If you feel this ban is in error, please email an admin.|x" +msgstr "" + +#: accounts/accounts.py:540 +msgid "Username and/or password is incorrect." +msgstr "" + +#: accounts/accounts.py:547 +msgid "Too many authentication failures." +msgstr "" + +#: accounts/accounts.py:760 +msgid "" +"You are creating too many accounts. Please log into an existing account." +msgstr "" + +#: accounts/accounts.py:805 +msgid "" +"There was an error creating the Account. If this problem persists, contact " +"an admin." +msgstr "" + +#: accounts/accounts.py:839 accounts/accounts.py:1751 +msgid "An error occurred. Please e-mail an admin if the problem persists." +msgstr "" + +#: accounts/accounts.py:866 +msgid "Account being deleted." +msgstr "用户已删除。" + +#: accounts/accounts.py:1417 accounts/accounts.py:1768 +#, python-brace-format +msgid "|G{key} connected|n" +msgstr "" + +#: accounts/accounts.py:1424 accounts/accounts.py:1431 +#, fuzzy +#| msgid "The destination doesn't exist." +msgid "The Character does not exist." +msgstr "目的地不存在。" + +#: accounts/accounts.py:1470 +#, python-brace-format +msgid "|R{key} disconnected{reason}|n" +msgstr "" + +#: accounts/accounts.py:1704 +msgid "Guest accounts are not enabled on this server." +msgstr "" + +#: accounts/accounts.py:1714 +msgid "All guest accounts are in use. Please try again later." +msgstr "" + +#: commands/cmdhandler.py:83 +msgid "" +"\n" +"An untrapped error occurred.\n" +msgstr "" + +#: commands/cmdhandler.py:86 +msgid "" +"\n" +"An untrapped error occurred. Please file a bug report detailing the steps to " +"reproduce.\n" +msgstr "" + +#: commands/cmdhandler.py:92 +msgid "" +"\n" +"A cmdset merger-error occurred. This is often due to a syntax\n" +"error in one of the cmdsets to merge.\n" +msgstr "" + +#: commands/cmdhandler.py:96 +msgid "" +"\n" +"A cmdset merger-error occurred. Please file a bug report detailing the\n" +"steps to reproduce.\n" +msgstr "" + +#: commands/cmdhandler.py:103 +msgid "" +"\n" +"No command sets found! This is a critical bug that can have\n" +"multiple causes.\n" +msgstr "" + +#: commands/cmdhandler.py:107 +msgid "" +"\n" +"No command sets found! This is a sign of a critical bug. If\n" +"disconnecting/reconnecting doesn't\" solve the problem, try to contact\n" +"the server admin through\" some other means for assistance.\n" +msgstr "" + +#: commands/cmdhandler.py:115 +msgid "" +"\n" +"A command handler bug occurred. If this is not due to a local change,\n" +"please file a bug report with the Evennia project, including the\n" +"traceback and steps to reproduce.\n" +msgstr "" + +#: commands/cmdhandler.py:120 +msgid "" +"\n" +"A command handler bug occurred. Please notify staff - they should\n" +"likely file a bug report with the Evennia project.\n" +msgstr "" + +#: commands/cmdhandler.py:127 +#, python-brace-format +msgid "" +"Command recursion limit ({recursion_limit}) reached for " +"'{raw_cmdname}' ({cmdclass})." +msgstr "" + +#: commands/cmdhandler.py:149 +#, fuzzy, python-brace-format +#| msgid "" +#| "{traceback}\n" +#| "Error loading cmdset '{path}'\n" +#| "(Traceback was logged {timestamp})" +msgid "" +"{traceback}\n" +"{errmsg}\n" +"(Traceback was logged {timestamp})." +msgstr "" +"{traceback}\n" +"读取CmdSet '{path}' 时发生错误 \n" +"(已记录 Traceback {timestamp})" + +#: commands/cmdhandler.py:699 +msgid "There were multiple matches." +msgstr "发现多个匹配项。" + +#: commands/cmdhandler.py:724 +#, fuzzy, python-brace-format +#| msgid "Command '%s' is not available." +msgid "Command '{command}' is not available." +msgstr "命令 '%s' 不可用。" + +#: commands/cmdhandler.py:734 +#, fuzzy, python-brace-format +#| msgid " Maybe you meant %s?" +msgid " Maybe you meant {command}?" +msgstr " 您指的是 %s 吗?" + +#: commands/cmdhandler.py:735 +msgid "or" +msgstr "或" + +#: commands/cmdhandler.py:738 +msgid " Type \"help\" for help." +msgstr " 键入 \"help\" 获得帮助。" + +#: commands/cmdsethandler.py:89 +#, python-brace-format +msgid "" +"{traceback}\n" +"Error loading cmdset '{path}'\n" +"(Traceback was logged {timestamp})" +msgstr "" +"{traceback}\n" +"读取CmdSet '{path}' 时发生错误 \n" +"(已记录 Traceback {timestamp})" + +#: commands/cmdsethandler.py:95 +#, python-brace-format +msgid "" +"Error loading cmdset: No cmdset class '{classname}' in '{path}'.\n" +"(Traceback was logged {timestamp})" +msgstr "" +"读取 CmdSet 时发生错误:在 '{path}' 处未找到 CmdSet '{classname}' 。\n" +"(已记录 Traceback {timestamp})" + +#: commands/cmdsethandler.py:100 +#, python-brace-format +msgid "" +"{traceback}\n" +"SyntaxError encountered when loading cmdset '{path}'.\n" +"(Traceback was logged {timestamp})" +msgstr "" +"{traceback}\n" +"读取在 '{path}' 处的 CmdSet 时发生 语法 错误。\n" +"(已记录 Traceback {timestamp})" + +#: commands/cmdsethandler.py:106 +#, fuzzy, python-brace-format +#| msgid "" +#| "{traceback}\n" +#| "Compile/Run error when loading cmdset '{path}'.\",\n" +#| "(Traceback was logged {timestamp})" +msgid "" +"{traceback}\n" +"Compile/Run error when loading cmdset '{path}'.\n" +"(Traceback was logged {timestamp})" +msgstr "" +"{traceback}\n" +"读取在 '{path}' 处的 CmdSet 时发生 编译/运行 错误。\",\n" +"(已记录 Traceback {timestamp})" + +#: commands/cmdsethandler.py:112 +#, python-brace-format +msgid "" +"\n" +"Error encountered for cmdset at path '{path}'.\n" +"Replacing with fallback '{fallback_path}'.\n" +msgstr "" +"\n" +"读取在 '{path}' 处的 CmdSet 时发生错误。\n" +"使用备选路径 '{fallback_path}' 。\n" + +#: commands/cmdsethandler.py:118 +#, python-brace-format +msgid "Fallback path '{fallback_path}' failed to generate a cmdset." +msgstr "在备选路径 '{fallback_path}' 处创建 CmdSet 失败。" + +#: commands/cmdsethandler.py:188 commands/cmdsethandler.py:200 +#, fuzzy, python-brace-format +#| msgid "" +#| "\n" +#| "(Unsuccessfully tried '%s')." +msgid "" +"\n" +"(Unsuccessfully tried '{path}')." +msgstr "" +"\n" +"(尝试 '%s' 失败)。" + +#: commands/cmdsethandler.py:331 +#, python-brace-format +msgid "custom {mergetype} on cmdset '{cmdset}'" +msgstr "CmdSet '{cmdset}' 的自定义 {mergetype}" + +#: commands/cmdsethandler.py:459 +msgid "Only CmdSets can be added to the cmdsethandler!" +msgstr "只有 CmdSet 可以被添加给 cmdsethandler!" + +#: locks/lockhandler.py:238 +#, fuzzy, python-brace-format +#| msgid "Lock: lock-function '%s' is not available." +msgid "Lock: lock-function '{lockfunc}' is not available." +msgstr "Lock:Lock函数 '%s' 不可用。" + +#: locks/lockhandler.py:259 +#, fuzzy, python-brace-format +#| msgid "Lock: definition '%s' has syntax errors." +msgid "Lock: definition '{lock_string}' has syntax errors." +msgstr "Lock:定义 '%s' 发生语法错误。" + +#: locks/lockhandler.py:267 +#, fuzzy, python-brace-format +#| msgid "" +#| "LockHandler on %(obj)s: access type '%(access_type)s' changed from " +#| "'%(source)s' to '%(goal)s' " +msgid "" +"LockHandler on {obj}: access type '{access_type}' changed from '{source}' to " +"'{goal}' " +msgstr "" +"%(obj)s 上的 LockHandler: 访问类型 '%(access_type)s' 由 '%(source)s' 改变为 " +"'%(goal)s' " + +#: locks/lockhandler.py:341 +#, python-brace-format +msgid "Lock: '{lockdef}' contains no colon (:)." +msgstr "Lock:'{lockdef}' 缺少英文冒号 (:) 。" + +#: locks/lockhandler.py:350 +#, python-brace-format +msgid "Lock: '{lockdef}' has no access_type (left-side of colon is empty)." +msgstr "Lock: '{lockdef}' 无访问类型(冒号左侧缺少数据)。" + +#: locks/lockhandler.py:358 +#, python-brace-format +msgid "Lock: '{lockdef}' has mismatched parentheses." +msgstr "Lock: '{lockdef}' 英文括号不匹配。" + +#: locks/lockhandler.py:365 +#, python-brace-format +msgid "Lock: '{lockdef}' has no valid lock functions." +msgstr "Lock: '{lockdef}' 缺少合法Lock函数。" + +#: objects/objects.py:871 +#, fuzzy, python-brace-format +#| msgid "Couldn't perform move ('%s'). Contact an admin." +msgid "Couldn't perform move ({err}). Contact an admin." +msgstr "无法做出行动 ('%s')。请联系管理员。" + +#: objects/objects.py:881 +msgid "The destination doesn't exist." +msgstr "目的地不存在。" + +#: objects/objects.py:974 +#, fuzzy, python-brace-format +#| msgid "Could not find default home '(#%d)'." +msgid "Could not find default home '(#{dbid})'." +msgstr "无法定位默认寓所 '(#%d)' 。" + +#: objects/objects.py:988 +msgid "Something went wrong! You are dumped into nowhere. Contact an admin." +msgstr "出现错误!您进入了错误的地点。请联系管理员。" + +#: objects/objects.py:1138 +#, fuzzy, python-brace-format +#| msgid "Your character %s has been destroyed." +msgid "Your character {key} has been destroyed." +msgstr "您的角色 %s 被摧毁了。" + +#: objects/objects.py:1546 +#, python-brace-format +msgid "You now have {name} in your possession." +msgstr "" + +#: objects/objects.py:1555 +#, python-brace-format +msgid "{object} arrives to {destination} from {origin}." +msgstr "" + +#: objects/objects.py:1557 +#, python-brace-format +msgid "{object} arrives to {destination}." +msgstr "" + +#: objects/objects.py:2165 +msgid "Invalid character name." +msgstr "" + +#: objects/objects.py:2184 +msgid "There are too many characters associated with this account." +msgstr "" + +#: objects/objects.py:2210 +#, fuzzy +#| msgid "This is User #1." +msgid "This is a character." +msgstr "这是管理员。" + +#: objects/objects.py:2296 +#, python-brace-format +msgid "|r{obj} has no location and no home is set.|n" +msgstr "" + +#: objects/objects.py:2315 +#, python-brace-format +msgid "" +"\n" +"You become |c{name}|n.\n" +msgstr "" + +#: objects/objects.py:2319 +#, python-brace-format +msgid "{name} has entered the game." +msgstr "" + +#: objects/objects.py:2343 +#, python-brace-format +msgid "{name} has left the game." +msgstr "" + +#: objects/objects.py:2461 +#, fuzzy +#| msgid "This is User #1." +msgid "This is a room." +msgstr "这是管理员。" + +#: objects/objects.py:2667 +#, fuzzy +#| msgid "This is User #1." +msgid "This is an exit." +msgstr "这是管理员。" + +#: objects/objects.py:2764 +msgid "You cannot go there." +msgstr "" + +#: prototypes/prototypes.py:57 +msgid "Error" +msgstr "" + +#: prototypes/prototypes.py:58 +msgid "Warning" +msgstr "" + +#: prototypes/prototypes.py:263 +msgid "Prototype requires a prototype_key" +msgstr "" + +#: prototypes/prototypes.py:271 prototypes/prototypes.py:339 +#, python-brace-format +msgid "{protkey} is a read-only prototype (defined as code in {module})." +msgstr "" + +#: prototypes/prototypes.py:346 +#, python-brace-format +msgid "Prototype {prototype_key} was not found." +msgstr "" + +#: prototypes/prototypes.py:353 +#, python-brace-format +msgid "" +"{caller} needs explicit 'edit' permissions to delete prototype " +"{prototype_key}." +msgstr "" + +#: prototypes/prototypes.py:455 +#, python-brace-format +msgid "Found {num} matching prototypes {module_prototypes}." +msgstr "" + +#: prototypes/prototypes.py:615 +msgid "No prototypes found." +msgstr "" + +#: prototypes/prototypes.py:666 +msgid "Prototype lacks a 'prototype_key'." +msgstr "" + +#: prototypes/prototypes.py:675 +#, python-brace-format +msgid "Prototype {protkey} requires `typeclass` or 'prototype_parent'." +msgstr "" + +#: prototypes/prototypes.py:680 +#, python-brace-format +msgid "" +"Prototype {protkey} can only be used as a mixin since it lacks 'typeclass' " +"or 'prototype_parent' keys." +msgstr "" + +#: prototypes/prototypes.py:689 +#, python-brace-format +msgid "" +"{err}: Prototype {protkey} is based on typeclass {typeclass}, which could " +"not be imported!" +msgstr "" + +#: prototypes/prototypes.py:699 +#, python-brace-format +msgid "Prototype {protkey} tries to parent itself." +msgstr "" + +#: prototypes/prototypes.py:704 +#, python-brace-format +msgid "Prototype {protkey}'s prototype_parent '{parent}' was not found." +msgstr "" + +#: prototypes/prototypes.py:709 +#, python-brace-format +msgid "{protkey} has infinite nesting of prototypes." +msgstr "" + +#: prototypes/prototypes.py:729 +#, python-brace-format +msgid "" +"Prototype {protkey} has no `typeclass` defined anywhere in its parent\n" +" chain. Add `typeclass`, or a `prototype_parent` pointing to a prototype " +"with a typeclass." +msgstr "" + +#: prototypes/spawner.py:473 +#, python-brace-format +msgid "" +"Diff contains non-dicts that are not on the form (old, new, action_to_take): " +"{diffpart}" +msgstr "" + +#: scripts/scripthandler.py:51 +#, fuzzy, python-brace-format +#| msgid "" +#| "\n" +#| " '%(key)s' (%(next_repeat)s/%(interval)s, %(repeats)s repeats): %(desc)s" +msgid "" +"\n" +" '{key}' ({next_repeat}/{interval}, {repeats} repeats): {desc}" +msgstr "" +"\n" +" '%(key)s' (%(next_repeat)s/%(interval)s, %(repeats)s repeats): %(desc)s" + +#: scripts/scripts.py:329 +#, fuzzy, python-brace-format +#| msgid "" +#| "Script %(key)s(#%(dbid)s) of type '%(cname)s': at_repeat() error " +#| "'%(err)s'." +msgid "Script {key}(#{dbid}) of type '{name}': at_repeat() error '{err}'." +msgstr "" +"'%(cname)s' 的脚本 %(key)s(#%(dbid)s): at_repeat() 出现 '%(err)s' 错误。" + +#: server/initial_setup.py:28 +#, fuzzy +#| msgid "" +#| "\n" +#| "Welcome to your new |wEvennia|n-based game! Visit http://www.evennia.com " +#| "if you need\n" +#| "help, want to contribute, report issues or just join the community.\n" +#| "As Account #1 you can create a demo/tutorial area with |w@batchcommand " +#| "tutorial_world.build|n.\n" +#| " " +msgid "" +"\n" +"Welcome to your new |wEvennia|n-based game! Visit https://www.evennia.com if " +"you need\n" +"help, want to contribute, report issues or just join the community.\n" +"As Account #1 you can create a demo/tutorial area with '|wbatchcommand " +"tutorial_world.build|n'.\n" +msgstr "" +"\n" +"欢迎进入您的基于 |wEvennia|n 的游戏! 如果需要帮助、想要做些贡献、报告错误的" +"话,请访问 http://www.evennia.com 。\n" +"\n" +"作为管理员,你可以使用 |w@batchcommand tutorial_world.build|n 来创建一个演示/" +"教程区域。\n" +" " + +#: server/initial_setup.py:92 +msgid "This is User #1." +msgstr "这是管理员。" + +#: server/initial_setup.py:108 +msgid "Limbo" +msgstr "边境" + +#: server/portal/portalsessionhandler.py:40 +#, python-brace-format +msgid "" +"{servername} DoS protection is active. You are queued to connect in {num} " +"seconds ..." +msgstr "" + +#: server/server.py:152 +msgid "idle timeout exceeded" +msgstr "连接超时" + +#: server/sessionhandler.py:42 +msgid "Your client sent an incorrect UTF-8 sequence." +msgstr "" + +#: server/sessionhandler.py:399 +msgid " ... Server restarted." +msgstr " ... 服务器已启动。" + +#: server/sessionhandler.py:623 +msgid "Logged in from elsewhere. Disconnecting." +msgstr "异地登录。已断线。" + +#: server/sessionhandler.py:652 +msgid "Idle timeout exceeded, disconnecting." +msgstr "连接超时。已断线。" + +#: server/throttle.py:21 +msgid "" +"Too many failed attempts; you must wait a few minutes before trying again." +msgstr "" + +#: server/validators.py:31 +msgid "Sorry, that username is reserved." +msgstr "" + +#: server/validators.py:38 +msgid "Sorry, that username is already taken." +msgstr "" + +#: server/validators.py:88 +#, fuzzy, python-brace-format +#| msgid "" +#| "%s From a terminal client, you can also use a phrase of multiple words if " +#| "you enclose the password in double quotes." +msgid "" +"{policy} From a terminal client, you can also use a phrase of multiple words " +"if you enclose the password in double quotes." +msgstr "" +"(%s) 在命令行客户端中,您可以使用英文引号将输入内容扩起,来使用包含空格的词" +"组。" + +#: utils/eveditor.py:67 +msgid "" +"\n" +" - any non-command is appended to the end of the buffer.\n" +" : - view buffer or only line(s) \n" +" :: - raw-view buffer or only line(s) \n" +" ::: - escape - enter ':' as the only character on the line.\n" +" :h - this help.\n" +"\n" +" :w - save the buffer (don't quit)\n" +" :wq - save buffer and quit\n" +" :q - quit (will be asked to save if buffer was changed)\n" +" :q! - quit without saving, no questions asked\n" +"\n" +" :u - (undo) step backwards in undo history\n" +" :uu - (redo) step forward in undo history\n" +" :UU - reset all changes back to initial state\n" +"\n" +" :dd - delete last line or line(s) \n" +" :dw - delete word or regex in entire buffer or on line \n" +" :DD - clear entire buffer\n" +"\n" +" :y - yank (copy) line(s) to the copy buffer\n" +" :x - cut line(s) and store it in the copy buffer\n" +" :p - put (paste) previously copied line(s) directly after \n" +" :i - insert new text at line . Old line will move " +"down\n" +" :r - replace line with text \n" +" :I - insert text at the beginning of line \n" +" :A - append text after the end of line \n" +"\n" +" :s - search/replace word or regex in buffer or on line " +"\n" +"\n" +" :j - justify buffer or line . is f, c, l or r. Default f " +"(full)\n" +" :f - flood-fill entire buffer or line : Equivalent to :j left\n" +" :fi - indent entire buffer or line \n" +" :fd - de-indent entire buffer or line \n" +"\n" +" :echo - turn echoing of the input on/off (helpful for some clients)\n" +msgstr "" + +#: utils/eveditor.py:105 +msgid "" +"\n" +" Legend:\n" +" - line number, like '5' or range, like '3:7'.\n" +" - a single word, or multiple words with quotes around them.\n" +" - longer string, usually not needing quotes.\n" +msgstr "" + +#: utils/eveditor.py:112 +msgid "" +"\n" +" :! - Execute code buffer without saving\n" +" :< - Decrease the level of automatic indentation for the next lines\n" +" :> - Increase the level of automatic indentation for the next lines\n" +" := - Switch automatic indentation on/off\n" +msgstr "" + +#: utils/eveditor.py:121 +#, python-brace-format +msgid "" +"\n" +"{error}\n" +"\n" +"|rBuffer load function error. Could not load initial data.|n\n" +msgstr "" + +#: utils/eveditor.py:127 +#, python-brace-format +msgid "" +"\n" +"{error}\n" +"\n" +"|rSave function returned an error. Buffer not saved.|n\n" +msgstr "" + +#: utils/eveditor.py:133 +msgid "|rNo save function defined. Buffer cannot be saved.|n" +msgstr "" + +#: utils/eveditor.py:135 +msgid "No changes need saving" +msgstr "" + +#: utils/eveditor.py:136 +msgid "Exited editor." +msgstr "" + +#: utils/eveditor.py:138 +#, python-brace-format +msgid "" +"\n" +"{error}\n" +"\n" +"|rQuit function gave an error. Skipping.|n\n" +msgstr "" + +#: utils/eveditor.py:144 +#, python-brace-format +msgid "" +"\n" +"{error}\n" +"\n" +"|rThe editor state could not be saved for persistent mode. Switching\n" +"to non-persistent mode (which means the editor session won't survive\n" +"an eventual server reload - so save often!)|n\n" +msgstr "" + +#: utils/eveditor.py:153 +msgid "" +"EvEditor persistent-mode error. Commonly, this is because one or more of the " +"EvEditor callbacks could not be pickled, for example because it's a class " +"method or is defined inside another function." +msgstr "" + +#: utils/eveditor.py:159 +msgid "Nothing to undo." +msgstr "" + +#: utils/eveditor.py:160 +msgid "Nothing to redo." +msgstr "" + +#: utils/eveditor.py:161 +msgid "Undid one step." +msgstr "" + +#: utils/eveditor.py:162 +msgid "Redid one step." +msgstr "" + +#: utils/eveditor.py:480 +msgid "Single ':' added to buffer." +msgstr "" + +#: utils/eveditor.py:495 +msgid "Save before quitting?" +msgstr "" + +#: utils/eveditor.py:510 +msgid "Reverted all changes to the buffer back to original state." +msgstr "" + +#: utils/eveditor.py:515 +#, python-brace-format +msgid "Deleted {string}." +msgstr "" + +#: utils/eveditor.py:520 +msgid "You must give a search word to delete." +msgstr "" + +#: utils/eveditor.py:525 +#, python-brace-format +msgid "Removed {arg1} for lines {l1}-{l2}." +msgstr "" + +#: utils/eveditor.py:528 +#, python-brace-format +msgid "Removed {arg1} for {line}." +msgstr "" + +#: utils/eveditor.py:544 +#, python-brace-format +msgid "Cleared {nlines} lines from buffer." +msgstr "" + +#: utils/eveditor.py:549 +#, python-brace-format +msgid "{line}, {cbuf} yanked." +msgstr "" + +#: utils/eveditor.py:556 +#, python-brace-format +msgid "{line}, {cbuf} cut." +msgstr "" + +#: utils/eveditor.py:560 +msgid "Copy buffer is empty." +msgstr "" + +#: utils/eveditor.py:564 +#, python-brace-format +msgid "Pasted buffer {cbuf} to {line}." +msgstr "" + +#: utils/eveditor.py:570 +msgid "You need to enter a new line and where to insert it." +msgstr "" + +#: utils/eveditor.py:574 +#, python-brace-format +msgid "Inserted {num} new line(s) at {line}." +msgstr "" + +#: utils/eveditor.py:580 +msgid "You need to enter a replacement string." +msgstr "" + +#: utils/eveditor.py:584 +#, python-brace-format +msgid "Replaced {num} line(s) at {line}." +msgstr "" + +#: utils/eveditor.py:589 +msgid "You need to enter text to insert." +msgstr "" + +#: utils/eveditor.py:597 +#, python-brace-format +msgid "Inserted text at beginning of {line}." +msgstr "" + +#: utils/eveditor.py:601 +msgid "You need to enter text to append." +msgstr "" + +#: utils/eveditor.py:609 +#, python-brace-format +msgid "Appended text to end of {line}." +msgstr "" + +#: utils/eveditor.py:614 +msgid "You must give a search word and something to replace it with." +msgstr "" + +#: utils/eveditor.py:620 +#, python-brace-format +msgid "Search-replaced {arg1} -> {arg2} for lines {l1}-{l2}." +msgstr "" + +#: utils/eveditor.py:625 +#, python-brace-format +msgid "Search-replaced {arg1} -> {arg2} for {line}." +msgstr "" + +#: utils/eveditor.py:648 +#, python-brace-format +msgid "Flood filled lines {l1}-{l2}." +msgstr "" + +#: utils/eveditor.py:651 +#, python-brace-format +msgid "Flood filled {line}." +msgstr "" + +#: utils/eveditor.py:673 +msgid "Valid justifications are" +msgstr "" + +#: utils/eveditor.py:681 +#, python-brace-format +msgid "{align}-justified lines {l1}-{l2}." +msgstr "" + +#: utils/eveditor.py:684 +#, python-brace-format +msgid "{align}-justified {line}." +msgstr "" + +#: utils/eveditor.py:696 +#, python-brace-format +msgid "Indented lines {l1}-{l2}." +msgstr "" + +#: utils/eveditor.py:698 +#, python-brace-format +msgid "Indented {line}." +msgstr "" + +#: utils/eveditor.py:707 +#, python-brace-format +msgid "Removed left margin (dedented) lines {l1}-{l2}." +msgstr "" + +#: utils/eveditor.py:710 +#, python-brace-format +msgid "Removed left margin (dedented) {line}." +msgstr "" + +#: utils/eveditor.py:718 +#, python-brace-format +msgid "Echo mode set to {mode}" +msgstr "" + +#: utils/eveditor.py:723 utils/eveditor.py:736 utils/eveditor.py:749 +#: utils/eveditor.py:760 +msgid "This command is only available in code editor mode." +msgstr "" + +#: utils/eveditor.py:731 +#, python-brace-format +msgid "Decreased indentation: new indentation is {indent}." +msgstr "" + +#: utils/eveditor.py:734 utils/eveditor.py:747 +msgid "|rManual indentation is OFF.|n Use := to turn it on." +msgstr "" + +#: utils/eveditor.py:744 +#, python-brace-format +msgid "Increased indentation: new indentation is {indent}." +msgstr "" + +#: utils/eveditor.py:756 +msgid "Auto-indentation turned on." +msgstr "" + +#: utils/eveditor.py:758 +msgid "Auto-indentation turned off." +msgstr "" + +#: utils/eveditor.py:913 +msgid "|rNote: input buffer was converted to a string.|n" +msgstr "" + +#: utils/eveditor.py:1050 +#, python-brace-format +msgid "Line Editor [{name}]" +msgstr "" + +#: utils/eveditor.py:1058 +msgid "(:h for help)" +msgstr "" + +#: utils/evmenu.py:302 +#, fuzzy, python-brace-format +#| msgid "" +#| "Menu node '{nodename}' is either not implemented or caused an error. Make " +#| "another choice." +msgid "" +"Menu node '{nodename}' is either not implemented or caused an error. Make " +"another choice or try 'q' to abort." +msgstr "菜单节点 '{nodename}' 未实现或发生错误。请尝试其他选项。" + +#: utils/evmenu.py:305 +#, python-brace-format +msgid "Error in menu node '{nodename}'." +msgstr "菜单节点 '{nodename}' 发生错误。" + +#: utils/evmenu.py:306 +msgid "No description." +msgstr "无描述。" + +#: utils/evmenu.py:307 +msgid "Commands: , help, quit" +msgstr "命令:, help, quit" + +#: utils/evmenu.py:308 +msgid "Commands: , help" +msgstr "命令: , help" + +#: utils/evmenu.py:309 +msgid "Commands: help, quit" +msgstr "命令: help, quit" + +#: utils/evmenu.py:310 +msgid "Commands: help" +msgstr "命令: help" + +#: utils/evmenu.py:311 utils/evmenu.py:1842 +msgid "Choose an option or try 'help'." +msgstr "" + +#: utils/evmenu.py:1383 +msgid "|rInvalid choice.|n" +msgstr "" + +#: utils/evmenu.py:1441 +msgid "|Wcurrent|n" +msgstr "" + +#: utils/evmenu.py:1449 +msgid "|wp|Wrevious page|n" +msgstr "" + +#: utils/evmenu.py:1456 +msgid "|wn|Wext page|n" +msgstr "" + +#: utils/evmenu.py:1690 +msgid "Aborted." +msgstr "" + +#: utils/evmenu.py:1713 +msgid "|rError in ask_yes_no. Choice not confirmed (report to admin)|n" +msgstr "" + +#: utils/evmore.py:235 +msgid "Exited |wmore|n pager." +msgstr "" + +#: utils/optionhandler.py:138 utils/optionhandler.py:162 +msgid "Option not found!" +msgstr "" + +#: utils/optionhandler.py:159 +msgid "Option field blank!" +msgstr "" + +#: utils/optionhandler.py:164 +#, fuzzy +#| msgid "There were multiple matches." +msgid "Multiple matches:" +msgstr "发现多个匹配项。" + +#: utils/optionhandler.py:166 +msgid "Please be more specific." +msgstr "" + +#: utils/utils.py:2219 +#, fuzzy, python-brace-format +#| msgid "Could not find '%s'." +msgid "Could not find '{query}'." +msgstr "无法找到 '%s'" + +#: utils/utils.py:2226 +#, fuzzy, python-brace-format +#| msgid "More than one match for '%s' (please narrow target):\n" +msgid "More than one match for '{query}' (please narrow target):\n" +msgstr "发现多个符合 '%s' 的匹配项 (请缩小范围):\n" + +#: utils/validatorfuncs.py:25 +#, python-brace-format +msgid "Input could not be converted to text ({err})" +msgstr "" + +#: utils/validatorfuncs.py:34 +#, python-brace-format +msgid "Nothing entered for a {option_key}!" +msgstr "" + +#: utils/validatorfuncs.py:37 +#, python-brace-format +msgid "'{entry}' is not a valid {option_key}." +msgstr "" + +#: utils/validatorfuncs.py:62 utils/validatorfuncs.py:223 +#, python-brace-format +msgid "No {option_key} entered!" +msgstr "" + +#: utils/validatorfuncs.py:71 +#, python-brace-format +msgid "Timezone string '{acct_tz}' is not a valid timezone ({err})" +msgstr "" + +#: utils/validatorfuncs.py:88 utils/validatorfuncs.py:96 +#, python-brace-format +msgid "{option_key} must be entered in a 24-hour format such as: {timeformat}" +msgstr "" + +#: utils/validatorfuncs.py:140 +#, python-brace-format +msgid "Could not convert section '{interval}' to a {option_key}." +msgstr "" + +#: utils/validatorfuncs.py:150 +#, python-brace-format +msgid "That {option_key} is in the past! Must give a Future datetime!" +msgstr "" + +#: utils/validatorfuncs.py:157 +#, python-brace-format +msgid "Must enter a whole number for {option_key}!" +msgstr "" + +#: utils/validatorfuncs.py:162 +#, python-brace-format +msgid "Could not convert '{entry}' to a whole number for {option_key}!" +msgstr "" + +#: utils/validatorfuncs.py:171 +#, python-brace-format +msgid "Must enter a whole number greater than 0 for {option_key}!" +msgstr "" + +#: utils/validatorfuncs.py:179 +#, python-brace-format +msgid "{option_key} must be a whole number greater than or equal to 0!" +msgstr "" + +#: utils/validatorfuncs.py:197 +#, python-brace-format +msgid "Must enter a true/false input for {option_key}. Accepts {alternatives}." +msgstr "" + +#: utils/validatorfuncs.py:227 +#, python-brace-format +msgid "That matched: {matches}. Please be more specific!" +msgstr "" + +#: utils/validatorfuncs.py:231 +#, python-brace-format +msgid "Could not find timezone '{entry}' for {option_key}!" +msgstr "" + +#: utils/validatorfuncs.py:237 +msgid "Email address field empty!" +msgstr "" + +#: utils/validatorfuncs.py:240 +#, python-brace-format +msgid "That isn't a valid {option_key}!" +msgstr "" + +#: utils/validatorfuncs.py:247 +#, python-brace-format +msgid "No {option_key} entered to set!" +msgstr "" + +#: utils/validatorfuncs.py:251 +msgid "Must enter an access type!" +msgstr "" + +#: utils/validatorfuncs.py:254 +#, python-brace-format +msgid "Access type must be one of: {alternatives}" +msgstr "" + +#: utils/validatorfuncs.py:257 +msgid "Lock func not entered." +msgstr "" + +#: web/templates/admin/app_list.html:19 +msgid "Add" +msgstr "" + +#: web/templates/admin/app_list.html:26 +msgid "View" +msgstr "" + +#: web/templates/admin/app_list.html:28 +msgid "Change" +msgstr "" + +#: web/templates/admin/app_list.html:39 +msgid "You don’t have permission to view or edit anything." +msgstr "" + +#~ msgid " : {current}" +#~ msgstr "<合并 {mergelist} {mergetype},优先级 {prio}>: {current}" + +#~ msgid "" +#~ " <{key} ({mergetype}, prio {prio}, {permstring})>:\n" +#~ " {keylist}" +#~ msgstr "" +#~ " <{key} ({mergetype}, 优先级 {prio}, {permstring})>:\n" +#~ " {keylist}" + +#~ msgid "Say what?" +#~ msgstr "您想说?" + +#~ msgid "Channel '%s' not found." +#~ msgstr "未找到频道 '%s' 。" + +#~ msgid "You are not connected to channel '%s'." +#~ msgstr "未连接至频道 '%s' 。" + +#~ msgid "You are not permitted to send to channel '%s'." +#~ msgstr "您未被允许在频道 '%s' 发送信息。" + +#~ msgid " (channel)" +#~ msgstr " (频道)" diff --git a/evennia/objects/objects.py b/evennia/objects/objects.py index 782896fb61..db7060116a 100644 --- a/evennia/objects/objects.py +++ b/evennia/objects/objects.py @@ -868,7 +868,7 @@ class DefaultObject(ObjectDB, metaclass=TypeclassBase): self.msg("%s%s" % (string, "" if err is None else " (%s)" % err)) return - errtxt = _("Couldn't perform move ('%s'). Contact an admin.") + errtxt = _("Couldn't perform move ({err}). Contact an admin.") if not emit_to_obj: emit_to_obj = self @@ -890,7 +890,7 @@ class DefaultObject(ObjectDB, metaclass=TypeclassBase): if not self.at_before_move(destination, **kwargs): return False except Exception as err: - logerr(errtxt % "at_before_move()", err) + logerr(errtxt.format(err="at_before_move()"), err) return False # Save the old location @@ -901,7 +901,7 @@ class DefaultObject(ObjectDB, metaclass=TypeclassBase): try: source_location.at_object_leave(self, destination, **kwargs) except Exception as err: - logerr(errtxt % "at_object_leave()", err) + logerr(errtxt.format(err="at_object_leave()"), err) return False if not quiet: @@ -909,14 +909,14 @@ class DefaultObject(ObjectDB, metaclass=TypeclassBase): try: self.announce_move_from(destination, **kwargs) except Exception as err: - logerr(errtxt % "at_announce_move()", err) + logerr(errtxt.format(err="at_announce_move()"), err) return False # Perform move try: self.location = destination except Exception as err: - logerr(errtxt % "location change", err) + logerr(errtxt.format(err="location change"), err) return False if not quiet: @@ -924,7 +924,7 @@ class DefaultObject(ObjectDB, metaclass=TypeclassBase): try: self.announce_move_to(source_location, **kwargs) except Exception as err: - logerr(errtxt % "announce_move_to()", err) + logerr(errtxt.format(err="announce_move_to()"), err) return False if move_hooks: @@ -933,7 +933,7 @@ class DefaultObject(ObjectDB, metaclass=TypeclassBase): try: destination.at_object_receive(self, source_location, **kwargs) except Exception as err: - logerr(errtxt % "at_object_receive()", err) + logerr(errtxt.format(err="at_object_receive()"), err) return False # Execute eventual extra commands on this object after moving it @@ -942,7 +942,7 @@ class DefaultObject(ObjectDB, metaclass=TypeclassBase): try: self.at_after_move(source_location, **kwargs) except Exception as err: - logerr(errtxt % "at_after_move", err) + logerr(errtxt.format(err="at_after_move"), err) return False return True @@ -971,8 +971,8 @@ class DefaultObject(ObjectDB, metaclass=TypeclassBase): # we are deleting default home! default_home = None except Exception: - string = _("Could not find default home '(#%d)'.") - logger.log_err(string % default_home_id) + string = _("Could not find default home '(#{dbid})'.") + logger.log_err(string.format(dbid=default_home_id)) default_home = None for obj in self.contents: @@ -993,8 +993,8 @@ class DefaultObject(ObjectDB, metaclass=TypeclassBase): if obj.has_account: if home: string = "Your current location has ceased to exist," - string += " moving you to %s(#%d)." - obj.msg(_(string) % (home.name, home.dbid)) + string += " moving you to (#{dbid})." + obj.msg(_(string).format(dbid=home.dbid)) else: # Famous last words: The account should never see this. string = "This place should not exist ... contact an admin." diff --git a/evennia/scripts/scripthandler.py b/evennia/scripts/scripthandler.py index ffce38ed54..8fe5f34eb1 100644 --- a/evennia/scripts/scripthandler.py +++ b/evennia/scripts/scripthandler.py @@ -48,15 +48,11 @@ class ScriptHandler(object): next_repeat = script.time_until_next_repeat() except Exception: next_repeat = "?" - string += _( - "\n '%(key)s' (%(next_repeat)s/%(interval)s, %(repeats)s repeats): %(desc)s" - ) % { - "key": script.key, - "next_repeat": next_repeat, - "interval": interval, - "repeats": repeats, - "desc": script.desc, - } + string += _("\n '{key}' ({next_repeat}/{interval}, {repeats} repeats): {desc}").format( + key=script.key, next_repeat=next_repeat, + interval=interval, + repeats=repeats, + desc=script.desc) return string.strip() def add(self, scriptclass, key=None, autostart=True):