Add tag to catch link-dead puppet. Resolve #2829, #2737

This commit is contained in:
Griatch 2022-10-29 20:54:57 +02:00
parent 5c6a4200c2
commit da68598b63
16 changed files with 741 additions and 643 deletions

View file

@ -364,6 +364,8 @@ class DefaultAccount(AccountDB, metaclass=TypeclassBase):
# do the puppeting # do the puppeting
obj.at_pre_puppet(self, session=session) obj.at_pre_puppet(self, session=session)
# used to track in case of crash so we can clean up later
obj.tags.add("puppeted", category="account")
# do the connection # do the connection
obj.sessions.add(session) obj.sessions.add(session)
@ -398,6 +400,7 @@ class DefaultAccount(AccountDB, metaclass=TypeclassBase):
if not obj.sessions.count(): if not obj.sessions.count():
del obj.account del obj.account
obj.at_post_unpuppet(self, session=session) obj.at_post_unpuppet(self, session=session)
obj.tags.remove("puppeted", category="account")
SIGNAL_OBJECT_POST_UNPUPPET.send(sender=obj, session=session, account=self) SIGNAL_OBJECT_POST_UNPUPPET.send(sender=obj, session=session, account=self)
# Just to be sure we're always clear. # Just to be sure we're always clear.
session.puppet = None session.puppet = None

View file

@ -7,7 +7,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: \n" "Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-10-02 09:27+0000\n" "POT-Creation-Date: 2022-10-29 18:53+0000\n"
"PO-Revision-Date: 2019-08-16 16:14-0300\n" "PO-Revision-Date: 2019-08-16 16:14-0300\n"
"Last-Translator: \n" "Last-Translator: \n"
"Language-Team: \n" "Language-Team: \n"
@ -29,64 +29,64 @@ msgid ""
"You cannot control any more puppets (max {_MAX_NR_SIMULTANEOUS_PUPPETS})" "You cannot control any more puppets (max {_MAX_NR_SIMULTANEOUS_PUPPETS})"
msgstr "" msgstr ""
#: accounts/accounts.py:552 #: accounts/accounts.py:555
msgid "Too many login failures; please try again in a few minutes." msgid "Too many login failures; please try again in a few minutes."
msgstr "" msgstr ""
#: accounts/accounts.py:565 accounts/accounts.py:829 #: accounts/accounts.py:568 accounts/accounts.py:832
msgid "" msgid ""
"|rYou have been banned and cannot continue from here.\n" "|rYou have been banned and cannot continue from here.\n"
"If you feel this ban is in error, please email an admin.|x" "If you feel this ban is in error, please email an admin.|x"
msgstr "" msgstr ""
#: accounts/accounts.py:577 #: accounts/accounts.py:580
msgid "Username and/or password is incorrect." msgid "Username and/or password is incorrect."
msgstr "" msgstr ""
#: accounts/accounts.py:584 #: accounts/accounts.py:587
msgid "Too many authentication failures." msgid "Too many authentication failures."
msgstr "" msgstr ""
#: accounts/accounts.py:800 #: accounts/accounts.py:803
msgid "" msgid ""
"You are creating too many accounts. Please log into an existing account." "You are creating too many accounts. Please log into an existing account."
msgstr "" msgstr ""
#: accounts/accounts.py:846 #: accounts/accounts.py:849
msgid "" msgid ""
"There was an error creating the Account. If this problem persists, contact " "There was an error creating the Account. If this problem persists, contact "
"an admin." "an admin."
msgstr "" msgstr ""
#: accounts/accounts.py:882 accounts/accounts.py:1798 #: accounts/accounts.py:885 accounts/accounts.py:1801
msgid "An error occurred. Please e-mail an admin if the problem persists." msgid "An error occurred. Please e-mail an admin if the problem persists."
msgstr "" msgstr ""
#: accounts/accounts.py:915 #: accounts/accounts.py:918
msgid "Account being deleted." msgid "Account being deleted."
msgstr "Cuenta siendo eliminada." msgstr "Cuenta siendo eliminada."
#: accounts/accounts.py:1472 accounts/accounts.py:1816 #: accounts/accounts.py:1475 accounts/accounts.py:1819
#, python-brace-format #, python-brace-format
msgid "|G{key} connected|n" msgid "|G{key} connected|n"
msgstr "" msgstr ""
#: accounts/accounts.py:1478 #: accounts/accounts.py:1481
#, fuzzy #, fuzzy
#| msgid "The destination doesn't exist." #| msgid "The destination doesn't exist."
msgid "The Character does not exist." msgid "The Character does not exist."
msgstr "El destino no existe." msgstr "El destino no existe."
#: accounts/accounts.py:1517 #: accounts/accounts.py:1520
#, python-brace-format #, python-brace-format
msgid "|R{key} disconnected{reason}|n" msgid "|R{key} disconnected{reason}|n"
msgstr "" msgstr ""
#: accounts/accounts.py:1751 #: accounts/accounts.py:1754
msgid "Guest accounts are not enabled on this server." msgid "Guest accounts are not enabled on this server."
msgstr "" msgstr ""
#: accounts/accounts.py:1761 #: accounts/accounts.py:1764
msgid "All guest accounts are in use. Please try again later." msgid "All guest accounts are in use. Please try again later."
msgstr "" msgstr ""
@ -323,96 +323,96 @@ msgstr "Bloqueo: '{lockdef}' tiene paréntesis que no se relacionan."
msgid "Lock: '{lockdef}' has no valid lock functions." msgid "Lock: '{lockdef}' has no valid lock functions."
msgstr "Bloqueo: '{lockdef}' no tiene funciones de bloqueo válidas." msgstr "Bloqueo: '{lockdef}' no tiene funciones de bloqueo válidas."
#: objects/objects.py:855 #: objects/objects.py:856
#, fuzzy, python-brace-format #, fuzzy, python-brace-format
#| msgid "Couldn't perform move ('%s'). Contact an admin." #| msgid "Couldn't perform move ('%s'). Contact an admin."
msgid "Couldn't perform move ({err}). Contact an admin." msgid "Couldn't perform move ({err}). Contact an admin."
msgstr "No se puede realizar el movimiento ('%s'). Contacta a un admin." msgstr "No se puede realizar el movimiento ('%s'). Contacta a un admin."
#: objects/objects.py:865 #: objects/objects.py:866
msgid "The destination doesn't exist." msgid "The destination doesn't exist."
msgstr "El destino no existe." msgstr "El destino no existe."
#: objects/objects.py:977 #: objects/objects.py:978
#, fuzzy, python-brace-format #, fuzzy, python-brace-format
#| msgid "Could not find default home '(#%d)'." #| msgid "Could not find default home '(#%d)'."
msgid "Could not find default home '(#{dbid})'." msgid "Could not find default home '(#{dbid})'."
msgstr "No se puede encontrar el hogar por defecto '(#%d)'." msgstr "No se puede encontrar el hogar por defecto '(#%d)'."
#: objects/objects.py:991 #: objects/objects.py:992
msgid "Something went wrong! You are dumped into nowhere. Contact an admin." 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." msgstr "¡Algo salió mal! Estás en la nada. Contacta a un admin."
#: objects/objects.py:1144 #: objects/objects.py:1145
#, fuzzy, python-brace-format #, fuzzy, python-brace-format
#| msgid "Your character %s has been destroyed." #| msgid "Your character %s has been destroyed."
msgid "Your character {key} has been destroyed." msgid "Your character {key} has been destroyed."
msgstr "Tu personaje %s ha sido destruído." msgstr "Tu personaje %s ha sido destruído."
#: objects/objects.py:1852 #: objects/objects.py:1853
#, python-brace-format #, python-brace-format
msgid "You now have {name} in your possession." msgid "You now have {name} in your possession."
msgstr "" msgstr ""
#: objects/objects.py:1862 #: objects/objects.py:1863
#, python-brace-format #, python-brace-format
msgid "{object} arrives to {destination} from {origin}." msgid "{object} arrives to {destination} from {origin}."
msgstr "" msgstr ""
#: objects/objects.py:1864 #: objects/objects.py:1865
#, python-brace-format #, python-brace-format
msgid "{object} arrives to {destination}." msgid "{object} arrives to {destination}."
msgstr "" msgstr ""
#: objects/objects.py:2529 #: objects/objects.py:2530
msgid "Invalid character name." msgid "Invalid character name."
msgstr "" msgstr ""
#: objects/objects.py:2548 #: objects/objects.py:2549
msgid "There are too many characters associated with this account." msgid "There are too many characters associated with this account."
msgstr "" msgstr ""
#: objects/objects.py:2574 #: objects/objects.py:2575
#, fuzzy #, fuzzy
#| msgid "This is User #1." #| msgid "This is User #1."
msgid "This is a character." msgid "This is a character."
msgstr "Este es el Usuario #1." msgstr "Este es el Usuario #1."
#: objects/objects.py:2663 #: objects/objects.py:2664
#, python-brace-format #, python-brace-format
msgid "|r{obj} has no location and no home is set.|n" msgid "|r{obj} has no location and no home is set.|n"
msgstr "" msgstr ""
#: objects/objects.py:2681 #: objects/objects.py:2682
#, python-brace-format #, python-brace-format
msgid "" msgid ""
"\n" "\n"
"You become |c{name}|n.\n" "You become |c{name}|n.\n"
msgstr "" msgstr ""
#: objects/objects.py:2686 #: objects/objects.py:2687
#, python-brace-format #, python-brace-format
msgid "{name} has entered the game." msgid "{name} has entered the game."
msgstr "" msgstr ""
#: objects/objects.py:2712 #: objects/objects.py:2716
#, python-brace-format #, python-brace-format
msgid "{name} has left the game." msgid "{name} has left the game{reason}."
msgstr "" msgstr ""
#: objects/objects.py:2831 #: objects/objects.py:2838
#, fuzzy #, fuzzy
#| msgid "This is User #1." #| msgid "This is User #1."
msgid "This is a room." msgid "This is a room."
msgstr "Este es el Usuario #1." msgstr "Este es el Usuario #1."
#: objects/objects.py:3038 #: objects/objects.py:3045
#, fuzzy #, fuzzy
#| msgid "This is User #1." #| msgid "This is User #1."
msgid "This is an exit." msgid "This is an exit."
msgstr "Este es el Usuario #1." msgstr "Este es el Usuario #1."
#: objects/objects.py:3135 #: objects/objects.py:3142
msgid "You cannot go there." msgid "You cannot go there."
msgstr "" msgstr ""
@ -424,83 +424,83 @@ msgstr ""
msgid "Warning" msgid "Warning"
msgstr "" msgstr ""
#: prototypes/prototypes.py:390 #: prototypes/prototypes.py:389
msgid "Prototype requires a prototype_key" msgid "Prototype requires a prototype_key"
msgstr "" msgstr ""
#: prototypes/prototypes.py:398 prototypes/prototypes.py:467 #: prototypes/prototypes.py:397 prototypes/prototypes.py:466
#: prototypes/prototypes.py:1087 #: prototypes/prototypes.py:1092
#, python-brace-format #, python-brace-format
msgid "{protkey} is a read-only prototype (defined as code in {module})." msgid "{protkey} is a read-only prototype (defined as code in {module})."
msgstr "" msgstr ""
#: prototypes/prototypes.py:400 prototypes/prototypes.py:469 #: prototypes/prototypes.py:399 prototypes/prototypes.py:468
#: prototypes/prototypes.py:1089 #: prototypes/prototypes.py:1094
#, python-brace-format #, python-brace-format
msgid "{protkey} is a read-only prototype (passed directly as a dict)." msgid "{protkey} is a read-only prototype (passed directly as a dict)."
msgstr "" msgstr ""
#: prototypes/prototypes.py:476 #: prototypes/prototypes.py:475
#, python-brace-format #, python-brace-format
msgid "Prototype {prototype_key} was not found." msgid "Prototype {prototype_key} was not found."
msgstr "" msgstr ""
#: prototypes/prototypes.py:484 #: prototypes/prototypes.py:483
#, python-brace-format #, python-brace-format
msgid "" msgid ""
"{caller} needs explicit 'edit' permissions to delete prototype " "{caller} needs explicit 'edit' permissions to delete prototype "
"{prototype_key}." "{prototype_key}."
msgstr "" msgstr ""
#: prototypes/prototypes.py:606 #: prototypes/prototypes.py:605
#, python-brace-format #, python-brace-format
msgid "Found {num} matching prototypes among {module_prototypes}." msgid "Found {num} matching prototypes among {module_prototypes}."
msgstr "" msgstr ""
#: prototypes/prototypes.py:766 #: prototypes/prototypes.py:765
msgid "No prototypes found." msgid "No prototypes found."
msgstr "" msgstr ""
#: prototypes/prototypes.py:817 #: prototypes/prototypes.py:816
msgid "Prototype lacks a 'prototype_key'." msgid "Prototype lacks a 'prototype_key'."
msgstr "" msgstr ""
#: prototypes/prototypes.py:826 #: prototypes/prototypes.py:825
#, python-brace-format #, python-brace-format
msgid "Prototype {protkey} requires `typeclass` or 'prototype_parent'." msgid "Prototype {protkey} requires `typeclass` or 'prototype_parent'."
msgstr "" msgstr ""
#: prototypes/prototypes.py:833 #: prototypes/prototypes.py:832
#, python-brace-format #, python-brace-format
msgid "" msgid ""
"Prototype {protkey} can only be used as a mixin since it lacks 'typeclass' " "Prototype {protkey} can only be used as a mixin since it lacks 'typeclass' "
"or 'prototype_parent' keys." "or 'prototype_parent' keys."
msgstr "" msgstr ""
#: prototypes/prototypes.py:844 #: prototypes/prototypes.py:843
#, python-brace-format #, python-brace-format
msgid "" msgid ""
"{err}: Prototype {protkey} is based on typeclass {typeclass}, which could " "{err}: Prototype {protkey} is based on typeclass {typeclass}, which could "
"not be imported!" "not be imported!"
msgstr "" msgstr ""
#: prototypes/prototypes.py:863 #: prototypes/prototypes.py:862
#, python-brace-format #, python-brace-format
msgid "Prototype {protkey} tries to parent itself." msgid "Prototype {protkey} tries to parent itself."
msgstr "" msgstr ""
#: prototypes/prototypes.py:869 #: prototypes/prototypes.py:868
#, python-brace-format #, python-brace-format
msgid "" msgid ""
"Prototype {protkey}'s `prototype_parent` (named '{parent}') was not found." "Prototype {protkey}'s `prototype_parent` (named '{parent}') was not found."
msgstr "" msgstr ""
#: prototypes/prototypes.py:877 #: prototypes/prototypes.py:875
#, python-brace-format #, python-brace-format
msgid "{protkey} has infinite nesting of prototypes." msgid "{protkey} has infinite nesting of prototypes."
msgstr "" msgstr ""
#: prototypes/prototypes.py:902 #: prototypes/prototypes.py:900
#, python-brace-format #, python-brace-format
msgid "" msgid ""
"Prototype {protkey} has no `typeclass` defined anywhere in its parent\n" "Prototype {protkey} has no `typeclass` defined anywhere in its parent\n"
@ -508,7 +508,7 @@ msgid ""
"with a typeclass." "with a typeclass."
msgstr "" msgstr ""
#: prototypes/spawner.py:497 #: prototypes/spawner.py:495
#, python-brace-format #, python-brace-format
msgid "" msgid ""
"Diff contains non-dicts that are not on the form (old, new, action_to_take): " "Diff contains non-dicts that are not on the form (old, new, action_to_take): "
@ -582,10 +582,14 @@ msgid ""
"seconds ..." "seconds ..."
msgstr "" msgstr ""
#: server/server.py:157 #: server/server.py:156
msgid "idle timeout exceeded" msgid "idle timeout exceeded"
msgstr "tiempo sin actividad excedido" msgstr "tiempo sin actividad excedido"
#: server/server.py:177
msgid " (connection lost)"
msgstr ""
#: server/sessionhandler.py:41 #: server/sessionhandler.py:41
msgid "Your client sent an incorrect UTF-8 sequence." msgid "Your client sent an incorrect UTF-8 sequence."
msgstr "" msgstr ""
@ -1038,27 +1042,27 @@ msgstr "Hubo varias coincidencias."
msgid "Please be more specific." msgid "Please be more specific."
msgstr "" msgstr ""
#: utils/utils.py:2121 #: utils/utils.py:2127
#, python-brace-format #, python-brace-format
msgid "" msgid ""
"{obj}.{handlername} is a handler and can't be set directly. To add values, " "{obj}.{handlername} is a handler and can't be set directly. To add values, "
"use `{obj}.{handlername}.add()` instead." "use `{obj}.{handlername}.add()` instead."
msgstr "" msgstr ""
#: utils/utils.py:2131 #: utils/utils.py:2137
#, python-brace-format #, python-brace-format
msgid "" msgid ""
"{obj}.{handlername} is a handler and can't be deleted directly. To remove " "{obj}.{handlername} is a handler and can't be deleted directly. To remove "
"values, use `{obj}.{handlername}.remove()` instead." "values, use `{obj}.{handlername}.remove()` instead."
msgstr "" msgstr ""
#: utils/utils.py:2272 #: utils/utils.py:2278
#, fuzzy, python-brace-format #, fuzzy, python-brace-format
#| msgid "Could not find '%s'." #| msgid "Could not find '%s'."
msgid "Could not find '{query}'." msgid "Could not find '{query}'."
msgstr "No se pudo encontrar '%s'." msgstr "No se pudo encontrar '%s'."
#: utils/utils.py:2279 #: utils/utils.py:2285
#, fuzzy, python-brace-format #, fuzzy, python-brace-format
#| msgid "More than one match for '%s' (please narrow target):\n" #| msgid "More than one match for '%s' (please narrow target):\n"
msgid "More than one match for '{query}' (please narrow target):\n" msgid "More than one match for '{query}' (please narrow target):\n"

View file

@ -7,7 +7,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: \n" "Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-10-02 09:27+0000\n" "POT-Creation-Date: 2022-10-29 18:53+0000\n"
"PO-Revision-Date: 2022-03-20 19:55+0100\n" "PO-Revision-Date: 2022-03-20 19:55+0100\n"
"Last-Translator: Christophe Petry <toktoktheeo@outlook.com>\n" "Last-Translator: Christophe Petry <toktoktheeo@outlook.com>\n"
"Language-Team: \n" "Language-Team: \n"
@ -29,13 +29,13 @@ msgid ""
"You cannot control any more puppets (max {_MAX_NR_SIMULTANEOUS_PUPPETS})" "You cannot control any more puppets (max {_MAX_NR_SIMULTANEOUS_PUPPETS})"
msgstr "" msgstr ""
#: accounts/accounts.py:552 #: accounts/accounts.py:555
msgid "Too many login failures; please try again in a few minutes." msgid "Too many login failures; please try again in a few minutes."
msgstr "" msgstr ""
"Trop d'échecs de tentatives de connexion; veuillez réessayer dans quelques " "Trop d'échecs de tentatives de connexion; veuillez réessayer dans quelques "
"minutes." "minutes."
#: accounts/accounts.py:565 accounts/accounts.py:829 #: accounts/accounts.py:568 accounts/accounts.py:832
msgid "" msgid ""
"|rYou have been banned and cannot continue from here.\n" "|rYou have been banned and cannot continue from here.\n"
"If you feel this ban is in error, please email an admin.|x" "If you feel this ban is in error, please email an admin.|x"
@ -44,21 +44,21 @@ msgstr ""
"Si vous pensez que c'est une erreur, veuillez contacter un admin par e-mail.|" "Si vous pensez que c'est une erreur, veuillez contacter un admin par e-mail.|"
"x" "x"
#: accounts/accounts.py:577 #: accounts/accounts.py:580
msgid "Username and/or password is incorrect." msgid "Username and/or password is incorrect."
msgstr "Nom d'utilisateur et/ou mot de passe incorrect(s)." msgstr "Nom d'utilisateur et/ou mot de passe incorrect(s)."
#: accounts/accounts.py:584 #: accounts/accounts.py:587
msgid "Too many authentication failures." msgid "Too many authentication failures."
msgstr "Trop d'échecs de tentatives de connexion." msgstr "Trop d'échecs de tentatives de connexion."
#: accounts/accounts.py:800 #: accounts/accounts.py:803
msgid "" msgid ""
"You are creating too many accounts. Please log into an existing account." "You are creating too many accounts. Please log into an existing account."
msgstr "" msgstr ""
"Vous créez trop de comptes. Veuillez vous connecter à un compte existant." "Vous créez trop de comptes. Veuillez vous connecter à un compte existant."
#: accounts/accounts.py:846 #: accounts/accounts.py:849
msgid "" msgid ""
"There was an error creating the Account. If this problem persists, contact " "There was an error creating the Account. If this problem persists, contact "
"an admin." "an admin."
@ -66,36 +66,36 @@ msgstr ""
"Il y a eu une erreur lors de la création du compte. Si le problème persiste " "Il y a eu une erreur lors de la création du compte. Si le problème persiste "
"veuillez contacter un admin." "veuillez contacter un admin."
#: accounts/accounts.py:882 accounts/accounts.py:1798 #: accounts/accounts.py:885 accounts/accounts.py:1801
msgid "An error occurred. Please e-mail an admin if the problem persists." msgid "An error occurred. Please e-mail an admin if the problem persists."
msgstr "" msgstr ""
"Une erreur s'est produite. Veuillez contacter un admin par e-mail si le " "Une erreur s'est produite. Veuillez contacter un admin par e-mail si le "
"problème persiste." "problème persiste."
#: accounts/accounts.py:915 #: accounts/accounts.py:918
#, fuzzy #, fuzzy
msgid "Account being deleted." msgid "Account being deleted."
msgstr "Suppression du compte." msgstr "Suppression du compte."
#: accounts/accounts.py:1472 accounts/accounts.py:1816 #: accounts/accounts.py:1475 accounts/accounts.py:1819
#, python-brace-format #, python-brace-format
msgid "|G{key} connected|n" msgid "|G{key} connected|n"
msgstr "|G{key} s'est connecté(e)|n" msgstr "|G{key} s'est connecté(e)|n"
#: accounts/accounts.py:1478 #: accounts/accounts.py:1481
msgid "The Character does not exist." msgid "The Character does not exist."
msgstr "Ce personnage n'existe pas." msgstr "Ce personnage n'existe pas."
#: accounts/accounts.py:1517 #: accounts/accounts.py:1520
#, python-brace-format #, python-brace-format
msgid "|R{key} disconnected{reason}|n" msgid "|R{key} disconnected{reason}|n"
msgstr "|R{key} s'est déconnecté(e){reason}|n" msgstr "|R{key} s'est déconnecté(e){reason}|n"
#: accounts/accounts.py:1751 #: accounts/accounts.py:1754
msgid "Guest accounts are not enabled on this server." msgid "Guest accounts are not enabled on this server."
msgstr "Les comptes visiteurs ne sont pas actifs sur ce serveur." msgstr "Les comptes visiteurs ne sont pas actifs sur ce serveur."
#: accounts/accounts.py:1761 #: accounts/accounts.py:1764
msgid "All guest accounts are in use. Please try again later." msgid "All guest accounts are in use. Please try again later."
msgstr "" msgstr ""
"Tous les comptes visiteurs sont utilisés. Veuillez réessayer plus tard." "Tous les comptes visiteurs sont utilisés. Veuillez réessayer plus tard."
@ -348,65 +348,65 @@ msgstr "Verrou: '{lockdef}' comporte des parenthèses non concordantes."
msgid "Lock: '{lockdef}' has no valid lock functions." msgid "Lock: '{lockdef}' has no valid lock functions."
msgstr "Verrou: '{lockdef}' ne possède pas de fonction de verrouillage valide." msgstr "Verrou: '{lockdef}' ne possède pas de fonction de verrouillage valide."
#: objects/objects.py:855 #: objects/objects.py:856
#, python-brace-format #, python-brace-format
msgid "Couldn't perform move ({err}). Contact an admin." msgid "Couldn't perform move ({err}). Contact an admin."
msgstr "" msgstr ""
"Impossible d'effectuer le déplacement ({err}). Veuillez contacter un admin." "Impossible d'effectuer le déplacement ({err}). Veuillez contacter un admin."
#: objects/objects.py:865 #: objects/objects.py:866
msgid "The destination doesn't exist." msgid "The destination doesn't exist."
msgstr "La destination n'existe pas." msgstr "La destination n'existe pas."
#: objects/objects.py:977 #: objects/objects.py:978
#, python-brace-format #, python-brace-format
msgid "Could not find default home '(#{dbid})'." msgid "Could not find default home '(#{dbid})'."
msgstr "Impossible de trouver le foyer par défaut '(#{dbid})'." msgstr "Impossible de trouver le foyer par défaut '(#{dbid})'."
#: objects/objects.py:991 #: objects/objects.py:992
msgid "Something went wrong! You are dumped into nowhere. Contact an admin." msgid "Something went wrong! You are dumped into nowhere. Contact an admin."
msgstr "" msgstr ""
"Quelque chose a mal tourné ! Vous vous trouvez au milieu de nulle part. " "Quelque chose a mal tourné ! Vous vous trouvez au milieu de nulle part. "
"Veuillez contacter un admin." "Veuillez contacter un admin."
#: objects/objects.py:1144 #: objects/objects.py:1145
#, python-brace-format #, python-brace-format
msgid "Your character {key} has been destroyed." msgid "Your character {key} has been destroyed."
msgstr "Votre personnage {key} a été détruit." msgstr "Votre personnage {key} a été détruit."
#: objects/objects.py:1852 #: objects/objects.py:1853
#, python-brace-format #, python-brace-format
msgid "You now have {name} in your possession." msgid "You now have {name} in your possession."
msgstr "Vous avez maintenant {name} en votre possession." msgstr "Vous avez maintenant {name} en votre possession."
#: objects/objects.py:1862 #: objects/objects.py:1863
#, python-brace-format #, python-brace-format
msgid "{object} arrives to {destination} from {origin}." msgid "{object} arrives to {destination} from {origin}."
msgstr "" msgstr ""
#: objects/objects.py:1864 #: objects/objects.py:1865
#, python-brace-format #, python-brace-format
msgid "{object} arrives to {destination}." msgid "{object} arrives to {destination}."
msgstr "" msgstr ""
#: objects/objects.py:2529 #: objects/objects.py:2530
msgid "Invalid character name." msgid "Invalid character name."
msgstr "Nom de personnage invalide." msgstr "Nom de personnage invalide."
#: objects/objects.py:2548 #: objects/objects.py:2549
msgid "There are too many characters associated with this account." msgid "There are too many characters associated with this account."
msgstr "Il y a trop de personnages associés à ce compte." msgstr "Il y a trop de personnages associés à ce compte."
#: objects/objects.py:2574 #: objects/objects.py:2575
msgid "This is a character." msgid "This is a character."
msgstr "C'est un personnage." msgstr "C'est un personnage."
#: objects/objects.py:2663 #: objects/objects.py:2664
#, python-brace-format #, python-brace-format
msgid "|r{obj} has no location and no home is set.|n" msgid "|r{obj} has no location and no home is set.|n"
msgstr "|r{obj} n'a pas de localisation et aucun foyer n'est déterminé.|n" msgstr "|r{obj} n'a pas de localisation et aucun foyer n'est déterminé.|n"
#: objects/objects.py:2681 #: objects/objects.py:2682
#, python-brace-format #, python-brace-format
msgid "" msgid ""
"\n" "\n"
@ -415,25 +415,26 @@ msgstr ""
"\n" "\n"
"Vous contrôlez maintenant |c{name}|n.\n" "Vous contrôlez maintenant |c{name}|n.\n"
#: objects/objects.py:2686 #: objects/objects.py:2687
#, python-brace-format #, python-brace-format
msgid "{name} has entered the game." msgid "{name} has entered the game."
msgstr "{name} est entré(e) dans le jeu." msgstr "{name} est entré(e) dans le jeu."
#: objects/objects.py:2712 #: objects/objects.py:2716
#, python-brace-format #, fuzzy, python-brace-format
msgid "{name} has left the game." #| msgid "{name} has left the game."
msgid "{name} has left the game{reason}."
msgstr "{name} est sorti(e) du jeu." msgstr "{name} est sorti(e) du jeu."
#: objects/objects.py:2831 #: objects/objects.py:2838
msgid "This is a room." msgid "This is a room."
msgstr "C'est une pièce." msgstr "C'est une pièce."
#: objects/objects.py:3038 #: objects/objects.py:3045
msgid "This is an exit." msgid "This is an exit."
msgstr "C'est une sortie." msgstr "C'est une sortie."
#: objects/objects.py:3135 #: objects/objects.py:3142
msgid "You cannot go there." msgid "You cannot go there."
msgstr "Vous ne pouvez pas aller là." msgstr "Vous ne pouvez pas aller là."
@ -445,32 +446,32 @@ msgstr "Erreur"
msgid "Warning" msgid "Warning"
msgstr "Avertissement" msgstr "Avertissement"
#: prototypes/prototypes.py:390 #: prototypes/prototypes.py:389
msgid "Prototype requires a prototype_key" msgid "Prototype requires a prototype_key"
msgstr "Le prototype requiert prototype_key" msgstr "Le prototype requiert prototype_key"
#: prototypes/prototypes.py:398 prototypes/prototypes.py:467 #: prototypes/prototypes.py:397 prototypes/prototypes.py:466
#: prototypes/prototypes.py:1087 #: prototypes/prototypes.py:1092
#, python-brace-format #, python-brace-format
msgid "{protkey} is a read-only prototype (defined as code in {module})." msgid "{protkey} is a read-only prototype (defined as code in {module})."
msgstr "" msgstr ""
"{protkey} est un prototype en lecture seule (définit comme code dans " "{protkey} est un prototype en lecture seule (définit comme code dans "
"{module})." "{module})."
#: prototypes/prototypes.py:400 prototypes/prototypes.py:469 #: prototypes/prototypes.py:399 prototypes/prototypes.py:468
#: prototypes/prototypes.py:1089 #: prototypes/prototypes.py:1094
#, python-brace-format #, python-brace-format
msgid "{protkey} is a read-only prototype (passed directly as a dict)." msgid "{protkey} is a read-only prototype (passed directly as a dict)."
msgstr "" msgstr ""
"{protkey} est un prototype en lecture seule (passé directement comme un " "{protkey} est un prototype en lecture seule (passé directement comme un "
"dictionnaire)." "dictionnaire)."
#: prototypes/prototypes.py:476 #: prototypes/prototypes.py:475
#, python-brace-format #, python-brace-format
msgid "Prototype {prototype_key} was not found." msgid "Prototype {prototype_key} was not found."
msgstr "Le prototype {prototype_key} n'a pas été trouvé." msgstr "Le prototype {prototype_key} n'a pas été trouvé."
#: prototypes/prototypes.py:484 #: prototypes/prototypes.py:483
#, python-brace-format #, python-brace-format
msgid "" msgid ""
"{caller} needs explicit 'edit' permissions to delete prototype " "{caller} needs explicit 'edit' permissions to delete prototype "
@ -479,25 +480,25 @@ msgstr ""
"{caller} a besoin de la permission explicite 'edit' pour supprimer le " "{caller} a besoin de la permission explicite 'edit' pour supprimer le "
"prototype {prototype_key}." "prototype {prototype_key}."
#: prototypes/prototypes.py:606 #: prototypes/prototypes.py:605
#, python-brace-format #, python-brace-format
msgid "Found {num} matching prototypes among {module_prototypes}." msgid "Found {num} matching prototypes among {module_prototypes}."
msgstr "Trouvé {num} prototypes correspondants parmi {module_prototypes}." msgstr "Trouvé {num} prototypes correspondants parmi {module_prototypes}."
#: prototypes/prototypes.py:766 #: prototypes/prototypes.py:765
msgid "No prototypes found." msgid "No prototypes found."
msgstr "Aucun prototype trouvé." msgstr "Aucun prototype trouvé."
#: prototypes/prototypes.py:817 #: prototypes/prototypes.py:816
msgid "Prototype lacks a 'prototype_key'." msgid "Prototype lacks a 'prototype_key'."
msgstr "Le prototype n'a pas de 'prototype_key'." msgstr "Le prototype n'a pas de 'prototype_key'."
#: prototypes/prototypes.py:826 #: prototypes/prototypes.py:825
#, python-brace-format #, python-brace-format
msgid "Prototype {protkey} requires `typeclass` or 'prototype_parent'." msgid "Prototype {protkey} requires `typeclass` or 'prototype_parent'."
msgstr "Le prototype {protkey} requiert `typeclass` ou 'prototype_parent'." msgstr "Le prototype {protkey} requiert `typeclass` ou 'prototype_parent'."
#: prototypes/prototypes.py:833 #: prototypes/prototypes.py:832
#, python-brace-format #, python-brace-format
msgid "" msgid ""
"Prototype {protkey} can only be used as a mixin since it lacks 'typeclass' " "Prototype {protkey} can only be used as a mixin since it lacks 'typeclass' "
@ -506,7 +507,7 @@ msgstr ""
"Le prototype {protkey} ne peut être utilisé qu'en tant que mixin car il n'a " "Le prototype {protkey} ne peut être utilisé qu'en tant que mixin car il n'a "
"pas de clé 'typeclass' ou 'prototype_parent'." "pas de clé 'typeclass' ou 'prototype_parent'."
#: prototypes/prototypes.py:844 #: prototypes/prototypes.py:843
#, python-brace-format #, python-brace-format
msgid "" msgid ""
"{err}: Prototype {protkey} is based on typeclass {typeclass}, which could " "{err}: Prototype {protkey} is based on typeclass {typeclass}, which could "
@ -515,12 +516,12 @@ msgstr ""
"{err} : Le prototype {protkey} est basé sur la typeclass {typeclass}, qui " "{err} : Le prototype {protkey} est basé sur la typeclass {typeclass}, qui "
"n'a pas pu être importée !" "n'a pas pu être importée !"
#: prototypes/prototypes.py:863 #: prototypes/prototypes.py:862
#, python-brace-format #, python-brace-format
msgid "Prototype {protkey} tries to parent itself." msgid "Prototype {protkey} tries to parent itself."
msgstr "Le prototype {protkey} essaie d'être son propre parent." msgstr "Le prototype {protkey} essaie d'être son propre parent."
#: prototypes/prototypes.py:869 #: prototypes/prototypes.py:868
#, python-brace-format #, python-brace-format
msgid "" msgid ""
"Prototype {protkey}'s `prototype_parent` (named '{parent}') was not found." "Prototype {protkey}'s `prototype_parent` (named '{parent}') was not found."
@ -528,12 +529,12 @@ msgstr ""
"Le `prototype_parent` du prototype {protkey} (nommé '{parent}') n'a pas été " "Le `prototype_parent` du prototype {protkey} (nommé '{parent}') n'a pas été "
"trouvé." "trouvé."
#: prototypes/prototypes.py:877 #: prototypes/prototypes.py:875
#, python-brace-format #, python-brace-format
msgid "{protkey} has infinite nesting of prototypes." msgid "{protkey} has infinite nesting of prototypes."
msgstr "{protkey} a une imbrication infinie de prototypes." msgstr "{protkey} a une imbrication infinie de prototypes."
#: prototypes/prototypes.py:902 #: prototypes/prototypes.py:900
#, python-brace-format #, python-brace-format
msgid "" msgid ""
"Prototype {protkey} has no `typeclass` defined anywhere in its parent\n" "Prototype {protkey} has no `typeclass` defined anywhere in its parent\n"
@ -545,7 +546,7 @@ msgstr ""
"Ajoutez une `typeclass`, ou un `prototype_parent` pointant vers un prototype " "Ajoutez une `typeclass`, ou un `prototype_parent` pointant vers un prototype "
"avec une typeclass." "avec une typeclass."
#: prototypes/spawner.py:497 #: prototypes/spawner.py:495
#, python-brace-format #, python-brace-format
msgid "" msgid ""
"Diff contains non-dicts that are not on the form (old, new, action_to_take): " "Diff contains non-dicts that are not on the form (old, new, action_to_take): "
@ -606,10 +607,14 @@ msgstr ""
"La protection DoS de {servername} est active. Vous êtes en attente de " "La protection DoS de {servername} est active. Vous êtes en attente de "
"connexion dans {num} secondes ..." "connexion dans {num} secondes ..."
#: server/server.py:157 #: server/server.py:156
msgid "idle timeout exceeded" msgid "idle timeout exceeded"
msgstr "délai d'inactivité dépassé" msgstr "délai d'inactivité dépassé"
#: server/server.py:177
msgid " (connection lost)"
msgstr ""
#: server/sessionhandler.py:41 #: server/sessionhandler.py:41
msgid "Your client sent an incorrect UTF-8 sequence." msgid "Your client sent an incorrect UTF-8 sequence."
msgstr "Votre client a envoyé une séquence UTF-8 incorrecte." msgstr "Votre client a envoyé une séquence UTF-8 incorrecte."
@ -1059,7 +1064,7 @@ msgstr "Plusieurs correspondances possibles:"
msgid "Please be more specific." msgid "Please be more specific."
msgstr "Veuillez être plus précis." msgstr "Veuillez être plus précis."
#: utils/utils.py:2121 #: utils/utils.py:2127
#, python-brace-format #, python-brace-format
msgid "" msgid ""
"{obj}.{handlername} is a handler and can't be set directly. To add values, " "{obj}.{handlername} is a handler and can't be set directly. To add values, "
@ -1068,7 +1073,7 @@ msgstr ""
"{obj}.{handlername} est un handler et ne peut pas être défini directement. " "{obj}.{handlername} est un handler et ne peut pas être défini directement. "
"Pour ajouter des valeurs, utilisez `{obj}.{handlername}.add()` à la place." "Pour ajouter des valeurs, utilisez `{obj}.{handlername}.add()` à la place."
#: utils/utils.py:2131 #: utils/utils.py:2137
#, python-brace-format #, python-brace-format
msgid "" msgid ""
"{obj}.{handlername} is a handler and can't be deleted directly. To remove " "{obj}.{handlername} is a handler and can't be deleted directly. To remove "
@ -1077,12 +1082,12 @@ msgstr ""
"{obj}.{handlername} est un handler et ne peut pas être supprimé directement. " "{obj}.{handlername} est un handler et ne peut pas être supprimé directement. "
"Pour supprimer des valeurs, utilisez plutôt `{obj}.{handlername}.remove()` ." "Pour supprimer des valeurs, utilisez plutôt `{obj}.{handlername}.remove()` ."
#: utils/utils.py:2272 #: utils/utils.py:2278
#, python-brace-format #, python-brace-format
msgid "Could not find '{query}'." msgid "Could not find '{query}'."
msgstr "Impossible de trouver '{query}'." msgstr "Impossible de trouver '{query}'."
#: utils/utils.py:2279 #: utils/utils.py:2285
#, python-brace-format #, python-brace-format
msgid "More than one match for '{query}' (please narrow target):\n" msgid "More than one match for '{query}' (please narrow target):\n"
msgstr "" msgstr ""

View file

@ -9,7 +9,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: Evennia\n" "Project-Id-Version: Evennia\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-10-02 09:27+0000\n" "POT-Creation-Date: 2022-10-29 18:53+0000\n"
"PO-Revision-Date: 2021-02-16 11:55+0100\n" "PO-Revision-Date: 2021-02-16 11:55+0100\n"
"Last-Translator: Roberto PM <rpolverelli [at] gmail>\n" "Last-Translator: Roberto PM <rpolverelli [at] gmail>\n"
"Language-Team: Tristano Ajmone <tajmone@gmail.com>\n" "Language-Team: Tristano Ajmone <tajmone@gmail.com>\n"
@ -32,11 +32,11 @@ msgid ""
"You cannot control any more puppets (max {_MAX_NR_SIMULTANEOUS_PUPPETS})" "You cannot control any more puppets (max {_MAX_NR_SIMULTANEOUS_PUPPETS})"
msgstr "" msgstr ""
#: accounts/accounts.py:552 #: accounts/accounts.py:555
msgid "Too many login failures; please try again in a few minutes." msgid "Too many login failures; please try again in a few minutes."
msgstr "Troppi tentativi di login; per favore riprova tra qualche minuto." msgstr "Troppi tentativi di login; per favore riprova tra qualche minuto."
#: accounts/accounts.py:565 accounts/accounts.py:829 #: accounts/accounts.py:568 accounts/accounts.py:832
msgid "" msgid ""
"|rYou have been banned and cannot continue from here.\n" "|rYou have been banned and cannot continue from here.\n"
"If you feel this ban is in error, please email an admin.|x" "If you feel this ban is in error, please email an admin.|x"
@ -45,22 +45,22 @@ msgstr ""
"Se ritieni ciò sia avvenuto per errore, per favore contatta un " "Se ritieni ciò sia avvenuto per errore, per favore contatta un "
"amministratore.|x" "amministratore.|x"
#: accounts/accounts.py:577 #: accounts/accounts.py:580
msgid "Username and/or password is incorrect." msgid "Username and/or password is incorrect."
msgstr "L'username e/o la password sono errati." msgstr "L'username e/o la password sono errati."
#: accounts/accounts.py:584 #: accounts/accounts.py:587
msgid "Too many authentication failures." msgid "Too many authentication failures."
msgstr "" msgstr ""
#: accounts/accounts.py:800 #: accounts/accounts.py:803
msgid "" msgid ""
"You are creating too many accounts. Please log into an existing account." "You are creating too many accounts. Please log into an existing account."
msgstr "" msgstr ""
"Stai creando troppi account. Per favore effettua il login con un account " "Stai creando troppi account. Per favore effettua il login con un account "
"esistente." "esistente."
#: accounts/accounts.py:846 #: accounts/accounts.py:849
msgid "" msgid ""
"There was an error creating the Account. If this problem persists, contact " "There was an error creating the Account. If this problem persists, contact "
"an admin." "an admin."
@ -68,35 +68,35 @@ msgstr ""
"Si è verificato un errore durante la creazione dell'Account. Se questo " "Si è verificato un errore durante la creazione dell'Account. Se questo "
"problema persiste, contatta un amministratore." "problema persiste, contatta un amministratore."
#: accounts/accounts.py:882 accounts/accounts.py:1798 #: accounts/accounts.py:885 accounts/accounts.py:1801
msgid "An error occurred. Please e-mail an admin if the problem persists." msgid "An error occurred. Please e-mail an admin if the problem persists."
msgstr "" msgstr ""
"Si è verificato un errore. Per favore contatta un amministratore se il " "Si è verificato un errore. Per favore contatta un amministratore se il "
"problema persiste." "problema persiste."
#: accounts/accounts.py:915 #: accounts/accounts.py:918
msgid "Account being deleted." msgid "Account being deleted."
msgstr "Cancellazione account in corso." msgstr "Cancellazione account in corso."
#: accounts/accounts.py:1472 accounts/accounts.py:1816 #: accounts/accounts.py:1475 accounts/accounts.py:1819
#, python-brace-format #, python-brace-format
msgid "|G{key} connected|n" msgid "|G{key} connected|n"
msgstr "|G{key} si è connesso|n" msgstr "|G{key} si è connesso|n"
#: accounts/accounts.py:1478 #: accounts/accounts.py:1481
msgid "The Character does not exist." msgid "The Character does not exist."
msgstr "Personaggio inesistente." msgstr "Personaggio inesistente."
#: accounts/accounts.py:1517 #: accounts/accounts.py:1520
#, python-brace-format #, python-brace-format
msgid "|R{key} disconnected{reason}|n" msgid "|R{key} disconnected{reason}|n"
msgstr "|R{key} si è disconnesso{reason}|n" msgstr "|R{key} si è disconnesso{reason}|n"
#: accounts/accounts.py:1751 #: accounts/accounts.py:1754
msgid "Guest accounts are not enabled on this server." msgid "Guest accounts are not enabled on this server."
msgstr "Su questo server non è abilitato alcun account ospite" msgstr "Su questo server non è abilitato alcun account ospite"
#: accounts/accounts.py:1761 #: accounts/accounts.py:1764
msgid "All guest accounts are in use. Please try again later." msgid "All guest accounts are in use. Please try again later."
msgstr "" msgstr ""
"Tutti gli account ospite stanno venendo utilizzati. Per favore riprova più " "Tutti gli account ospite stanno venendo utilizzati. Per favore riprova più "
@ -330,98 +330,98 @@ msgstr "Lock: '{lockdef}' presenta irregolarità nell'uso delle parentesi."
msgid "Lock: '{lockdef}' has no valid lock functions." msgid "Lock: '{lockdef}' has no valid lock functions."
msgstr "Lock: '{lockdef}' non contiene funzioni di lock valide." msgstr "Lock: '{lockdef}' non contiene funzioni di lock valide."
#: objects/objects.py:855 #: objects/objects.py:856
#, fuzzy, python-brace-format #, fuzzy, python-brace-format
#| msgid "Couldn't perform move ('%s'). Contact an admin." #| msgid "Couldn't perform move ('%s'). Contact an admin."
msgid "Couldn't perform move ({err}). Contact an admin." msgid "Couldn't perform move ({err}). Contact an admin."
msgstr "Spostamento non riuscito ('%s'). Contatta un amministratore." msgstr "Spostamento non riuscito ('%s'). Contatta un amministratore."
#: objects/objects.py:865 #: objects/objects.py:866
msgid "The destination doesn't exist." msgid "The destination doesn't exist."
msgstr "Destinazione inesistente." msgstr "Destinazione inesistente."
#: objects/objects.py:977 #: objects/objects.py:978
#, fuzzy, python-brace-format #, fuzzy, python-brace-format
#| msgid "Could not find default home '(#%d)'." #| msgid "Could not find default home '(#%d)'."
msgid "Could not find default home '(#{dbid})'." msgid "Could not find default home '(#{dbid})'."
msgstr "Non è stata trovata la home predefinita '(#%d)'." msgstr "Non è stata trovata la home predefinita '(#%d)'."
#: objects/objects.py:991 #: objects/objects.py:992
msgid "Something went wrong! You are dumped into nowhere. Contact an admin." msgid "Something went wrong! You are dumped into nowhere. Contact an admin."
msgstr "" msgstr ""
"Qualcosa è andato storto! Sei stato gettato nel nulla. Contatta un " "Qualcosa è andato storto! Sei stato gettato nel nulla. Contatta un "
"amministratore." "amministratore."
#: objects/objects.py:1144 #: objects/objects.py:1145
#, python-brace-format #, python-brace-format
msgid "Your character {key} has been destroyed." msgid "Your character {key} has been destroyed."
msgstr "Il tuo personaggio {key} è stato distrutto." msgstr "Il tuo personaggio {key} è stato distrutto."
#: objects/objects.py:1852 #: objects/objects.py:1853
#, python-brace-format #, python-brace-format
msgid "You now have {name} in your possession." msgid "You now have {name} in your possession."
msgstr "" msgstr ""
#: objects/objects.py:1862 #: objects/objects.py:1863
#, python-brace-format #, python-brace-format
msgid "{object} arrives to {destination} from {origin}." msgid "{object} arrives to {destination} from {origin}."
msgstr "" msgstr ""
#: objects/objects.py:1864 #: objects/objects.py:1865
#, python-brace-format #, python-brace-format
msgid "{object} arrives to {destination}." msgid "{object} arrives to {destination}."
msgstr "" msgstr ""
#: objects/objects.py:2529 #: objects/objects.py:2530
msgid "Invalid character name." msgid "Invalid character name."
msgstr "" msgstr ""
#: objects/objects.py:2548 #: objects/objects.py:2549
msgid "There are too many characters associated with this account." msgid "There are too many characters associated with this account."
msgstr "" msgstr ""
# EN: Not clear if 'storage' refers to disk- or database-storage, or if it relates to game-world objects/containers. # 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! # 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:2574 #: objects/objects.py:2575
#, fuzzy #, fuzzy
msgid "This is a character." msgid "This is a character."
msgstr "Questo è un contenitore per immagazzinamento generico." msgstr "Questo è un contenitore per immagazzinamento generico."
#: objects/objects.py:2663 #: objects/objects.py:2664
#, python-brace-format #, python-brace-format
msgid "|r{obj} has no location and no home is set.|n" msgid "|r{obj} has no location and no home is set.|n"
msgstr "" msgstr ""
#: objects/objects.py:2681 #: objects/objects.py:2682
#, python-brace-format #, python-brace-format
msgid "" msgid ""
"\n" "\n"
"You become |c{name}|n.\n" "You become |c{name}|n.\n"
msgstr "" msgstr ""
#: objects/objects.py:2686 #: objects/objects.py:2687
#, python-brace-format #, python-brace-format
msgid "{name} has entered the game." msgid "{name} has entered the game."
msgstr "" msgstr ""
#: objects/objects.py:2712 #: objects/objects.py:2716
#, python-brace-format #, python-brace-format
msgid "{name} has left the game." msgid "{name} has left the game{reason}."
msgstr "" msgstr ""
#: objects/objects.py:2831 #: objects/objects.py:2838
#, fuzzy #, fuzzy
#| msgid "This is User #1." #| msgid "This is User #1."
msgid "This is a room." msgid "This is a room."
msgstr "Questo è l'Utente #1." msgstr "Questo è l'Utente #1."
#: objects/objects.py:3038 #: objects/objects.py:3045
#, fuzzy #, fuzzy
#| msgid "This is User #1." #| msgid "This is User #1."
msgid "This is an exit." msgid "This is an exit."
msgstr "Questo è l'Utente #1." msgstr "Questo è l'Utente #1."
#: objects/objects.py:3135 #: objects/objects.py:3142
msgid "You cannot go there." msgid "You cannot go there."
msgstr "" msgstr ""
@ -433,83 +433,83 @@ msgstr ""
msgid "Warning" msgid "Warning"
msgstr "" msgstr ""
#: prototypes/prototypes.py:390 #: prototypes/prototypes.py:389
msgid "Prototype requires a prototype_key" msgid "Prototype requires a prototype_key"
msgstr "" msgstr ""
#: prototypes/prototypes.py:398 prototypes/prototypes.py:467 #: prototypes/prototypes.py:397 prototypes/prototypes.py:466
#: prototypes/prototypes.py:1087 #: prototypes/prototypes.py:1092
#, python-brace-format #, python-brace-format
msgid "{protkey} is a read-only prototype (defined as code in {module})." msgid "{protkey} is a read-only prototype (defined as code in {module})."
msgstr "" msgstr ""
#: prototypes/prototypes.py:400 prototypes/prototypes.py:469 #: prototypes/prototypes.py:399 prototypes/prototypes.py:468
#: prototypes/prototypes.py:1089 #: prototypes/prototypes.py:1094
#, python-brace-format #, python-brace-format
msgid "{protkey} is a read-only prototype (passed directly as a dict)." msgid "{protkey} is a read-only prototype (passed directly as a dict)."
msgstr "" msgstr ""
#: prototypes/prototypes.py:476 #: prototypes/prototypes.py:475
#, python-brace-format #, python-brace-format
msgid "Prototype {prototype_key} was not found." msgid "Prototype {prototype_key} was not found."
msgstr "" msgstr ""
#: prototypes/prototypes.py:484 #: prototypes/prototypes.py:483
#, python-brace-format #, python-brace-format
msgid "" msgid ""
"{caller} needs explicit 'edit' permissions to delete prototype " "{caller} needs explicit 'edit' permissions to delete prototype "
"{prototype_key}." "{prototype_key}."
msgstr "" msgstr ""
#: prototypes/prototypes.py:606 #: prototypes/prototypes.py:605
#, python-brace-format #, python-brace-format
msgid "Found {num} matching prototypes among {module_prototypes}." msgid "Found {num} matching prototypes among {module_prototypes}."
msgstr "" msgstr ""
#: prototypes/prototypes.py:766 #: prototypes/prototypes.py:765
msgid "No prototypes found." msgid "No prototypes found."
msgstr "" msgstr ""
#: prototypes/prototypes.py:817 #: prototypes/prototypes.py:816
msgid "Prototype lacks a 'prototype_key'." msgid "Prototype lacks a 'prototype_key'."
msgstr "" msgstr ""
#: prototypes/prototypes.py:826 #: prototypes/prototypes.py:825
#, python-brace-format #, python-brace-format
msgid "Prototype {protkey} requires `typeclass` or 'prototype_parent'." msgid "Prototype {protkey} requires `typeclass` or 'prototype_parent'."
msgstr "" msgstr ""
#: prototypes/prototypes.py:833 #: prototypes/prototypes.py:832
#, python-brace-format #, python-brace-format
msgid "" msgid ""
"Prototype {protkey} can only be used as a mixin since it lacks 'typeclass' " "Prototype {protkey} can only be used as a mixin since it lacks 'typeclass' "
"or 'prototype_parent' keys." "or 'prototype_parent' keys."
msgstr "" msgstr ""
#: prototypes/prototypes.py:844 #: prototypes/prototypes.py:843
#, python-brace-format #, python-brace-format
msgid "" msgid ""
"{err}: Prototype {protkey} is based on typeclass {typeclass}, which could " "{err}: Prototype {protkey} is based on typeclass {typeclass}, which could "
"not be imported!" "not be imported!"
msgstr "" msgstr ""
#: prototypes/prototypes.py:863 #: prototypes/prototypes.py:862
#, python-brace-format #, python-brace-format
msgid "Prototype {protkey} tries to parent itself." msgid "Prototype {protkey} tries to parent itself."
msgstr "" msgstr ""
#: prototypes/prototypes.py:869 #: prototypes/prototypes.py:868
#, python-brace-format #, python-brace-format
msgid "" msgid ""
"Prototype {protkey}'s `prototype_parent` (named '{parent}') was not found." "Prototype {protkey}'s `prototype_parent` (named '{parent}') was not found."
msgstr "" msgstr ""
#: prototypes/prototypes.py:877 #: prototypes/prototypes.py:875
#, python-brace-format #, python-brace-format
msgid "{protkey} has infinite nesting of prototypes." msgid "{protkey} has infinite nesting of prototypes."
msgstr "" msgstr ""
#: prototypes/prototypes.py:902 #: prototypes/prototypes.py:900
#, python-brace-format #, python-brace-format
msgid "" msgid ""
"Prototype {protkey} has no `typeclass` defined anywhere in its parent\n" "Prototype {protkey} has no `typeclass` defined anywhere in its parent\n"
@ -517,7 +517,7 @@ msgid ""
"with a typeclass." "with a typeclass."
msgstr "" msgstr ""
#: prototypes/spawner.py:497 #: prototypes/spawner.py:495
#, python-brace-format #, python-brace-format
msgid "" msgid ""
"Diff contains non-dicts that are not on the form (old, new, action_to_take): " "Diff contains non-dicts that are not on the form (old, new, action_to_take): "
@ -591,10 +591,14 @@ msgid ""
"seconds ..." "seconds ..."
msgstr "" msgstr ""
#: server/server.py:157 #: server/server.py:156
msgid "idle timeout exceeded" msgid "idle timeout exceeded"
msgstr "Timeout di inattività superato" msgstr "Timeout di inattività superato"
#: server/server.py:177
msgid " (connection lost)"
msgstr ""
#: server/sessionhandler.py:41 #: server/sessionhandler.py:41
msgid "Your client sent an incorrect UTF-8 sequence." msgid "Your client sent an incorrect UTF-8 sequence."
msgstr "" msgstr ""
@ -1046,27 +1050,27 @@ msgstr "Sono state trovate diverse corrispondenze."
msgid "Please be more specific." msgid "Please be more specific."
msgstr "" msgstr ""
#: utils/utils.py:2121 #: utils/utils.py:2127
#, python-brace-format #, python-brace-format
msgid "" msgid ""
"{obj}.{handlername} is a handler and can't be set directly. To add values, " "{obj}.{handlername} is a handler and can't be set directly. To add values, "
"use `{obj}.{handlername}.add()` instead." "use `{obj}.{handlername}.add()` instead."
msgstr "" msgstr ""
#: utils/utils.py:2131 #: utils/utils.py:2137
#, python-brace-format #, python-brace-format
msgid "" msgid ""
"{obj}.{handlername} is a handler and can't be deleted directly. To remove " "{obj}.{handlername} is a handler and can't be deleted directly. To remove "
"values, use `{obj}.{handlername}.remove()` instead." "values, use `{obj}.{handlername}.remove()` instead."
msgstr "" msgstr ""
#: utils/utils.py:2272 #: utils/utils.py:2278
#, fuzzy, python-brace-format #, fuzzy, python-brace-format
#| msgid "Could not find '%s'." #| msgid "Could not find '%s'."
msgid "Could not find '{query}'." msgid "Could not find '{query}'."
msgstr "Impossibile trovare '%s'." msgstr "Impossibile trovare '%s'."
#: utils/utils.py:2279 #: utils/utils.py:2285
#, python-brace-format #, python-brace-format
msgid "More than one match for '{query}' (please narrow target):\n" msgid "More than one match for '{query}' (please narrow target):\n"
msgstr "" msgstr ""

View file

@ -7,7 +7,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: \n" "Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-10-02 09:27+0000\n" "POT-Creation-Date: 2022-10-29 18:53+0000\n"
"PO-Revision-Date: 2019-09-21 05:00+0900\n" "PO-Revision-Date: 2019-09-21 05:00+0900\n"
"Last-Translator: \n" "Last-Translator: \n"
"Language-Team: \n" "Language-Team: \n"
@ -27,64 +27,64 @@ msgid ""
"You cannot control any more puppets (max {_MAX_NR_SIMULTANEOUS_PUPPETS})" "You cannot control any more puppets (max {_MAX_NR_SIMULTANEOUS_PUPPETS})"
msgstr "" msgstr ""
#: accounts/accounts.py:552 #: accounts/accounts.py:555
msgid "Too many login failures; please try again in a few minutes." msgid "Too many login failures; please try again in a few minutes."
msgstr "" msgstr ""
#: accounts/accounts.py:565 accounts/accounts.py:829 #: accounts/accounts.py:568 accounts/accounts.py:832
msgid "" msgid ""
"|rYou have been banned and cannot continue from here.\n" "|rYou have been banned and cannot continue from here.\n"
"If you feel this ban is in error, please email an admin.|x" "If you feel this ban is in error, please email an admin.|x"
msgstr "" msgstr ""
#: accounts/accounts.py:577 #: accounts/accounts.py:580
msgid "Username and/or password is incorrect." msgid "Username and/or password is incorrect."
msgstr "" msgstr ""
#: accounts/accounts.py:584 #: accounts/accounts.py:587
msgid "Too many authentication failures." msgid "Too many authentication failures."
msgstr "" msgstr ""
#: accounts/accounts.py:800 #: accounts/accounts.py:803
msgid "" msgid ""
"You are creating too many accounts. Please log into an existing account." "You are creating too many accounts. Please log into an existing account."
msgstr "" msgstr ""
#: accounts/accounts.py:846 #: accounts/accounts.py:849
msgid "" msgid ""
"There was an error creating the Account. If this problem persists, contact " "There was an error creating the Account. If this problem persists, contact "
"an admin." "an admin."
msgstr "" msgstr ""
#: accounts/accounts.py:882 accounts/accounts.py:1798 #: accounts/accounts.py:885 accounts/accounts.py:1801
msgid "An error occurred. Please e-mail an admin if the problem persists." msgid "An error occurred. Please e-mail an admin if the problem persists."
msgstr "" msgstr ""
#: accounts/accounts.py:915 #: accounts/accounts.py:918
msgid "Account being deleted." msgid "Account being deleted."
msgstr "계정이 삭제되었습니다." msgstr "계정이 삭제되었습니다."
#: accounts/accounts.py:1472 accounts/accounts.py:1816 #: accounts/accounts.py:1475 accounts/accounts.py:1819
#, python-brace-format #, python-brace-format
msgid "|G{key} connected|n" msgid "|G{key} connected|n"
msgstr "" msgstr ""
#: accounts/accounts.py:1478 #: accounts/accounts.py:1481
#, fuzzy #, fuzzy
#| msgid "The destination doesn't exist." #| msgid "The destination doesn't exist."
msgid "The Character does not exist." msgid "The Character does not exist."
msgstr "The destination doesn't exist." msgstr "The destination doesn't exist."
#: accounts/accounts.py:1517 #: accounts/accounts.py:1520
#, python-brace-format #, python-brace-format
msgid "|R{key} disconnected{reason}|n" msgid "|R{key} disconnected{reason}|n"
msgstr "" msgstr ""
#: accounts/accounts.py:1751 #: accounts/accounts.py:1754
msgid "Guest accounts are not enabled on this server." msgid "Guest accounts are not enabled on this server."
msgstr "" msgstr ""
#: accounts/accounts.py:1761 #: accounts/accounts.py:1764
msgid "All guest accounts are in use. Please try again later." msgid "All guest accounts are in use. Please try again later."
msgstr "" msgstr ""
@ -318,97 +318,97 @@ msgstr "Lock: '{lockdef}' has mismatched parentheses."
msgid "Lock: '{lockdef}' has no valid lock functions." msgid "Lock: '{lockdef}' has no valid lock functions."
msgstr "Lock: '{lockdef}' has no valid lock functions." msgstr "Lock: '{lockdef}' has no valid lock functions."
#: objects/objects.py:855 #: objects/objects.py:856
#, fuzzy, python-brace-format #, fuzzy, python-brace-format
#| msgid "Couldn't perform move ('%s'). Contact an admin." #| msgid "Couldn't perform move ('%s'). Contact an admin."
msgid "Couldn't perform move ({err}). Contact an admin." msgid "Couldn't perform move ({err}). Contact an admin."
msgstr "Couldn't perform move ('%s'). 운영자에게 문의하세요." msgstr "Couldn't perform move ('%s'). 운영자에게 문의하세요."
#: objects/objects.py:865 #: objects/objects.py:866
msgid "The destination doesn't exist." msgid "The destination doesn't exist."
msgstr "The destination doesn't exist." msgstr "The destination doesn't exist."
#: objects/objects.py:977 #: objects/objects.py:978
#, fuzzy, python-brace-format #, fuzzy, python-brace-format
#| msgid "Could not find default home '(#%d)'." #| msgid "Could not find default home '(#%d)'."
msgid "Could not find default home '(#{dbid})'." msgid "Could not find default home '(#{dbid})'."
msgstr "Could not find default home '(#%d)'." msgstr "Could not find default home '(#%d)'."
#: objects/objects.py:991 #: objects/objects.py:992
msgid "Something went wrong! You are dumped into nowhere. Contact an admin." msgid "Something went wrong! You are dumped into nowhere. Contact an admin."
msgstr "" msgstr ""
"Something went wrong! You are dumped into nowhere. 운영자에게 문의하세요." "Something went wrong! You are dumped into nowhere. 운영자에게 문의하세요."
#: objects/objects.py:1144 #: objects/objects.py:1145
#, fuzzy, python-brace-format #, fuzzy, python-brace-format
#| msgid "Your character %s has been destroyed." #| msgid "Your character %s has been destroyed."
msgid "Your character {key} has been destroyed." msgid "Your character {key} has been destroyed."
msgstr "%s 캐릭터가 삭제되었습니다." msgstr "%s 캐릭터가 삭제되었습니다."
#: objects/objects.py:1852 #: objects/objects.py:1853
#, python-brace-format #, python-brace-format
msgid "You now have {name} in your possession." msgid "You now have {name} in your possession."
msgstr "" msgstr ""
#: objects/objects.py:1862 #: objects/objects.py:1863
#, python-brace-format #, python-brace-format
msgid "{object} arrives to {destination} from {origin}." msgid "{object} arrives to {destination} from {origin}."
msgstr "" msgstr ""
#: objects/objects.py:1864 #: objects/objects.py:1865
#, python-brace-format #, python-brace-format
msgid "{object} arrives to {destination}." msgid "{object} arrives to {destination}."
msgstr "" msgstr ""
#: objects/objects.py:2529 #: objects/objects.py:2530
msgid "Invalid character name." msgid "Invalid character name."
msgstr "" msgstr ""
#: objects/objects.py:2548 #: objects/objects.py:2549
msgid "There are too many characters associated with this account." msgid "There are too many characters associated with this account."
msgstr "" msgstr ""
#: objects/objects.py:2574 #: objects/objects.py:2575
#, fuzzy #, fuzzy
#| msgid "This is User #1." #| msgid "This is User #1."
msgid "This is a character." msgid "This is a character."
msgstr "This is User #1." msgstr "This is User #1."
#: objects/objects.py:2663 #: objects/objects.py:2664
#, python-brace-format #, python-brace-format
msgid "|r{obj} has no location and no home is set.|n" msgid "|r{obj} has no location and no home is set.|n"
msgstr "" msgstr ""
#: objects/objects.py:2681 #: objects/objects.py:2682
#, python-brace-format #, python-brace-format
msgid "" msgid ""
"\n" "\n"
"You become |c{name}|n.\n" "You become |c{name}|n.\n"
msgstr "" msgstr ""
#: objects/objects.py:2686 #: objects/objects.py:2687
#, python-brace-format #, python-brace-format
msgid "{name} has entered the game." msgid "{name} has entered the game."
msgstr "" msgstr ""
#: objects/objects.py:2712 #: objects/objects.py:2716
#, python-brace-format #, python-brace-format
msgid "{name} has left the game." msgid "{name} has left the game{reason}."
msgstr "" msgstr ""
#: objects/objects.py:2831 #: objects/objects.py:2838
#, fuzzy #, fuzzy
#| msgid "This is User #1." #| msgid "This is User #1."
msgid "This is a room." msgid "This is a room."
msgstr "This is User #1." msgstr "This is User #1."
#: objects/objects.py:3038 #: objects/objects.py:3045
#, fuzzy #, fuzzy
#| msgid "This is User #1." #| msgid "This is User #1."
msgid "This is an exit." msgid "This is an exit."
msgstr "This is User #1." msgstr "This is User #1."
#: objects/objects.py:3135 #: objects/objects.py:3142
msgid "You cannot go there." msgid "You cannot go there."
msgstr "" msgstr ""
@ -420,83 +420,83 @@ msgstr ""
msgid "Warning" msgid "Warning"
msgstr "" msgstr ""
#: prototypes/prototypes.py:390 #: prototypes/prototypes.py:389
msgid "Prototype requires a prototype_key" msgid "Prototype requires a prototype_key"
msgstr "" msgstr ""
#: prototypes/prototypes.py:398 prototypes/prototypes.py:467 #: prototypes/prototypes.py:397 prototypes/prototypes.py:466
#: prototypes/prototypes.py:1087 #: prototypes/prototypes.py:1092
#, python-brace-format #, python-brace-format
msgid "{protkey} is a read-only prototype (defined as code in {module})." msgid "{protkey} is a read-only prototype (defined as code in {module})."
msgstr "" msgstr ""
#: prototypes/prototypes.py:400 prototypes/prototypes.py:469 #: prototypes/prototypes.py:399 prototypes/prototypes.py:468
#: prototypes/prototypes.py:1089 #: prototypes/prototypes.py:1094
#, python-brace-format #, python-brace-format
msgid "{protkey} is a read-only prototype (passed directly as a dict)." msgid "{protkey} is a read-only prototype (passed directly as a dict)."
msgstr "" msgstr ""
#: prototypes/prototypes.py:476 #: prototypes/prototypes.py:475
#, python-brace-format #, python-brace-format
msgid "Prototype {prototype_key} was not found." msgid "Prototype {prototype_key} was not found."
msgstr "" msgstr ""
#: prototypes/prototypes.py:484 #: prototypes/prototypes.py:483
#, python-brace-format #, python-brace-format
msgid "" msgid ""
"{caller} needs explicit 'edit' permissions to delete prototype " "{caller} needs explicit 'edit' permissions to delete prototype "
"{prototype_key}." "{prototype_key}."
msgstr "" msgstr ""
#: prototypes/prototypes.py:606 #: prototypes/prototypes.py:605
#, python-brace-format #, python-brace-format
msgid "Found {num} matching prototypes among {module_prototypes}." msgid "Found {num} matching prototypes among {module_prototypes}."
msgstr "" msgstr ""
#: prototypes/prototypes.py:766 #: prototypes/prototypes.py:765
msgid "No prototypes found." msgid "No prototypes found."
msgstr "" msgstr ""
#: prototypes/prototypes.py:817 #: prototypes/prototypes.py:816
msgid "Prototype lacks a 'prototype_key'." msgid "Prototype lacks a 'prototype_key'."
msgstr "" msgstr ""
#: prototypes/prototypes.py:826 #: prototypes/prototypes.py:825
#, python-brace-format #, python-brace-format
msgid "Prototype {protkey} requires `typeclass` or 'prototype_parent'." msgid "Prototype {protkey} requires `typeclass` or 'prototype_parent'."
msgstr "" msgstr ""
#: prototypes/prototypes.py:833 #: prototypes/prototypes.py:832
#, python-brace-format #, python-brace-format
msgid "" msgid ""
"Prototype {protkey} can only be used as a mixin since it lacks 'typeclass' " "Prototype {protkey} can only be used as a mixin since it lacks 'typeclass' "
"or 'prototype_parent' keys." "or 'prototype_parent' keys."
msgstr "" msgstr ""
#: prototypes/prototypes.py:844 #: prototypes/prototypes.py:843
#, python-brace-format #, python-brace-format
msgid "" msgid ""
"{err}: Prototype {protkey} is based on typeclass {typeclass}, which could " "{err}: Prototype {protkey} is based on typeclass {typeclass}, which could "
"not be imported!" "not be imported!"
msgstr "" msgstr ""
#: prototypes/prototypes.py:863 #: prototypes/prototypes.py:862
#, python-brace-format #, python-brace-format
msgid "Prototype {protkey} tries to parent itself." msgid "Prototype {protkey} tries to parent itself."
msgstr "" msgstr ""
#: prototypes/prototypes.py:869 #: prototypes/prototypes.py:868
#, python-brace-format #, python-brace-format
msgid "" msgid ""
"Prototype {protkey}'s `prototype_parent` (named '{parent}') was not found." "Prototype {protkey}'s `prototype_parent` (named '{parent}') was not found."
msgstr "" msgstr ""
#: prototypes/prototypes.py:877 #: prototypes/prototypes.py:875
#, python-brace-format #, python-brace-format
msgid "{protkey} has infinite nesting of prototypes." msgid "{protkey} has infinite nesting of prototypes."
msgstr "" msgstr ""
#: prototypes/prototypes.py:902 #: prototypes/prototypes.py:900
#, python-brace-format #, python-brace-format
msgid "" msgid ""
"Prototype {protkey} has no `typeclass` defined anywhere in its parent\n" "Prototype {protkey} has no `typeclass` defined anywhere in its parent\n"
@ -504,7 +504,7 @@ msgid ""
"with a typeclass." "with a typeclass."
msgstr "" msgstr ""
#: prototypes/spawner.py:497 #: prototypes/spawner.py:495
#, python-brace-format #, python-brace-format
msgid "" msgid ""
"Diff contains non-dicts that are not on the form (old, new, action_to_take): " "Diff contains non-dicts that are not on the form (old, new, action_to_take): "
@ -576,10 +576,14 @@ msgid ""
"seconds ..." "seconds ..."
msgstr "" msgstr ""
#: server/server.py:157 #: server/server.py:156
msgid "idle timeout exceeded" msgid "idle timeout exceeded"
msgstr "연결 시간 초과" msgstr "연결 시간 초과"
#: server/server.py:177
msgid " (connection lost)"
msgstr ""
#: server/sessionhandler.py:41 #: server/sessionhandler.py:41
msgid "Your client sent an incorrect UTF-8 sequence." msgid "Your client sent an incorrect UTF-8 sequence."
msgstr "" msgstr ""
@ -1032,27 +1036,27 @@ msgstr "여러 개의 일치 항목을 찾았습니다."
msgid "Please be more specific." msgid "Please be more specific."
msgstr "" msgstr ""
#: utils/utils.py:2121 #: utils/utils.py:2127
#, python-brace-format #, python-brace-format
msgid "" msgid ""
"{obj}.{handlername} is a handler and can't be set directly. To add values, " "{obj}.{handlername} is a handler and can't be set directly. To add values, "
"use `{obj}.{handlername}.add()` instead." "use `{obj}.{handlername}.add()` instead."
msgstr "" msgstr ""
#: utils/utils.py:2131 #: utils/utils.py:2137
#, python-brace-format #, python-brace-format
msgid "" msgid ""
"{obj}.{handlername} is a handler and can't be deleted directly. To remove " "{obj}.{handlername} is a handler and can't be deleted directly. To remove "
"values, use `{obj}.{handlername}.remove()` instead." "values, use `{obj}.{handlername}.remove()` instead."
msgstr "" msgstr ""
#: utils/utils.py:2272 #: utils/utils.py:2278
#, fuzzy, python-brace-format #, fuzzy, python-brace-format
#| msgid "Could not find '%s'." #| msgid "Could not find '%s'."
msgid "Could not find '{query}'." msgid "Could not find '{query}'."
msgstr "'%s'를 찾을 수 없습니다." msgstr "'%s'를 찾을 수 없습니다."
#: utils/utils.py:2279 #: utils/utils.py:2285
#, fuzzy, python-brace-format #, fuzzy, python-brace-format
#| msgid "More than one match for '%s' (please narrow target):\n" #| msgid "More than one match for '%s' (please narrow target):\n"
msgid "More than one match for '{query}' (please narrow target):\n" msgid "More than one match for '{query}' (please narrow target):\n"

View file

@ -8,7 +8,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: 0.1\n" "Project-Id-Version: 0.1\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-10-02 09:27+0000\n" "POT-Creation-Date: 2022-10-29 18:53+0000\n"
"PO-Revision-Date: 2021-02-04 21:25-0600\n" "PO-Revision-Date: 2021-02-04 21:25-0600\n"
"Last-Translator: \n" "Last-Translator: \n"
"Language-Team: \n" "Language-Team: \n"
@ -28,13 +28,13 @@ msgid ""
"You cannot control any more puppets (max {_MAX_NR_SIMULTANEOUS_PUPPETS})" "You cannot control any more puppets (max {_MAX_NR_SIMULTANEOUS_PUPPETS})"
msgstr "" msgstr ""
#: accounts/accounts.py:552 #: accounts/accounts.py:555
msgid "Too many login failures; please try again in a few minutes." msgid "Too many login failures; please try again in a few minutes."
msgstr "" msgstr ""
"Saepius nequīquam nōmen datum est; quaesō, paucis post mōmentīs rursus " "Saepius nequīquam nōmen datum est; quaesō, paucis post mōmentīs rursus "
"conāre." "conāre."
#: accounts/accounts.py:565 accounts/accounts.py:829 #: accounts/accounts.py:568 accounts/accounts.py:832
msgid "" msgid ""
"|rYou have been banned and cannot continue from here.\n" "|rYou have been banned and cannot continue from here.\n"
"If you feel this ban is in error, please email an admin.|x" "If you feel this ban is in error, please email an admin.|x"
@ -43,20 +43,20 @@ msgstr ""
"Sī errōre tē prohibērī vidētur, quaesō litterās electronicās ad " "Sī errōre tē prohibērī vidētur, quaesō litterās electronicās ad "
"administrātōrem mitte.|x" "administrātōrem mitte.|x"
#: accounts/accounts.py:577 #: accounts/accounts.py:580
msgid "Username and/or password is incorrect." msgid "Username and/or password is incorrect."
msgstr "Nōmen vel tessera male datur." msgstr "Nōmen vel tessera male datur."
#: accounts/accounts.py:584 #: accounts/accounts.py:587
msgid "Too many authentication failures." msgid "Too many authentication failures."
msgstr "" msgstr ""
#: accounts/accounts.py:800 #: accounts/accounts.py:803
msgid "" msgid ""
"You are creating too many accounts. Please log into an existing account." "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:846 #: accounts/accounts.py:849
msgid "" msgid ""
"There was an error creating the Account. If this problem persists, contact " "There was an error creating the Account. If this problem persists, contact "
"an admin." "an admin."
@ -64,33 +64,33 @@ msgstr ""
"Nequīquam ratiō creāta est. Sī semper tibi hic error obviam fit, " "Nequīquam ratiō creāta est. Sī semper tibi hic error obviam fit, "
"adminstrātōrem vocā " "adminstrātōrem vocā "
#: accounts/accounts.py:882 accounts/accounts.py:1798 #: accounts/accounts.py:885 accounts/accounts.py:1801
msgid "An error occurred. Please e-mail an admin if the problem persists." msgid "An error occurred. Please e-mail an admin if the problem persists."
msgstr "" msgstr ""
#: accounts/accounts.py:915 #: accounts/accounts.py:918
msgid "Account being deleted." msgid "Account being deleted."
msgstr "Ratiō dēlētur." msgstr "Ratiō dēlētur."
#: accounts/accounts.py:1472 accounts/accounts.py:1816 #: accounts/accounts.py:1475 accounts/accounts.py:1819
#, python-brace-format #, python-brace-format
msgid "|G{key} connected|n" msgid "|G{key} connected|n"
msgstr "|G{key} sē iunxit.|n" msgstr "|G{key} sē iunxit.|n"
#: accounts/accounts.py:1478 #: accounts/accounts.py:1481
msgid "The Character does not exist." msgid "The Character does not exist."
msgstr "Nōn est ista Persōna." msgstr "Nōn est ista Persōna."
#: accounts/accounts.py:1517 #: accounts/accounts.py:1520
#, python-brace-format #, python-brace-format
msgid "|R{key} disconnected{reason}|n" msgid "|R{key} disconnected{reason}|n"
msgstr "|R{key} sē dissolvit{reason}|n" msgstr "|R{key} sē dissolvit{reason}|n"
#: accounts/accounts.py:1751 #: accounts/accounts.py:1754
msgid "Guest accounts are not enabled on this server." msgid "Guest accounts are not enabled on this server."
msgstr "Hospitibus nōn licet ratiōnibus ūtī in hoc moderātrō." msgstr "Hospitibus nōn licet ratiōnibus ūtī in hoc moderātrō."
#: accounts/accounts.py:1761 #: accounts/accounts.py:1764
msgid "All guest accounts are in use. Please try again later." 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." msgstr "Nōn iam sunt ratiōnēs hospitum. Quaesō in posterum rursus conāre."
@ -321,95 +321,95 @@ msgstr "Claustra: '{lockdef}' interclusiōnēs impārēs habet."
msgid "Lock: '{lockdef}' has no valid lock functions." msgid "Lock: '{lockdef}' has no valid lock functions."
msgstr "Claustra: '{lockdef}' nullās functiōnēs clastrōrum idoneōs habet." msgstr "Claustra: '{lockdef}' nullās functiōnēs clastrōrum idoneōs habet."
#: objects/objects.py:855 #: objects/objects.py:856
#, fuzzy, python-brace-format #, fuzzy, python-brace-format
#| msgid "Couldn't perform move ('%s'). Contact an admin." #| msgid "Couldn't perform move ('%s'). Contact an admin."
msgid "Couldn't perform move ({err}). 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ā." msgstr "Iste mōtus ('%s') efficī nōn potuit. Administrātōrem vocā."
#: objects/objects.py:865 #: objects/objects.py:866
msgid "The destination doesn't exist." msgid "The destination doesn't exist."
msgstr "Iste fīnis nōn est." msgstr "Iste fīnis nōn est."
#: objects/objects.py:977 #: objects/objects.py:978
#, fuzzy, python-brace-format #, fuzzy, python-brace-format
#| msgid "Could not find default home '(#%d)'." #| msgid "Could not find default home '(#%d)'."
msgid "Could not find default home '(#{dbid})'." msgid "Could not find default home '(#{dbid})'."
msgstr "Domus data '(#%d)' nōn inventa est." msgstr "Domus data '(#%d)' nōn inventa est."
#: objects/objects.py:991 #: objects/objects.py:992
msgid "Something went wrong! You are dumped into nowhere. Contact an admin." msgid "Something went wrong! You are dumped into nowhere. Contact an admin."
msgstr "Errātum est! In nūsquam cecidistī. Administrātōrem vocā." msgstr "Errātum est! In nūsquam cecidistī. Administrātōrem vocā."
#: objects/objects.py:1144 #: objects/objects.py:1145
#, python-brace-format #, python-brace-format
msgid "Your character {key} has been destroyed." msgid "Your character {key} has been destroyed."
msgstr "Persōna tua {key} dēlēta est." msgstr "Persōna tua {key} dēlēta est."
#: objects/objects.py:1852 #: objects/objects.py:1853
#, python-brace-format #, python-brace-format
msgid "You now have {name} in your possession." msgid "You now have {name} in your possession."
msgstr "" msgstr ""
#: objects/objects.py:1862 #: objects/objects.py:1863
#, python-brace-format #, python-brace-format
msgid "{object} arrives to {destination} from {origin}." msgid "{object} arrives to {destination} from {origin}."
msgstr "" msgstr ""
#: objects/objects.py:1864 #: objects/objects.py:1865
#, python-brace-format #, python-brace-format
msgid "{object} arrives to {destination}." msgid "{object} arrives to {destination}."
msgstr "" msgstr ""
#: objects/objects.py:2529 #: objects/objects.py:2530
msgid "Invalid character name." msgid "Invalid character name."
msgstr "" msgstr ""
#: objects/objects.py:2548 #: objects/objects.py:2549
msgid "There are too many characters associated with this account." msgid "There are too many characters associated with this account."
msgstr "" msgstr ""
#: objects/objects.py:2574 #: objects/objects.py:2575
#, fuzzy #, fuzzy
#| msgid "This is User #1." #| msgid "This is User #1."
msgid "This is a character." msgid "This is a character."
msgstr "Haec est Ratiō #1." msgstr "Haec est Ratiō #1."
#: objects/objects.py:2663 #: objects/objects.py:2664
#, python-brace-format #, python-brace-format
msgid "|r{obj} has no location and no home is set.|n" msgid "|r{obj} has no location and no home is set.|n"
msgstr "" msgstr ""
#: objects/objects.py:2681 #: objects/objects.py:2682
#, python-brace-format #, python-brace-format
msgid "" msgid ""
"\n" "\n"
"You become |c{name}|n.\n" "You become |c{name}|n.\n"
msgstr "" msgstr ""
#: objects/objects.py:2686 #: objects/objects.py:2687
#, python-brace-format #, python-brace-format
msgid "{name} has entered the game." msgid "{name} has entered the game."
msgstr "" msgstr ""
#: objects/objects.py:2712 #: objects/objects.py:2716
#, python-brace-format #, python-brace-format
msgid "{name} has left the game." msgid "{name} has left the game{reason}."
msgstr "" msgstr ""
#: objects/objects.py:2831 #: objects/objects.py:2838
#, fuzzy #, fuzzy
#| msgid "This is User #1." #| msgid "This is User #1."
msgid "This is a room." msgid "This is a room."
msgstr "Haec est Ratiō #1." msgstr "Haec est Ratiō #1."
#: objects/objects.py:3038 #: objects/objects.py:3045
#, fuzzy #, fuzzy
#| msgid "This is User #1." #| msgid "This is User #1."
msgid "This is an exit." msgid "This is an exit."
msgstr "Haec est Ratiō #1." msgstr "Haec est Ratiō #1."
#: objects/objects.py:3135 #: objects/objects.py:3142
msgid "You cannot go there." msgid "You cannot go there."
msgstr "" msgstr ""
@ -421,83 +421,83 @@ msgstr ""
msgid "Warning" msgid "Warning"
msgstr "" msgstr ""
#: prototypes/prototypes.py:390 #: prototypes/prototypes.py:389
msgid "Prototype requires a prototype_key" msgid "Prototype requires a prototype_key"
msgstr "" msgstr ""
#: prototypes/prototypes.py:398 prototypes/prototypes.py:467 #: prototypes/prototypes.py:397 prototypes/prototypes.py:466
#: prototypes/prototypes.py:1087 #: prototypes/prototypes.py:1092
#, python-brace-format #, python-brace-format
msgid "{protkey} is a read-only prototype (defined as code in {module})." msgid "{protkey} is a read-only prototype (defined as code in {module})."
msgstr "" msgstr ""
#: prototypes/prototypes.py:400 prototypes/prototypes.py:469 #: prototypes/prototypes.py:399 prototypes/prototypes.py:468
#: prototypes/prototypes.py:1089 #: prototypes/prototypes.py:1094
#, python-brace-format #, python-brace-format
msgid "{protkey} is a read-only prototype (passed directly as a dict)." msgid "{protkey} is a read-only prototype (passed directly as a dict)."
msgstr "" msgstr ""
#: prototypes/prototypes.py:476 #: prototypes/prototypes.py:475
#, python-brace-format #, python-brace-format
msgid "Prototype {prototype_key} was not found." msgid "Prototype {prototype_key} was not found."
msgstr "" msgstr ""
#: prototypes/prototypes.py:484 #: prototypes/prototypes.py:483
#, python-brace-format #, python-brace-format
msgid "" msgid ""
"{caller} needs explicit 'edit' permissions to delete prototype " "{caller} needs explicit 'edit' permissions to delete prototype "
"{prototype_key}." "{prototype_key}."
msgstr "" msgstr ""
#: prototypes/prototypes.py:606 #: prototypes/prototypes.py:605
#, python-brace-format #, python-brace-format
msgid "Found {num} matching prototypes among {module_prototypes}." msgid "Found {num} matching prototypes among {module_prototypes}."
msgstr "" msgstr ""
#: prototypes/prototypes.py:766 #: prototypes/prototypes.py:765
msgid "No prototypes found." msgid "No prototypes found."
msgstr "" msgstr ""
#: prototypes/prototypes.py:817 #: prototypes/prototypes.py:816
msgid "Prototype lacks a 'prototype_key'." msgid "Prototype lacks a 'prototype_key'."
msgstr "" msgstr ""
#: prototypes/prototypes.py:826 #: prototypes/prototypes.py:825
#, python-brace-format #, python-brace-format
msgid "Prototype {protkey} requires `typeclass` or 'prototype_parent'." msgid "Prototype {protkey} requires `typeclass` or 'prototype_parent'."
msgstr "" msgstr ""
#: prototypes/prototypes.py:833 #: prototypes/prototypes.py:832
#, python-brace-format #, python-brace-format
msgid "" msgid ""
"Prototype {protkey} can only be used as a mixin since it lacks 'typeclass' " "Prototype {protkey} can only be used as a mixin since it lacks 'typeclass' "
"or 'prototype_parent' keys." "or 'prototype_parent' keys."
msgstr "" msgstr ""
#: prototypes/prototypes.py:844 #: prototypes/prototypes.py:843
#, python-brace-format #, python-brace-format
msgid "" msgid ""
"{err}: Prototype {protkey} is based on typeclass {typeclass}, which could " "{err}: Prototype {protkey} is based on typeclass {typeclass}, which could "
"not be imported!" "not be imported!"
msgstr "" msgstr ""
#: prototypes/prototypes.py:863 #: prototypes/prototypes.py:862
#, python-brace-format #, python-brace-format
msgid "Prototype {protkey} tries to parent itself." msgid "Prototype {protkey} tries to parent itself."
msgstr "" msgstr ""
#: prototypes/prototypes.py:869 #: prototypes/prototypes.py:868
#, python-brace-format #, python-brace-format
msgid "" msgid ""
"Prototype {protkey}'s `prototype_parent` (named '{parent}') was not found." "Prototype {protkey}'s `prototype_parent` (named '{parent}') was not found."
msgstr "" msgstr ""
#: prototypes/prototypes.py:877 #: prototypes/prototypes.py:875
#, python-brace-format #, python-brace-format
msgid "{protkey} has infinite nesting of prototypes." msgid "{protkey} has infinite nesting of prototypes."
msgstr "" msgstr ""
#: prototypes/prototypes.py:902 #: prototypes/prototypes.py:900
#, python-brace-format #, python-brace-format
msgid "" msgid ""
"Prototype {protkey} has no `typeclass` defined anywhere in its parent\n" "Prototype {protkey} has no `typeclass` defined anywhere in its parent\n"
@ -505,7 +505,7 @@ msgid ""
"with a typeclass." "with a typeclass."
msgstr "" msgstr ""
#: prototypes/spawner.py:497 #: prototypes/spawner.py:495
#, python-brace-format #, python-brace-format
msgid "" msgid ""
"Diff contains non-dicts that are not on the form (old, new, action_to_take): " "Diff contains non-dicts that are not on the form (old, new, action_to_take): "
@ -578,10 +578,14 @@ msgid ""
"seconds ..." "seconds ..."
msgstr "" msgstr ""
#: server/server.py:157 #: server/server.py:156
msgid "idle timeout exceeded" msgid "idle timeout exceeded"
msgstr "Nimis temporis in nihil agendō ēgistī." msgstr "Nimis temporis in nihil agendō ēgistī."
#: server/server.py:177
msgid " (connection lost)"
msgstr ""
#: server/sessionhandler.py:41 #: server/sessionhandler.py:41
msgid "Your client sent an incorrect UTF-8 sequence." msgid "Your client sent an incorrect UTF-8 sequence."
msgstr "" msgstr ""
@ -1031,27 +1035,27 @@ msgstr "Plūra quam ūnum inventa sunt."
msgid "Please be more specific." msgid "Please be more specific."
msgstr "" msgstr ""
#: utils/utils.py:2121 #: utils/utils.py:2127
#, python-brace-format #, python-brace-format
msgid "" msgid ""
"{obj}.{handlername} is a handler and can't be set directly. To add values, " "{obj}.{handlername} is a handler and can't be set directly. To add values, "
"use `{obj}.{handlername}.add()` instead." "use `{obj}.{handlername}.add()` instead."
msgstr "" msgstr ""
#: utils/utils.py:2131 #: utils/utils.py:2137
#, python-brace-format #, python-brace-format
msgid "" msgid ""
"{obj}.{handlername} is a handler and can't be deleted directly. To remove " "{obj}.{handlername} is a handler and can't be deleted directly. To remove "
"values, use `{obj}.{handlername}.remove()` instead." "values, use `{obj}.{handlername}.remove()` instead."
msgstr "" msgstr ""
#: utils/utils.py:2272 #: utils/utils.py:2278
#, fuzzy, python-brace-format #, fuzzy, python-brace-format
#| msgid "Could not find '%s'." #| msgid "Could not find '%s'."
msgid "Could not find '{query}'." msgid "Could not find '{query}'."
msgstr "'%s' nōn inventum est" msgstr "'%s' nōn inventum est"
#: utils/utils.py:2279 #: utils/utils.py:2285
#, python-brace-format #, python-brace-format
msgid "More than one match for '{query}' (please narrow target):\n" msgid "More than one match for '{query}' (please narrow target):\n"
msgstr "" msgstr ""

View file

@ -7,7 +7,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: ArkMUD Polish translation v0.1\n" "Project-Id-Version: ArkMUD Polish translation v0.1\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-10-02 09:28+0000\n" "POT-Creation-Date: 2022-10-29 18:53+0000\n"
"PO-Revision-Date: 2019-02-20 14:18+0100\n" "PO-Revision-Date: 2019-02-20 14:18+0100\n"
"Last-Translator: \n" "Last-Translator: \n"
"Language-Team: ArkMUD team\n" "Language-Team: ArkMUD team\n"
@ -31,64 +31,64 @@ msgid ""
"You cannot control any more puppets (max {_MAX_NR_SIMULTANEOUS_PUPPETS})" "You cannot control any more puppets (max {_MAX_NR_SIMULTANEOUS_PUPPETS})"
msgstr "" msgstr ""
#: accounts/accounts.py:552 #: accounts/accounts.py:555
msgid "Too many login failures; please try again in a few minutes." msgid "Too many login failures; please try again in a few minutes."
msgstr "" msgstr ""
#: accounts/accounts.py:565 accounts/accounts.py:829 #: accounts/accounts.py:568 accounts/accounts.py:832
msgid "" msgid ""
"|rYou have been banned and cannot continue from here.\n" "|rYou have been banned and cannot continue from here.\n"
"If you feel this ban is in error, please email an admin.|x" "If you feel this ban is in error, please email an admin.|x"
msgstr "" msgstr ""
#: accounts/accounts.py:577 #: accounts/accounts.py:580
msgid "Username and/or password is incorrect." msgid "Username and/or password is incorrect."
msgstr "" msgstr ""
#: accounts/accounts.py:584 #: accounts/accounts.py:587
msgid "Too many authentication failures." msgid "Too many authentication failures."
msgstr "" msgstr ""
#: accounts/accounts.py:800 #: accounts/accounts.py:803
msgid "" msgid ""
"You are creating too many accounts. Please log into an existing account." "You are creating too many accounts. Please log into an existing account."
msgstr "" msgstr ""
#: accounts/accounts.py:846 #: accounts/accounts.py:849
msgid "" msgid ""
"There was an error creating the Account. If this problem persists, contact " "There was an error creating the Account. If this problem persists, contact "
"an admin." "an admin."
msgstr "" msgstr ""
#: accounts/accounts.py:882 accounts/accounts.py:1798 #: accounts/accounts.py:885 accounts/accounts.py:1801
msgid "An error occurred. Please e-mail an admin if the problem persists." msgid "An error occurred. Please e-mail an admin if the problem persists."
msgstr "" msgstr ""
#: accounts/accounts.py:915 #: accounts/accounts.py:918
msgid "Account being deleted." msgid "Account being deleted."
msgstr "Konto zostalo usuniete." msgstr "Konto zostalo usuniete."
#: accounts/accounts.py:1472 accounts/accounts.py:1816 #: accounts/accounts.py:1475 accounts/accounts.py:1819
#, python-brace-format #, python-brace-format
msgid "|G{key} connected|n" msgid "|G{key} connected|n"
msgstr "" msgstr ""
#: accounts/accounts.py:1478 #: accounts/accounts.py:1481
#, fuzzy #, fuzzy
#| msgid "The destination doesn't exist." #| msgid "The destination doesn't exist."
msgid "The Character does not exist." msgid "The Character does not exist."
msgstr "Punkt przeznaczenia nie istnieje." msgstr "Punkt przeznaczenia nie istnieje."
#: accounts/accounts.py:1517 #: accounts/accounts.py:1520
#, python-brace-format #, python-brace-format
msgid "|R{key} disconnected{reason}|n" msgid "|R{key} disconnected{reason}|n"
msgstr "" msgstr ""
#: accounts/accounts.py:1751 #: accounts/accounts.py:1754
msgid "Guest accounts are not enabled on this server." msgid "Guest accounts are not enabled on this server."
msgstr "" msgstr ""
#: accounts/accounts.py:1761 #: accounts/accounts.py:1764
msgid "All guest accounts are in use. Please try again later." msgid "All guest accounts are in use. Please try again later."
msgstr "" msgstr ""
@ -290,96 +290,96 @@ msgstr ""
msgid "Lock: '{lockdef}' has no valid lock functions." msgid "Lock: '{lockdef}' has no valid lock functions."
msgstr "" msgstr ""
#: objects/objects.py:855 #: objects/objects.py:856
#, fuzzy, python-brace-format #, fuzzy, python-brace-format
#| msgid "Couldn't perform move ('%s'). Contact an admin." #| msgid "Couldn't perform move ('%s'). Contact an admin."
msgid "Couldn't perform move ({err}). Contact an admin." msgid "Couldn't perform move ({err}). Contact an admin."
msgstr "Nie udalo sie wykonac ruchu ('%s'). Skontaktuj sie z adminem." msgstr "Nie udalo sie wykonac ruchu ('%s'). Skontaktuj sie z adminem."
#: objects/objects.py:865 #: objects/objects.py:866
msgid "The destination doesn't exist." msgid "The destination doesn't exist."
msgstr "Punkt przeznaczenia nie istnieje." msgstr "Punkt przeznaczenia nie istnieje."
#: objects/objects.py:977 #: objects/objects.py:978
#, fuzzy, python-brace-format #, fuzzy, python-brace-format
#| msgid "Could not find default home '(#%d)'." #| msgid "Could not find default home '(#%d)'."
msgid "Could not find default home '(#{dbid})'." msgid "Could not find default home '(#{dbid})'."
msgstr "Nie znaleziono domyslnego domu '(#%d)'." msgstr "Nie znaleziono domyslnego domu '(#%d)'."
#: objects/objects.py:991 #: objects/objects.py:992
msgid "Something went wrong! You are dumped into nowhere. Contact an admin." msgid "Something went wrong! You are dumped into nowhere. Contact an admin."
msgstr "Cos poszlo zle! Zostales wrzucony w nicosc. Skontaktuj sie z adminem." msgstr "Cos poszlo zle! Zostales wrzucony w nicosc. Skontaktuj sie z adminem."
#: objects/objects.py:1144 #: objects/objects.py:1145
#, fuzzy, python-brace-format #, fuzzy, python-brace-format
#| msgid "Your character %s has been destroyed." #| msgid "Your character %s has been destroyed."
msgid "Your character {key} has been destroyed." msgid "Your character {key} has been destroyed."
msgstr "Twoja postac %s zostala zniszczona." msgstr "Twoja postac %s zostala zniszczona."
#: objects/objects.py:1852 #: objects/objects.py:1853
#, python-brace-format #, python-brace-format
msgid "You now have {name} in your possession." msgid "You now have {name} in your possession."
msgstr "" msgstr ""
#: objects/objects.py:1862 #: objects/objects.py:1863
#, python-brace-format #, python-brace-format
msgid "{object} arrives to {destination} from {origin}." msgid "{object} arrives to {destination} from {origin}."
msgstr "" msgstr ""
#: objects/objects.py:1864 #: objects/objects.py:1865
#, python-brace-format #, python-brace-format
msgid "{object} arrives to {destination}." msgid "{object} arrives to {destination}."
msgstr "" msgstr ""
#: objects/objects.py:2529 #: objects/objects.py:2530
msgid "Invalid character name." msgid "Invalid character name."
msgstr "" msgstr ""
#: objects/objects.py:2548 #: objects/objects.py:2549
msgid "There are too many characters associated with this account." msgid "There are too many characters associated with this account."
msgstr "" msgstr ""
#: objects/objects.py:2574 #: objects/objects.py:2575
#, fuzzy #, fuzzy
#| msgid "This is User #1." #| msgid "This is User #1."
msgid "This is a character." msgid "This is a character."
msgstr "To jest User #1." msgstr "To jest User #1."
#: objects/objects.py:2663 #: objects/objects.py:2664
#, python-brace-format #, python-brace-format
msgid "|r{obj} has no location and no home is set.|n" msgid "|r{obj} has no location and no home is set.|n"
msgstr "" msgstr ""
#: objects/objects.py:2681 #: objects/objects.py:2682
#, python-brace-format #, python-brace-format
msgid "" msgid ""
"\n" "\n"
"You become |c{name}|n.\n" "You become |c{name}|n.\n"
msgstr "" msgstr ""
#: objects/objects.py:2686 #: objects/objects.py:2687
#, python-brace-format #, python-brace-format
msgid "{name} has entered the game." msgid "{name} has entered the game."
msgstr "" msgstr ""
#: objects/objects.py:2712 #: objects/objects.py:2716
#, python-brace-format #, python-brace-format
msgid "{name} has left the game." msgid "{name} has left the game{reason}."
msgstr "" msgstr ""
#: objects/objects.py:2831 #: objects/objects.py:2838
#, fuzzy #, fuzzy
#| msgid "This is User #1." #| msgid "This is User #1."
msgid "This is a room." msgid "This is a room."
msgstr "To jest User #1." msgstr "To jest User #1."
#: objects/objects.py:3038 #: objects/objects.py:3045
#, fuzzy #, fuzzy
#| msgid "This is User #1." #| msgid "This is User #1."
msgid "This is an exit." msgid "This is an exit."
msgstr "To jest User #1." msgstr "To jest User #1."
#: objects/objects.py:3135 #: objects/objects.py:3142
msgid "You cannot go there." msgid "You cannot go there."
msgstr "" msgstr ""
@ -391,83 +391,83 @@ msgstr ""
msgid "Warning" msgid "Warning"
msgstr "" msgstr ""
#: prototypes/prototypes.py:390 #: prototypes/prototypes.py:389
msgid "Prototype requires a prototype_key" msgid "Prototype requires a prototype_key"
msgstr "" msgstr ""
#: prototypes/prototypes.py:398 prototypes/prototypes.py:467 #: prototypes/prototypes.py:397 prototypes/prototypes.py:466
#: prototypes/prototypes.py:1087 #: prototypes/prototypes.py:1092
#, python-brace-format #, python-brace-format
msgid "{protkey} is a read-only prototype (defined as code in {module})." msgid "{protkey} is a read-only prototype (defined as code in {module})."
msgstr "" msgstr ""
#: prototypes/prototypes.py:400 prototypes/prototypes.py:469 #: prototypes/prototypes.py:399 prototypes/prototypes.py:468
#: prototypes/prototypes.py:1089 #: prototypes/prototypes.py:1094
#, python-brace-format #, python-brace-format
msgid "{protkey} is a read-only prototype (passed directly as a dict)." msgid "{protkey} is a read-only prototype (passed directly as a dict)."
msgstr "" msgstr ""
#: prototypes/prototypes.py:476 #: prototypes/prototypes.py:475
#, python-brace-format #, python-brace-format
msgid "Prototype {prototype_key} was not found." msgid "Prototype {prototype_key} was not found."
msgstr "" msgstr ""
#: prototypes/prototypes.py:484 #: prototypes/prototypes.py:483
#, python-brace-format #, python-brace-format
msgid "" msgid ""
"{caller} needs explicit 'edit' permissions to delete prototype " "{caller} needs explicit 'edit' permissions to delete prototype "
"{prototype_key}." "{prototype_key}."
msgstr "" msgstr ""
#: prototypes/prototypes.py:606 #: prototypes/prototypes.py:605
#, python-brace-format #, python-brace-format
msgid "Found {num} matching prototypes among {module_prototypes}." msgid "Found {num} matching prototypes among {module_prototypes}."
msgstr "" msgstr ""
#: prototypes/prototypes.py:766 #: prototypes/prototypes.py:765
msgid "No prototypes found." msgid "No prototypes found."
msgstr "" msgstr ""
#: prototypes/prototypes.py:817 #: prototypes/prototypes.py:816
msgid "Prototype lacks a 'prototype_key'." msgid "Prototype lacks a 'prototype_key'."
msgstr "" msgstr ""
#: prototypes/prototypes.py:826 #: prototypes/prototypes.py:825
#, python-brace-format #, python-brace-format
msgid "Prototype {protkey} requires `typeclass` or 'prototype_parent'." msgid "Prototype {protkey} requires `typeclass` or 'prototype_parent'."
msgstr "" msgstr ""
#: prototypes/prototypes.py:833 #: prototypes/prototypes.py:832
#, python-brace-format #, python-brace-format
msgid "" msgid ""
"Prototype {protkey} can only be used as a mixin since it lacks 'typeclass' " "Prototype {protkey} can only be used as a mixin since it lacks 'typeclass' "
"or 'prototype_parent' keys." "or 'prototype_parent' keys."
msgstr "" msgstr ""
#: prototypes/prototypes.py:844 #: prototypes/prototypes.py:843
#, python-brace-format #, python-brace-format
msgid "" msgid ""
"{err}: Prototype {protkey} is based on typeclass {typeclass}, which could " "{err}: Prototype {protkey} is based on typeclass {typeclass}, which could "
"not be imported!" "not be imported!"
msgstr "" msgstr ""
#: prototypes/prototypes.py:863 #: prototypes/prototypes.py:862
#, python-brace-format #, python-brace-format
msgid "Prototype {protkey} tries to parent itself." msgid "Prototype {protkey} tries to parent itself."
msgstr "" msgstr ""
#: prototypes/prototypes.py:869 #: prototypes/prototypes.py:868
#, python-brace-format #, python-brace-format
msgid "" msgid ""
"Prototype {protkey}'s `prototype_parent` (named '{parent}') was not found." "Prototype {protkey}'s `prototype_parent` (named '{parent}') was not found."
msgstr "" msgstr ""
#: prototypes/prototypes.py:877 #: prototypes/prototypes.py:875
#, python-brace-format #, python-brace-format
msgid "{protkey} has infinite nesting of prototypes." msgid "{protkey} has infinite nesting of prototypes."
msgstr "" msgstr ""
#: prototypes/prototypes.py:902 #: prototypes/prototypes.py:900
#, python-brace-format #, python-brace-format
msgid "" msgid ""
"Prototype {protkey} has no `typeclass` defined anywhere in its parent\n" "Prototype {protkey} has no `typeclass` defined anywhere in its parent\n"
@ -475,7 +475,7 @@ msgid ""
"with a typeclass." "with a typeclass."
msgstr "" msgstr ""
#: prototypes/spawner.py:497 #: prototypes/spawner.py:495
#, python-brace-format #, python-brace-format
msgid "" msgid ""
"Diff contains non-dicts that are not on the form (old, new, action_to_take): " "Diff contains non-dicts that are not on the form (old, new, action_to_take): "
@ -539,10 +539,14 @@ msgid ""
"seconds ..." "seconds ..."
msgstr "" msgstr ""
#: server/server.py:157 #: server/server.py:156
msgid "idle timeout exceeded" msgid "idle timeout exceeded"
msgstr "czas bezczynnosci przekroczony" msgstr "czas bezczynnosci przekroczony"
#: server/server.py:177
msgid " (connection lost)"
msgstr ""
#: server/sessionhandler.py:41 #: server/sessionhandler.py:41
msgid "Your client sent an incorrect UTF-8 sequence." msgid "Your client sent an incorrect UTF-8 sequence."
msgstr "" msgstr ""
@ -990,27 +994,27 @@ msgstr "Znaleziono wiele dopasowan."
msgid "Please be more specific." msgid "Please be more specific."
msgstr "" msgstr ""
#: utils/utils.py:2121 #: utils/utils.py:2127
#, python-brace-format #, python-brace-format
msgid "" msgid ""
"{obj}.{handlername} is a handler and can't be set directly. To add values, " "{obj}.{handlername} is a handler and can't be set directly. To add values, "
"use `{obj}.{handlername}.add()` instead." "use `{obj}.{handlername}.add()` instead."
msgstr "" msgstr ""
#: utils/utils.py:2131 #: utils/utils.py:2137
#, python-brace-format #, python-brace-format
msgid "" msgid ""
"{obj}.{handlername} is a handler and can't be deleted directly. To remove " "{obj}.{handlername} is a handler and can't be deleted directly. To remove "
"values, use `{obj}.{handlername}.remove()` instead." "values, use `{obj}.{handlername}.remove()` instead."
msgstr "" msgstr ""
#: utils/utils.py:2272 #: utils/utils.py:2278
#, fuzzy, python-brace-format #, fuzzy, python-brace-format
#| msgid "Could not find '%s'." #| msgid "Could not find '%s'."
msgid "Could not find '{query}'." msgid "Could not find '{query}'."
msgstr "Nie odnaleziono '%s'." msgstr "Nie odnaleziono '%s'."
#: utils/utils.py:2279 #: utils/utils.py:2285
#, fuzzy, python-brace-format #, fuzzy, python-brace-format
#| msgid "More than one match for '%s' (please narrow target):\n" #| msgid "More than one match for '%s' (please narrow target):\n"
msgid "More than one match for '{query}' (please narrow target):\n" msgid "More than one match for '{query}' (please narrow target):\n"

View file

@ -13,7 +13,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: Evennia Beta\n" "Project-Id-Version: Evennia Beta\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-10-02 09:28+0000\n" "POT-Creation-Date: 2022-10-29 18:53+0000\n"
"PO-Revision-Date: 2022-10-02 18:12+0000\n" "PO-Revision-Date: 2022-10-02 18:12+0000\n"
"Last-Translator: Marcos Marado <mindboosternoori@gmail.com>\n" "Last-Translator: Marcos Marado <mindboosternoori@gmail.com>\n"
"Language-Team: Nerun <nerunblogs@gmail.com>\n" "Language-Team: Nerun <nerunblogs@gmail.com>\n"
@ -36,69 +36,76 @@ msgid ""
msgstr "" msgstr ""
"Não pode controlar mais nenhum fantoche (max {_MAX_NR_SIMULTANEOUS_PUPPETS})" "Não pode controlar mais nenhum fantoche (max {_MAX_NR_SIMULTANEOUS_PUPPETS})"
#: accounts/accounts.py:552 #: accounts/accounts.py:555
msgid "Too many login failures; please try again in a few minutes." msgid "Too many login failures; please try again in a few minutes."
msgstr "Demasiadas falhas de autenticação; por favor volta a tentar dentro de alguns minutos." msgstr ""
"Demasiadas falhas de autenticação; por favor volta a tentar dentro de alguns "
"minutos."
#: accounts/accounts.py:565 accounts/accounts.py:829 #: accounts/accounts.py:568 accounts/accounts.py:832
msgid "" msgid ""
"|rYou have been banned and cannot continue from here.\n" "|rYou have been banned and cannot continue from here.\n"
"If you feel this ban is in error, please email an admin.|x" "If you feel this ban is in error, please email an admin.|x"
msgstr "" msgstr ""
"|rVocê foi banido e não pode passar daqui.\n" "|rVocê foi banido e não pode passar daqui.\n"
"Se acredita que este banimento foi um erro, por favor contacte um admin por email.|x" "Se acredita que este banimento foi um erro, por favor contacte um admin por "
"email.|x"
#: accounts/accounts.py:577 #: accounts/accounts.py:580
msgid "Username and/or password is incorrect." msgid "Username and/or password is incorrect."
msgstr "Username e/ou password incorrectos." msgstr "Username e/ou password incorrectos."
#: accounts/accounts.py:584 #: accounts/accounts.py:587
msgid "Too many authentication failures." msgid "Too many authentication failures."
msgstr "Demasiadas falhas de autenticação." msgstr "Demasiadas falhas de autenticação."
#: accounts/accounts.py:800 #: accounts/accounts.py:803
msgid "" msgid ""
"You are creating too many accounts. Please log into an existing account." "You are creating too many accounts. Please log into an existing account."
msgstr "Está a criar demasiadas contas. Por favor ligue-se a uma conta existente." msgstr ""
"Está a criar demasiadas contas. Por favor ligue-se a uma conta existente."
#: accounts/accounts.py:846 #: accounts/accounts.py:849
msgid "" msgid ""
"There was an error creating the Account. If this problem persists, contact " "There was an error creating the Account. If this problem persists, contact "
"an admin." "an admin."
msgstr "Ocorreu um erro ao criar a conta. Se este problema persistir, contacte " msgstr ""
"um admin." "Ocorreu um erro ao criar a conta. Se este problema persistir, contacte um "
"admin."
#: accounts/accounts.py:882 accounts/accounts.py:1798 #: accounts/accounts.py:885 accounts/accounts.py:1801
msgid "An error occurred. Please e-mail an admin if the problem persists." msgid "An error occurred. Please e-mail an admin if the problem persists."
msgstr "Ocorreu um erro. Por favor contacte um admin por e-mail caso o problema persista." msgstr ""
"Ocorreu um erro. Por favor contacte um admin por e-mail caso o problema "
"persista."
#: accounts/accounts.py:915 #: accounts/accounts.py:918
#, fuzzy #, fuzzy
#| msgid "Player being deleted." #| msgid "Player being deleted."
msgid "Account being deleted." msgid "Account being deleted."
msgstr "Jogador sendo deletado." msgstr "Jogador sendo deletado."
#: accounts/accounts.py:1472 accounts/accounts.py:1816 #: accounts/accounts.py:1475 accounts/accounts.py:1819
#, python-brace-format #, python-brace-format
msgid "|G{key} connected|n" msgid "|G{key} connected|n"
msgstr "|G{key} ligado|n" msgstr "|G{key} ligado|n"
#: accounts/accounts.py:1478 #: accounts/accounts.py:1481
#, fuzzy #, fuzzy
#| msgid "The destination doesn't exist." #| msgid "The destination doesn't exist."
msgid "The Character does not exist." msgid "The Character does not exist."
msgstr "O destino não existe." msgstr "O destino não existe."
#: accounts/accounts.py:1517 #: accounts/accounts.py:1520
#, python-brace-format #, python-brace-format
msgid "|R{key} disconnected{reason}|n" msgid "|R{key} disconnected{reason}|n"
msgstr "|R{key} desligado{reason}|n" msgstr "|R{key} desligado{reason}|n"
#: accounts/accounts.py:1751 #: accounts/accounts.py:1754
msgid "Guest accounts are not enabled on this server." msgid "Guest accounts are not enabled on this server."
msgstr "Contas guest não estão activadas neste servidor." msgstr "Contas guest não estão activadas neste servidor."
#: accounts/accounts.py:1761 #: accounts/accounts.py:1764
msgid "All guest accounts are in use. Please try again later." msgid "All guest accounts are in use. Please try again later."
msgstr "Todas as contas guest estão em utilização. Por favor tente mais tarde." msgstr "Todas as contas guest estão em utilização. Por favor tente mais tarde."
@ -117,8 +124,8 @@ msgid ""
"reproduce.\n" "reproduce.\n"
msgstr "" msgstr ""
"\n" "\n"
"Um erro não previsto ocorreu. Por favor reporte o problema detalhando os passos para " "Um erro não previsto ocorreu. Por favor reporte o problema detalhando os "
"o reproduzir.\n" "passos para o reproduzir.\n"
#: commands/cmdhandler.py:97 #: commands/cmdhandler.py:97
msgid "" msgid ""
@ -127,7 +134,8 @@ msgid ""
"error in one of the cmdsets to merge.\n" "error in one of the cmdsets to merge.\n"
msgstr "" msgstr ""
"\n" "\n"
"Um cmdset merger-error ocorreu. Isto é tipicamente devido a um erro de sintaxe\n" "Um cmdset merger-error ocorreu. Isto é tipicamente devido a um erro de "
"sintaxe\n"
"num dos cmdsets a fazer merge.\n" "num dos cmdsets a fazer merge.\n"
#: commands/cmdhandler.py:103 #: commands/cmdhandler.py:103
@ -147,7 +155,8 @@ msgid ""
"multiple causes.\n" "multiple causes.\n"
msgstr "" msgstr ""
"\n" "\n"
"Nenhum conjunto de comandos foi encontrado! Este é um problema crítico que pode ter\n" "Nenhum conjunto de comandos foi encontrado! Este é um problema crítico que "
"pode ter\n"
"múltiplas causas.\n" "múltiplas causas.\n"
#: commands/cmdhandler.py:118 #: commands/cmdhandler.py:118
@ -159,7 +168,8 @@ msgid ""
msgstr "" msgstr ""
"\n" "\n"
"Nenhum conjunto de comandos foi contrado! Ese é um sinal de um problema\n" "Nenhum conjunto de comandos foi contrado! Ese é um sinal de um problema\n"
"crítico. Se desligar e voltar a ligar não resolve o problema, tente contactar\n" "crítico. Se desligar e voltar a ligar não resolve o problema, tente "
"contactar\n"
"o admin do servidor através de outros meios para assistência.\n" "o admin do servidor através de outros meios para assistência.\n"
#: commands/cmdhandler.py:128 #: commands/cmdhandler.py:128
@ -170,7 +180,8 @@ msgid ""
"traceback and steps to reproduce.\n" "traceback and steps to reproduce.\n"
msgstr "" msgstr ""
"\n" "\n"
"Um problema aconteceu a lidar com um comando. Se isto não foi causado por uma\n" "Um problema aconteceu a lidar com um comando. Se isto não foi causado por "
"uma\n"
"alteração local, por favor reporte um problema com no projecto Evennia,\n" "alteração local, por favor reporte um problema com no projecto Evennia,\n"
"incluindo o traceback e os passos de reprodução.\n" "incluindo o traceback e os passos de reprodução.\n"
@ -365,70 +376,70 @@ msgstr "Lock: '%s' apresenta irregularidade no uso dos parênteses."
msgid "Lock: '{lockdef}' 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." msgstr "Lock: '%s' não possui funções de lock válidas."
#: objects/objects.py:855 #: objects/objects.py:856
#, fuzzy, python-brace-format #, fuzzy, python-brace-format
#| msgid "Couldn't perform move ('%s'). Contact an admin." #| msgid "Couldn't perform move ('%s'). Contact an admin."
msgid "Couldn't perform move ({err}). Contact an admin." msgid "Couldn't perform move ({err}). Contact an admin."
msgstr "" msgstr ""
"Não foi possível executar o movimento ('%s'). Contacte um administrador." "Não foi possível executar o movimento ('%s'). Contacte um administrador."
#: objects/objects.py:865 #: objects/objects.py:866
msgid "The destination doesn't exist." msgid "The destination doesn't exist."
msgstr "O destino não existe." msgstr "O destino não existe."
#: objects/objects.py:977 #: objects/objects.py:978
#, fuzzy, python-brace-format #, fuzzy, python-brace-format
#| msgid "Could not find default home '(#%d)'." #| msgid "Could not find default home '(#%d)'."
msgid "Could not find default home '(#{dbid})'." msgid "Could not find default home '(#{dbid})'."
msgstr "Não foi possível encontrar a home predefinida '(#%d)'." msgstr "Não foi possível encontrar a home predefinida '(#%d)'."
#: objects/objects.py:991 #: objects/objects.py:992
msgid "Something went wrong! You are dumped into nowhere. Contact an admin." msgid "Something went wrong! You are dumped into nowhere. Contact an admin."
msgstr "" msgstr ""
"Algo deu errado! Você foi despejado em lugar nenhum. Contacte um " "Algo deu errado! Você foi despejado em lugar nenhum. Contacte um "
"administrador." "administrador."
#: objects/objects.py:1144 #: objects/objects.py:1145
#, fuzzy, python-brace-format #, fuzzy, python-brace-format
#| msgid "Your character %s has been destroyed." #| msgid "Your character %s has been destroyed."
msgid "Your character {key} has been destroyed." msgid "Your character {key} has been destroyed."
msgstr "Seu personagem %s foi destruído." msgstr "Seu personagem %s foi destruído."
#: objects/objects.py:1852 #: objects/objects.py:1853
#, python-brace-format #, python-brace-format
msgid "You now have {name} in your possession." msgid "You now have {name} in your possession."
msgstr "Você tem agora {name} na sua posse." msgstr "Você tem agora {name} na sua posse."
#: objects/objects.py:1862 #: objects/objects.py:1863
#, python-brace-format #, python-brace-format
msgid "{object} arrives to {destination} from {origin}." msgid "{object} arrives to {destination} from {origin}."
msgstr "{object} chega a {destination} de {origin}." msgstr "{object} chega a {destination} de {origin}."
#: objects/objects.py:1864 #: objects/objects.py:1865
#, python-brace-format #, python-brace-format
msgid "{object} arrives to {destination}." msgid "{object} arrives to {destination}."
msgstr "{object} chega a {destination}." msgstr "{object} chega a {destination}."
#: objects/objects.py:2529 #: objects/objects.py:2530
msgid "Invalid character name." msgid "Invalid character name."
msgstr "Nome de personagem inválido." msgstr "Nome de personagem inválido."
#: objects/objects.py:2548 #: objects/objects.py:2549
msgid "There are too many characters associated with this account." msgid "There are too many characters associated with this account."
msgstr "Existem demasiadas personagens associadas a esta conta." msgstr "Existem demasiadas personagens associadas a esta conta."
#: objects/objects.py:2574 #: objects/objects.py:2575
#, fuzzy #, fuzzy
#| msgid "This is User #1." #| msgid "This is User #1."
msgid "This is a character." msgid "This is a character."
msgstr "Este é o Usuário #1." msgstr "Este é o Usuário #1."
#: objects/objects.py:2663 #: objects/objects.py:2664
#, python-brace-format #, python-brace-format
msgid "|r{obj} has no location and no home is set.|n" msgid "|r{obj} has no location and no home is set.|n"
msgstr "|r{obj} não tem localização e nenhuma home está configurada.|n" msgstr "|r{obj} não tem localização e nenhuma home está configurada.|n"
#: objects/objects.py:2681 #: objects/objects.py:2682
#, python-brace-format #, python-brace-format
msgid "" msgid ""
"\n" "\n"
@ -437,29 +448,30 @@ msgstr ""
"\n" "\n"
"Tornas-te |c{name}|n.\n" "Tornas-te |c{name}|n.\n"
#: objects/objects.py:2686 #: objects/objects.py:2687
#, python-brace-format #, python-brace-format
msgid "{name} has entered the game." msgid "{name} has entered the game."
msgstr "{name} entrou no jogo." msgstr "{name} entrou no jogo."
#: objects/objects.py:2712 #: objects/objects.py:2716
#, python-brace-format #, fuzzy, python-brace-format
msgid "{name} has left the game." #| msgid "{name} has left the game."
msgid "{name} has left the game{reason}."
msgstr "{name} saiu do jogo." msgstr "{name} saiu do jogo."
#: objects/objects.py:2831 #: objects/objects.py:2838
#, fuzzy #, fuzzy
#| msgid "This is User #1." #| msgid "This is User #1."
msgid "This is a room." msgid "This is a room."
msgstr "Este é o Usuário #1." msgstr "Este é o Usuário #1."
#: objects/objects.py:3038 #: objects/objects.py:3045
#, fuzzy #, fuzzy
#| msgid "This is User #1." #| msgid "This is User #1."
msgid "This is an exit." msgid "This is an exit."
msgstr "Este é o Usuário #1." msgstr "Este é o Usuário #1."
#: objects/objects.py:3135 #: objects/objects.py:3142
msgid "You cannot go there." msgid "You cannot go there."
msgstr "Não pode ir para aí." msgstr "Não pode ir para aí."
@ -471,28 +483,32 @@ msgstr "Erro"
msgid "Warning" msgid "Warning"
msgstr "Aviso" msgstr "Aviso"
#: prototypes/prototypes.py:390 #: prototypes/prototypes.py:389
msgid "Prototype requires a prototype_key" msgid "Prototype requires a prototype_key"
msgstr "Protótipo precis ade uma prototype_key" msgstr "Protótipo precis ade uma prototype_key"
#: prototypes/prototypes.py:398 prototypes/prototypes.py:467 #: prototypes/prototypes.py:397 prototypes/prototypes.py:466
#: prototypes/prototypes.py:1087 #: prototypes/prototypes.py:1092
#, python-brace-format #, python-brace-format
msgid "{protkey} is a read-only prototype (defined as code in {module})." msgid "{protkey} is a read-only prototype (defined as code in {module})."
msgstr "{protkey} é um protótipo apenas de leitura (definido como código em {module})." msgstr ""
"{protkey} é um protótipo apenas de leitura (definido como código em "
"{module})."
#: prototypes/prototypes.py:400 prototypes/prototypes.py:469 #: prototypes/prototypes.py:399 prototypes/prototypes.py:468
#: prototypes/prototypes.py:1089 #: prototypes/prototypes.py:1094
#, python-brace-format #, python-brace-format
msgid "{protkey} is a read-only prototype (passed directly as a dict)." msgid "{protkey} is a read-only prototype (passed directly as a dict)."
msgstr "{protkey} é um protótipo apenas de leitura (passado directamene como um dict)." msgstr ""
"{protkey} é um protótipo apenas de leitura (passado directamene como um "
"dict)."
#: prototypes/prototypes.py:476 #: prototypes/prototypes.py:475
#, python-brace-format #, python-brace-format
msgid "Prototype {prototype_key} was not found." msgid "Prototype {prototype_key} was not found."
msgstr "Protótipo {prototype_key} não encontrado." msgstr "Protótipo {prototype_key} não encontrado."
#: prototypes/prototypes.py:484 #: prototypes/prototypes.py:483
#, python-brace-format #, python-brace-format
msgid "" msgid ""
"{caller} needs explicit 'edit' permissions to delete prototype " "{caller} needs explicit 'edit' permissions to delete prototype "
@ -501,71 +517,74 @@ msgstr ""
"{caller} precisa permissões explícitas de edição para apagar o protótipo " "{caller} precisa permissões explícitas de edição para apagar o protótipo "
"{prototype_key}." "{prototype_key}."
#: prototypes/prototypes.py:606 #: prototypes/prototypes.py:605
#, python-brace-format #, python-brace-format
msgid "Found {num} matching prototypes among {module_prototypes}." msgid "Found {num} matching prototypes among {module_prototypes}."
msgstr "Encontrados {num} protótipos correspondentes entre {module_prototypes}." msgstr ""
"Encontrados {num} protótipos correspondentes entre {module_prototypes}."
#: prototypes/prototypes.py:766 #: prototypes/prototypes.py:765
msgid "No prototypes found." msgid "No prototypes found."
msgstr "Não foram encontrados protótipos." msgstr "Não foram encontrados protótipos."
#: prototypes/prototypes.py:817 #: prototypes/prototypes.py:816
msgid "Prototype lacks a 'prototype_key'." msgid "Prototype lacks a 'prototype_key'."
msgstr "Falta ao protótipo uma 'prototype_key'." msgstr "Falta ao protótipo uma 'prototype_key'."
#: prototypes/prototypes.py:826 #: prototypes/prototypes.py:825
#, python-brace-format #, python-brace-format
msgid "Prototype {protkey} requires `typeclass` or 'prototype_parent'." msgid "Prototype {protkey} requires `typeclass` or 'prototype_parent'."
msgstr "Protótipo {protkey} precisa de `typeclass` ou 'prototype_parent'." msgstr "Protótipo {protkey} precisa de `typeclass` ou 'prototype_parent'."
#: prototypes/prototypes.py:833 #: prototypes/prototypes.py:832
#, python-brace-format #, python-brace-format
msgid "" msgid ""
"Prototype {protkey} can only be used as a mixin since it lacks 'typeclass' " "Prototype {protkey} can only be used as a mixin since it lacks 'typeclass' "
"or 'prototype_parent' keys." "or 'prototype_parent' keys."
msgstr "" msgstr ""
"Protótipo {protkey} pode apenas ser usado como mixin visto que não tem chaves 'typeclass' " "Protótipo {protkey} pode apenas ser usado como mixin visto que não tem "
"ou 'prototype_parent'." "chaves 'typeclass' ou 'prototype_parent'."
#: prototypes/prototypes.py:844 #: prototypes/prototypes.py:843
#, python-brace-format #, python-brace-format
msgid "" msgid ""
"{err}: Prototype {protkey} is based on typeclass {typeclass}, which could " "{err}: Prototype {protkey} is based on typeclass {typeclass}, which could "
"not be imported!" "not be imported!"
msgstr "" msgstr ""
"{err}: Protótipo {protkey} é baseado no typeclass {typeclass}, que não foi possível " "{err}: Protótipo {protkey} é baseado no typeclass {typeclass}, que não foi "
"importar!" "possível importar!"
#: prototypes/prototypes.py:863 #: prototypes/prototypes.py:862
#, python-brace-format #, python-brace-format
msgid "Prototype {protkey} tries to parent itself." msgid "Prototype {protkey} tries to parent itself."
msgstr "Protótipo {protkey} tenta ser o seu próprio pai." msgstr "Protótipo {protkey} tenta ser o seu próprio pai."
#: prototypes/prototypes.py:869 #: prototypes/prototypes.py:868
#, python-brace-format #, python-brace-format
msgid "" msgid ""
"Prototype {protkey}'s `prototype_parent` (named '{parent}') was not found." "Prototype {protkey}'s `prototype_parent` (named '{parent}') was not found."
msgstr "" msgstr ""
"O `prototype_parent` (chamado '{parent}') do protótipo {protkey} não foi encontrado." "O `prototype_parent` (chamado '{parent}') do protótipo {protkey} não foi "
"encontrado."
#: prototypes/prototypes.py:877 #: prototypes/prototypes.py:875
#, python-brace-format #, python-brace-format
msgid "{protkey} has infinite nesting of prototypes." msgid "{protkey} has infinite nesting of prototypes."
msgstr "{protkey} tem um nesting infinito de protótipos." msgstr "{protkey} tem um nesting infinito de protótipos."
#: prototypes/prototypes.py:902 #: prototypes/prototypes.py:900
#, python-brace-format #, python-brace-format
msgid "" msgid ""
"Prototype {protkey} has no `typeclass` defined anywhere in its parent\n" "Prototype {protkey} has no `typeclass` defined anywhere in its parent\n"
" chain. Add `typeclass`, or a `prototype_parent` pointing to a prototype " " chain. Add `typeclass`, or a `prototype_parent` pointing to a prototype "
"with a typeclass." "with a typeclass."
msgstr "" msgstr ""
"Protótipo {protkey} não teu um `typeclass` definido em lado algum na sua cadeia de parentagem.\n" "Protótipo {protkey} não teu um `typeclass` definido em lado algum na sua "
"cadeia de parentagem.\n"
"Adicione `typeclass`, ou um `prototype_parent` a apontar para um protótipo " "Adicione `typeclass`, ou um `prototype_parent` a apontar para um protótipo "
"com um typeclass." "com um typeclass."
#: prototypes/spawner.py:497 #: prototypes/spawner.py:495
#, python-brace-format #, python-brace-format
msgid "" msgid ""
"Diff contains non-dicts that are not on the form (old, new, action_to_take): " "Diff contains non-dicts that are not on the form (old, new, action_to_take): "
@ -642,12 +661,16 @@ msgstr ""
"{servername} Protecção DoS está activa. Está na fila para se ligar em {num} " "{servername} Protecção DoS está activa. Está na fila para se ligar em {num} "
"segundos ..." "segundos ..."
#: server/server.py:157 #: server/server.py:156
#, fuzzy #, fuzzy
#| msgid "Idle timeout exceeded, disconnecting." #| msgid "Idle timeout exceeded, disconnecting."
msgid "idle timeout exceeded" msgid "idle timeout exceeded"
msgstr "Tempo de inatividade esgotado, desconectando." msgstr "Tempo de inatividade esgotado, desconectando."
#: server/server.py:177
msgid " (connection lost)"
msgstr ""
#: server/sessionhandler.py:41 #: server/sessionhandler.py:41
msgid "Your client sent an incorrect UTF-8 sequence." msgid "Your client sent an incorrect UTF-8 sequence."
msgstr "O seu cliente enviou uma sequência UTF-8 incorrecta." msgstr "O seu cliente enviou uma sequência UTF-8 incorrecta."
@ -668,7 +691,8 @@ msgstr "Tempo de inatividade esgotado, desconectando."
msgid "" msgid ""
"Too many failed attempts; you must wait a few minutes before trying again." "Too many failed attempts; you must wait a few minutes before trying again."
msgstr "" msgstr ""
"Demasiadas tentativas falhadas; tem de aguardar alguns minutos antes de tentar outra vez." "Demasiadas tentativas falhadas; tem de aguardar alguns minutos antes de "
"tentar outra vez."
#: server/validators.py:31 #: server/validators.py:31
msgid "Sorry, that username is reserved." msgid "Sorry, that username is reserved."
@ -684,8 +708,8 @@ msgid ""
"{policy} From a terminal client, you can also use a phrase of multiple words " "{policy} From a terminal client, you can also use a phrase of multiple words "
"if you enclose the password in double quotes." "if you enclose the password in double quotes."
msgstr "" msgstr ""
"{policy} A partir de um cliente terminal, pode também usar uma frase de múltimas palavras " "{policy} A partir de um cliente terminal, pode também usar uma frase de "
"se envolver a password em aspas duplas." "múltimas palavras se envolver a password em aspas duplas."
#: utils/eveditor.py:68 #: utils/eveditor.py:68
msgid "" msgid ""
@ -746,24 +770,27 @@ msgstr ""
" :UU - limpa todas as alterações e regressa ao estado inicial\n" " :UU - limpa todas as alterações e regressa ao estado inicial\n"
"\n" "\n"
" :dd <l> - apaga a(s) última(s) linha(s) <l>\n" " :dd <l> - apaga a(s) última(s) linha(s) <l>\n"
" :dw <l> <w> - apaga a palavra ou expressão regular <w> em todo o buffer ou na linha <l>\n" " :dw <l> <w> - apaga a palavra ou expressão regular <w> em todo o buffer ou "
"na linha <l>\n"
" :DD - apaga todo o buffer\n" " :DD - apaga todo o buffer\n"
"\n" "\n"
" :y <l> - copia a(s) <l> linha(s) para o buffer de cópia\n" " :y <l> - copia a(s) <l> linha(s) para o buffer de cópia\n"
" :x <l> - corta a(s) <l> linha(s) e guarda-as no buffer de cópia\n" " :x <l> - corta a(s) <l> linha(s) e guarda-as no buffer de cópia\n"
" :p <l> - cola as linhas anteriormente copiadas directamente após <l>\n" " :p <l> - cola as linhas anteriormente copiadas directamente após "
" :i <l> <txt> - insere o novo texto <txt> na linha <l>. A linha antiga irá mover-se para " "<l>\n"
"baixo\n" " :i <l> <txt> - insere o novo texto <txt> na linha <l>. A linha antiga irá "
"mover-se para baixo\n"
" :r <l> <txt> - substitui a linha <l> com o texto <txt>\n" " :r <l> <txt> - substitui a linha <l> com o texto <txt>\n"
" :I <l> <txt> - insere texto no início da linha <l>\n" " :I <l> <txt> - insere texto no início da linha <l>\n"
" :A <l> <txt> - adiciona text no final da linha <l>\n" " :A <l> <txt> - adiciona text no final da linha <l>\n"
"\n" "\n"
" :s <l> <w> <txt> - encontra/substitui a palavra ou expressão regular <w> no buffer ou na linha " " :s <l> <w> <txt> - encontra/substitui a palavra ou expressão regular <w> no "
"<l>\n" "buffer ou na linha <l>\n"
"\n" "\n"
" :j <l> <w> - justifica buffer ou linha <l>. <w> é f, c, l ou r. Por omissão é f " " :j <l> <w> - justifica buffer ou linha <l>. <w> é f, c, l ou r. Por omissão "
"(full/cheio)\n" "é f (full/cheio)\n"
" :f <l> - inunda-preenche todo o buffer ou a linha <l>: Equivalente a fazer :j left\n" " :f <l> - inunda-preenche todo o buffer ou a linha <l>: Equivalente a "
"fazer :j left\n"
" :fi <l> - indenta todo o buffer ou a linha <l>\n" " :fi <l> - indenta todo o buffer ou a linha <l>\n"
" :fd <l> - desindenta todo o buffer ou a linha <l>\n" " :fd <l> - desindenta todo o buffer ou a linha <l>\n"
"\n" "\n"
@ -808,7 +835,8 @@ msgstr ""
"\n" "\n"
"{error}\n" "{error}\n"
"\n" "\n"
"|rErro no carregamento da função no buffer. Não foi possível carregar os dados iniciais.|n\n" "|rErro no carregamento da função no buffer. Não foi possível carregar os "
"dados iniciais.|n\n"
#: utils/eveditor.py:136 #: utils/eveditor.py:136
#, python-brace-format #, python-brace-format
@ -861,9 +889,11 @@ msgstr ""
"\n" "\n"
"{error}\n" "{error}\n"
"\n" "\n"
"|rO estado do editor não pode ser gravado para modo persistente. Mudando para\n" "|rO estado do editor não pode ser gravado para modo persistente. Mudando "
"para\n"
"o modo não-persistente (o que significa que a sessão do editor não irá\n" "o modo não-persistente (o que significa que a sessão do editor não irá\n"
"sobreviver um eventual reload do servidor - por isso grava frequentemente!)|n\n" "sobreviver um eventual reload do servidor - por isso grava frequentemente!)|"
"n\n"
#: utils/eveditor.py:167 #: utils/eveditor.py:167
msgid "" msgid ""
@ -871,9 +901,9 @@ msgid ""
"EvEditor callbacks could not be pickled, for example because it's a class " "EvEditor callbacks could not be pickled, for example because it's a class "
"method or is defined inside another function." "method or is defined inside another function."
msgstr "" msgstr ""
"Erro no modo persistente do EvEditor. Tipicamente, isto é porque um ou mais dos " "Erro no modo persistente do EvEditor. Tipicamente, isto é porque um ou mais "
"callbacks do EvEditor não puderam ser pickled, por exemplo porque é um método de classe " "dos callbacks do EvEditor não puderam ser pickled, por exemplo porque é um "
"ou é definido dentro de outra função." "método de classe ou é definido dentro de outra função."
#: utils/eveditor.py:173 #: utils/eveditor.py:173
msgid "Nothing to undo." msgid "Nothing to undo."
@ -1134,7 +1164,6 @@ msgstr "|wp|Wágina anterior|n"
msgid "|wn|Wext page|n" msgid "|wn|Wext page|n"
msgstr "|Wpróxima pági|wn|Wa|n" msgstr "|Wpróxima pági|wn|Wa|n"
#: utils/evmenu.py:1689 #: utils/evmenu.py:1689
msgid "Aborted." msgid "Aborted."
msgstr "Abortado." msgstr "Abortado."
@ -1165,31 +1194,31 @@ msgstr "Havia várias correspondências."
msgid "Please be more specific." msgid "Please be more specific."
msgstr "Por favor seja mais específico." msgstr "Por favor seja mais específico."
#: utils/utils.py:2121 #: utils/utils.py:2127
#, python-brace-format #, python-brace-format
msgid "" msgid ""
"{obj}.{handlername} is a handler and can't be set directly. To add values, " "{obj}.{handlername} is a handler and can't be set directly. To add values, "
"use `{obj}.{handlername}.add()` instead." "use `{obj}.{handlername}.add()` instead."
msgstr "" msgstr ""
"{obj}.{handlername} é um handler e não pode ser definido directamente. Para adicionar valores, " "{obj}.{handlername} é um handler e não pode ser definido directamente. Para "
"use `{obj}.{handlername}.add()`." "adicionar valores, use `{obj}.{handlername}.add()`."
#: utils/utils.py:2131 #: utils/utils.py:2137
#, python-brace-format #, python-brace-format
msgid "" msgid ""
"{obj}.{handlername} is a handler and can't be deleted directly. To remove " "{obj}.{handlername} is a handler and can't be deleted directly. To remove "
"values, use `{obj}.{handlername}.remove()` instead." "values, use `{obj}.{handlername}.remove()` instead."
msgstr "" msgstr ""
"{obj}.{handlername} é um handler e não pode ser apagado directamente. Para remover " "{obj}.{handlername} é um handler e não pode ser apagado directamente. Para "
"valores, use `{obj}.{handlername}.remove()`." "remover valores, use `{obj}.{handlername}.remove()`."
#: utils/utils.py:2272 #: utils/utils.py:2278
#, fuzzy, python-brace-format #, fuzzy, python-brace-format
#| msgid "Could not find '%s'." #| msgid "Could not find '%s'."
msgid "Could not find '{query}'." msgid "Could not find '{query}'."
msgstr "Não foi possível encontrar '%s'." msgstr "Não foi possível encontrar '%s'."
#: utils/utils.py:2279 #: utils/utils.py:2285
#, fuzzy, python-brace-format #, fuzzy, python-brace-format
#| msgid "More than one match for '%s' (please narrow target):" #| msgid "More than one match for '%s' (please narrow target):"
msgid "More than one match for '{query}' (please narrow target):\n" msgid "More than one match for '{query}' (please narrow target):\n"
@ -1244,7 +1273,8 @@ msgstr "Tem de indicar um número inteiro para {option_key}!"
#: utils/validatorfuncs.py:169 #: utils/validatorfuncs.py:169
#, python-brace-format #, python-brace-format
msgid "Could not convert '{entry}' to a whole number for {option_key}!" msgid "Could not convert '{entry}' to a whole number for {option_key}!"
msgstr "Não foi possível converter '{entry}' num número inteiro para {option_key}!" msgstr ""
"Não foi possível converter '{entry}' num número inteiro para {option_key}!"
#: utils/validatorfuncs.py:180 #: utils/validatorfuncs.py:180
#, python-brace-format #, python-brace-format
@ -1259,7 +1289,8 @@ msgstr "{option_key} deve ser um número inteiro maior ou igual a 0!"
#: utils/validatorfuncs.py:210 #: utils/validatorfuncs.py:210
#, python-brace-format #, python-brace-format
msgid "Must enter a true/false input for {option_key}. Accepts {alternatives}." msgid "Must enter a true/false input for {option_key}. Accepts {alternatives}."
msgstr "Deve inserir um input true/false para {option_key}. Aceita {alternatives}." msgstr ""
"Deve inserir um input true/false para {option_key}. Aceita {alternatives}."
#: utils/validatorfuncs.py:240 #: utils/validatorfuncs.py:240
#, python-brace-format #, python-brace-format

View file

@ -6,7 +6,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: Evennia Russian Translation v0.1\n" "Project-Id-Version: Evennia Russian Translation v0.1\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-10-02 09:28+0000\n" "POT-Creation-Date: 2022-10-29 18:53+0000\n"
"PO-Revision-Date: 2020-04-19 18:32+0000\n" "PO-Revision-Date: 2020-04-19 18:32+0000\n"
"Last-Translator: 3eluk\n" "Last-Translator: 3eluk\n"
"Language-Team: Russian (Russia)\n" "Language-Team: Russian (Russia)\n"
@ -31,64 +31,64 @@ msgid ""
"You cannot control any more puppets (max {_MAX_NR_SIMULTANEOUS_PUPPETS})" "You cannot control any more puppets (max {_MAX_NR_SIMULTANEOUS_PUPPETS})"
msgstr "" msgstr ""
#: accounts/accounts.py:552 #: accounts/accounts.py:555
msgid "Too many login failures; please try again in a few minutes." msgid "Too many login failures; please try again in a few minutes."
msgstr "" msgstr ""
#: accounts/accounts.py:565 accounts/accounts.py:829 #: accounts/accounts.py:568 accounts/accounts.py:832
msgid "" msgid ""
"|rYou have been banned and cannot continue from here.\n" "|rYou have been banned and cannot continue from here.\n"
"If you feel this ban is in error, please email an admin.|x" "If you feel this ban is in error, please email an admin.|x"
msgstr "" msgstr ""
#: accounts/accounts.py:577 #: accounts/accounts.py:580
msgid "Username and/or password is incorrect." msgid "Username and/or password is incorrect."
msgstr "" msgstr ""
#: accounts/accounts.py:584 #: accounts/accounts.py:587
msgid "Too many authentication failures." msgid "Too many authentication failures."
msgstr "" msgstr ""
#: accounts/accounts.py:800 #: accounts/accounts.py:803
msgid "" msgid ""
"You are creating too many accounts. Please log into an existing account." "You are creating too many accounts. Please log into an existing account."
msgstr "" msgstr ""
#: accounts/accounts.py:846 #: accounts/accounts.py:849
msgid "" msgid ""
"There was an error creating the Account. If this problem persists, contact " "There was an error creating the Account. If this problem persists, contact "
"an admin." "an admin."
msgstr "" msgstr ""
#: accounts/accounts.py:882 accounts/accounts.py:1798 #: accounts/accounts.py:885 accounts/accounts.py:1801
msgid "An error occurred. Please e-mail an admin if the problem persists." msgid "An error occurred. Please e-mail an admin if the problem persists."
msgstr "" msgstr ""
#: accounts/accounts.py:915 #: accounts/accounts.py:918
msgid "Account being deleted." msgid "Account being deleted."
msgstr "Аккаунт удаляется." msgstr "Аккаунт удаляется."
#: accounts/accounts.py:1472 accounts/accounts.py:1816 #: accounts/accounts.py:1475 accounts/accounts.py:1819
#, python-brace-format #, python-brace-format
msgid "|G{key} connected|n" msgid "|G{key} connected|n"
msgstr "" msgstr ""
#: accounts/accounts.py:1478 #: accounts/accounts.py:1481
#, fuzzy #, fuzzy
#| msgid "The destination doesn't exist." #| msgid "The destination doesn't exist."
msgid "The Character does not exist." msgid "The Character does not exist."
msgstr "Такой точки назначения нету." msgstr "Такой точки назначения нету."
#: accounts/accounts.py:1517 #: accounts/accounts.py:1520
#, python-brace-format #, python-brace-format
msgid "|R{key} disconnected{reason}|n" msgid "|R{key} disconnected{reason}|n"
msgstr "" msgstr ""
#: accounts/accounts.py:1751 #: accounts/accounts.py:1754
msgid "Guest accounts are not enabled on this server." msgid "Guest accounts are not enabled on this server."
msgstr "" msgstr ""
#: accounts/accounts.py:1761 #: accounts/accounts.py:1764
msgid "All guest accounts are in use. Please try again later." msgid "All guest accounts are in use. Please try again later."
msgstr "" msgstr ""
@ -290,97 +290,97 @@ msgstr ""
msgid "Lock: '{lockdef}' has no valid lock functions." msgid "Lock: '{lockdef}' has no valid lock functions."
msgstr "" msgstr ""
#: objects/objects.py:855 #: objects/objects.py:856
#, fuzzy, python-brace-format #, fuzzy, python-brace-format
#| msgid "Couldn't perform move ('%s'). Contact an admin." #| msgid "Couldn't perform move ('%s'). Contact an admin."
msgid "Couldn't perform move ({err}). Contact an admin." msgid "Couldn't perform move ({err}). Contact an admin."
msgstr "Не удалось выполнить действие ('%s'). Свяжитесь с администратором." msgstr "Не удалось выполнить действие ('%s'). Свяжитесь с администратором."
#: objects/objects.py:865 #: objects/objects.py:866
msgid "The destination doesn't exist." msgid "The destination doesn't exist."
msgstr "Такой точки назначения нету." msgstr "Такой точки назначения нету."
#: objects/objects.py:977 #: objects/objects.py:978
#, fuzzy, python-brace-format #, fuzzy, python-brace-format
#| msgid "Could not find default home '(#%d)'." #| msgid "Could not find default home '(#%d)'."
msgid "Could not find default home '(#{dbid})'." msgid "Could not find default home '(#{dbid})'."
msgstr "Не обнаружен дом по умолчанию '(#%d)'." msgstr "Не обнаружен дом по умолчанию '(#%d)'."
#: objects/objects.py:991 #: objects/objects.py:992
msgid "Something went wrong! You are dumped into nowhere. Contact an admin." msgid "Something went wrong! You are dumped into nowhere. Contact an admin."
msgstr "" msgstr ""
"Что-то пошло не так! Тебя выбрасывает в пустоту. Свяжитесь с администратором." "Что-то пошло не так! Тебя выбрасывает в пустоту. Свяжитесь с администратором."
#: objects/objects.py:1144 #: objects/objects.py:1145
#, fuzzy, python-brace-format #, fuzzy, python-brace-format
#| msgid "Your character %s has been destroyed." #| msgid "Your character %s has been destroyed."
msgid "Your character {key} has been destroyed." msgid "Your character {key} has been destroyed."
msgstr "Ваш персонаж %s был уничтожен." msgstr "Ваш персонаж %s был уничтожен."
#: objects/objects.py:1852 #: objects/objects.py:1853
#, python-brace-format #, python-brace-format
msgid "You now have {name} in your possession." msgid "You now have {name} in your possession."
msgstr "" msgstr ""
#: objects/objects.py:1862 #: objects/objects.py:1863
#, python-brace-format #, python-brace-format
msgid "{object} arrives to {destination} from {origin}." msgid "{object} arrives to {destination} from {origin}."
msgstr "" msgstr ""
#: objects/objects.py:1864 #: objects/objects.py:1865
#, python-brace-format #, python-brace-format
msgid "{object} arrives to {destination}." msgid "{object} arrives to {destination}."
msgstr "" msgstr ""
#: objects/objects.py:2529 #: objects/objects.py:2530
msgid "Invalid character name." msgid "Invalid character name."
msgstr "" msgstr ""
#: objects/objects.py:2548 #: objects/objects.py:2549
msgid "There are too many characters associated with this account." msgid "There are too many characters associated with this account."
msgstr "" msgstr ""
#: objects/objects.py:2574 #: objects/objects.py:2575
#, fuzzy #, fuzzy
#| msgid "This is User #1." #| msgid "This is User #1."
msgid "This is a character." msgid "This is a character."
msgstr "Это Пользователь №1." msgstr "Это Пользователь №1."
#: objects/objects.py:2663 #: objects/objects.py:2664
#, python-brace-format #, python-brace-format
msgid "|r{obj} has no location and no home is set.|n" msgid "|r{obj} has no location and no home is set.|n"
msgstr "" msgstr ""
#: objects/objects.py:2681 #: objects/objects.py:2682
#, python-brace-format #, python-brace-format
msgid "" msgid ""
"\n" "\n"
"You become |c{name}|n.\n" "You become |c{name}|n.\n"
msgstr "" msgstr ""
#: objects/objects.py:2686 #: objects/objects.py:2687
#, python-brace-format #, python-brace-format
msgid "{name} has entered the game." msgid "{name} has entered the game."
msgstr "" msgstr ""
#: objects/objects.py:2712 #: objects/objects.py:2716
#, python-brace-format #, python-brace-format
msgid "{name} has left the game." msgid "{name} has left the game{reason}."
msgstr "" msgstr ""
#: objects/objects.py:2831 #: objects/objects.py:2838
#, fuzzy #, fuzzy
#| msgid "This is User #1." #| msgid "This is User #1."
msgid "This is a room." msgid "This is a room."
msgstr "Это Пользователь №1." msgstr "Это Пользователь №1."
#: objects/objects.py:3038 #: objects/objects.py:3045
#, fuzzy #, fuzzy
#| msgid "This is User #1." #| msgid "This is User #1."
msgid "This is an exit." msgid "This is an exit."
msgstr "Это Пользователь №1." msgstr "Это Пользователь №1."
#: objects/objects.py:3135 #: objects/objects.py:3142
msgid "You cannot go there." msgid "You cannot go there."
msgstr "" msgstr ""
@ -392,83 +392,83 @@ msgstr ""
msgid "Warning" msgid "Warning"
msgstr "" msgstr ""
#: prototypes/prototypes.py:390 #: prototypes/prototypes.py:389
msgid "Prototype requires a prototype_key" msgid "Prototype requires a prototype_key"
msgstr "" msgstr ""
#: prototypes/prototypes.py:398 prototypes/prototypes.py:467 #: prototypes/prototypes.py:397 prototypes/prototypes.py:466
#: prototypes/prototypes.py:1087 #: prototypes/prototypes.py:1092
#, python-brace-format #, python-brace-format
msgid "{protkey} is a read-only prototype (defined as code in {module})." msgid "{protkey} is a read-only prototype (defined as code in {module})."
msgstr "" msgstr ""
#: prototypes/prototypes.py:400 prototypes/prototypes.py:469 #: prototypes/prototypes.py:399 prototypes/prototypes.py:468
#: prototypes/prototypes.py:1089 #: prototypes/prototypes.py:1094
#, python-brace-format #, python-brace-format
msgid "{protkey} is a read-only prototype (passed directly as a dict)." msgid "{protkey} is a read-only prototype (passed directly as a dict)."
msgstr "" msgstr ""
#: prototypes/prototypes.py:476 #: prototypes/prototypes.py:475
#, python-brace-format #, python-brace-format
msgid "Prototype {prototype_key} was not found." msgid "Prototype {prototype_key} was not found."
msgstr "" msgstr ""
#: prototypes/prototypes.py:484 #: prototypes/prototypes.py:483
#, python-brace-format #, python-brace-format
msgid "" msgid ""
"{caller} needs explicit 'edit' permissions to delete prototype " "{caller} needs explicit 'edit' permissions to delete prototype "
"{prototype_key}." "{prototype_key}."
msgstr "" msgstr ""
#: prototypes/prototypes.py:606 #: prototypes/prototypes.py:605
#, python-brace-format #, python-brace-format
msgid "Found {num} matching prototypes among {module_prototypes}." msgid "Found {num} matching prototypes among {module_prototypes}."
msgstr "" msgstr ""
#: prototypes/prototypes.py:766 #: prototypes/prototypes.py:765
msgid "No prototypes found." msgid "No prototypes found."
msgstr "" msgstr ""
#: prototypes/prototypes.py:817 #: prototypes/prototypes.py:816
msgid "Prototype lacks a 'prototype_key'." msgid "Prototype lacks a 'prototype_key'."
msgstr "" msgstr ""
#: prototypes/prototypes.py:826 #: prototypes/prototypes.py:825
#, python-brace-format #, python-brace-format
msgid "Prototype {protkey} requires `typeclass` or 'prototype_parent'." msgid "Prototype {protkey} requires `typeclass` or 'prototype_parent'."
msgstr "" msgstr ""
#: prototypes/prototypes.py:833 #: prototypes/prototypes.py:832
#, python-brace-format #, python-brace-format
msgid "" msgid ""
"Prototype {protkey} can only be used as a mixin since it lacks 'typeclass' " "Prototype {protkey} can only be used as a mixin since it lacks 'typeclass' "
"or 'prototype_parent' keys." "or 'prototype_parent' keys."
msgstr "" msgstr ""
#: prototypes/prototypes.py:844 #: prototypes/prototypes.py:843
#, python-brace-format #, python-brace-format
msgid "" msgid ""
"{err}: Prototype {protkey} is based on typeclass {typeclass}, which could " "{err}: Prototype {protkey} is based on typeclass {typeclass}, which could "
"not be imported!" "not be imported!"
msgstr "" msgstr ""
#: prototypes/prototypes.py:863 #: prototypes/prototypes.py:862
#, python-brace-format #, python-brace-format
msgid "Prototype {protkey} tries to parent itself." msgid "Prototype {protkey} tries to parent itself."
msgstr "" msgstr ""
#: prototypes/prototypes.py:869 #: prototypes/prototypes.py:868
#, python-brace-format #, python-brace-format
msgid "" msgid ""
"Prototype {protkey}'s `prototype_parent` (named '{parent}') was not found." "Prototype {protkey}'s `prototype_parent` (named '{parent}') was not found."
msgstr "" msgstr ""
#: prototypes/prototypes.py:877 #: prototypes/prototypes.py:875
#, python-brace-format #, python-brace-format
msgid "{protkey} has infinite nesting of prototypes." msgid "{protkey} has infinite nesting of prototypes."
msgstr "" msgstr ""
#: prototypes/prototypes.py:902 #: prototypes/prototypes.py:900
#, python-brace-format #, python-brace-format
msgid "" msgid ""
"Prototype {protkey} has no `typeclass` defined anywhere in its parent\n" "Prototype {protkey} has no `typeclass` defined anywhere in its parent\n"
@ -476,7 +476,7 @@ msgid ""
"with a typeclass." "with a typeclass."
msgstr "" msgstr ""
#: prototypes/spawner.py:497 #: prototypes/spawner.py:495
#, python-brace-format #, python-brace-format
msgid "" msgid ""
"Diff contains non-dicts that are not on the form (old, new, action_to_take): " "Diff contains non-dicts that are not on the form (old, new, action_to_take): "
@ -540,10 +540,14 @@ msgid ""
"seconds ..." "seconds ..."
msgstr "" msgstr ""
#: server/server.py:157 #: server/server.py:156
msgid "idle timeout exceeded" msgid "idle timeout exceeded"
msgstr "время бездействия превышено" msgstr "время бездействия превышено"
#: server/server.py:177
msgid " (connection lost)"
msgstr ""
#: server/sessionhandler.py:41 #: server/sessionhandler.py:41
msgid "Your client sent an incorrect UTF-8 sequence." msgid "Your client sent an incorrect UTF-8 sequence."
msgstr "" msgstr ""
@ -991,27 +995,27 @@ msgstr "Здесь было несколько совпадений."
msgid "Please be more specific." msgid "Please be more specific."
msgstr "" msgstr ""
#: utils/utils.py:2121 #: utils/utils.py:2127
#, python-brace-format #, python-brace-format
msgid "" msgid ""
"{obj}.{handlername} is a handler and can't be set directly. To add values, " "{obj}.{handlername} is a handler and can't be set directly. To add values, "
"use `{obj}.{handlername}.add()` instead." "use `{obj}.{handlername}.add()` instead."
msgstr "" msgstr ""
#: utils/utils.py:2131 #: utils/utils.py:2137
#, python-brace-format #, python-brace-format
msgid "" msgid ""
"{obj}.{handlername} is a handler and can't be deleted directly. To remove " "{obj}.{handlername} is a handler and can't be deleted directly. To remove "
"values, use `{obj}.{handlername}.remove()` instead." "values, use `{obj}.{handlername}.remove()` instead."
msgstr "" msgstr ""
#: utils/utils.py:2272 #: utils/utils.py:2278
#, fuzzy, python-brace-format #, fuzzy, python-brace-format
#| msgid "Could not find '%s'." #| msgid "Could not find '%s'."
msgid "Could not find '{query}'." msgid "Could not find '{query}'."
msgstr "Не обнаружено '%s'." msgstr "Не обнаружено '%s'."
#: utils/utils.py:2279 #: utils/utils.py:2285
#, fuzzy, python-brace-format #, fuzzy, python-brace-format
#| msgid "More than one match for '%s' (please narrow target):\n" #| msgid "More than one match for '%s' (please narrow target):\n"
msgid "More than one match for '{query}' (please narrow target):\n" msgid "More than one match for '{query}' (please narrow target):\n"

View file

@ -7,7 +7,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: Evennia 1.0\n" "Project-Id-Version: Evennia 1.0\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-10-02 09:28+0000\n" "POT-Creation-Date: 2022-10-29 18:53+0000\n"
"PO-Revision-Date: 2021-05-29 17:54+0200\n" "PO-Revision-Date: 2021-05-29 17:54+0200\n"
"Last-Translator: Griatch <griatch@gmail.com>\n" "Last-Translator: Griatch <griatch@gmail.com>\n"
"Language-Team: Swedish <>\n" "Language-Team: Swedish <>\n"
@ -27,13 +27,15 @@ msgstr "|c{key}|R styrs redan av ett annat Spelarkonto."
#, python-brace-format #, python-brace-format
msgid "" msgid ""
"You cannot control any more puppets (max {_MAX_NR_SIMULTANEOUS_PUPPETS})" "You cannot control any more puppets (max {_MAX_NR_SIMULTANEOUS_PUPPETS})"
msgstr "Du kan inte kontrollera fler karaktärer samtidigt (max {_MAX_NR_SIMULTANEOUS_PUPPETS})" msgstr ""
"Du kan inte kontrollera fler karaktärer samtidigt (max "
"{_MAX_NR_SIMULTANEOUS_PUPPETS})"
#: accounts/accounts.py:552 #: accounts/accounts.py:555
msgid "Too many login failures; please try again in a few minutes." msgid "Too many login failures; please try again in a few minutes."
msgstr "För många fel under inloggning. Vänligen försök igen om några minuter." msgstr "För många fel under inloggning. Vänligen försök igen om några minuter."
#: accounts/accounts.py:565 accounts/accounts.py:829 #: accounts/accounts.py:568 accounts/accounts.py:832
msgid "" msgid ""
"|rYou have been banned and cannot continue from here.\n" "|rYou have been banned and cannot continue from here.\n"
"If you feel this ban is in error, please email an admin.|x" "If you feel this ban is in error, please email an admin.|x"
@ -41,22 +43,22 @@ msgstr ""
"|rDu har blivit bannlyst och kan inte fortsätta.\n" "|rDu har blivit bannlyst och kan inte fortsätta.\n"
"Om du anser detta är felaktigt, vänligen email:a en administrator.|x" "Om du anser detta är felaktigt, vänligen email:a en administrator.|x"
#: accounts/accounts.py:577 #: accounts/accounts.py:580
msgid "Username and/or password is incorrect." msgid "Username and/or password is incorrect."
msgstr "Användarnamn och/eller lösenord är felaktigt." msgstr "Användarnamn och/eller lösenord är felaktigt."
#: accounts/accounts.py:584 #: accounts/accounts.py:587
msgid "Too many authentication failures." msgid "Too many authentication failures."
msgstr "För många auktoriserings-fel." msgstr "För många auktoriserings-fel."
#: accounts/accounts.py:800 #: accounts/accounts.py:803
msgid "" msgid ""
"You are creating too many accounts. Please log into an existing account." "You are creating too many accounts. Please log into an existing account."
msgstr "" msgstr ""
"Du håller pä att skapa för många konton. Vänligen anslut till ett " "Du håller pä att skapa för många konton. Vänligen anslut till ett "
"existerande konto." "existerande konto."
#: accounts/accounts.py:846 #: accounts/accounts.py:849
msgid "" msgid ""
"There was an error creating the Account. If this problem persists, contact " "There was an error creating the Account. If this problem persists, contact "
"an admin." "an admin."
@ -64,33 +66,33 @@ msgstr ""
"Ett fel uppstod när kontot skulle skapas. Kontakta en administrator om detta " "Ett fel uppstod när kontot skulle skapas. Kontakta en administrator om detta "
"fel består." "fel består."
#: accounts/accounts.py:882 accounts/accounts.py:1798 #: accounts/accounts.py:885 accounts/accounts.py:1801
msgid "An error occurred. Please e-mail an admin if the problem persists." msgid "An error occurred. Please e-mail an admin if the problem persists."
msgstr "Ett fel uppstod. Om felet består, vänligen email:a en administrator." msgstr "Ett fel uppstod. Om felet består, vänligen email:a en administrator."
#: accounts/accounts.py:915 #: accounts/accounts.py:918
msgid "Account being deleted." msgid "Account being deleted."
msgstr "Kontot raderas." msgstr "Kontot raderas."
#: accounts/accounts.py:1472 accounts/accounts.py:1816 #: accounts/accounts.py:1475 accounts/accounts.py:1819
#, python-brace-format #, python-brace-format
msgid "|G{key} connected|n" msgid "|G{key} connected|n"
msgstr "|G{key} anslöt|n" msgstr "|G{key} anslöt|n"
#: accounts/accounts.py:1478 #: accounts/accounts.py:1481
msgid "The Character does not exist." msgid "The Character does not exist."
msgstr "Karaktären existerar inte." msgstr "Karaktären existerar inte."
#: accounts/accounts.py:1517 #: accounts/accounts.py:1520
#, python-brace-format #, python-brace-format
msgid "|R{key} disconnected{reason}|n" msgid "|R{key} disconnected{reason}|n"
msgstr "|R{key} frånkopplad{reason}|n" msgstr "|R{key} frånkopplad{reason}|n"
#: accounts/accounts.py:1751 #: accounts/accounts.py:1754
msgid "Guest accounts are not enabled on this server." msgid "Guest accounts are not enabled on this server."
msgstr "Gästkonton är inte aktiverade på denna server." msgstr "Gästkonton är inte aktiverade på denna server."
#: accounts/accounts.py:1761 #: accounts/accounts.py:1764
msgid "All guest accounts are in use. Please try again later." msgid "All guest accounts are in use. Please try again later."
msgstr "Alla gästkonton används redan. Vänligen försök senare." msgstr "Alla gästkonton används redan. Vänligen försök senare."
@ -337,64 +339,64 @@ msgstr "Lås: '{lockdef}' has icke-matchande parenteser."
msgid "Lock: '{lockdef}' has no valid lock functions." msgid "Lock: '{lockdef}' has no valid lock functions."
msgstr "Lås: '{lockdef}' innehåller inga acceptabla låsfunktioner." msgstr "Lås: '{lockdef}' innehåller inga acceptabla låsfunktioner."
#: objects/objects.py:855 #: objects/objects.py:856
#, python-brace-format #, python-brace-format
msgid "Couldn't perform move ({err}). Contact an admin." msgid "Couldn't perform move ({err}). Contact an admin."
msgstr "Kunde inte utföra föflyttningen ('{err}'). Kontakta en admininstrator." msgstr "Kunde inte utföra föflyttningen ('{err}'). Kontakta en admininstrator."
#: objects/objects.py:865 #: objects/objects.py:866
msgid "The destination doesn't exist." msgid "The destination doesn't exist."
msgstr "Destinationen existerar inte." msgstr "Destinationen existerar inte."
#: objects/objects.py:977 #: objects/objects.py:978
#, python-brace-format #, python-brace-format
msgid "Could not find default home '(#{dbid})'." msgid "Could not find default home '(#{dbid})'."
msgstr "Kunde inte hitta standard-hem '(#{dbid})'." msgstr "Kunde inte hitta standard-hem '(#{dbid})'."
#: objects/objects.py:991 #: objects/objects.py:992
msgid "Something went wrong! You are dumped into nowhere. Contact an admin." msgid "Something went wrong! You are dumped into nowhere. Contact an admin."
msgstr "" msgstr ""
"Nåtgot gick fel! Du har blivit flyttat till en icke-existerande plats. " "Nåtgot gick fel! Du har blivit flyttat till en icke-existerande plats. "
"Kontakta en admininstrator." "Kontakta en admininstrator."
#: objects/objects.py:1144 #: objects/objects.py:1145
#, python-brace-format #, python-brace-format
msgid "Your character {key} has been destroyed." msgid "Your character {key} has been destroyed."
msgstr "Din karaktär {key} har raderats." msgstr "Din karaktär {key} har raderats."
#: objects/objects.py:1852 #: objects/objects.py:1853
#, python-brace-format #, python-brace-format
msgid "You now have {name} in your possession." msgid "You now have {name} in your possession."
msgstr "Du har nu {name}." msgstr "Du har nu {name}."
#: objects/objects.py:1862 #: objects/objects.py:1863
#, python-brace-format #, python-brace-format
msgid "{object} arrives to {destination} from {origin}." msgid "{object} arrives to {destination} from {origin}."
msgstr "{object} anländer till {destination} från {origin}." msgstr "{object} anländer till {destination} från {origin}."
#: objects/objects.py:1864 #: objects/objects.py:1865
#, python-brace-format #, python-brace-format
msgid "{object} arrives to {destination}." msgid "{object} arrives to {destination}."
msgstr "{object} anländer till {destination}." msgstr "{object} anländer till {destination}."
#: objects/objects.py:2529 #: objects/objects.py:2530
msgid "Invalid character name." msgid "Invalid character name."
msgstr "Inkorrekt karaktärsnamn." msgstr "Inkorrekt karaktärsnamn."
#: objects/objects.py:2548 #: objects/objects.py:2549
msgid "There are too many characters associated with this account." msgid "There are too many characters associated with this account."
msgstr "Det finns för många karaktärer associerade till detta konto." msgstr "Det finns för många karaktärer associerade till detta konto."
#: objects/objects.py:2574 #: objects/objects.py:2575
msgid "This is a character." msgid "This is a character."
msgstr "Detta är en karaktär." msgstr "Detta är en karaktär."
#: objects/objects.py:2663 #: objects/objects.py:2664
#, python-brace-format #, python-brace-format
msgid "|r{obj} has no location and no home is set.|n" msgid "|r{obj} has no location and no home is set.|n"
msgstr "|r{obj} har ingen location och inget home är satt.|n" msgstr "|r{obj} har ingen location och inget home är satt.|n"
#: objects/objects.py:2681 #: objects/objects.py:2682
#, python-brace-format #, python-brace-format
msgid "" msgid ""
"\n" "\n"
@ -403,25 +405,26 @@ msgstr ""
"\n" "\n"
"Du blir |c{name}|n.\n" "Du blir |c{name}|n.\n"
#: objects/objects.py:2686 #: objects/objects.py:2687
#, python-brace-format #, python-brace-format
msgid "{name} has entered the game." msgid "{name} has entered the game."
msgstr "{name} har anslutit." msgstr "{name} har anslutit."
#: objects/objects.py:2712 #: objects/objects.py:2716
#, python-brace-format #, fuzzy, python-brace-format
msgid "{name} has left the game." #| msgid "{name} has left the game."
msgid "{name} has left the game{reason}."
msgstr "{name} lämnade spelet." msgstr "{name} lämnade spelet."
#: objects/objects.py:2831 #: objects/objects.py:2838
msgid "This is a room." msgid "This is a room."
msgstr "Detta är ett rum." msgstr "Detta är ett rum."
#: objects/objects.py:3038 #: objects/objects.py:3045
msgid "This is an exit." msgid "This is an exit."
msgstr "Detta är en utgång." msgstr "Detta är en utgång."
#: objects/objects.py:3135 #: objects/objects.py:3142
msgid "You cannot go there." msgid "You cannot go there."
msgstr "Du kan inte gå dit." msgstr "Du kan inte gå dit."
@ -433,20 +436,20 @@ msgstr "Fel"
msgid "Warning" msgid "Warning"
msgstr "Varning" msgstr "Varning"
#: prototypes/prototypes.py:390 #: prototypes/prototypes.py:389
msgid "Prototype requires a prototype_key" msgid "Prototype requires a prototype_key"
msgstr "Prototypen kräver en prototype_key" msgstr "Prototypen kräver en prototype_key"
#: prototypes/prototypes.py:398 prototypes/prototypes.py:467 #: prototypes/prototypes.py:397 prototypes/prototypes.py:466
#: prototypes/prototypes.py:1087 #: prototypes/prototypes.py:1092
#, python-brace-format #, python-brace-format
msgid "{protkey} is a read-only prototype (defined as code in {module})." msgid "{protkey} is a read-only prototype (defined as code in {module})."
msgstr "" msgstr ""
"{protkey} är en prototyp som enbart är läsbar (definierad som kod i " "{protkey} är en prototyp som enbart är läsbar (definierad som kod i "
"{module})." "{module})."
#: prototypes/prototypes.py:400 prototypes/prototypes.py:469 #: prototypes/prototypes.py:399 prototypes/prototypes.py:468
#: prototypes/prototypes.py:1089 #: prototypes/prototypes.py:1094
#, fuzzy, python-brace-format #, fuzzy, python-brace-format
#| msgid "{protkey} is a read-only prototype (defined as code in {module})." #| msgid "{protkey} is a read-only prototype (defined as code in {module})."
msgid "{protkey} is a read-only prototype (passed directly as a dict)." msgid "{protkey} is a read-only prototype (passed directly as a dict)."
@ -454,12 +457,12 @@ msgstr ""
"{protkey} är en prototyp som enbart är läsbar (definierad som kod i " "{protkey} är en prototyp som enbart är läsbar (definierad som kod i "
"{module})." "{module})."
#: prototypes/prototypes.py:476 #: prototypes/prototypes.py:475
#, python-brace-format #, python-brace-format
msgid "Prototype {prototype_key} was not found." msgid "Prototype {prototype_key} was not found."
msgstr "Prototypen {prototype_key} hittades inte." msgstr "Prototypen {prototype_key} hittades inte."
#: prototypes/prototypes.py:484 #: prototypes/prototypes.py:483
#, python-brace-format #, python-brace-format
msgid "" msgid ""
"{caller} needs explicit 'edit' permissions to delete prototype " "{caller} needs explicit 'edit' permissions to delete prototype "
@ -467,26 +470,26 @@ msgid ""
msgstr "" msgstr ""
"{caller} behöver 'edit'-permission för att radera prototypen {prototype_key}." "{caller} behöver 'edit'-permission för att radera prototypen {prototype_key}."
#: prototypes/prototypes.py:606 #: prototypes/prototypes.py:605
#, fuzzy, python-brace-format #, fuzzy, python-brace-format
#| msgid "Found {num} matching prototypes {module_prototypes}." #| msgid "Found {num} matching prototypes {module_prototypes}."
msgid "Found {num} matching prototypes among {module_prototypes}." msgid "Found {num} matching prototypes among {module_prototypes}."
msgstr "Hittade {num} matchande prototyper {module_prototypes}." msgstr "Hittade {num} matchande prototyper {module_prototypes}."
#: prototypes/prototypes.py:766 #: prototypes/prototypes.py:765
msgid "No prototypes found." msgid "No prototypes found."
msgstr "Ingen prototype hittades." msgstr "Ingen prototype hittades."
#: prototypes/prototypes.py:817 #: prototypes/prototypes.py:816
msgid "Prototype lacks a 'prototype_key'." msgid "Prototype lacks a 'prototype_key'."
msgstr "Prototypen saknar en 'prototype_key'." msgstr "Prototypen saknar en 'prototype_key'."
#: prototypes/prototypes.py:826 #: prototypes/prototypes.py:825
#, python-brace-format #, python-brace-format
msgid "Prototype {protkey} requires `typeclass` or 'prototype_parent'." msgid "Prototype {protkey} requires `typeclass` or 'prototype_parent'."
msgstr "Prototype {protkey} kräver 'typeclass' eller 'prototype_parent'." msgstr "Prototype {protkey} kräver 'typeclass' eller 'prototype_parent'."
#: prototypes/prototypes.py:833 #: prototypes/prototypes.py:832
#, python-brace-format #, python-brace-format
msgid "" msgid ""
"Prototype {protkey} can only be used as a mixin since it lacks 'typeclass' " "Prototype {protkey} can only be used as a mixin since it lacks 'typeclass' "
@ -495,7 +498,7 @@ msgstr ""
"Prototypen {protkey} kan bara användas som en mixin eftersom den saknar " "Prototypen {protkey} kan bara användas som en mixin eftersom den saknar "
"'typeclass'- eller 'prototype_parent'-nycklar." "'typeclass'- eller 'prototype_parent'-nycklar."
#: prototypes/prototypes.py:844 #: prototypes/prototypes.py:843
#, python-brace-format #, python-brace-format
msgid "" msgid ""
"{err}: Prototype {protkey} is based on typeclass {typeclass}, which could " "{err}: Prototype {protkey} is based on typeclass {typeclass}, which could "
@ -504,22 +507,23 @@ msgstr ""
"{err}: Prototypen {protkey} är baserad på typeclassen {typeclass}, vilken " "{err}: Prototypen {protkey} är baserad på typeclassen {typeclass}, vilken "
"inte kunde importeras!" "inte kunde importeras!"
#: prototypes/prototypes.py:863 #: prototypes/prototypes.py:862
#, python-brace-format #, python-brace-format
msgid "Prototype {protkey} tries to parent itself." msgid "Prototype {protkey} tries to parent itself."
msgstr "Prototypen {protkey} försöker bli sin egen förälder." msgstr "Prototypen {protkey} försöker bli sin egen förälder."
#: prototypes/prototypes.py:869 #: prototypes/prototypes.py:868
#, fuzzy, python-brace-format #, fuzzy, python-brace-format
msgid "Prototype {protkey}'s prototype_parent '{parent}' was not found." msgid ""
"Prototype {protkey}'s `prototype_parent` (named '{parent}') was not found."
msgstr "Prototypen {protkey} har in okänd 'prototype_parent' ({parent})." msgstr "Prototypen {protkey} har in okänd 'prototype_parent' ({parent})."
#: prototypes/prototypes.py:877 #: prototypes/prototypes.py:875
#, python-brace-format #, python-brace-format
msgid "{protkey} has infinite nesting of prototypes." msgid "{protkey} has infinite nesting of prototypes."
msgstr "{protkey} har en oändlig nästling av prototyper." msgstr "{protkey} har en oändlig nästling av prototyper."
#: prototypes/prototypes.py:902 #: prototypes/prototypes.py:900
#, python-brace-format #, python-brace-format
msgid "" msgid ""
"Prototype {protkey} has no `typeclass` defined anywhere in its parent\n" "Prototype {protkey} has no `typeclass` defined anywhere in its parent\n"
@ -530,7 +534,7 @@ msgstr ""
"Lägg till 'typeclass' eller en 'prototype_parent' som pekar på en prototyp " "Lägg till 'typeclass' eller en 'prototype_parent' som pekar på en prototyp "
"med 'typeclass'." "med 'typeclass'."
#: prototypes/spawner.py:497 #: prototypes/spawner.py:495
#, python-brace-format #, python-brace-format
msgid "" msgid ""
"Diff contains non-dicts that are not on the form (old, new, action_to_take): " "Diff contains non-dicts that are not on the form (old, new, action_to_take): "
@ -561,7 +565,8 @@ msgid ""
"help, want to contribute, report issues or just join the community.\n" "help, want to contribute, report issues or just join the community.\n"
"\n" "\n"
"As a privileged user, write |wbatchcommand tutorial_world.build|n to build\n" "As a privileged user, write |wbatchcommand tutorial_world.build|n to build\n"
"tutorial content. Once built, try |wintro|n for starting help and |wtutorial|n to\n" "tutorial content. Once built, try |wintro|n for starting help and |wtutorial|"
"n to\n"
"play the demo game.\n" "play the demo game.\n"
msgstr "" msgstr ""
"\n" "\n"
@ -570,8 +575,8 @@ msgstr ""
"behöver hjälp, vill hjälpa till, rapportera fel eller bara gå med i " "behöver hjälp, vill hjälpa till, rapportera fel eller bara gå med i "
"utvecklar-communityn.\n" "utvecklar-communityn.\n"
"Som konto #1 kan du skapa en demo/tutorial-area med '|wbatchcommand " "Som konto #1 kan du skapa en demo/tutorial-area med '|wbatchcommand "
"tutorial_world.build|n'. Du kan sedan testa |wintro|n for hjälp och |wtutorial|n för " "tutorial_world.build|n'. Du kan sedan testa |wintro|n for hjälp och |"
"att spela igenom demot.\n" "wtutorial|n för att spela igenom demot.\n"
#: server/initial_setup.py:108 #: server/initial_setup.py:108
msgid "This is User #1." msgid "This is User #1."
@ -582,6 +587,7 @@ msgid "Limbo"
msgstr "Limbo" msgstr "Limbo"
#: server/portal/portalsessionhandler.py:41 #: server/portal/portalsessionhandler.py:41
#, python-brace-format
msgid "" msgid ""
"{servername} DoS protection is active.You are queued to connect in {num} " "{servername} DoS protection is active.You are queued to connect in {num} "
"seconds ..." "seconds ..."
@ -589,10 +595,16 @@ msgstr ""
"{servername} DoS-skydd är aktiv. Du har hamnat i kö och ansluter om {num} " "{servername} DoS-skydd är aktiv. Du har hamnat i kö och ansluter om {num} "
"sekunder ..." "sekunder ..."
#: server/server.py:157 #: server/server.py:156
msgid "idle timeout exceeded" msgid "idle timeout exceeded"
msgstr "Timeout. Kopplar ur" msgstr "Timeout. Kopplar ur"
#: server/server.py:177
#, fuzzy
#| msgid "Connection lost: %s"
msgid " (connection lost)"
msgstr "Uppkopplingen förlorades: %s"
#: server/sessionhandler.py:41 #: server/sessionhandler.py:41
msgid "Your client sent an incorrect UTF-8 sequence." msgid "Your client sent an incorrect UTF-8 sequence."
msgstr "Din klient skickade en inkorrekt UTF-8-sekvens." msgstr "Din klient skickade en inkorrekt UTF-8-sekvens."
@ -1116,28 +1128,30 @@ msgstr "Det fanns många träffar:"
msgid "Please be more specific." msgid "Please be more specific."
msgstr "Försök vara mer specifik." msgstr "Försök vara mer specifik."
#: utils/utils.py:2121 #: utils/utils.py:2127
#, python-brace-format #, python-brace-format
msgid "" msgid ""
"{obj}.{handlername} is a handler and can't be set directly. To add values, " "{obj}.{handlername} is a handler and can't be set directly. To add values, "
"use `{obj}.{handlername}.add()` instead." "use `{obj}.{handlername}.add()` instead."
msgstr "{obj}.{handlername} är en 'handler' och kan inte ges ett direkt värde. För " msgstr ""
"{obj}.{handlername} är en 'handler' och kan inte ges ett direkt värde. För "
"att sätta ett värde, använd `{obj}.{handlername} istället." "att sätta ett värde, använd `{obj}.{handlername} istället."
#: utils/utils.py:2131 #: utils/utils.py:2137
#, python-brace-format #, python-brace-format
msgid "" msgid ""
"{obj}.{handlername} is a handler and can't be deleted directly. To remove " "{obj}.{handlername} is a handler and can't be deleted directly. To remove "
"values, use `{obj}.{handlername}.remove()` instead." "values, use `{obj}.{handlername}.remove()` instead."
msgstr "{obj}.{handlername} är en 'handler' och kan inte raderas. För att ta bort " msgstr ""
"{obj}.{handlername} är en 'handler' och kan inte raderas. För att ta bort "
"värden, använd `{obj}.{handlername}.remove()` istället." "värden, använd `{obj}.{handlername}.remove()` istället."
#: utils/utils.py:2272 #: utils/utils.py:2278
#, python-brace-format #, python-brace-format
msgid "Could not find '{query}'." msgid "Could not find '{query}'."
msgstr "Kunde inte hitta '{query}'." msgstr "Kunde inte hitta '{query}'."
#: utils/utils.py:2279 #: utils/utils.py:2285
#, python-brace-format #, python-brace-format
msgid "More than one match for '{query}' (please narrow target):\n" msgid "More than one match for '{query}' (please narrow target):\n"
msgstr "Mer än en träff för '{query}' (försök vara mer specifik):\n" msgstr "Mer än en träff för '{query}' (försök vara mer specifik):\n"
@ -1403,9 +1417,6 @@ msgstr "Du har inte rättigheter att se eller ändra någonting."
#~ msgid "Successfully authenticated to the '%s' network." #~ msgid "Successfully authenticated to the '%s' network."
#~ msgstr "Identifierade sig framgångsrikt till nätverket '%s'." #~ msgstr "Identifierade sig framgångsrikt till nätverket '%s'."
#~ msgid "Connection lost: %s"
#~ msgstr "Uppkopplingen förlorades: %s"
#~ msgid "Unknown" #~ msgid "Unknown"
#~ msgstr "Okänd" #~ msgstr "Okänd"

View file

@ -7,7 +7,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: \n" "Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-10-02 09:28+0000\n" "POT-Creation-Date: 2022-10-29 18:53+0000\n"
"PO-Revision-Date: 2019-05-03 17:04+0800\n" "PO-Revision-Date: 2019-05-03 17:04+0800\n"
"Last-Translator: \n" "Last-Translator: \n"
"Language-Team: \n" "Language-Team: \n"
@ -27,64 +27,64 @@ msgid ""
"You cannot control any more puppets (max {_MAX_NR_SIMULTANEOUS_PUPPETS})" "You cannot control any more puppets (max {_MAX_NR_SIMULTANEOUS_PUPPETS})"
msgstr "" msgstr ""
#: accounts/accounts.py:552 #: accounts/accounts.py:555
msgid "Too many login failures; please try again in a few minutes." msgid "Too many login failures; please try again in a few minutes."
msgstr "" msgstr ""
#: accounts/accounts.py:565 accounts/accounts.py:829 #: accounts/accounts.py:568 accounts/accounts.py:832
msgid "" msgid ""
"|rYou have been banned and cannot continue from here.\n" "|rYou have been banned and cannot continue from here.\n"
"If you feel this ban is in error, please email an admin.|x" "If you feel this ban is in error, please email an admin.|x"
msgstr "" msgstr ""
#: accounts/accounts.py:577 #: accounts/accounts.py:580
msgid "Username and/or password is incorrect." msgid "Username and/or password is incorrect."
msgstr "" msgstr ""
#: accounts/accounts.py:584 #: accounts/accounts.py:587
msgid "Too many authentication failures." msgid "Too many authentication failures."
msgstr "" msgstr ""
#: accounts/accounts.py:800 #: accounts/accounts.py:803
msgid "" msgid ""
"You are creating too many accounts. Please log into an existing account." "You are creating too many accounts. Please log into an existing account."
msgstr "" msgstr ""
#: accounts/accounts.py:846 #: accounts/accounts.py:849
msgid "" msgid ""
"There was an error creating the Account. If this problem persists, contact " "There was an error creating the Account. If this problem persists, contact "
"an admin." "an admin."
msgstr "" msgstr ""
#: accounts/accounts.py:882 accounts/accounts.py:1798 #: accounts/accounts.py:885 accounts/accounts.py:1801
msgid "An error occurred. Please e-mail an admin if the problem persists." msgid "An error occurred. Please e-mail an admin if the problem persists."
msgstr "" msgstr ""
#: accounts/accounts.py:915 #: accounts/accounts.py:918
msgid "Account being deleted." msgid "Account being deleted."
msgstr "用户已删除。" msgstr "用户已删除。"
#: accounts/accounts.py:1472 accounts/accounts.py:1816 #: accounts/accounts.py:1475 accounts/accounts.py:1819
#, python-brace-format #, python-brace-format
msgid "|G{key} connected|n" msgid "|G{key} connected|n"
msgstr "" msgstr ""
#: accounts/accounts.py:1478 #: accounts/accounts.py:1481
#, fuzzy #, fuzzy
#| msgid "The destination doesn't exist." #| msgid "The destination doesn't exist."
msgid "The Character does not exist." msgid "The Character does not exist."
msgstr "目的地不存在。" msgstr "目的地不存在。"
#: accounts/accounts.py:1517 #: accounts/accounts.py:1520
#, python-brace-format #, python-brace-format
msgid "|R{key} disconnected{reason}|n" msgid "|R{key} disconnected{reason}|n"
msgstr "" msgstr ""
#: accounts/accounts.py:1751 #: accounts/accounts.py:1754
msgid "Guest accounts are not enabled on this server." msgid "Guest accounts are not enabled on this server."
msgstr "" msgstr ""
#: accounts/accounts.py:1761 #: accounts/accounts.py:1764
msgid "All guest accounts are in use. Please try again later." msgid "All guest accounts are in use. Please try again later."
msgstr "" msgstr ""
@ -318,96 +318,96 @@ msgstr "Lock: '{lockdef}' 英文括号不匹配。"
msgid "Lock: '{lockdef}' has no valid lock functions." msgid "Lock: '{lockdef}' has no valid lock functions."
msgstr "Lock: '{lockdef}' 缺少合法Lock函数。" msgstr "Lock: '{lockdef}' 缺少合法Lock函数。"
#: objects/objects.py:855 #: objects/objects.py:856
#, fuzzy, python-brace-format #, fuzzy, python-brace-format
#| msgid "Couldn't perform move ('%s'). Contact an admin." #| msgid "Couldn't perform move ('%s'). Contact an admin."
msgid "Couldn't perform move ({err}). Contact an admin." msgid "Couldn't perform move ({err}). Contact an admin."
msgstr "无法做出行动 '%s')。请联系管理员。" msgstr "无法做出行动 '%s')。请联系管理员。"
#: objects/objects.py:865 #: objects/objects.py:866
msgid "The destination doesn't exist." msgid "The destination doesn't exist."
msgstr "目的地不存在。" msgstr "目的地不存在。"
#: objects/objects.py:977 #: objects/objects.py:978
#, fuzzy, python-brace-format #, fuzzy, python-brace-format
#| msgid "Could not find default home '(#%d)'." #| msgid "Could not find default home '(#%d)'."
msgid "Could not find default home '(#{dbid})'." msgid "Could not find default home '(#{dbid})'."
msgstr "无法定位默认寓所 '(#%d)' 。" msgstr "无法定位默认寓所 '(#%d)' 。"
#: objects/objects.py:991 #: objects/objects.py:992
msgid "Something went wrong! You are dumped into nowhere. Contact an admin." msgid "Something went wrong! You are dumped into nowhere. Contact an admin."
msgstr "出现错误!您进入了错误的地点。请联系管理员。" msgstr "出现错误!您进入了错误的地点。请联系管理员。"
#: objects/objects.py:1144 #: objects/objects.py:1145
#, fuzzy, python-brace-format #, fuzzy, python-brace-format
#| msgid "Your character %s has been destroyed." #| msgid "Your character %s has been destroyed."
msgid "Your character {key} has been destroyed." msgid "Your character {key} has been destroyed."
msgstr "您的角色 %s 被摧毁了。" msgstr "您的角色 %s 被摧毁了。"
#: objects/objects.py:1852 #: objects/objects.py:1853
#, python-brace-format #, python-brace-format
msgid "You now have {name} in your possession." msgid "You now have {name} in your possession."
msgstr "" msgstr ""
#: objects/objects.py:1862 #: objects/objects.py:1863
#, python-brace-format #, python-brace-format
msgid "{object} arrives to {destination} from {origin}." msgid "{object} arrives to {destination} from {origin}."
msgstr "" msgstr ""
#: objects/objects.py:1864 #: objects/objects.py:1865
#, python-brace-format #, python-brace-format
msgid "{object} arrives to {destination}." msgid "{object} arrives to {destination}."
msgstr "" msgstr ""
#: objects/objects.py:2529 #: objects/objects.py:2530
msgid "Invalid character name." msgid "Invalid character name."
msgstr "" msgstr ""
#: objects/objects.py:2548 #: objects/objects.py:2549
msgid "There are too many characters associated with this account." msgid "There are too many characters associated with this account."
msgstr "" msgstr ""
#: objects/objects.py:2574 #: objects/objects.py:2575
#, fuzzy #, fuzzy
#| msgid "This is User #1." #| msgid "This is User #1."
msgid "This is a character." msgid "This is a character."
msgstr "这是管理员。" msgstr "这是管理员。"
#: objects/objects.py:2663 #: objects/objects.py:2664
#, python-brace-format #, python-brace-format
msgid "|r{obj} has no location and no home is set.|n" msgid "|r{obj} has no location and no home is set.|n"
msgstr "" msgstr ""
#: objects/objects.py:2681 #: objects/objects.py:2682
#, python-brace-format #, python-brace-format
msgid "" msgid ""
"\n" "\n"
"You become |c{name}|n.\n" "You become |c{name}|n.\n"
msgstr "" msgstr ""
#: objects/objects.py:2686 #: objects/objects.py:2687
#, python-brace-format #, python-brace-format
msgid "{name} has entered the game." msgid "{name} has entered the game."
msgstr "" msgstr ""
#: objects/objects.py:2712 #: objects/objects.py:2716
#, python-brace-format #, python-brace-format
msgid "{name} has left the game." msgid "{name} has left the game{reason}."
msgstr "" msgstr ""
#: objects/objects.py:2831 #: objects/objects.py:2838
#, fuzzy #, fuzzy
#| msgid "This is User #1." #| msgid "This is User #1."
msgid "This is a room." msgid "This is a room."
msgstr "这是管理员。" msgstr "这是管理员。"
#: objects/objects.py:3038 #: objects/objects.py:3045
#, fuzzy #, fuzzy
#| msgid "This is User #1." #| msgid "This is User #1."
msgid "This is an exit." msgid "This is an exit."
msgstr "这是管理员。" msgstr "这是管理员。"
#: objects/objects.py:3135 #: objects/objects.py:3142
msgid "You cannot go there." msgid "You cannot go there."
msgstr "" msgstr ""
@ -419,83 +419,83 @@ msgstr ""
msgid "Warning" msgid "Warning"
msgstr "" msgstr ""
#: prototypes/prototypes.py:390 #: prototypes/prototypes.py:389
msgid "Prototype requires a prototype_key" msgid "Prototype requires a prototype_key"
msgstr "" msgstr ""
#: prototypes/prototypes.py:398 prototypes/prototypes.py:467 #: prototypes/prototypes.py:397 prototypes/prototypes.py:466
#: prototypes/prototypes.py:1087 #: prototypes/prototypes.py:1092
#, python-brace-format #, python-brace-format
msgid "{protkey} is a read-only prototype (defined as code in {module})." msgid "{protkey} is a read-only prototype (defined as code in {module})."
msgstr "" msgstr ""
#: prototypes/prototypes.py:400 prototypes/prototypes.py:469 #: prototypes/prototypes.py:399 prototypes/prototypes.py:468
#: prototypes/prototypes.py:1089 #: prototypes/prototypes.py:1094
#, python-brace-format #, python-brace-format
msgid "{protkey} is a read-only prototype (passed directly as a dict)." msgid "{protkey} is a read-only prototype (passed directly as a dict)."
msgstr "" msgstr ""
#: prototypes/prototypes.py:476 #: prototypes/prototypes.py:475
#, python-brace-format #, python-brace-format
msgid "Prototype {prototype_key} was not found." msgid "Prototype {prototype_key} was not found."
msgstr "" msgstr ""
#: prototypes/prototypes.py:484 #: prototypes/prototypes.py:483
#, python-brace-format #, python-brace-format
msgid "" msgid ""
"{caller} needs explicit 'edit' permissions to delete prototype " "{caller} needs explicit 'edit' permissions to delete prototype "
"{prototype_key}." "{prototype_key}."
msgstr "" msgstr ""
#: prototypes/prototypes.py:606 #: prototypes/prototypes.py:605
#, python-brace-format #, python-brace-format
msgid "Found {num} matching prototypes among {module_prototypes}." msgid "Found {num} matching prototypes among {module_prototypes}."
msgstr "" msgstr ""
#: prototypes/prototypes.py:766 #: prototypes/prototypes.py:765
msgid "No prototypes found." msgid "No prototypes found."
msgstr "" msgstr ""
#: prototypes/prototypes.py:817 #: prototypes/prototypes.py:816
msgid "Prototype lacks a 'prototype_key'." msgid "Prototype lacks a 'prototype_key'."
msgstr "" msgstr ""
#: prototypes/prototypes.py:826 #: prototypes/prototypes.py:825
#, python-brace-format #, python-brace-format
msgid "Prototype {protkey} requires `typeclass` or 'prototype_parent'." msgid "Prototype {protkey} requires `typeclass` or 'prototype_parent'."
msgstr "" msgstr ""
#: prototypes/prototypes.py:833 #: prototypes/prototypes.py:832
#, python-brace-format #, python-brace-format
msgid "" msgid ""
"Prototype {protkey} can only be used as a mixin since it lacks 'typeclass' " "Prototype {protkey} can only be used as a mixin since it lacks 'typeclass' "
"or 'prototype_parent' keys." "or 'prototype_parent' keys."
msgstr "" msgstr ""
#: prototypes/prototypes.py:844 #: prototypes/prototypes.py:843
#, python-brace-format #, python-brace-format
msgid "" msgid ""
"{err}: Prototype {protkey} is based on typeclass {typeclass}, which could " "{err}: Prototype {protkey} is based on typeclass {typeclass}, which could "
"not be imported!" "not be imported!"
msgstr "" msgstr ""
#: prototypes/prototypes.py:863 #: prototypes/prototypes.py:862
#, python-brace-format #, python-brace-format
msgid "Prototype {protkey} tries to parent itself." msgid "Prototype {protkey} tries to parent itself."
msgstr "" msgstr ""
#: prototypes/prototypes.py:869 #: prototypes/prototypes.py:868
#, python-brace-format #, python-brace-format
msgid "" msgid ""
"Prototype {protkey}'s `prototype_parent` (named '{parent}') was not found." "Prototype {protkey}'s `prototype_parent` (named '{parent}') was not found."
msgstr "" msgstr ""
#: prototypes/prototypes.py:877 #: prototypes/prototypes.py:875
#, python-brace-format #, python-brace-format
msgid "{protkey} has infinite nesting of prototypes." msgid "{protkey} has infinite nesting of prototypes."
msgstr "" msgstr ""
#: prototypes/prototypes.py:902 #: prototypes/prototypes.py:900
#, python-brace-format #, python-brace-format
msgid "" msgid ""
"Prototype {protkey} has no `typeclass` defined anywhere in its parent\n" "Prototype {protkey} has no `typeclass` defined anywhere in its parent\n"
@ -503,7 +503,7 @@ msgid ""
"with a typeclass." "with a typeclass."
msgstr "" msgstr ""
#: prototypes/spawner.py:497 #: prototypes/spawner.py:495
#, python-brace-format #, python-brace-format
msgid "" msgid ""
"Diff contains non-dicts that are not on the form (old, new, action_to_take): " "Diff contains non-dicts that are not on the form (old, new, action_to_take): "
@ -575,10 +575,14 @@ msgid ""
"seconds ..." "seconds ..."
msgstr "" msgstr ""
#: server/server.py:157 #: server/server.py:156
msgid "idle timeout exceeded" msgid "idle timeout exceeded"
msgstr "连接超时" msgstr "连接超时"
#: server/server.py:177
msgid " (connection lost)"
msgstr ""
#: server/sessionhandler.py:41 #: server/sessionhandler.py:41
msgid "Your client sent an incorrect UTF-8 sequence." msgid "Your client sent an incorrect UTF-8 sequence."
msgstr "" msgstr ""
@ -1029,27 +1033,27 @@ msgstr "发现多个匹配项。"
msgid "Please be more specific." msgid "Please be more specific."
msgstr "" msgstr ""
#: utils/utils.py:2121 #: utils/utils.py:2127
#, python-brace-format #, python-brace-format
msgid "" msgid ""
"{obj}.{handlername} is a handler and can't be set directly. To add values, " "{obj}.{handlername} is a handler and can't be set directly. To add values, "
"use `{obj}.{handlername}.add()` instead." "use `{obj}.{handlername}.add()` instead."
msgstr "" msgstr ""
#: utils/utils.py:2131 #: utils/utils.py:2137
#, python-brace-format #, python-brace-format
msgid "" msgid ""
"{obj}.{handlername} is a handler and can't be deleted directly. To remove " "{obj}.{handlername} is a handler and can't be deleted directly. To remove "
"values, use `{obj}.{handlername}.remove()` instead." "values, use `{obj}.{handlername}.remove()` instead."
msgstr "" msgstr ""
#: utils/utils.py:2272 #: utils/utils.py:2278
#, fuzzy, python-brace-format #, fuzzy, python-brace-format
#| msgid "Could not find '%s'." #| msgid "Could not find '%s'."
msgid "Could not find '{query}'." msgid "Could not find '{query}'."
msgstr "无法找到 '%s'" msgstr "无法找到 '%s'"
#: utils/utils.py:2279 #: utils/utils.py:2285
#, fuzzy, python-brace-format #, fuzzy, python-brace-format
#| msgid "More than one match for '%s' (please narrow target):\n" #| msgid "More than one match for '%s' (please narrow target):\n"
msgid "More than one match for '{query}' (please narrow target):\n" msgid "More than one match for '{query}' (please narrow target):\n"

View file

@ -1644,14 +1644,15 @@ class DefaultObject(ObjectDB, metaclass=TypeclassBase):
""" """
pass pass
def at_post_unpuppet(self, account, session=None, **kwargs): def at_post_unpuppet(self, account=None, session=None, **kwargs):
""" """
Called just after the Account successfully disconnected from Called just after the Account successfully disconnected from
this object, severing all connections. this object, severing all connections.
Args: Args:
account (Account): The account object that just disconnected account (Account): The account object that just disconnected
from this object. from this object. This can be `None` if this is called
automatically (such as after a cleanup operation).
session (Session): Session id controlling the connection that session (Session): Session id controlling the connection that
just disconnected. just disconnected.
**kwargs (dict): Arbitrary, optional arguments for users **kwargs (dict): Arbitrary, optional arguments for users
@ -2689,7 +2690,7 @@ class DefaultCharacter(DefaultObject):
self.location.for_contents(message, exclude=[self], from_obj=self) self.location.for_contents(message, exclude=[self], from_obj=self)
def at_post_unpuppet(self, account, session=None, **kwargs): def at_post_unpuppet(self, account=None, session=None, **kwargs):
""" """
We stove away the character when the account goes ooc/logs off, We stove away the character when the account goes ooc/logs off,
otherwise the character object will remain in the room also otherwise the character object will remain in the room also
@ -2700,6 +2701,9 @@ class DefaultCharacter(DefaultObject):
from this object. from this object.
session (Session): Session controlling the connection that session (Session): Session controlling the connection that
just disconnected. just disconnected.
Keyword Args:
reason (str): If given, adds a reason for the unpuppet. This
is set when the user is auto-unpuppeted due to being link-dead.
**kwargs (dict): Arbitrary, optional arguments for users **kwargs (dict): Arbitrary, optional arguments for users
overriding the call (unused by default). overriding the call (unused by default).
""" """
@ -2709,7 +2713,10 @@ class DefaultCharacter(DefaultObject):
def message(obj, from_obj): def message(obj, from_obj):
obj.msg( obj.msg(
_("{name} has left the game.").format(name=self.get_display_name(obj)), _("{name} has left the game{reason}.").format(
name=self.get_display_name(obj),
reason=kwargs.get("reason", ""),
),
from_obj=from_obj, from_obj=from_obj,
) )

View file

@ -7,39 +7,36 @@ the networking features. (this is done automatically by
evennia/server/server_runner.py). evennia/server/server_runner.py).
""" """
import time
import sys
import os import os
import sys
import time
import traceback import traceback
from twisted.web import static import django
from twisted.application import internet, service from twisted.application import internet, service
from twisted.internet import reactor, defer from twisted.internet import defer, reactor
from twisted.internet.task import LoopingCall from twisted.internet.task import LoopingCall
from twisted.logger import globalLogPublisher from twisted.logger import globalLogPublisher
from twisted.web import static
import django
django.setup() django.setup()
import evennia
import importlib import importlib
import evennia
evennia._init() evennia._init()
from django.conf import settings
from django.db import connection from django.db import connection
from django.db.utils import OperationalError from django.db.utils import OperationalError
from django.conf import settings from django.utils.translation import gettext as _
from evennia.accounts.models import AccountDB from evennia.accounts.models import AccountDB
from evennia.scripts.models import ScriptDB from evennia.scripts.models import ScriptDB
from evennia.server.models import ServerConfig from evennia.server.models import ServerConfig
from evennia.utils.utils import get_evennia_version, mod_import, make_iter
from evennia.utils import logger
from evennia.server.sessionhandler import SESSIONS from evennia.server.sessionhandler import SESSIONS
from evennia.utils import logger
from django.utils.translation import gettext as _ from evennia.utils.utils import get_evennia_version, make_iter, mod_import
_SA = object.__setattr__ _SA = object.__setattr__
@ -108,6 +105,7 @@ _MAINTENANCE_COUNT = 0
_FLUSH_CACHE = None _FLUSH_CACHE = None
_IDMAPPER_CACHE_MAXSIZE = settings.IDMAPPER_CACHE_MAXSIZE _IDMAPPER_CACHE_MAXSIZE = settings.IDMAPPER_CACHE_MAXSIZE
_GAMETIME_MODULE = None _GAMETIME_MODULE = None
_DEFAULTOBJECT = None
_IDLE_TIMEOUT = settings.IDLE_TIMEOUT _IDLE_TIMEOUT = settings.IDLE_TIMEOUT
_LAST_SERVER_TIME_SNAPSHOT = 0 _LAST_SERVER_TIME_SNAPSHOT = 0
@ -120,11 +118,12 @@ def _server_maintenance():
""" """
global EVENNIA, _MAINTENANCE_COUNT, _FLUSH_CACHE, _GAMETIME_MODULE global EVENNIA, _MAINTENANCE_COUNT, _FLUSH_CACHE, _GAMETIME_MODULE
global _LAST_SERVER_TIME_SNAPSHOT global _LAST_SERVER_TIME_SNAPSHOT
global _OBJECTDB
if not _FLUSH_CACHE: if not _FLUSH_CACHE:
from evennia.utils.idmapper.models import conditional_flush as _FLUSH_CACHE from evennia.objects.models import ObjectDB as _OBJECTDB
if not _GAMETIME_MODULE:
from evennia.utils import gametime as _GAMETIME_MODULE from evennia.utils import gametime as _GAMETIME_MODULE
from evennia.utils.idmapper.models import conditional_flush as _FLUSH_CACHE
_MAINTENANCE_COUNT += 1 _MAINTENANCE_COUNT += 1
@ -167,6 +166,20 @@ def _server_maintenance():
for session in to_disconnect: for session in to_disconnect:
SESSIONS.disconnect(session, reason=reason) SESSIONS.disconnect(session, reason=reason)
# run unpuppet hooks for objects that are marked as being puppeted,
# but which lacks an account (indicates a broken unpuppet operation
# such as a server crash)
if _MAINTENANCE_COUNT > 1:
unpuppet_count = 0
for obj in _OBJECTDB.objects.get_by_tag(key="puppeted", category="account"):
if not obj.has_account:
obj.at_pre_unpuppet()
obj.at_post_unpuppet(None, reason=_(" (connection lost)"))
obj.tags.remove("puppeted", category="account")
unpuppet_count += 1
if unpuppet_count:
logger.log_msg(f"Ran unpuppet-hooks for {unpuppet_count} link-dead puppets.")
# ------------------------------------------------------------ # ------------------------------------------------------------
# Evennia Main Server object # Evennia Main Server object
@ -280,8 +293,8 @@ class Evennia:
): # can't use any() since mismatches may be [0] which reads as False for any() ): # can't use any() since mismatches may be [0] which reads as False for any()
# we have a changed default. Import relevant objects and # we have a changed default. Import relevant objects and
# run the update # run the update
from evennia.objects.models import ObjectDB
from evennia.comms.models import ChannelDB from evennia.comms.models import ChannelDB
from evennia.objects.models import ObjectDB
# from evennia.accounts.models import AccountDB # from evennia.accounts.models import AccountDB
for i, prev, curr in ( for i, prev, curr in (
@ -372,8 +385,8 @@ class Evennia:
""" """
from evennia.comms.models import ChannelDB
from evennia.accounts.models import AccountDB from evennia.accounts.models import AccountDB
from evennia.comms.models import ChannelDB
from evennia.utils.create import create_channel from evennia.utils.create import create_channel
superuser = AccountDB.objects.get(id=1) superuser = AccountDB.objects.get(id=1)
@ -709,10 +722,10 @@ if WEBSERVER_ENABLED:
from evennia.server.webserver import ( from evennia.server.webserver import (
DjangoWebRoot, DjangoWebRoot,
WSGIWebServer,
Website,
LockableThreadPool, LockableThreadPool,
PrivateStaticRoot, PrivateStaticRoot,
Website,
WSGIWebServer,
) )
# start a thread pool and define the root url (/) as a wsgi resource # start a thread pool and define the root url (/) as a wsgi resource