diff options
58 files changed, 5481 insertions, 4338 deletions
diff --git a/MANIFEST.in b/MANIFEST.in index d7857a3e..1512a8ac 100644 --- a/MANIFEST.in +++ b/MANIFEST.in @@ -15,5 +15,6 @@ recursive-exclude avatar * recursive-exclude adzone * recursive-exclude follow * recursive-exclude categories * +recursive-exclude follow * recursive-exclude env recursive-exclude .tox diff --git a/askbot/__init__.py b/askbot/__init__.py index fce9e7a5..2f2c0f52 100644 --- a/askbot/__init__.py +++ b/askbot/__init__.py @@ -8,15 +8,18 @@ import os import smtplib import sys import logging -from askbot import patches -from askbot.deployment.assertions import assert_package_compatibility -VERSION = (0, 6, 77) +VERSION = (0, 6, 87) #necessary for interoperability of django and coffin -assert_package_compatibility() -patches.patch_django() -patches.patch_coffin()#must go after django +try: + from askbot import patches + from askbot.deployment.assertions import assert_package_compatibility + assert_package_compatibility() + patches.patch_django() + patches.patch_coffin()#must go after django +except ImportError: + pass def get_install_directory(): """returns path to directory @@ -31,3 +34,20 @@ def get_version(): this version is meaningful for pypi only """ return '.'.join([str(subversion) for subversion in VERSION]) + +def get_database_engine_name(): + """returns name of the database engine, + independently of the version of django + - for django >=1.2 looks into ``settings.DATABASES['default']``, + (i.e. assumes that askbot uses database named 'default') + , and for django 1.1 and below returns settings.DATABASE_ENGINE + """ + import django + from django.conf import settings as django_settings + major_version = django.VERSION[0] + minor_version = django.VERSION[1] + if major_version == 1: + if minor_version > 1: + return django_settings.DATABASES['default']['ENGINE'] + else: + return django_settings.DATABASE_ENGINE diff --git a/askbot/conf/__init__.py b/askbot/conf/__init__.py index 05818b44..d718c48d 100644 --- a/askbot/conf/__init__.py +++ b/askbot/conf/__init__.py @@ -1,4 +1,5 @@ #import these to compile code and install values +import askbot import askbot.conf.minimum_reputation import askbot.conf.vote_rules import askbot.conf.reputation_changes @@ -23,4 +24,4 @@ def should_show_sort_by_relevance(): """True if configuration support sorting questions by search relevance """ - return (django_settings.DATABASE_ENGINE == 'postgresql_psycopg2') + return ('postgresql_psycopg2' in askbot.get_database_engine_name()) diff --git a/askbot/conf/email.py b/askbot/conf/email.py index 953aac3d..5ef6b866 100644 --- a/askbot/conf/email.py +++ b/askbot/conf/email.py @@ -93,6 +93,18 @@ settings.register( ) settings.register( + livesettings.IntegerValue( + EMAIL, + 'MAX_UNANSWERED_REMINDERS', + default = 5, + description = _( + 'Max. number of reminders to send ' + 'about unanswered questions' + ) + ) +) + +settings.register( livesettings.BooleanValue( EMAIL, 'EMAIL_VALIDATION', diff --git a/askbot/conf/forum_data_rules.py b/askbot/conf/forum_data_rules.py index bf38393e..afbbf027 100644 --- a/askbot/conf/forum_data_rules.py +++ b/askbot/conf/forum_data_rules.py @@ -14,9 +14,21 @@ FORUM_DATA_RULES = livesettings.ConfigurationGroup( settings.register( livesettings.BooleanValue( FORUM_DATA_RULES, + 'ENABLE_VIDEO_EMBEDDING', + default = False, + description = _( + 'Enable embedding videos. ' + '<em>Note: please read <a href="%(url)s>read this</a> first.</em>' + ) % {'url': const.DEPENDENCY_URLS['embedding-video']} + ) +) + +settings.register( + livesettings.BooleanValue( + FORUM_DATA_RULES, 'WIKI_ON', - default=True, - description=_('Check to enable community wiki feature') + default = True, + description = _('Check to enable community wiki feature') ) ) diff --git a/askbot/conf/login_providers.py b/askbot/conf/login_providers.py index 132562d5..68ab6a52 100644 --- a/askbot/conf/login_providers.py +++ b/askbot/conf/login_providers.py @@ -40,6 +40,7 @@ providers = ( 'Twitter', 'LinkedIn', 'LiveJournal', + #'myOpenID', 'OpenID', 'Technorati', 'Wordpress', diff --git a/askbot/conf/user_settings.py b/askbot/conf/user_settings.py index 142a5b16..45d29355 100644 --- a/askbot/conf/user_settings.py +++ b/askbot/conf/user_settings.py @@ -14,8 +14,17 @@ settings.register( livesettings.BooleanValue( USER_SETTINGS, 'EDITABLE_SCREEN_NAME', - default=True, - description=_('Allow editing user screen name') + default = True, + description = _('Allow editing user screen name') + ) +) + +settings.register( + livesettings.BooleanValue( + USER_SETTINGS, + 'ALLOW_ACCOUNT_RECOVERY_BY_EMAIL', + default = True, + description = _('Allow account recovery by email') ) ) diff --git a/askbot/const/__init__.py b/askbot/const/__init__.py index ea9236b6..0006714d 100644 --- a/askbot/const/__init__.py +++ b/askbot/const/__init__.py @@ -239,7 +239,8 @@ USER_VIEW_DATA_SIZE = 50 DEPENDENCY_URLS = { 'mathjax': 'http://www.mathjax.org/resources/docs/?installation.html', - 'favicon': 'http://en.wikipedia.org/wiki/Favicon' + 'favicon': 'http://en.wikipedia.org/wiki/Favicon', + 'embedding-video': 'http://askbot.org/doc/optional-modules.html#embedding-video' } PASSWORD_MIN_LENGTH = 8 diff --git a/askbot/deps/django_authopenid/backends.py b/askbot/deps/django_authopenid/backends.py index cac1ce02..72cc6e4f 100644 --- a/askbot/deps/django_authopenid/backends.py +++ b/askbot/deps/django_authopenid/backends.py @@ -35,7 +35,7 @@ class AuthBackend(object): just which method it is going to use it determined from the signature of the function call """ - login_providers = util.get_login_providers() + login_providers = util.get_enabled_login_providers() if method == 'password': if login_providers[provider_name]['type'] != 'password': raise ImproperlyConfigured('login provider must use password') @@ -150,7 +150,7 @@ class AuthBackend(object): any for any login provider that uses password and allows the password change function """ - login_providers = util.get_login_providers() + login_providers = util.get_enabled_login_providers() if login_providers[provider_name]['type'] != 'password': raise ImproperlyConfigured('login provider must use password') diff --git a/askbot/deps/django_authopenid/forms.py b/askbot/deps/django_authopenid/forms.py index 30674eb6..91534221 100644 --- a/askbot/deps/django_authopenid/forms.py +++ b/askbot/deps/django_authopenid/forms.py @@ -69,7 +69,7 @@ class LoginProviderField(forms.CharField): """makes sure that login provider name exists is in the list of accepted providers """ - providers = util.get_login_providers() + providers = util.get_enabled_login_providers() if value in providers: return value else: @@ -87,7 +87,7 @@ class PasswordLoginProviderField(LoginProviderField): one of the known password login providers """ value = super(PasswordLoginProviderField, self).clean(value) - providers = util.get_login_providers() + providers = util.get_enabled_login_providers() if providers[value]['type'] != 'password': raise forms.ValidationError( 'provider %s must accept password' % value @@ -192,7 +192,7 @@ class LoginForm(forms.Form): contents of cleaned_data depends on the type of login """ - providers = util.get_login_providers() + providers = util.get_enabled_login_providers() if 'login_provider_name' in self.cleaned_data: provider_name = self.cleaned_data['login_provider_name'] diff --git a/askbot/deps/django_authopenid/util.py b/askbot/deps/django_authopenid/util.py index a913400f..809c6103 100644 --- a/askbot/deps/django_authopenid/util.py +++ b/askbot/deps/django_authopenid/util.py @@ -167,9 +167,28 @@ def use_password_login(): else: return True -def get_major_login_providers(): +def filter_enabled_providers(data): + """deletes data about disabled providers from + the input dictionary + """ + delete_list = list() + for provider_key, provider_settings in data.items(): + name = provider_settings['name'] + is_enabled = getattr(askbot_settings, 'SIGNIN_' + name.upper() + '_ENABLED') + if is_enabled == False: + delete_list.append(provider_key) + + for provider_key in delete_list: + del data[provider_key] + + return data + + +def get_enabled_major_login_providers(): """returns a dictionary with data about login providers whose icons are to be shown in large format + + disabled providers are excluded items of the dictionary are dictionaries with keys: @@ -299,23 +318,25 @@ def get_major_login_providers(): 'icon_media_path': '/jquery-openid/images/openid.gif', 'openid_endpoint': None, } - return data + return filter_enabled_providers(data) -def get_minor_login_providers(): - """same as get_major_login_providers +def get_enabled_minor_login_providers(): + """same as get_enabled_major_login_providers but those that are to be displayed with small buttons - structure of dictionary values is the same as in get_major_login_providers + disabled providers are excluded + + structure of dictionary values is the same as in get_enabled_major_login_providers """ data = SortedDict() - data['myopenid'] = { - 'name': 'myopenid', - 'display_name': 'MyOpenid', - 'type': 'openid-username', - 'extra_token_name': _('MyOpenid user name'), - 'icon_media_path': '/jquery-openid/images/myopenid-2.png', - 'openid_endpoint': 'http://%(username)s.myopenid.com' - } + #data['myopenid'] = { + # 'name': 'myopenid', + # 'display_name': 'MyOpenid', + # 'type': 'openid-username', + # 'extra_token_name': _('MyOpenid user name'), + # 'icon_media_path': '/jquery-openid/images/myopenid-2.png', + # 'openid_endpoint': 'http://%(username)s.myopenid.com' + #} data['flickr'] = { 'name': 'flickr', 'display_name': 'Flickr', @@ -380,13 +401,13 @@ def get_minor_login_providers(): 'icon_media_path': '/jquery-openid/images/verisign-2.png', 'openid_endpoint': 'http://%(username)s.pip.verisignlabs.com/' } - return data + return filter_enabled_providers(data) -def get_login_providers(): +def get_enabled_login_providers(): """return all login providers in one sorted dict """ - data = get_major_login_providers() - data.update(get_minor_login_providers()) + data = get_enabled_major_login_providers() + data.update(get_enabled_minor_login_providers()) return data def set_login_provider_tooltips(provider_dict, active_provider_names = None): @@ -447,7 +468,7 @@ def get_oauth_parameters(provider_name): it should not be called at compile time otherwise there may be strange errors """ - providers = get_login_providers() + providers = get_enabled_login_providers() data = providers[provider_name] if data['type'] != 'oauth': raise ValueError('oauth provider expected, %s found' % data['type']) diff --git a/askbot/deps/django_authopenid/views.py b/askbot/deps/django_authopenid/views.py index 14def205..cb5994c4 100644 --- a/askbot/deps/django_authopenid/views.py +++ b/askbot/deps/django_authopenid/views.py @@ -537,10 +537,27 @@ def show_signin_view( 'use_password_login': util.use_password_login(), } - major_login_providers = util.get_major_login_providers() - minor_login_providers = util.get_minor_login_providers() + major_login_providers = util.get_enabled_major_login_providers() + minor_login_providers = util.get_enabled_minor_login_providers() + + #determine if we are only using password login + active_provider_names = [p['name'] for p in major_login_providers.values()] + active_provider_names.extend([p['name'] for p in minor_login_providers.values()]) + + have_buttons = True + if (len(active_provider_names) == 1 and active_provider_names[0] == 'local'): + if askbot_settings.SIGNIN_ALWAYS_SHOW_LOCAL_LOGIN == True: + #in this case the form is not using javascript, so set initial values + #here + have_buttons = False + login_form.initial['login_provider_name'] = 'local' + if request.user.is_authenticated(): + login_form.initial['password_action'] = 'change_password' + else: + login_form.initial['password_action'] = 'login' + + data['have_buttons'] = have_buttons - active_provider_names = None if request.user.is_authenticated(): data['existing_login_methods'] = existing_login_methods active_provider_names = [ @@ -926,8 +943,9 @@ def signup_with_password(request): email_feeds_form = askbot_forms.SimpleEmailSubscribeForm() logging.debug('printing legacy signup form') - major_login_providers = util.get_major_login_providers() - minor_login_providers = util.get_minor_login_providers() + major_login_providers = util.get_enabled_major_login_providers() + minor_login_providers = util.get_enabled_minor_login_providers() + context_data = { 'form': form, 'page_class': 'openid-signin', @@ -1069,6 +1087,8 @@ def account_recover(request, key = None): url name 'user_account_recover' """ + if not askbot_settings.ALLOW_ACCOUNT_RECOVERY_BY_EMAIL: + raise Http404 if request.method == 'POST': form = forms.AccountRecoveryForm(request.POST) if form.is_valid(): diff --git a/askbot/doc/source/contributors.rst b/askbot/doc/source/contributors.rst index c5887f42..f9617fc1 100644 --- a/askbot/doc/source/contributors.rst +++ b/askbot/doc/source/contributors.rst @@ -12,10 +12,11 @@ Programming * Evgeny Fadeev - founder of askbot * Benoit Lavine (with Windriver Software, Inc.) * Alex Robbins (celery support) -* Adolfo Fitoria +* `Adolfo Fitoria <http://fitoria.net>`_ * Andrei Mamoutkine * Ramiro Morales (with Machinalis) * Andy Knotts +* `Gael Pasgrimaud <http://www.gawel.org/>`_ (bearstech) * Jeff Madynski Translations diff --git a/askbot/doc/source/footnotes.rst b/askbot/doc/source/footnotes.rst new file mode 100644 index 00000000..f8e96da0 --- /dev/null +++ b/askbot/doc/source/footnotes.rst @@ -0,0 +1,70 @@ +========= +Footnotes +========= + +This page summarizes additional information that might be useful +for deployment of development of ``askbot``. + +.. _git: + +Git +=== + +At askbot we use ``git`` to keep track of the source code, +and the main repository is hosted at +`github <https://github.com/ASKBOT/askbot-devel>`_. + +With git you can always grab +the latest code of askbot from the +latest ``askbot`` code:: + + git clone git://github.com/ASKBOT/askbot-devel.git + +Do some customization by editing files and then:: + + git add <list-of-changed-files> + git commit -m 'explain why you have changed some files' + +Bring updates from the main repo:: + + git git fetch origin master:github #.. onto a local branch called github + git checkout master + git merge github + +If all goes well, you are done. Otherwise, you may need to +`resolve the conflict <http://www.kernel.org/pub/software/scm/git/docs/user-manual.html#resolving-a-merge>`_. + +Here is a +`good basic tutorial <http://www.ralfebert.de/tutorials/git/>`_ +about git, +more comprehensive ones +`here <http://book.git-scm.com/>`_ +and +`there <http://help.github.com/>`_. +Finally, you also may want to visit the +official git `reference <http://gitref.org>`_ +and `documentation <http://www.kernel.org/pub/software/scm/git/docs/>`_. +There are `screencasts <http://gitcasts.com/>`_ too. + +.. _pip: + +Pip +=== + +``Pip`` is the best package management tool for python, allows to install and +unistall python packages, supports installation from source code repositories +and much more. + +For more information about ``pip``, +including its installation, +please visit the `pip package page <http://pypi.python.org/pypi/pip>`_ +and the links within. + +.. _pip-pypi: http://pypi.python.org/pypi/pip +.. _git-csm-book: http://book.git-scm.com/ +.. _git-basic-tutorial: http://www.ralfebert.de/tutorials/git/ +.. _git-github-tutorial: http://help.github.com/ +.. _git-docs: http://www.kernel.org/pub/software/scm/git/docs/ +.. _git-reference: http://gitref.org +.. _git-casts: http://gitcasts.com/ +.. _git-resolve-conflict: http://www.kernel.org/pub/software/scm/git/docs/user-manual.html#resolving-a-merge diff --git a/askbot/doc/source/index.rst b/askbot/doc/source/index.rst index 981af741..fedc3913 100644 --- a/askbot/doc/source/index.rst +++ b/askbot/doc/source/index.rst @@ -22,7 +22,8 @@ at the forum_ or by email at admin@askbot.org Import data (StackExchange) <import-data> Appendix A: Maintenance procedures <management-commands> Appendix B: Sending email to askbot <sending-email-to-askbot> - Apperdix C: Optional modules <optional-modules> + Appendix C: Optional modules <optional-modules> + Footnotes <footnotes> Contributors <contributors> Some background information: Askbot is written in Python on top of the Django platform. diff --git a/askbot/doc/source/optional-modules.rst b/askbot/doc/source/optional-modules.rst index 3689db19..15db2e94 100644 --- a/askbot/doc/source/optional-modules.rst +++ b/askbot/doc/source/optional-modules.rst @@ -5,6 +5,8 @@ Optional modules Askbot supports a number of optional modules, enabling certain features, not available in askbot by default. +.. _follow-users: + Follow users ============ @@ -14,6 +16,55 @@ Install ``django-followit`` app:: Then add ``followit`` to the ``INSTALLED_APPS`` and run ``syncdb`` management command. +.. _embedding-video: + +Embedding video +=============== + +Want to share videos in askbot posts? It is possible, but you will have to install a forked +version of ``markdown2`` module, here is how:: + + pip uninstall markdown2 + pip install -e git+git://github.com/andryuha/python-markdown2.git#egg=markdown2 + +Also, for this to work you'll need to have :ref:`pip` and :ref:`git` installed on your system. + +Finally, please go to your forum :ref:`live settings <live-settings>` --> +"Settings for askbot data entry and display" and check "Enable embedding video". + +Limitation: at the moment only YouTube and Veoh are supported. + +.. _ldap: + +LDAP authentication +=================== + +To enable authentication via LDAP +(Lightweight Directory Access Protocol, see more info elsewhere) +, first :ref:`install <installation-of-python-packages>` +``python-ldap`` package: + + pip install python-ldap + +After that, add configuration parameters in :ref:`live settings <live-settings>`, section +"Keys to connect the site with external services ..." +(url ``/settings/EXTERNAL_KEYS``, relative to the domain name) + +.. note:: + Location of these parameters is likely to change in the future. + When that happens, an update notice will appear in the documentation. + +The parameters are: + +* "Use LDAP authentication for the password login" - enable/disable the feature. + When enabled, the user name and password will be routed to use the LDAP protocol. + Default system password authentication will be overridden. +* "LDAP service provider name" - any string - just come up with a name for the provider service. +* "URL fro the LDAP service" - a correct url to access the service. +* "Explain how to change the LDAP password" + - askbot does not provide a method to change LDAP passwords + , therefore - use this field to explain users how they can change their passwords. + Uploaded avatars ================ diff --git a/askbot/locale/fr/LC_MESSAGES/django.mo b/askbot/locale/fr/LC_MESSAGES/django.mo Binary files differindex 74cb02fc..748fd91b 100644 --- a/askbot/locale/fr/LC_MESSAGES/django.mo +++ b/askbot/locale/fr/LC_MESSAGES/django.mo diff --git a/askbot/locale/fr/LC_MESSAGES/django.po b/askbot/locale/fr/LC_MESSAGES/django.po index eec874e9..7214a1bc 100644 --- a/askbot/locale/fr/LC_MESSAGES/django.po +++ b/askbot/locale/fr/LC_MESSAGES/django.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: Askbot\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2011-04-14 23:43-0500\n" +"POT-Creation-Date: 2011-04-22 04:32-0500\n" "PO-Revision-Date: 2010-08-25 19:15+0100\n" "Last-Translator: - <->\n" "Language-Team: FrenchTranslationTeam <toto@toto.com>\n" @@ -16,9 +16,11 @@ msgstr "" "X-Poedit-Country: FRANCE\n" "X-Poedit-SourceCharset: utf-8\n" -#: exceptions.py:9 +#: exceptions.py:13 msgid "Sorry, but anonymous visitors cannot access this function" -msgstr "Désolé, mais les utilisateurs anonymes ne peuvent pas accéder à cette fonction" +msgstr "" +"Désolé, mais les utilisateurs anonymes ne peuvent pas accéder à cette " +"fonction" #: feed.py:22 msgid " - " @@ -28,34 +30,48 @@ msgstr " - " msgid "latest questions" msgstr "dernières questions" -#: forms.py:54 skins/default/templates/answer_edit_tips.html:43 -#: skins/default/templates/answer_edit_tips.html:47 -#: skins/default/templates/question_edit_tips.html:40 -#: skins/default/templates/question_edit_tips.html:45 +#: forms.py:73 +#, fuzzy +msgid "select country" +msgstr "Supprimer le compte" + +#: forms.py:82 +msgid "Country" +msgstr "" + +#: forms.py:90 +#, fuzzy +msgid "Country field is required" +msgstr "ce champ est obligatoire" + +#: forms.py:103 skins/default/templates/blocks/answer_edit_tips.html:43 +#: skins/default/templates/blocks/answer_edit_tips.html:47 +#: skins/default/templates/blocks/question_edit_tips.html:38 +#: skins/default/templates/blocks/question_edit_tips.html:43 msgid "title" msgstr "titre" -#: forms.py:55 +#: forms.py:104 msgid "please enter a descriptive title for your question" msgstr "Veuillez saisir un titre descriptif pour votre question." -#: forms.py:60 +#: forms.py:109 msgid "title must be > 10 characters" msgstr "le titre doit comporter plus de 10 caractères." -#: forms.py:69 +#: forms.py:118 msgid "content" msgstr "contenu" -#: forms.py:75 +#: forms.py:124 msgid "question content must be > 10 characters" msgstr "La question doit comporter plus de 10 caractères." -#: forms.py:84 skins/default/templates/header.html:31 +#: forms.py:133 skins/default/templates/blocks/header.html:22 msgid "tags" msgstr "Mots-clés (tags)" -#: forms.py:86 +#: forms.py:135 msgid "" "Tags are short keywords, with no spaces within. Up to five tags can be used." msgstr "" @@ -63,35 +79,33 @@ msgstr "" "doivent être courts, et ne pas comporter d'espaces. Vous pouvez utiliser " "jusqu'à 5 mots-clés." -#: forms.py:93 skins/default/templates/question_retag.html:78 +#: forms.py:142 skins/default/templates/question_retag.html:60 msgid "tags are required" msgstr "Les mots-clés sont obligatoires." -#: forms.py:102 +#: forms.py:151 #, python-format msgid "please use %(tag_count)d tag or less" msgid_plural "please use %(tag_count)d tags or less" msgstr[0] "Veuillez utiliser %(tag_count)d mot-clé, ou moins" msgstr[1] "Veuillez utiliser %(tag_count)d mots-clés, ou moins" -#: forms.py:111 +#: forms.py:160 #, python-format msgid "each tag must be shorter than %(max_chars)d character" msgid_plural "each tag must be shorter than %(max_chars)d characters" msgstr[0] "Chaque mot-clé doit comporter moins de %(max_chars)d caractère" msgstr[1] "Chaque mot-clé doit comporter moins de %(max_chars)d caractères" -#: forms.py:119 +#: forms.py:168 msgid "use-these-chars-in-tags" msgstr "utiliser-ces-caracteres-dans-les-mots-cles" -#: forms.py:130 -#: skins/default/templates/unused/question_summary_list_roll.html:26 -#: skins/default/templates/unused/question_summary_list_roll.html:38 -msgid "community wiki" -msgstr "Wiki communautaire" +#: forms.py:203 +msgid "community wiki (karma is not awarded & many others can edit wiki post)" +msgstr "wiki communautaire (le karma n'est pas mis à jour & peu de personnes peuvent éditer la question" -#: forms.py:131 +#: forms.py:204 msgid "" "if you choose community wiki option, the question and answer do not generate " "points and name of author will not be shown" @@ -99,11 +113,11 @@ msgstr "" "Si vous choisissez l'option \"Wiki communautaire\" , questions et réponses " "ne génèrent pas de points, et le nom de l'auteur ne sera pas affiché." -#: forms.py:147 +#: forms.py:220 msgid "update summary:" msgstr "Résumé des modifications:" -#: forms.py:148 +#: forms.py:221 msgid "" "enter a brief summary of your revision (e.g. fixed spelling, grammar, " "improved style, this field is optional)" @@ -111,272 +125,289 @@ msgstr "" "Saisissez un bref résumé à propos de la révision (par exemple : correction " "orthographique, amélioration du style, ce champ est optionnel)" -#: forms.py:204 +#: forms.py:284 msgid "Enter number of points to add or subtract" msgstr "Saisissez le nombre de points à ajouter ou retirer" -#: forms.py:218 const/__init__.py:220 +#: forms.py:298 const/__init__.py:225 msgid "approved" msgstr "approuvée" -#: forms.py:219 const/__init__.py:221 +#: forms.py:299 const/__init__.py:226 msgid "watched" msgstr "consultée" -#: forms.py:220 const/__init__.py:222 +#: forms.py:300 const/__init__.py:227 msgid "suspended" msgstr "suspendu" -#: forms.py:221 const/__init__.py:223 +#: forms.py:301 const/__init__.py:228 msgid "blocked" msgstr "bloquée" # FIXME -#: forms.py:223 const/__init__.py:219 +#: forms.py:303 const/__init__.py:224 msgid "moderator" msgstr "moderateur" -#: forms.py:243 +#: forms.py:323 msgid "Change status to" msgstr "Modifier le statut en " -#: forms.py:270 +#: forms.py:350 msgid "which one?" msgstr "laquelle ?" -#: forms.py:291 +#: forms.py:371 msgid "Cannot change own status" msgstr "Impossible de changer son propre statut" -#: forms.py:297 +#: forms.py:377 msgid "Cannot turn other user to moderator" msgstr "Impossible de convertir un autre utilisateur en modérateur" -#: forms.py:304 +#: forms.py:384 msgid "Cannot change status of another moderator" msgstr "Impossible de changer le statut d'un autre modérateur" -#: forms.py:310 +#: forms.py:390 #, python-format msgid "" "If you wish to change %(username)s's status, please make a meaningful " "selection." -msgstr "Si vous souhaitez changer le statut de %(username)s, effectuez une selection pertinente." +msgstr "" +"Si vous souhaitez changer le statut de %(username)s, effectuez une " +"selection pertinente." -#: forms.py:319 +#: forms.py:399 msgid "Subject line" msgstr "Sujet" -#: forms.py:326 +#: forms.py:406 msgid "Message text" msgstr "Corps du message" -#: forms.py:403 +#: forms.py:489 msgid "Your name:" msgstr "Votre nom:" -#: forms.py:404 +#: forms.py:490 msgid "Email (not shared with anyone):" msgstr "Votre email (ne sera pas communiqué):" -#: forms.py:405 +#: forms.py:491 msgid "Your message:" msgstr "Votre message:" -#: forms.py:492 -msgid "this email does not have to be linked to gravatar" +#: forms.py:528 +msgid "ask anonymously" +msgstr "être anonyme" + +#: forms.py:530 +msgid "Check if you do not want to reveal your name when asking this question" +msgstr "" + +#: forms.py:672 +msgid "" +"You have asked this question anonymously, if you decide to reveal your " +"identity, please check this box." +msgstr "" + +#: forms.py:676 +msgid "reveal identity" +msgstr "" + +#: forms.py:734 +msgid "" +"Sorry, only owner of the anonymous question can reveal his or her identity, " +"please uncheck the box" +msgstr "" + +#: forms.py:747 +msgid "" +"Sorry, apparently rules have just changed - it is no longer possible to ask " +"anonymously. Please either check the \"reveal identity\" box or reload this " +"page and try editing the question again." +msgstr "" + +#: forms.py:785 +#, fuzzy +msgid "this email will be linked to gravatar" msgstr "Cet email ne doit pas être lié à Gravatar" -#: forms.py:499 +#: forms.py:792 msgid "Real name" msgstr "Nom réel" -#: forms.py:506 +#: forms.py:799 msgid "Website" msgstr "Site web" -#: forms.py:513 -msgid "Location" -msgstr "Lieu" +#: forms.py:806 +msgid "City" +msgstr "" -#: forms.py:520 +#: forms.py:815 +msgid "Show country" +msgstr "" + +#: forms.py:820 msgid "Date of birth" msgstr "Date de naissance" -#: forms.py:521 +#: forms.py:821 msgid "will not be shown, used to calculate age, format: YYYY-MM-DD" msgstr "" "ne sera pas affichée; utilisée pour calculer votre âge. Format: AAAA-MM-" "JJPar exemple: 1980-12-25 pour le 25 décembre 1980" -#: forms.py:527 +#: forms.py:827 msgid "Profile" msgstr "Profil" -#: forms.py:536 +#: forms.py:836 msgid "Screen name" msgstr "Pseudo" -#: forms.py:561 forms.py:562 +#: forms.py:867 forms.py:868 msgid "this email has already been registered, please use another one" msgstr "Cet email a déjà été enregistré; merci d'utiliser une autre adresse" -#: forms.py:568 +#: forms.py:875 msgid "Choose email tag filter" msgstr "Choisissez un tag pour filtrer les emails" -#: forms.py:607 +#: forms.py:915 msgid "Asked by me" msgstr "Mes questions" -#: forms.py:610 +#: forms.py:918 msgid "Answered by me" msgstr "Questions auxquelles j'ai répondu" -#: forms.py:613 +#: forms.py:921 msgid "Individually selected" msgstr "Sélectionnées individuellement" -#: forms.py:616 +#: forms.py:924 msgid "Entire forum (tag filtered)" msgstr "Forum entier (filtré par tag)" -#: forms.py:620 +#: forms.py:928 msgid "Comments and posts mentioning me" msgstr "Commentaires et messages me mentionnant" -#: forms.py:690 +#: forms.py:998 msgid "okay, let's try!" msgstr "D'accord, j'essaye !" -#: forms.py:691 +#: forms.py:999 msgid "no community email please, thanks" msgstr "pas d'emails s'il vous plait, merci" -#: forms.py:695 +#: forms.py:1003 msgid "please choose one of the options above" msgstr "Veuillez choisir une des options ci-dessus" -#: urls.py:43 +#: urls.py:44 msgid "about/" msgstr "apropos/" -#: urls.py:44 conf/site_settings.py:79 +#: urls.py:45 conf/site_settings.py:79 msgid "faq/" msgstr "faq/" -#: urls.py:45 +#: urls.py:46 msgid "privacy/" msgstr "vieprivee/" -#: urls.py:46 +#: urls.py:47 msgid "logout/" msgstr "deconnecter/" -#: urls.py:48 urls.py:53 +#: urls.py:49 urls.py:54 msgid "answers/" msgstr "reponses/" -#: urls.py:48 urls.py:69 urls.py:165 +#: urls.py:49 urls.py:75 urls.py:186 msgid "edit/" msgstr "modifier/" -#: urls.py:53 urls.py:99 +#: urls.py:54 urls.py:105 msgid "revisions/" msgstr "revisions/" -#: urls.py:59 urls.py:64 urls.py:69 urls.py:74 urls.py:79 urls.py:84 -#: urls.py:89 urls.py:94 urls.py:99 skins/default/templates/question.html:431 +#: urls.py:60 urls.py:70 urls.py:75 urls.py:80 urls.py:85 urls.py:90 +#: urls.py:95 urls.py:100 urls.py:105 +#: skins/default/templates/question.html:438 msgid "questions/" msgstr "questions/" -#: urls.py:64 +#: urls.py:70 msgid "ask/" msgstr "question/" -#: urls.py:74 +#: urls.py:80 msgid "retag/" msgstr "requalification/" -#: urls.py:79 +#: urls.py:85 msgid "close/" msgstr "fermer/" -#: urls.py:84 +#: urls.py:90 msgid "reopen/" msgstr "reouvrir/" -#: urls.py:89 +#: urls.py:95 msgid "answer/" msgstr "repondre/" -#: urls.py:94 skins/default/templates/question.html:431 +#: urls.py:100 skins/default/templates/question.html:438 msgid "vote/" msgstr "voter/" -#: urls.py:115 -msgid "command/" -msgstr "commande/" - -#: urls.py:131 skins/default/templates/question.html:429 -#: skins/default/templates/questions.html:251 +#: urls.py:132 skins/default/templates/question.html:436 +#: skins/default/templates/main_page/javascript.html:18 msgid "question/" msgstr "question/" -#: urls.py:136 +#: urls.py:137 msgid "tags/" msgstr "mots-cles/" -#: urls.py:141 urls.py:147 skins/default/templates/questions.html:246 -#: skins/default/templates/questions.html:247 -msgid "mark-tag/" -msgstr "marquer-avec-un-tag/" - -#: urls.py:141 skins/default/templates/questions.html:246 -msgid "interesting/" -msgstr "interessant/" - -#: urls.py:147 skins/default/templates/questions.html:247 -msgid "ignored/" -msgstr "ignoree/" - -# FIXME -#: urls.py:153 skins/default/templates/questions.html:248 -msgid "unmark-tag/" -msgstr "retirer-un-tag/" +#: urls.py:175 +msgid "subscribe-for-tags/" +msgstr "" -#: urls.py:159 urls.py:165 urls.py:170 -#: skins/default/templates/questions.html:252 +#: urls.py:180 urls.py:186 urls.py:191 +#: skins/default/templates/main_page/javascript.html:19 msgid "users/" msgstr "utilisateurs/" -#: urls.py:175 urls.py:180 +#: urls.py:196 urls.py:201 msgid "badges/" msgstr "Badges/" -#: urls.py:185 +#: urls.py:206 msgid "messages/" msgstr "messages/" # FIXME -#: urls.py:185 +#: urls.py:206 msgid "markread/" msgstr "marques-pour-lecture/" -#: urls.py:201 +#: urls.py:222 msgid "upload/" msgstr "envoyer-sur-le-serveur/" -#: urls.py:202 -msgid "search/" -msgstr "chercher/" - -#: urls.py:203 +#: urls.py:223 msgid "feedback/" msgstr "retour/" -#: urls.py:204 setup_templates/settings.py:181 -#: skins/default/templates/authopenid/signin.html:249 +#: urls.py:224 setup_templates/settings.py:201 +#: skins/default/templates/authopenid/providers_javascript.html:7 msgid "account/" msgstr "compte/" @@ -472,20 +503,42 @@ msgstr "Question favorite" msgid "Stellar Question: minimum stars" msgstr "Excellente question" -#: conf/email.py:12 +#: conf/badges.py:210 +msgid "Commentator: minimum comments" +msgstr "" + +#: conf/badges.py:219 +msgid "Taxonomist: minimum tag use count" +msgstr "" + +#: conf/badges.py:228 +msgid "Enthusiast: minimum days" +msgstr "" + +#: conf/email.py:14 msgid "Email and email alert settings" msgstr "Paramétrage des emails, et des alertes par email." -#: conf/email.py:20 +#: conf/email.py:22 +msgid "Prefix for the email subject line" +msgstr "Préfixe pour la ligne de sujet de l'email" + +#: conf/email.py:24 +msgid "" +"This setting takes default from the django settingEMAIL_SUBJECT_PREFIX. A " +"value entered here will overridethe default." +msgstr "" + +#: conf/email.py:36 msgid "Maximum number of news entries in an email alert" msgstr "Nombre maximum de nouvelles dans une alerte par email" -#: conf/email.py:30 +#: conf/email.py:46 msgid "Default news notification frequency" msgstr "" "Fréquence par défaut pour l'envoi des mails de notification de nouvelles" -#: conf/email.py:32 +#: conf/email.py:48 msgid "" "This option currently defines default frequency of emailed updates in the " "following five categories: questions asked by user, answered by user, " @@ -499,36 +552,60 @@ msgstr "" "personne) et messages mentionnant les réponses à l'utilisateur et les " "réponses aux commentaires" -#: conf/email.py:47 +#: conf/email.py:63 msgid "Require email verification before allowing to post" msgstr "" "Nous devons valider votre adresse email avant que vous ne puissiez publier " "des messages" -#: conf/email.py:48 +#: conf/email.py:64 msgid "" "Active email verification is done by sending a verification key in email" msgstr "" "Nous vérifions que l'adresse email est active en y envoyant un email " "contenant une clé de vérification." -#: conf/email.py:57 +#: conf/email.py:73 msgid "Allow only one account per email address" msgstr "N'autoriser qu'un compte par adresse email" -#: conf/email.py:66 +#: conf/email.py:82 msgid "Fake email for anonymous user" msgstr "Faux email pour utilisateur anonyme" -#: conf/email.py:67 +#: conf/email.py:83 msgid "Use this setting to control gravatar for email-less user" msgstr "" "Utilisez ce paramétrage pour contrôler Gravatar (pour les utilisateurs sans " "adresse email)" -#: conf/email.py:76 -msgid "Prefix for the email subject line" -msgstr "Préfixe pour la ligne de sujet de l'email" +#: conf/email.py:92 +#, fuzzy +msgid "Allow posting questions by email" +msgstr "" +"<span class=\"strong big\">Formulez votre question à l'aide du formulaire ci-" +"dessous (un court titre résumant la question, puis la question à proprement " +"parler, aussi détaillée que vous le souhaitez...)</span>. A l'étape " +"suivante, vous devrez saisir votre email et votre nom (ou un pseudo si vous " +"souhaitez rester anonyme...). Ces éléments sont nécessaires pour bénéficier " +"des fonctionnalités de notre module de questions/réponses, qui repose sur un " +"principe communautaire." + +#: conf/email.py:94 +msgid "" +"Before enabling this setting - please fill out IMAP settings in the settings." +"py file" +msgstr "" + +#: conf/email.py:105 +msgid "Replace space in emailed tags with dash" +msgstr "" + +#: conf/email.py:107 +msgid "" +"This setting applies to tags written in the subject line of questions asked " +"by email" +msgstr "" #: conf/external_keys.py:11 msgid "Keys to connect the site with external services like Facebook, etc." @@ -677,57 +754,145 @@ msgstr "" "validateur HTML</a> sur la page \"vie privée\" pour vérifier ce que vous " "avez saisi." -#: conf/forum_data_rules.py:12 +#: conf/forum_data_rules.py:11 msgid "Settings for askbot data entry and display" msgstr "Paramétrage de l'affichage et de la saisie de données" -#: conf/forum_data_rules.py:20 +#: conf/forum_data_rules.py:19 msgid "Check to enable community wiki feature" msgstr "" "Cochez cette case pour activer la fonctionnalité \"wiki communautaire\"" -#: conf/forum_data_rules.py:29 +#: conf/forum_data_rules.py:28 +msgid "Allow asking questions anonymously" +msgstr "" + +#: conf/forum_data_rules.py:30 +msgid "" +"Users do not accrue reputation for anonymous questions and their identity is " +"not revealed until they change their mind" +msgstr "" + +#: conf/forum_data_rules.py:42 msgid "Maximum length of tag (number of characters)" msgstr "Taille maximale d'un mot-clé (tag), en nombre de caractères" -#: conf/forum_data_rules.py:39 +#: conf/forum_data_rules.py:51 +msgid "Force lowercase the tags" +msgstr "" + +#: conf/forum_data_rules.py:53 +msgid "" +"Attention: after checking this, please back up the database, and run a " +"management command: <code>python manage.py fix_question_tags</code> to " +"globally rename the tags" +msgstr "" + +#: conf/forum_data_rules.py:66 +#, fuzzy +msgid "Use wildcard tags" +msgstr "Tags associés" + +#: conf/forum_data_rules.py:68 +msgid "" +"Wildcard tags can be used to follow or ignore many tags at once, a valid " +"wildcard tag has a single wildcard at the very end" +msgstr "" + +#: conf/forum_data_rules.py:81 msgid "Default max number of comments to display under posts" msgstr "" -#: conf/forum_data_rules.py:50 +#: conf/forum_data_rules.py:92 #, python-format msgid "Maximum comment length, must be < %(max_len)s" msgstr "" -#: conf/forum_data_rules.py:60 +#: conf/forum_data_rules.py:102 +msgid "Limit time to edit comments" +msgstr "" + +#: conf/forum_data_rules.py:104 +msgid "If unchecked, there will be no time limit to edit the comments" +msgstr "" + +#: conf/forum_data_rules.py:115 +msgid "Minutes allowed to edit a comment" +msgstr "" + +#: conf/forum_data_rules.py:116 +msgid "To enable this setting, check the previous one" +msgstr "" + +#: conf/forum_data_rules.py:125 +msgid "Save comment by pressing <Enter> key" +msgstr "" + +#: conf/forum_data_rules.py:134 msgid "Minimum length of search term for Ajax search" msgstr "" -#: conf/forum_data_rules.py:61 +#: conf/forum_data_rules.py:135 msgid "Must match the corresponding database backend setting" msgstr "" -#: conf/forum_data_rules.py:70 +#: conf/forum_data_rules.py:144 +msgid "Do not make text query sticky in search" +msgstr "" + +#: conf/forum_data_rules.py:146 +msgid "" +"Check to disable the \"sticky\" behavior of the search query. This may be " +"useful if you want to move the search bar away from the default position or " +"do not like the default sticky behavior of the text search query." +msgstr "" + +#: conf/forum_data_rules.py:159 msgid "Maximum number of tags per question" msgstr "Nombre maximal de mots-clés (tags) par question" -#: conf/forum_data_rules.py:82 +#: conf/forum_data_rules.py:171 msgid "Number of questions to list by default" msgstr "Nombre de questions par défaut à afficher dans la liste " -#: conf/forum_data_rules.py:92 +#: conf/forum_data_rules.py:181 msgid "What should \"unanswered question\" mean?" msgstr "Que signifie \"questions sans réponses\" ?" +#: conf/login_providers.py:11 +msgid "Login provider setings" +msgstr "" + +#: conf/login_providers.py:19 +msgid "" +"Show alternative login provider buttons on the password \"Sign Up\" page" +msgstr "" + +#: conf/login_providers.py:28 +msgid "Always display local login form and hide \"Askbot\" button." +msgstr "" + +#: conf/login_providers.py:55 +#, python-format +msgid "Activate %(provider)s login" +msgstr "" + +#: conf/login_providers.py:60 +#, python-format +msgid "" +"Note: to really enable %(provider)s login some additional parameters will " +"need to be set in the \"External keys\" section" +msgstr "" + #: conf/markup.py:15 msgid "Markup formatting" msgstr "" -#: conf/markup.py:29 +#: conf/markup.py:22 msgid "Enable code-friendly Markdown" msgstr "" -#: conf/markup.py:31 +#: conf/markup.py:24 msgid "" "If checked, underscore characters will not trigger italic or bold formatting " "- bold and italic text can still be marked up with asterisks. Note that " @@ -735,22 +900,22 @@ msgid "" "are heavily used in LaTeX input." msgstr "" -#: conf/markup.py:46 +#: conf/markup.py:39 msgid "Mathjax support (rendering of LaTeX)" msgstr "" -#: conf/markup.py:48 +#: conf/markup.py:41 #, python-format msgid "" "If you enable this feature, <a href=\"%(url)s\">mathjax</a> must be " -"installed in directory %(dir)s" +"installed on your server in its own directory." msgstr "" -#: conf/markup.py:63 +#: conf/markup.py:55 msgid "Base url of MathJax deployment" msgstr "" -#: conf/markup.py:65 +#: conf/markup.py:57 msgid "" "Note - <strong>MathJax is not included with askbot</strong> - you should " "deploy it yourself, preferably at a separate domain and enter url pointing " @@ -824,6 +989,16 @@ msgstr "Cloturer les questions posées par d'autres" msgid "Lock posts" msgstr "Verrouiller des messages" +#: conf/minimum_reputation.py:155 +msgid "Remove rel=nofollow from own homepage" +msgstr "" + +#: conf/minimum_reputation.py:157 +msgid "" +"When a search engine crawler will see a rel=nofollow attribute on a link - " +"the link will not count towards the rank of the users personal site." +msgstr "" + #: conf/reputation_changes.py:12 #, fuzzy msgid "Reputation loss and gain rules" @@ -1248,6 +1423,11 @@ msgstr "" msgid "Minimum allowed length for screen name" msgstr "Taille minimale du pseudo (nom d'utilisateur affiché à l'écran)" +#: conf/user_settings.py:37 +#, fuzzy +msgid "Name for the Anonymous user" +msgstr "Faux email pour utilisateur anonyme" + #: conf/vote_rules.py:13 msgid "Limits applicable to votes and moderation flags" msgstr "Limites applicables aux votes et aux drapeaux de modération" @@ -1362,21 +1542,21 @@ msgid "least voted" msgstr "popularité (↑)" # FIXME ou "peu de votes" -#: const/__init__.py:48 skins/default/templates/questions.html:33 +#: const/__init__.py:48 skins/default/templates/main_page/tab_bar.html:29 msgid "relevance" msgstr "pertinence" # FIXME -#: const/__init__.py:55 skins/default/templates/questions.html:14 -#: skins/default/templates/user_inbox.html:47 +#: const/__init__.py:55 skins/default/templates/main_page/tab_bar.html:10 +#: skins/default/templates/user_profile/user_inbox.html:50 msgid "all" msgstr "toutes" -#: const/__init__.py:56 skins/default/templates/questions.html:19 +#: const/__init__.py:56 skins/default/templates/main_page/tab_bar.html:15 msgid "unanswered" msgstr "ouvertes" -#: const/__init__.py:57 skins/default/templates/questions.html:25 +#: const/__init__.py:57 skins/default/templates/main_page/tab_bar.html:21 msgid "favorite" msgstr "favorite" @@ -1388,155 +1568,159 @@ msgstr "Cette question n'a pas de réponse" msgid "Question has no accepted answers" msgstr "Cette question n'a pas de réponse acceptée" -#: const/__init__.py:112 +#: const/__init__.py:113 msgid "asked a question" msgstr "a posé une question" -#: const/__init__.py:113 +#: const/__init__.py:114 msgid "answered a question" msgstr "a répondu à une question" -#: const/__init__.py:114 +#: const/__init__.py:115 msgid "commented question" msgstr "question commentée" -#: const/__init__.py:115 +#: const/__init__.py:116 msgid "commented answer" msgstr "réponse commentée" -#: const/__init__.py:116 +#: const/__init__.py:117 msgid "edited question" msgstr "question modifiée" -#: const/__init__.py:117 +#: const/__init__.py:118 msgid "edited answer" msgstr "réponse modifiée" -#: const/__init__.py:118 +#: const/__init__.py:119 msgid "received award" msgstr "récompense obtenue" # FIXME ou "ayant reçu une récompense" -#: const/__init__.py:119 +#: const/__init__.py:120 msgid "marked best answer" msgstr "marquée comme meilleure réponse" # FIXME ou "élue meilleure réponse" -#: const/__init__.py:120 +#: const/__init__.py:121 msgid "upvoted" msgstr "notée positivement" # FIXME ou "ayant reçu un vote positif" -#: const/__init__.py:121 +#: const/__init__.py:122 msgid "downvoted" msgstr "notée négativement" # FIXME ou "ayant reçu un vote négatif" -#: const/__init__.py:122 +#: const/__init__.py:123 msgid "canceled vote" msgstr "vote annulé" -#: const/__init__.py:123 +#: const/__init__.py:124 msgid "deleted question" msgstr "question supprimée" -#: const/__init__.py:124 +#: const/__init__.py:125 msgid "deleted answer" msgstr "réponse supprimée" -#: const/__init__.py:125 +#: const/__init__.py:126 msgid "marked offensive" msgstr "signalée comme ayant un \"contenu abusif\"" # FXME ou "offensive" ? -#: const/__init__.py:126 +#: const/__init__.py:127 msgid "updated tags" msgstr "Mots-clés" # FIXME ou "marqueurs sémantiques mis à jour ?" -#: const/__init__.py:127 +#: const/__init__.py:128 msgid "selected favorite" msgstr "sélectionnée comme \"favorite\"" -#: const/__init__.py:128 +#: const/__init__.py:129 msgid "completed user profile" msgstr "profil utilisateur entièrement renseigné" # FIXME -#: const/__init__.py:129 +#: const/__init__.py:130 msgid "email update sent to user" msgstr "Mise à jour d'email envoyée à l'utilisateur" -#: const/__init__.py:130 +#: const/__init__.py:131 msgid "mentioned in the post" msgstr "mentionné dans le message" -#: const/__init__.py:181 +#: const/__init__.py:182 msgid "question_answered" msgstr "question_repondue" -#: const/__init__.py:182 +#: const/__init__.py:183 msgid "question_commented" msgstr "question_commentee" -#: const/__init__.py:183 +#: const/__init__.py:184 msgid "answer_commented" msgstr "reponse_commentee" -#: const/__init__.py:184 +#: const/__init__.py:185 msgid "answer_accepted" msgstr "reponse_acceptee" -#: const/__init__.py:188 +#: const/__init__.py:189 msgid "[closed]" msgstr "[close]" -#: const/__init__.py:189 +#: const/__init__.py:190 msgid "[deleted]" msgstr "[supprimée]" -#: const/__init__.py:190 views/readers.py:602 +#: const/__init__.py:191 views/readers.py:561 msgid "initial version" msgstr "version initiale" # FIXME -#: const/__init__.py:191 +#: const/__init__.py:192 msgid "retagged" msgstr "dont les mots-clés ont été révisés" -#: const/__init__.py:196 -msgid "exclude ignored tags" -msgstr "exclure les mots-clés ignorés" - -#: const/__init__.py:197 -msgid "allow only selected tags" -msgstr "autoriser uniquement les mots-clés sélectionnés" +#: const/__init__.py:200 +msgid "off" +msgstr "désactivé" #: const/__init__.py:201 +msgid "exclude ignored" +msgstr "exclure ceux ignorés" + +#: const/__init__.py:202 +msgid "only selected" +msgstr "seulement ceux sélectionnés" + +#: const/__init__.py:206 msgid "instantly" msgstr "instantanément" -#: const/__init__.py:202 +#: const/__init__.py:207 msgid "daily" msgstr "quotidien" -#: const/__init__.py:203 +#: const/__init__.py:208 msgid "weekly" msgstr "hebdomadaire" -#: const/__init__.py:204 +#: const/__init__.py:209 msgid "no email" msgstr "Aucun email" -#: const/__init__.py:241 skins/default/templates/badges.html:42 +#: const/__init__.py:246 skins/default/templates/badges.html:37 msgid "gold" msgstr "or" -#: const/__init__.py:242 skins/default/templates/badges.html:51 +#: const/__init__.py:247 skins/default/templates/badges.html:46 msgid "silver" msgstr "argent" -#: const/__init__.py:243 skins/default/templates/badges.html:58 +#: const/__init__.py:248 skins/default/templates/badges.html:53 msgid "bronze" msgstr "bronze" @@ -1545,12 +1729,12 @@ msgstr "bronze" msgid "First time here? Check out the <a href=\"%s\">FAQ</a>!" msgstr "Vous êtes nouveau ? Commencez par lire notre <a href=\"%s\">FAQ</a> !" -#: const/message_keys.py:22 skins/default/templates/questions.html:31 +#: const/message_keys.py:22 skins/default/templates/main_page/tab_bar.html:27 #, fuzzy msgid "most relevant questions" msgstr "Merci de poser une question pertinente." -#: const/message_keys.py:23 skins/default/templates/questions.html:32 +#: const/message_keys.py:23 skins/default/templates/main_page/tab_bar.html:28 #, fuzzy msgid "click to see most relevant questions" msgstr "Cliquez ici pour voir les questions ayant obtenu le plus de votes" @@ -1611,212 +1795,212 @@ msgstr "par votes" msgid "click to see most voted questions" msgstr "Cliquez ici pour voir les questions ayant obtenu le plus de votes" -#: deps/django_authopenid/forms.py:116 deps/django_authopenid/views.py:136 +#: deps/django_authopenid/forms.py:110 deps/django_authopenid/views.py:134 msgid "i-names are not supported" msgstr "Les i-names ne sont pas supportés." -#: deps/django_authopenid/forms.py:237 +#: deps/django_authopenid/forms.py:231 #, fuzzy, python-format msgid "Please enter your %(username_token)s" msgstr "Veuillez saisir votre nom d'utilisateur" -#: deps/django_authopenid/forms.py:263 +#: deps/django_authopenid/forms.py:257 #, fuzzy msgid "Please, enter your user name" msgstr "Veuillez saisir votre nom d'utilisateur" # TODO "votre" ou "un" ? -#: deps/django_authopenid/forms.py:267 +#: deps/django_authopenid/forms.py:261 #, fuzzy msgid "Please, enter your password" msgstr "Veuillez saisir votre mot de passe" # TODO "votre" ou "un" ? -#: deps/django_authopenid/forms.py:274 deps/django_authopenid/forms.py:278 +#: deps/django_authopenid/forms.py:268 deps/django_authopenid/forms.py:272 #, fuzzy msgid "Please, enter your new password" msgstr "Veuillez saisir votre mot de passe" -#: deps/django_authopenid/forms.py:289 +#: deps/django_authopenid/forms.py:283 msgid "Passwords did not match" msgstr "" -#: deps/django_authopenid/forms.py:301 +#: deps/django_authopenid/forms.py:295 #, python-format msgid "Please choose password > %(len)s characters" msgstr "" -#: deps/django_authopenid/forms.py:336 +#: deps/django_authopenid/forms.py:330 msgid "Current password" msgstr "Mot de passe actuel" -#: deps/django_authopenid/forms.py:347 +#: deps/django_authopenid/forms.py:341 msgid "" "Old password is incorrect. Please enter the correct " "password." msgstr "" "L'ancien mot de passe est erroné. Veuillez le corriger." -#: deps/django_authopenid/forms.py:400 +#: deps/django_authopenid/forms.py:394 msgid "Sorry, we don't have this email address in the database" msgstr "" -#: deps/django_authopenid/forms.py:435 +#: deps/django_authopenid/forms.py:430 msgid "Your user name (<i>required</i>)" msgstr "Votre nom d'utilisateur (<i>obligatoire</i>)" -#: deps/django_authopenid/forms.py:450 +#: deps/django_authopenid/forms.py:445 msgid "Incorrect username." msgstr "Nom d'utilisateur incorrect." -#: deps/django_authopenid/urls.py:10 deps/django_authopenid/urls.py:11 -#: deps/django_authopenid/urls.py:12 deps/django_authopenid/urls.py:15 -#: deps/django_authopenid/urls.py:18 setup_templates/settings.py:181 +#: deps/django_authopenid/urls.py:9 deps/django_authopenid/urls.py:10 +#: deps/django_authopenid/urls.py:11 deps/django_authopenid/urls.py:14 +#: deps/django_authopenid/urls.py:17 setup_templates/settings.py:201 msgid "signin/" msgstr "connexion/" -#: deps/django_authopenid/urls.py:11 +#: deps/django_authopenid/urls.py:10 msgid "newquestion/" msgstr "nouvelle_question/" -#: deps/django_authopenid/urls.py:12 +#: deps/django_authopenid/urls.py:11 msgid "newanswer/" msgstr "nouvelle_reponse/" -#: deps/django_authopenid/urls.py:13 +#: deps/django_authopenid/urls.py:12 msgid "signout/" msgstr "deconnexion/" -#: deps/django_authopenid/urls.py:15 +#: deps/django_authopenid/urls.py:14 msgid "complete/" msgstr "termine/" -#: deps/django_authopenid/urls.py:18 +#: deps/django_authopenid/urls.py:17 #, fuzzy msgid "complete-oauth/" msgstr "termine/" -#: deps/django_authopenid/urls.py:22 +#: deps/django_authopenid/urls.py:21 msgid "register/" msgstr "enregistrement/" -#: deps/django_authopenid/urls.py:24 +#: deps/django_authopenid/urls.py:23 msgid "signup/" msgstr "inscription/" -#: deps/django_authopenid/urls.py:32 +#: deps/django_authopenid/urls.py:31 #, fuzzy msgid "recover/" msgstr "reouvrir/" -#: deps/django_authopenid/util.py:196 +#: deps/django_authopenid/util.py:214 #, fuzzy, python-format msgid "%(site)s user name and password" msgstr "Veuillez saisir votre nom d'utilisateur et un mot de passe" -#: deps/django_authopenid/util.py:202 -#: skins/default/templates/authopenid/signin.html:124 +#: deps/django_authopenid/util.py:220 +#: skins/default/templates/authopenid/signin.html:99 msgid "Create a password-protected account" msgstr "" -#: deps/django_authopenid/util.py:203 +#: deps/django_authopenid/util.py:221 #, fuzzy msgid "Change your password" msgstr "Changer de mot de passe" -#: deps/django_authopenid/util.py:265 +#: deps/django_authopenid/util.py:283 msgid "Sign in with Yahoo" msgstr "" -#: deps/django_authopenid/util.py:272 +#: deps/django_authopenid/util.py:290 #, fuzzy msgid "AOL screen name" msgstr "Pseudo" -#: deps/django_authopenid/util.py:280 +#: deps/django_authopenid/util.py:298 #, fuzzy msgid "OpenID url" msgstr "URL OpenID:" -#: deps/django_authopenid/util.py:297 +#: deps/django_authopenid/util.py:315 #, fuzzy msgid "MyOpenid user name" msgstr "par nom d'utilisateur" -#: deps/django_authopenid/util.py:305 deps/django_authopenid/util.py:313 +#: deps/django_authopenid/util.py:323 #, fuzzy msgid "Flickr user name" msgstr "Nom d'utilisateur" -#: deps/django_authopenid/util.py:321 +#: deps/django_authopenid/util.py:331 #, fuzzy msgid "Technorati user name" msgstr "choisissez un nom d'utilisateur" -#: deps/django_authopenid/util.py:329 +#: deps/django_authopenid/util.py:339 msgid "WordPress blog name" msgstr "" -#: deps/django_authopenid/util.py:337 +#: deps/django_authopenid/util.py:347 msgid "Blogger blog name" msgstr "" -#: deps/django_authopenid/util.py:345 +#: deps/django_authopenid/util.py:355 msgid "LiveJournal blog name" msgstr "" -#: deps/django_authopenid/util.py:353 +#: deps/django_authopenid/util.py:363 #, fuzzy msgid "ClaimID user name" msgstr "Nom d'utilisateur" -#: deps/django_authopenid/util.py:361 +#: deps/django_authopenid/util.py:371 #, fuzzy msgid "Vidoop user name" msgstr "Nom d'utilisateur" -#: deps/django_authopenid/util.py:369 +#: deps/django_authopenid/util.py:379 #, fuzzy msgid "Verisign user name" msgstr "Nom d'utilisateur" -#: deps/django_authopenid/util.py:393 +#: deps/django_authopenid/util.py:403 #, fuzzy, python-format msgid "Change your %(provider)s password" msgstr "Changer de mot de passe" -#: deps/django_authopenid/util.py:397 +#: deps/django_authopenid/util.py:407 #, python-format msgid "Click to see if your %(provider)s signin still works for %(site_name)s" msgstr "" -#: deps/django_authopenid/util.py:406 +#: deps/django_authopenid/util.py:416 #, python-format msgid "Create password for %(provider)s" msgstr "" # FIXME -#: deps/django_authopenid/util.py:410 +#: deps/django_authopenid/util.py:420 #, fuzzy, python-format msgid "Connect your %(provider)s account to %(site_name)s" msgstr "Associez votre OpenID avec votre compte sur ce site" -#: deps/django_authopenid/util.py:419 +#: deps/django_authopenid/util.py:429 #, fuzzy, python-format msgid "Signin with %(provider)s user name and password" msgstr "Veuillez saisir votre nom d'utilisateur et un mot de passe" -#: deps/django_authopenid/util.py:426 +#: deps/django_authopenid/util.py:436 #, python-format msgid "Sign in with your %(provider)s account" msgstr "" -#: deps/django_authopenid/views.py:143 +#: deps/django_authopenid/views.py:141 #, python-format msgid "OpenID %(openid_url)s is invalid" msgstr "L'OpenID %(openid_url)s est invalide" -#: deps/django_authopenid/views.py:255 deps/django_authopenid/views.py:397 +#: deps/django_authopenid/views.py:253 deps/django_authopenid/views.py:397 #: deps/django_authopenid/views.py:425 #, python-format msgid "" @@ -1853,22 +2037,22 @@ msgstr "" msgid "Sorry, this account recovery key has expired or is invalid" msgstr "" -#: deps/django_authopenid/views.py:576 +#: deps/django_authopenid/views.py:574 #, python-format msgid "Login method %(provider_name)s does not exist" msgstr "" -#: deps/django_authopenid/views.py:582 +#: deps/django_authopenid/views.py:580 #, fuzzy msgid "Oops, sorry - there was some error - please try again" msgstr "désolé, les 2 mots de passe sont différents, veuillez recommencer" -#: deps/django_authopenid/views.py:673 +#: deps/django_authopenid/views.py:671 #, python-format msgid "Your %(provider)s login works fine" msgstr "" -#: deps/django_authopenid/views.py:971 deps/django_authopenid/views.py:977 +#: deps/django_authopenid/views.py:978 deps/django_authopenid/views.py:984 #, python-format msgid "your email needs to be validated see %(details_url)s" msgstr "" @@ -1876,11 +2060,12 @@ msgstr "" "id='validate_email_alert' href='%(details_url)s'>Cliquez ici</a> pour en " "savoir plus." -#: deps/django_authopenid/views.py:998 -msgid "Email verification subject line" -msgstr "Vérification de votre adresse email" +#: deps/django_authopenid/views.py:1005 +#, fuzzy, python-format +msgid "Recover your %(site)s account" +msgstr "Changer le mot de passe de votre compte" -#: deps/django_authopenid/views.py:1063 +#: deps/django_authopenid/views.py:1072 msgid "Please check your email and visit the enclosed link." msgstr "" @@ -1888,24 +2073,24 @@ msgstr "" msgid "Site" msgstr "Site" -#: deps/livesettings/values.py:107 +#: deps/livesettings/values.py:106 msgid "Base Settings" msgstr "Paramétrage de la base de données" -#: deps/livesettings/values.py:214 +#: deps/livesettings/values.py:213 msgid "Default value: \"\"" msgstr "Valeur par défaut: \"\"" -#: deps/livesettings/values.py:221 +#: deps/livesettings/values.py:220 msgid "Default value: " msgstr "Valeur par défaut: " -#: deps/livesettings/values.py:224 +#: deps/livesettings/values.py:223 #, python-format msgid "Default value: %s" msgstr "Valeur par défaut: %s" -#: deps/livesettings/values.py:589 +#: deps/livesettings/values.py:588 #, python-format msgid "Allowed image file types are %(types)s" msgstr "Les types de fichiers image autorisés sont %(types)s" @@ -1921,7 +2106,7 @@ msgstr "Documentation" #: deps/livesettings/templates/livesettings/group_settings.html:11 #: deps/livesettings/templates/livesettings/site_settings.html:23 -#: skins/default/templates/authopenid/signin.html:142 +#: skins/default/templates/authopenid/signin.html:117 msgid "Change password" msgstr "Changer de mot de passe" @@ -2016,28 +2201,59 @@ msgstr "Impossible de se connecter au service externe reCaptcha." msgid "Invalid request" msgstr "Requête invalide" -#: importers/stackexchange/management/commands/load_stackexchange.py:126 +#: importers/stackexchange/management/commands/load_stackexchange.py:128 msgid "Congratulations, you are now an Administrator" msgstr "Félicitations, vous êtes maintenant administrateur" -#: management/commands/send_email_alerts.py:105 +#: management/commands/post_emailed_questions.py:34 +msgid "" +"<p>To ask by email, please:</p>\n" +"<ul>\n" +" <li>Format the subject line as: [Tag1; Tag2] Question title</li>\n" +" <li>Type details of your question into the email body</li>\n" +"</ul>\n" +"<p>Note that tags may consist of more than one word, and tags\n" +"may be separated by a semicolon or a comma</p>\n" +msgstr "" + +#: management/commands/post_emailed_questions.py:54 +#, python-format +msgid "" +"<p>Sorry, there was an error posting your question please contact the " +"%(site)s administrator</p>" +msgstr "" + +#: management/commands/post_emailed_questions.py:60 +#, python-format +msgid "" +"<p>Sorry, in order to post questions on %(site)s by email, please <a href=" +"\"%(url)s\">register first</a></p>" +msgstr "" + +#: management/commands/post_emailed_questions.py:68 +msgid "" +"<p>Sorry, your question could not be posted due to insufficient privileges " +"of your user account</p>" +msgstr "" + +#: management/commands/send_email_alerts.py:103 #, python-format msgid "\" and \"%s\"" msgstr "" -#: management/commands/send_email_alerts.py:108 +#: management/commands/send_email_alerts.py:106 #, fuzzy msgid "\" and more" msgstr "En savoir plus." -#: management/commands/send_email_alerts.py:113 +#: management/commands/send_email_alerts.py:111 #, python-format msgid "%(question_count)d updated question about %(topics)s" msgid_plural "%(question_count)d updated questions about %(topics)s" msgstr[0] "" msgstr[1] "" -#: management/commands/send_email_alerts.py:467 +#: management/commands/send_email_alerts.py:484 #, python-format msgid "%(name)s, this is an update message header for %(num)d question" msgid_plural "%(name)s, this is an update message header for %(num)d questions" @@ -2048,11 +2264,11 @@ msgstr[1] "" "<p>Bonjour %(name)s,</p><p>Il y a du nouveau concernant %(num)d questions:</" "p>" -#: management/commands/send_email_alerts.py:484 +#: management/commands/send_email_alerts.py:501 msgid "new question" msgstr "nouvelle question" -#: management/commands/send_email_alerts.py:501 +#: management/commands/send_email_alerts.py:518 msgid "" "Please visit the askbot and see what's new! Could you spread the word about " "it - can somebody you know help answering those questions or benefit from " @@ -2063,7 +2279,7 @@ msgstr "" "quelqu'un susceptible de nous aider en répondant à certaines questions, ou " "qui pourrait bénéficier de notre forum en y postant ses propres questions..." -#: management/commands/send_email_alerts.py:513 +#: management/commands/send_email_alerts.py:530 msgid "" "Your most frequent subscription setting is 'daily' on selected questions. If " "you are receiving more than one email per dayplease tell about this issue to " @@ -2073,7 +2289,7 @@ msgstr "" "mails quotidiennement. Si vous recevez plus d'un email par jour, merci " "d'avertir l'administrateur du forum de ce problème. " -#: management/commands/send_email_alerts.py:519 +#: management/commands/send_email_alerts.py:536 msgid "" "Your most frequent subscription setting is 'weekly' if you are receiving " "this email more than once a week please report this issue to the askbot " @@ -2083,7 +2299,7 @@ msgstr "" "mails de façon hebdomadaire. Si vous recevez plus d'un email par semaine, " "merci d'avertir l'administrateur du forum de ce problème. " -#: management/commands/send_email_alerts.py:525 +#: management/commands/send_email_alerts.py:542 msgid "" "There is a chance that you may be receiving links seen before - due to a " "technicality that will eventually go away. " @@ -2091,7 +2307,7 @@ msgstr "" "Il est possible que vous receviez des liens plusieurs fois; nous sommes en " "train de plancher sur ce problème" -#: management/commands/send_email_alerts.py:530 +#: management/commands/send_email_alerts.py:548 #, python-format msgid "" "go to %(email_settings_link)s to change frequency of email updates or " @@ -2101,7 +2317,7 @@ msgstr "" "emails de mises à jour, ou bien informez l'administrateur à l'adresse " "%(admin_email)s" -#: models/__init__.py:170 +#: models/__init__.py:299 msgid "" "Sorry, you cannot accept or unaccept best answers because your account is " "blocked" @@ -2109,7 +2325,7 @@ msgstr "" "Désolé, vous ne pouvez pas accepter ou refuser les meilleures réponses car " "votre compte est bloqué" -#: models/__init__.py:175 +#: models/__init__.py:304 msgid "" "Sorry, you cannot accept or unaccept best answers because your account is " "suspended" @@ -2117,14 +2333,14 @@ msgstr "" "Désolé, vous ne pouvez pas accepter ou refuser les meilleures réponses car " "votre compte est suspendu" -#: models/__init__.py:181 +#: models/__init__.py:310 msgid "" "Sorry, you cannot accept or unaccept your own answer to your own question" msgstr "" "Désolé, vous ne pouvez pas accepter ou rejeter votre propre réponse à votre " "propre question !" -#: models/__init__.py:188 +#: models/__init__.py:317 #, python-format msgid "" "Sorry, only original author of the question - %(username)s - can accept the " @@ -2133,38 +2349,38 @@ msgstr "" "Désolé, seul l'auteur d'origine de la question - %(username)s - peut " "accepter/désigner la meilleure réponse" -#: models/__init__.py:211 +#: models/__init__.py:340 msgid "cannot vote for own posts" msgstr "Il est interdit de voter pour ses propores publications" -#: models/__init__.py:214 +#: models/__init__.py:343 msgid "Sorry your account appears to be blocked " msgstr "Désolé, votre compte semble être bloqué" -#: models/__init__.py:219 +#: models/__init__.py:348 msgid "Sorry your account appears to be suspended " msgstr "Désolé, votre compte semble être suspendu" -#: models/__init__.py:229 +#: models/__init__.py:358 #, python-format msgid ">%(points)s points required to upvote" msgstr ">%(points)s points sont requis pour pouvoir voter positivement" -#: models/__init__.py:235 +#: models/__init__.py:364 #, python-format msgid ">%(points)s points required to downvote" msgstr ">%(points)s points sont requis pour pouvoir voter négativement" -#: models/__init__.py:250 +#: models/__init__.py:379 msgid "Sorry, blocked users cannot upload files" msgstr "Désolé, les utilisateurs bloqués ne peuvent pas transférer de fichier" -#: models/__init__.py:251 +#: models/__init__.py:380 msgid "Sorry, suspended users cannot upload files" msgstr "" "Désolé, les utilisateurs suspendus ne peuvent pas transférer de fichier" -#: models/__init__.py:253 +#: models/__init__.py:382 #, python-format msgid "" "uploading images is limited to users with >%(min_rep)s reputation points" @@ -2172,21 +2388,26 @@ msgstr "" "Le transfert d'images vers notre serveur est réservé aux utilisateurs ayant " "plus de >%(min_rep)s points de réputation" -#: models/__init__.py:272 models/__init__.py:332 models/__init__.py:2021 +#: models/__init__.py:401 models/__init__.py:468 models/__init__.py:2344 msgid "blocked users cannot post" msgstr "Les utilisateurs bloques ne peuvent pas publier" -#: models/__init__.py:273 models/__init__.py:2024 +#: models/__init__.py:402 models/__init__.py:2347 msgid "suspended users cannot post" msgstr "Les utilisateurs suspendus ne peuvent pas publier" -#: models/__init__.py:298 +#: models/__init__.py:429 +#, python-format msgid "" -"Sorry, comments (except the last one) are editable only within 10 minutes " -"from posting" -msgstr "" +"Sorry, comments (except the last one) are editable only within %(minutes)s " +"minute from posting" +msgid_plural "" +"Sorry, comments (except the last one) are editable only within %(minutes)s " +"minutes from posting" +msgstr[0] "" +msgstr[1] "" -#: models/__init__.py:304 +#: models/__init__.py:441 #, fuzzy msgid "Sorry, but only post owners or moderators can edit comments" msgstr "" @@ -2194,14 +2415,14 @@ msgstr "" "et les modérateurs peuvent requalifier des questions supprimées (c'est à " "dire modifier leurs mots-clés)" -#: models/__init__.py:318 +#: models/__init__.py:454 msgid "" "Sorry, since your account is suspended you can comment only your own posts" msgstr "" "Désolé, vous ne pouvez commenter que vos propres publications, car votre " "compte est suspendu" -#: models/__init__.py:322 +#: models/__init__.py:458 #, python-format msgid "" "Sorry, to comment any post a minimum reputation of %(min_rep)s points is " @@ -2211,7 +2432,7 @@ msgstr "" "réputation est requis. Vous pouvez toutefois commenter vos propres " "publications et répondre à vos questions" -#: models/__init__.py:350 +#: models/__init__.py:486 #, fuzzy msgid "" "This post has been deleted and can be seen only by post owners, site " @@ -2220,7 +2441,7 @@ msgstr "" "Ce message a été supprimé et peut seulement être consulté par ses " "propriétaires, les administrateurs du site, et les modérateurs" -#: models/__init__.py:367 +#: models/__init__.py:503 msgid "" "Sorry, only moderators, site administrators and post owners can edit deleted " "posts" @@ -2228,18 +2449,18 @@ msgstr "" "Désolé, seuls les modérateurs, les administrateurs du site et les " "propriétaires des messages peuvent modifier les messages supprimés" -#: models/__init__.py:382 +#: models/__init__.py:518 msgid "Sorry, since your account is blocked you cannot edit posts" msgstr "" "Désolé, vous ne pouvez pas modifier de messages, car votre compte est bloqué" -#: models/__init__.py:386 +#: models/__init__.py:522 msgid "Sorry, since your account is suspended you can edit only your own posts" msgstr "" "Désolé, vous ne pouvez modifier que vos propres messages, car votre compte " "est suspendu" -#: models/__init__.py:391 +#: models/__init__.py:527 #, fuzzy, python-format msgid "" "Sorry, to edit wiki posts, a minimum reputation of %(min_rep)s is required" @@ -2247,7 +2468,7 @@ msgstr "" "Désolé, pour modifier les messages du wiki, un minimum de %(min_rep)s points " "de réputation est requis" -#: models/__init__.py:398 +#: models/__init__.py:534 #, fuzzy, python-format msgid "" "Sorry, to edit other people's posts, a minimum reputation of %(min_rep)s is " @@ -2256,7 +2477,7 @@ msgstr "" "Désolé, pour éditer les messages des autres utilisateurs, un minimum de " "%(min_rep)s points de réputation est requis" -#: models/__init__.py:461 +#: models/__init__.py:597 msgid "" "Sorry, cannot delete your question since it has an upvoted answer posted by " "someone else" @@ -2270,19 +2491,19 @@ msgstr[1] "" "Désolé, impossible de supprimer votre question car elle a obtenu des votes " "positifs de la part d'autres utilisateurs" -#: models/__init__.py:476 +#: models/__init__.py:612 msgid "Sorry, since your account is blocked you cannot delete posts" msgstr "" "Désolé, vous ne pouvez pas supprimer de messages car votre compte est bloqué" -#: models/__init__.py:480 +#: models/__init__.py:616 msgid "" "Sorry, since your account is suspended you can delete only your own posts" msgstr "" "Désolé, vous pouvez seulement supprimer vos propres messages car votre " "compte est suspendu" -#: models/__init__.py:484 +#: models/__init__.py:620 #, python-format msgid "" "Sorry, to deleted other people' posts, a minimum reputation of %(min_rep)s " @@ -2291,18 +2512,18 @@ msgstr "" "Désolé, pour supprimer les messages des autres utilisateurs, un minimum de " "%(min_rep)s points de réputation est requis" -#: models/__init__.py:504 +#: models/__init__.py:640 msgid "Sorry, since your account is blocked you cannot close questions" msgstr "" "Désolé, vous ne pouvez pas cloturer de questions car votre compte est bloqué" -#: models/__init__.py:508 +#: models/__init__.py:644 msgid "Sorry, since your account is suspended you cannot close questions" msgstr "" "Désolé, vous ne pouvez pas cloturer de questions car votre compte est " "suspendu" -#: models/__init__.py:512 +#: models/__init__.py:648 #, python-format msgid "" "Sorry, to close other people' posts, a minimum reputation of %(min_rep)s is " @@ -2311,7 +2532,7 @@ msgstr "" "Désolé, pour cloturer les messages des autres utilisateurs, un minimum de " "%(min_rep)s points de réputation est requis" -#: models/__init__.py:521 +#: models/__init__.py:657 #, python-format msgid "" "Sorry, to close own question a minimum reputation of %(min_rep)s is required" @@ -2319,7 +2540,7 @@ msgstr "" "Désolé, pour clore vos propres questions, un minimum de %(min_rep)s points " "de réputation est requis" -#: models/__init__.py:545 +#: models/__init__.py:681 #, python-format msgid "" "Sorry, only administrators, moderators or post owners with reputation > " @@ -2329,7 +2550,7 @@ msgstr "" "messages avec plus de %(min_rep)s points de réputation peuvent réouvrir des " "questions." -#: models/__init__.py:551 +#: models/__init__.py:687 #, python-format msgid "" "Sorry, to reopen own question a minimum reputation of %(min_rep)s is required" @@ -2337,31 +2558,31 @@ msgstr "" "Désolé, pour réouvrir vos propres questions, un minimum de %(min_rep)s " "points de réputation est requis" -#: models/__init__.py:571 +#: models/__init__.py:707 msgid "cannot flag message as offensive twice" msgstr "Un message ne peut pas être étiqueté \"abusif\" deux fois" -#: models/__init__.py:576 +#: models/__init__.py:712 msgid "blocked users cannot flag posts" msgstr "Les utilisateurs bloqués ne peuvent pas étiqueter les messages" -#: models/__init__.py:578 +#: models/__init__.py:714 msgid "suspended users cannot flag posts" msgstr "Les utilisateurs suspendus ne peuvent pas étiqueter les messages" -#: models/__init__.py:580 +#: models/__init__.py:716 #, python-format msgid "need > %(min_rep)s points to flag spam" msgstr "" "Il faut au moins %(min_rep)s points de réputation pour pouvoir étiqueter les " "messages comme étant du spam" -#: models/__init__.py:599 +#: models/__init__.py:735 #, python-format msgid "%(max_flags_per_day)s exceeded" msgstr "%(max_flags_per_day)s dépassé" -#: models/__init__.py:614 +#: models/__init__.py:750 msgid "" "Sorry, only question owners, site administrators and moderators can retag " "deleted questions" @@ -2370,20 +2591,20 @@ msgstr "" "et les modérateurs peuvent requalifier des questions supprimées (c'est à " "dire modifier leurs mots-clés)" -#: models/__init__.py:621 +#: models/__init__.py:757 msgid "Sorry, since your account is blocked you cannot retag questions" msgstr "" "Désolé, vous ne pouvez pas requalifier une question (c'est à dire changer " "ses mots-clés) car votre compte est bloqué" -#: models/__init__.py:625 +#: models/__init__.py:761 msgid "" "Sorry, since your account is suspended you can retag only your own questions" msgstr "" "Désolé, vous pouvez seulement requalifier vos propres questions (c'est à " "dire changer leurs mots-clés) car votre compte est suspendu" -#: models/__init__.py:629 +#: models/__init__.py:765 #, python-format msgid "" "Sorry, to retag questions a minimum reputation of %(min_rep)s is required" @@ -2391,20 +2612,20 @@ msgstr "" "Désolé, pour requalifier une question (c'est à dire changer ses mots-clés), " "un minimum de %(min_rep)s points de réputation est requis" -#: models/__init__.py:648 +#: models/__init__.py:784 msgid "Sorry, since your account is blocked you cannot delete comment" msgstr "" "Désolé, vous ne pouvez pas supprimer de commentaires car votre compte est " "bloqué" -#: models/__init__.py:652 +#: models/__init__.py:788 msgid "" "Sorry, since your account is suspended you can delete only your own comments" msgstr "" "Désolé, vous pouvez seulement supprimer vos propres commentaires car votre " "compte est suspendu" -#: models/__init__.py:656 +#: models/__init__.py:792 #, python-format msgid "Sorry, to delete comments reputation of %(min_rep)s is required" msgstr "" @@ -2412,86 +2633,91 @@ msgstr "" "réputation est requis" # FIXME ou "ayant reçu un vote négatif" -#: models/__init__.py:679 +#: models/__init__.py:815 msgid "cannot revoke old vote" msgstr "impossible de révoquer un ancien vote" -#: models/__init__.py:1213 views/users.py:363 +#: models/__init__.py:1370 +#, fuzzy +msgid "Anonymous" +msgstr "anonyme" + +#: models/__init__.py:1456 views/users.py:362 msgid "Site Adminstrator" msgstr "Administrateur du site" -#: models/__init__.py:1215 views/users.py:365 +#: models/__init__.py:1458 views/users.py:364 msgid "Forum Moderator" msgstr "Modérateur de forum" -#: models/__init__.py:1217 views/users.py:367 +#: models/__init__.py:1460 views/users.py:366 msgid "Suspended User" msgstr "Utilisateur suspendu" -#: models/__init__.py:1219 views/users.py:369 +#: models/__init__.py:1462 views/users.py:368 msgid "Blocked User" msgstr "Utilisateur bloqué" -#: models/__init__.py:1221 views/users.py:371 +#: models/__init__.py:1464 views/users.py:370 msgid "Registered User" msgstr "Utilisateur enregistré" -#: models/__init__.py:1223 +#: models/__init__.py:1466 msgid "Watched User" msgstr "Utilisateurs suivis" -#: models/__init__.py:1225 +#: models/__init__.py:1468 msgid "Approved User" msgstr "Utilisateur certifié" -#: models/__init__.py:1281 +#: models/__init__.py:1524 #, fuzzy, python-format msgid "%(username)s karma is %(reputation)s" msgstr "Votre karma est %(reputation)s" -#: models/__init__.py:1291 +#: models/__init__.py:1534 #, python-format msgid "one gold badge" msgid_plural "%(count)d gold badges" msgstr[0] "" msgstr[1] "" -#: models/__init__.py:1298 +#: models/__init__.py:1541 #, fuzzy, python-format msgid "one silver badge" msgid_plural "%(count)d silver badges" msgstr[0] "Badge argent - blah blah" msgstr[1] "Badge argent - blah blah" -#: models/__init__.py:1305 +#: models/__init__.py:1548 #, fuzzy, python-format msgid "one bronze badge" msgid_plural "%(count)d bronze badges" msgstr[0] "Badge bronze - blah blah" msgstr[1] "Badge bronze - blah blah" -#: models/__init__.py:1316 +#: models/__init__.py:1559 #, python-format msgid "%(item1)s and %(item2)s" msgstr "" -#: models/__init__.py:1320 +#: models/__init__.py:1563 #, python-format msgid "%(user)s has %(badges)s" msgstr "" -#: models/__init__.py:1633 models/__init__.py:1639 models/__init__.py:1644 -#: models/__init__.py:1649 +#: models/__init__.py:1936 models/__init__.py:1942 models/__init__.py:1947 +#: models/__init__.py:1952 #, python-format msgid "Re: \"%(title)s\"" msgstr "" -#: models/__init__.py:1654 models/__init__.py:1659 +#: models/__init__.py:1957 models/__init__.py:1962 #, fuzzy, python-format msgid "Question: \"%(title)s\"" msgstr "Tags de la question" -#: models/__init__.py:1844 +#: models/__init__.py:2140 #, python-format msgid "" "Congratulations, you have received a badge '%(badge_name)s'. Check out <a " @@ -2500,6 +2726,10 @@ msgstr "" "Félicitations, vous avez reçu un badge '%(badge_name)s'. Consultez <a href=" "\"%(user_profile)s\">votre profil</a>." +#: models/__init__.py:2319 views/commands.py:409 +msgid "Your tag subscription was saved, thanks!" +msgstr "" + #: models/answer.py:105 msgid "" "Sorry, the answer you are looking for is no longer available, because the " @@ -2511,303 +2741,317 @@ msgstr "" msgid "Sorry, this answer has been removed and is no longer accessible" msgstr "Désolé, cette question a été supprimée, et n'est plus accessible." -#: models/badges.py:128 +#: models/badges.py:129 #, fuzzy, python-format msgid "Deleted own post with %(votes)s or more upvotes" msgstr "" "Suppression de son propre message avec un score de 3 votes positifs ou moins" -#: models/badges.py:132 +#: models/badges.py:133 msgid "Disciplined" msgstr "Discipliné" -#: models/badges.py:150 +#: models/badges.py:151 #, fuzzy, python-format msgid "Deleted own post with %(votes)s or more downvotes" msgstr "" "Suppression de son propre message avec un score de 3 votes positifs ou moins" -#: models/badges.py:154 +#: models/badges.py:155 msgid "Peer Pressure" msgstr "Pression des pairs" -#: models/badges.py:173 +#: models/badges.py:174 #, python-format msgid "Received at least %(votes)s upvote for an answer for the first time" msgstr "" -#: models/badges.py:177 +#: models/badges.py:178 msgid "Teacher" msgstr "Professeur" -#: models/badges.py:217 +#: models/badges.py:218 msgid "Supporter" msgstr "Supporteur" -#: models/badges.py:218 +#: models/badges.py:219 #, fuzzy msgid "First upvote" msgstr "Premier vote positif" -#: models/badges.py:226 +#: models/badges.py:227 msgid "Critic" msgstr "Critique" -#: models/badges.py:227 +#: models/badges.py:228 #, fuzzy msgid "First downvote" msgstr "Premier vote négatif" -#: models/badges.py:236 +#: models/badges.py:237 #, fuzzy msgid "Civic Duty" msgstr "Devoir civique" -#: models/badges.py:237 -#, fuzzy, python-format +#: models/badges.py:238 +#, python-format msgid "Voted %(num)s times" -msgstr "a obtenu 300 votes" +msgstr "a voté %(num)s fois" -#: models/badges.py:251 -#, fuzzy, python-format +#: models/badges.py:252 +#, python-format msgid "Answered own question with at least %(num)s up votes" -msgstr "A répondu à sa propre question avec au moins 3 votes positifs" +msgstr "A répondu à sa propre question avec au moins %(num)s votes positifs" -#: models/badges.py:255 +#: models/badges.py:256 msgid "Self-Learner" msgstr "Autodidacte" -#: models/badges.py:303 -#, fuzzy +#: models/badges.py:304 msgid "Nice Answer" msgstr "Jolie réponse" -#: models/badges.py:308 models/badges.py:320 models/badges.py:332 -#, fuzzy, python-format +#: models/badges.py:309 models/badges.py:321 models/badges.py:333 +#, python-format msgid "Answer voted up %(num)s times" -msgstr "Réponse ayant obtenu 10 votes positifs" +msgstr "Réponse ayant obtenu %(num)s votes positifs" -#: models/badges.py:315 +#: models/badges.py:316 msgid "Good Answer" msgstr "Bonné réponse" -#: models/badges.py:327 +#: models/badges.py:328 msgid "Great Answer" msgstr "Très bonne réponse" -#: models/badges.py:339 +#: models/badges.py:340 msgid "Nice Question" msgstr "Jolie question" -#: models/badges.py:344 models/badges.py:356 models/badges.py:368 -#, fuzzy, python-format +#: models/badges.py:345 models/badges.py:357 models/badges.py:369 +#, python-format msgid "Question voted up %(num)s times" -msgstr "Question ayant obtenu 10 votes positifs" +msgstr "Question ayant obtenu %(num)s votes positifs" -#: models/badges.py:351 +#: models/badges.py:352 msgid "Good Question" msgstr "Bonne question" -#: models/badges.py:363 +#: models/badges.py:364 msgid "Great Question" msgstr "Très bonne question" -#: models/badges.py:375 +#: models/badges.py:376 msgid "Student" -msgstr "Schüler" +msgstr "Etudiant" -#: models/badges.py:380 +#: models/badges.py:381 msgid "Asked first question with at least one up vote" -msgstr "Hat erste Frage mit mindestens einer positiven Bewertung gestellt" +msgstr "A posté sa première question avec au moins un vote positif" -#: models/badges.py:413 +#: models/badges.py:414 msgid "Popular Question" msgstr "Question populaire" -#: models/badges.py:417 models/badges.py:428 models/badges.py:440 -#, fuzzy, python-format +#: models/badges.py:418 models/badges.py:429 models/badges.py:441 +#, python-format msgid "Asked a question with %(views)s views" -msgstr "A posé une question consultée plus de 1000 fois" +msgstr "A posé une question consultée plus de %(views)s fois" -#: models/badges.py:424 +#: models/badges.py:425 msgid "Notable Question" msgstr "Question remarquable" -#: models/badges.py:435 -#, fuzzy +#: models/badges.py:436 msgid "Famous Question" msgstr "Question célèbre" -#: models/badges.py:449 -#, fuzzy +#: models/badges.py:450 msgid "Asked a question and accepted an answer" -msgstr "Cette question n'a pas de réponse acceptée" +msgstr "A posé une question et accepté une réponse" -#: models/badges.py:452 +#: models/badges.py:453 msgid "Scholar" -msgstr "Lernender" +msgstr "Scolaire" -#: models/badges.py:494 +#: models/badges.py:495 msgid "Enlightened" msgstr "Eclairé" -#: models/badges.py:498 -#, fuzzy, python-format +#: models/badges.py:499 +#, python-format msgid "First answer was accepted with %(num)s or more votes" -msgstr "Première question acceptée avec au moins 10 votes positifs" +msgstr "Première question acceptée avec au moins %(num)s votes positifs" -#: models/badges.py:506 +#: models/badges.py:507 msgid "Guru" msgstr "Gourou" -#: models/badges.py:509 -#, fuzzy, python-format +#: models/badges.py:510 +#, python-format msgid "Answer accepted with %(num)s or more votes" -msgstr "Première question acceptée avec au moins 10 votes positifs" +msgstr "Première question acceptée avec au moins %(num)s votes positifs" -#: models/badges.py:517 -#, fuzzy, python-format +#: models/badges.py:518 +#, python-format msgid "" "Answered a question more than %(days)s days later with at least %(votes)s " "votes" msgstr "" -"A répondu à une question avec 60 jours de retard, et avec au moins 5 votes" +"A répondu à une question avec %(days)s jours de retard, et avec au moins %(votes)s votes" -#: models/badges.py:524 +#: models/badges.py:525 msgid "Necromancer" msgstr "Nécromancien" # FIXME -#: models/badges.py:547 -#, fuzzy +#: models/badges.py:548 msgid "Citizen Patrol" msgstr "Patrouille citoyenne" # FIXME -#: models/badges.py:550 +#: models/badges.py:551 msgid "First flagged post" msgstr "Premier message étiqueté" -#: models/badges.py:562 +#: models/badges.py:563 msgid "Cleanup" msgstr "Nettoyage" -#: models/badges.py:565 +#: models/badges.py:566 msgid "First rollback" msgstr "Premier retour (retour à un précédent message)" -#: models/badges.py:576 +#: models/badges.py:577 msgid "Pundit" msgstr "Cador" -#: models/badges.py:579 +#: models/badges.py:580 msgid "Left 10 comments with score of 10 or more" msgstr "A laissé 10 commentaires avec un score de 10 ou plus" -#: models/badges.py:611 +#: models/badges.py:612 msgid "Editor" msgstr "Rédacteur" # FIXME -#: models/badges.py:614 +#: models/badges.py:615 msgid "First edit" msgstr "Première intervention" -#: models/badges.py:622 +#: models/badges.py:623 msgid "Associate Editor" msgstr "" -#: models/badges.py:626 -#, fuzzy, python-format +#: models/badges.py:627 +#, python-format msgid "Edited %(num)s entries" -msgstr "A modifié 100 entrées" +msgstr "A modifié %(num)s entrées" -#: models/badges.py:633 +#: models/badges.py:634 msgid "Organizer" msgstr "Organisateur" # FIXME -#: models/badges.py:636 +#: models/badges.py:637 msgid "First retag" msgstr "Première requalification" -#: models/badges.py:643 +#: models/badges.py:644 msgid "Autobiographer" msgstr "Autobiographe" -#: models/badges.py:646 +#: models/badges.py:647 msgid "Completed all user profile fields" msgstr "A renseigné tous les champs de son profil utilisateur" -#: models/badges.py:662 -#, fuzzy, python-format +#: models/badges.py:663 +#, python-format msgid "Question favorited by %(num)s users" -msgstr "Question favorite de 25 utilisateurs" +msgstr "Question favorite de %(num)s utilisateurs" -#: models/badges.py:688 +#: models/badges.py:689 msgid "Stellar Question" msgstr "Excellente question" -#: models/badges.py:697 +#: models/badges.py:698 msgid "Favorite Question" msgstr "Question favorite" -#: models/badges.py:707 +#: models/badges.py:710 msgid "Enthusiast" msgstr "" -#: models/badges.py:710 -msgid "Visited site every day for 30 days in a row" +#: models/badges.py:714 +#, python-format +msgid "Visited site every day for %(num)s days in a row" msgstr "" -#: models/badges.py:718 +#: models/badges.py:732 #, fuzzy msgid "Commentator" msgstr "Documentation" -#: models/badges.py:721 -#, fuzzy -msgid "Posted 10 comments" -msgstr "ajouter des commentaires" +#: models/badges.py:736 +#, python-format +msgid "Posted %(num_comments)s comments" +msgstr "A posté %(num_comments)s commentaires" + +#: models/badges.py:752 +msgid "Taxonomist" +msgstr "Taxonomiste" + +#: models/badges.py:756 +#, python-format +msgid "Created a tag used by %(num)s questions" +msgstr "A créé un mot-clé (tag) utilisé par %(num)s questions" + +#: models/badges.py:776 +msgid "Expert" +msgstr "Expert" -#: models/meta.py:110 +#: models/badges.py:779 +msgid "Very active in one tag" +msgstr "Très actif dans une catégorie de questions" + +#: models/meta.py:111 msgid "" "Sorry, the comment you are looking for is no longer accessible, because the " "parent question has been removed" msgstr "" -#: models/meta.py:117 +#: models/meta.py:118 msgid "" "Sorry, the comment you are looking for is no longer accessible, because the " "parent answer has been removed" msgstr "" -#: models/question.py:325 +#: models/question.py:387 msgid "Sorry, this question has been deleted and is no longer accessible" msgstr "Désolé, cette question a été supprimée, et n'est plus accessible." -#: models/question.py:714 +#: models/question.py:815 #, python-format msgid "%(author)s modified the question" msgstr "%(author)s a modifié la question" -#: models/question.py:718 +#: models/question.py:819 #, python-format msgid "%(people)s posted %(new_answer_count)s new answers" msgstr "" "Les utilisateurs %(people)s ont posté %(new_answer_count)s nouvelles réponses" -#: models/question.py:723 +#: models/question.py:824 #, python-format msgid "%(people)s commented the question" msgstr "%(people)s a/ont commenté cette question" -#: models/question.py:728 +#: models/question.py:829 #, python-format msgid "%(people)s commented answers" msgstr "%(people)s a/ont commenté des réponses" -#: models/question.py:730 +#: models/question.py:831 #, python-format msgid "%(people)s commented an answer" msgstr "%(people)s a/ont commenté une réponse" @@ -2835,72 +3079,72 @@ msgstr "" "%(points)s points ont été retirés pour la contribution de %(username)s' à la " "question \"%(question_title)s\"" -#: models/tag.py:91 +#: models/tag.py:138 msgid "interesting" msgstr "intéressant" -#: models/tag.py:91 +#: models/tag.py:138 msgid "ignored" msgstr "ignoré" -#: models/user.py:264 +#: models/user.py:261 msgid "Entire forum" msgstr "Forum entier" -#: models/user.py:265 +#: models/user.py:262 msgid "Questions that I asked" msgstr "Les questions que j'ai posées" -#: models/user.py:266 +#: models/user.py:263 msgid "Questions that I answered" msgstr "Les questions auxquelles j'ai répondu" -#: models/user.py:267 +#: models/user.py:264 msgid "Individually selected questions" msgstr "questions sélectionnées individuellement" -#: models/user.py:268 +#: models/user.py:265 msgid "Mentions and comment responses" msgstr "Mentions et réponses aux commentaires" -#: models/user.py:271 +#: models/user.py:268 msgid "Instantly" msgstr "Instantanément" -#: models/user.py:272 +#: models/user.py:269 msgid "Daily" msgstr "Quotidien" -#: models/user.py:273 +#: models/user.py:270 msgid "Weekly" msgstr "hebdomadaire" -#: models/user.py:274 +#: models/user.py:271 msgid "No email" msgstr "Aucun email" #: skins/default/templates/404.jinja.html:3 -#: skins/default/templates/404.jinja.html:11 +#: skins/default/templates/404.jinja.html:10 msgid "Page not found" msgstr "" -#: skins/default/templates/404.jinja.html:15 +#: skins/default/templates/404.jinja.html:13 msgid "Sorry, could not find the page you requested." msgstr "Désolé, la page que vous avez demandé est introuvable." -#: skins/default/templates/404.jinja.html:17 +#: skins/default/templates/404.jinja.html:15 msgid "This might have happened for the following reasons:" msgstr "Ceci a pu se produire pour les raisons suivantes :" -#: skins/default/templates/404.jinja.html:19 +#: skins/default/templates/404.jinja.html:17 msgid "this question or answer has been deleted;" msgstr "cette question ou cette réponse a été supprimée;" -#: skins/default/templates/404.jinja.html:20 +#: skins/default/templates/404.jinja.html:18 msgid "url has error - please check it;" msgstr "l'URL comporte une erreur - merci de la vérifier;" -#: skins/default/templates/404.jinja.html:21 +#: skins/default/templates/404.jinja.html:19 msgid "" "the page you tried to visit is protected or you don't have sufficient " "points, see" @@ -2908,64 +3152,65 @@ msgstr "" "la page que vous avez tenté d'afficher est protégée, ou vous n'avez pas un " "nombre de points suffisants pour la voir" -#: skins/default/templates/404.jinja.html:21 -#: skins/default/templates/footer.html:6 -#: skins/default/templates/question_edit_tips.html:16 -#: skins/default/templates/blocks/header_meta_links.html:52 +#: skins/default/templates/404.jinja.html:19 +#: skins/default/templates/blocks/footer.html:6 +#: skins/default/templates/blocks/header_meta_links.html:13 +#: skins/default/templates/blocks/question_edit_tips.html:15 msgid "faq" msgstr "FAQ" -#: skins/default/templates/404.jinja.html:22 +#: skins/default/templates/404.jinja.html:20 msgid "if you believe this error 404 should not have occured, please" msgstr "" "si vous pensez que cette erreur 404 n'aurait pas du se produire, merci de" -#: skins/default/templates/404.jinja.html:23 +#: skins/default/templates/404.jinja.html:21 msgid "report this problem" msgstr "signaler ce problème." -#: skins/default/templates/404.jinja.html:32 -#: skins/default/templates/500.jinja.html:13 +#: skins/default/templates/404.jinja.html:30 +#: skins/default/templates/500.jinja.html:11 msgid "back to previous page" msgstr "retour à la page précédente" -#: skins/default/templates/404.jinja.html:33 -#: skins/default/templates/questions.html:13 +#: skins/default/templates/404.jinja.html:31 +#: skins/default/templates/main_page/tab_bar.html:9 msgid "see all questions" msgstr "Voir toutes les questions" -#: skins/default/templates/404.jinja.html:34 +#: skins/default/templates/404.jinja.html:32 msgid "see all tags" msgstr "Voir tous les mots-clés" #: skins/default/templates/500.jinja.html:3 -#: skins/default/templates/500.jinja.html:6 +#: skins/default/templates/500.jinja.html:5 msgid "Internal server error" msgstr "" -#: skins/default/templates/500.jinja.html:10 +#: skins/default/templates/500.jinja.html:8 msgid "system error log is recorded, error will be fixed as soon as possible" msgstr "" "L'erreur a été consigné dans les journaux d'erreurs système, et sera " "corrigée dès que possible " -#: skins/default/templates/500.jinja.html:11 +#: skins/default/templates/500.jinja.html:9 msgid "please report the error to the site administrators if you wish" msgstr "" "Si vous le souhaitez, vous pouvez signaler cette erreur aux administrateurs " "du site. Merci" -#: skins/default/templates/500.jinja.html:14 +#: skins/default/templates/500.jinja.html:12 msgid "see latest questions" msgstr "Voir les dernières questions" -#: skins/default/templates/500.jinja.html:15 +#: skins/default/templates/500.jinja.html:13 msgid "see tags" msgstr "Voir les mots-clés (tags)" -#: skins/default/templates/about.html:3 skins/default/templates/about.html:6 -msgid "About" -msgstr "A propos" +#: skins/default/templates/about.html:3 skins/default/templates/about.html:5 +#, python-format +msgid "About %(site_name)s" +msgstr "A propos de %(site_name)s" #: skins/default/templates/answer_edit.html:4 #: skins/default/templates/answer_edit.html:10 @@ -2973,198 +3218,85 @@ msgid "Edit answer" msgstr "Modifier la réopnse" #: skins/default/templates/answer_edit.html:10 -#: skins/default/templates/question_edit.html:10 -#: skins/default/templates/question_retag.html:6 +#: skins/default/templates/question_edit.html:9 +#: skins/default/templates/question_retag.html:5 #: skins/default/templates/revisions.html:7 msgid "back" msgstr "Retour" #: skins/default/templates/answer_edit.html:15 -#: skins/default/templates/question_edit.html:14 +#: skins/default/templates/question_edit.html:11 msgid "revision" msgstr "Version" #: skins/default/templates/answer_edit.html:18 -#: skins/default/templates/question_edit.html:19 +#: skins/default/templates/question_edit.html:16 msgid "select revision" msgstr "Version auswählen" #: skins/default/templates/answer_edit.html:22 -#: skins/default/templates/question_edit.html:28 +#: skins/default/templates/question_edit.html:20 msgid "Save edit" msgstr "Enregistrer les modifications" #: skins/default/templates/answer_edit.html:23 -#: skins/default/templates/close.html:19 -#: skins/default/templates/feedback.html:45 -#: skins/default/templates/question_edit.html:29 -#: skins/default/templates/question_retag.html:26 -#: skins/default/templates/reopen.html:30 -#: skins/default/templates/user_edit.html:76 +#: skins/default/templates/close.html:16 +#: skins/default/templates/feedback.html:42 +#: skins/default/templates/question_edit.html:21 +#: skins/default/templates/question_retag.html:23 +#: skins/default/templates/reopen.html:27 +#: skins/default/templates/subscribe_for_tags.html:16 #: skins/default/templates/authopenid/changeemail.html:38 +#: skins/default/templates/user_profile/user_edit.html:84 msgid "Cancel" msgstr "Annuler" -#: skins/default/templates/answer_edit.html:59 #: skins/default/templates/answer_edit.html:62 -#: skins/default/templates/ask.html:36 skins/default/templates/ask.html:39 -#: skins/default/templates/macros.html:444 -#: skins/default/templates/question.html:465 -#: skins/default/templates/question.html:468 -#: skins/default/templates/question_edit.html:63 -#: skins/default/templates/question_edit.html:66 +#: skins/default/templates/answer_edit.html:65 +#: skins/default/templates/ask.html:43 skins/default/templates/ask.html:46 +#: skins/default/templates/macros.html:592 +#: skins/default/templates/question.html:474 +#: skins/default/templates/question.html:477 +#: skins/default/templates/question_edit.html:62 +#: skins/default/templates/question_edit.html:65 msgid "hide preview" msgstr "Masquer l'aperçu" -#: skins/default/templates/answer_edit.html:62 -#: skins/default/templates/ask.html:39 -#: skins/default/templates/question.html:468 -#: skins/default/templates/question_edit.html:66 +#: skins/default/templates/answer_edit.html:65 +#: skins/default/templates/ask.html:46 +#: skins/default/templates/question.html:477 +#: skins/default/templates/question_edit.html:65 msgid "show preview" msgstr "Afficher l'aperçu" -# FIXME -#: skins/default/templates/answer_edit_tips.html:3 -msgid "answer tips" -msgstr "Conseils pour répondre" - -#: skins/default/templates/answer_edit_tips.html:6 -msgid "please make your answer relevant to this community" -msgstr "" -"Rédiger vos réponses afin qu'elles soient pertinentes pour la communauté." - -#: skins/default/templates/answer_edit_tips.html:9 -msgid "try to give an answer, rather than engage into a discussion" -msgstr "" -"Contentez-vous de donner une réponse, plutôt que de vous engagez dans une " -"discussion." - -#: skins/default/templates/answer_edit_tips.html:12 -msgid "please try to provide details" -msgstr "Fournissez un maximum de détails." - -#: skins/default/templates/answer_edit_tips.html:15 -#: skins/default/templates/question_edit_tips.html:12 -msgid "be clear and concise" -msgstr "Soyez clair et concis." - -#: skins/default/templates/answer_edit_tips.html:19 -#: skins/default/templates/question_edit_tips.html:16 -msgid "see frequently asked questions" -msgstr "lisez notre FAQ (Foire aux questions)" - -#: skins/default/templates/answer_edit_tips.html:25 -#: skins/default/templates/question_edit_tips.html:22 -msgid "Markdown tips" -msgstr "Aide sur les balises \"Markdown\"" - -#: skins/default/templates/answer_edit_tips.html:29 -#: skins/default/templates/question_edit_tips.html:26 -msgid "*italic*" -msgstr "*italique*" - -#: skins/default/templates/answer_edit_tips.html:32 -#: skins/default/templates/question_edit_tips.html:29 -msgid "**bold**" -msgstr "**gras**" - -#: skins/default/templates/answer_edit_tips.html:36 -#: skins/default/templates/question_edit_tips.html:33 -msgid "*italic* or _italic_" -msgstr "*italique* ou __italique__" - -#: skins/default/templates/answer_edit_tips.html:39 -#: skins/default/templates/question_edit_tips.html:36 -msgid "**bold** or __bold__" -msgstr "**gras** ou __gras__" - -#: skins/default/templates/answer_edit_tips.html:43 -#: skins/default/templates/question_edit_tips.html:40 -msgid "link" -msgstr "lien" - -#: skins/default/templates/answer_edit_tips.html:43 -#: skins/default/templates/answer_edit_tips.html:47 -#: skins/default/templates/question_edit_tips.html:40 -#: skins/default/templates/question_edit_tips.html:45 -msgid "text" -msgstr "texte" - -#: skins/default/templates/answer_edit_tips.html:47 -#: skins/default/templates/question_edit_tips.html:45 -msgid "image" -msgstr "image" - -#: skins/default/templates/answer_edit_tips.html:51 -#: skins/default/templates/question_edit_tips.html:49 -msgid "numbered list:" -msgstr "liste numérotée:" - -#: skins/default/templates/answer_edit_tips.html:56 -#: skins/default/templates/question_edit_tips.html:54 -msgid "basic HTML tags are also supported" -msgstr "les balises HTML élémentaires sont aussi supportées." - -#: skins/default/templates/answer_edit_tips.html:60 -#: skins/default/templates/question_edit_tips.html:58 -msgid "learn more about Markdown" -msgstr "en savoir plus sur les balises \"Markdown\"" - -#: skins/default/templates/ask.html:3 +#: skins/default/templates/ask.html:4 msgid "Ask a question" msgstr "Poser une question" -#: skins/default/templates/ask_form.html:7 -msgid "login to post question info" -msgstr "" -"<span class=\"strong big\">Formulez votre question à l'aide du formulaire ci-" -"dessous (un court titre résumant la question, puis la question à proprement " -"parler, aussi détaillée que vous le souhaitez...)</span>. A l'étape " -"suivante, vous devrez saisir votre email et votre nom (ou un pseudo si vous " -"souhaitez rester anonyme...). Ces éléments sont nécessaires pour bénéficier " -"des fonctionnalités de notre module de questions/réponses, qui repose sur un " -"principe communautaire." - -#: skins/default/templates/ask_form.html:11 +#: skins/default/templates/badge.html:4 skins/default/templates/badge.html:8 +#: skins/default/templates/user_profile/user_recent.html:16 +#: skins/default/templates/user_profile/user_stats.html:106 #, python-format -msgid "" -"must have valid %(email)s to post, \n" -" see %(email_validation_faq_url)s\n" -" " -msgstr "" -"<span class='strong big'>Ihre E-Mail-Adresse %(email)s wurde noch nicht " -"bestätigt.</span> Um Beiträge veröffentlichen zu können, müssen Sie Ihre E-" -"Mail-Adresse bestätigen. <a href='%(email_validation_faq_url)s'>Mehr infos " -"hier</a>.<br>Sie können Ihren Beitrag speichern und die Bestätigung danach " -"durchführen - Ihr Beitrag wird bis dahin gespeichert." - -#: skins/default/templates/ask_form.html:27 -msgid "Login/signup to post your question" -msgstr "Vous devez vous authentifier pour publier votre question " - -#: skins/default/templates/ask_form.html:29 -msgid "Ask your question" -msgstr "Poser votre question" - -#: skins/default/templates/badge.html:4 skins/default/templates/badge.html:11 -#: skins/default/templates/user_recent.html:13 -#: skins/default/templates/user_stats.html:88 -#, fuzzy, python-format msgid "%(name)s" -msgstr "le %(date)s" +msgstr "%(name)s" -#: skins/default/templates/badge.html:4 skins/default/templates/badge.html:7 +#: skins/default/templates/badge.html:4 msgid "Badge" msgstr "Badge" -#: skins/default/templates/badge.html:11 -#: skins/default/templates/user_recent.html:13 -#: skins/default/templates/user_stats.html:88 -#, fuzzy, python-format +#: skins/default/templates/badge.html:6 +#, python-format +msgid "Badge \"%(name)s\"" +msgstr "Badge \"%(name)s\"" + +#: skins/default/templates/badge.html:8 +#: skins/default/templates/user_profile/user_recent.html:16 +#: skins/default/templates/user_profile/user_stats.html:106 +#, python-format msgid "%(description)s" -msgstr "Abonnements aux emails" +msgstr "%(description)s" -#: skins/default/templates/badge.html:16 +#: skins/default/templates/badge.html:13 msgid "user received this badge:" msgid_plural "users received this badge:" msgstr[0] "l'utilisateur a reçu ces badges:" @@ -3174,109 +3306,85 @@ msgstr[1] "les utilisateurs ont reçu ces badges:" msgid "Badges summary" msgstr "Résumé badges" -#: skins/default/templates/badges.html:6 +#: skins/default/templates/badges.html:5 msgid "Badges" msgstr "Badges" -#: skins/default/templates/badges.html:10 +#: skins/default/templates/badges.html:7 msgid "Community gives you awards for your questions, answers and votes." msgstr "" "La communauté récompense vos questions, vos réponses et vos votes en vous " "distribuant des badges." -#: skins/default/templates/badges.html:11 +#: skins/default/templates/badges.html:8 #, python-format msgid "" "Below is the list of available badges and number \n" -" of times each type of badge has been awarded. Give us feedback at " +"of times each type of badge has been awarded. Give us feedback at " "%(feedback_faq_url)s.\n" -" " msgstr "" "Ci-dessous figure la liste des badges disponibles et le nombre " -"d'utilisateurs ayant reçu ces badges en récompense. <strong>Or</strong>, " -"<strong>Argent</strong> et <strong>Bronze</strong>.\n" -"\n" -"Vous pouvez nous dire ce que vous en pensez sur <a " -"href='%(feedback_faq_url)s'>cette page</a></strong>." +"de vois qu'ils ont été attribués. Vous pouvez nous dire ce que vous en pensez sur " +"%(feedback_faq_url)s.\n" -#: skins/default/templates/badges.html:39 +#: skins/default/templates/badges.html:35 msgid "Community badges" msgstr "Badges de la communauté" -#: skins/default/templates/badges.html:42 +#: skins/default/templates/badges.html:37 msgid "gold badge: the highest honor and is very rare" msgstr "" -#: skins/default/templates/badges.html:45 +#: skins/default/templates/badges.html:40 msgid "gold badge description" msgstr "Badge or - blah blah" -#: skins/default/templates/badges.html:50 +#: skins/default/templates/badges.html:45 msgid "" "silver badge: occasionally awarded for the very high quality contributions" msgstr "" -#: skins/default/templates/badges.html:54 +#: skins/default/templates/badges.html:49 msgid "silver badge description" msgstr "Badge argent - blah blah" -#: skins/default/templates/badges.html:57 +#: skins/default/templates/badges.html:52 msgid "bronze badge: often given as a special honor" msgstr "Badge bronze - blah blah" -#: skins/default/templates/badges.html:61 +#: skins/default/templates/badges.html:56 msgid "bronze badge description" msgstr "Badge bronze - blah blah" -#: skins/default/templates/close.html:3 skins/default/templates/close.html:6 +#: skins/default/templates/close.html:3 skins/default/templates/close.html:5 msgid "Close question" msgstr "Question close" -#: skins/default/templates/close.html:9 +#: skins/default/templates/close.html:6 msgid "Close the question" msgstr "Clore la question" -#: skins/default/templates/close.html:14 +#: skins/default/templates/close.html:11 msgid "Reasons" msgstr "Raisons" -#: skins/default/templates/close.html:18 +#: skins/default/templates/close.html:15 msgid "OK to close" msgstr "OK pour clore" -#: skins/default/templates/editor_data.html:5 -#, fuzzy, python-format -msgid "each tag must be shorter that %(max_chars)s character" -msgid_plural "each tag must be shorter than %(max_chars)s characters" -msgstr[0] "Chaque mot-clé doit comporter moins de %(max_chars)d caractère" -msgstr[1] "Chaque mot-clé doit comporter moins de %(max_chars)d caractères" - -#: skins/default/templates/editor_data.html:7 -#, fuzzy, python-format -msgid "please use %(tag_count)s tag" -msgid_plural "please use %(tag_count)s tags or less" -msgstr[0] "Veuillez utiliser %(tag_count)d mot-clé, ou moins" -msgstr[1] "Veuillez utiliser %(tag_count)d mots-clés, ou moins" - -#: skins/default/templates/editor_data.html:8 -#, fuzzy, python-format -msgid "" -"please use up to %(tag_count)s tags, less than %(max_chars)s characters each" -msgstr "jusqu'à 5 tags, faisant chacun moins de 20 caractères" - -#: skins/default/templates/faq.html:3 skins/default/templates/faq.html.py:6 +#: skins/default/templates/faq.html:3 skins/default/templates/faq.html.py:5 msgid "FAQ" msgstr "" -#: skins/default/templates/faq.html:6 +#: skins/default/templates/faq.html:5 msgid "Frequently Asked Questions " msgstr "Questions fréquemment posées" -#: skins/default/templates/faq.html:11 +#: skins/default/templates/faq.html:6 msgid "What kinds of questions can I ask here?" msgstr "Quel genre de questions puis-je poser ici ?" -#: skins/default/templates/faq.html:12 +#: skins/default/templates/faq.html:7 msgid "" "Most importanly - questions should be <strong>relevant</strong> to this " "community." @@ -3284,7 +3392,7 @@ msgstr "" "Surtout, les questions doivent être <strong>pertinentes</strong> et " "<strong>significatives</strong> pour cette communauté." -#: skins/default/templates/faq.html:13 +#: skins/default/templates/faq.html:8 msgid "" "Before asking the question - please make sure to use search to see whether " "your question has alredy been answered." @@ -3292,11 +3400,11 @@ msgstr "" "Avant de poser une question, merci d'utiliser notre moteur de recherche afin " "de vérifier qu'elle n'a pas déjà été posée par quelqu'un d'autre" -#: skins/default/templates/faq.html:15 +#: skins/default/templates/faq.html:10 msgid "What questions should I avoid asking?" msgstr "Quelles questions dois-je éviter de poser ?" -#: skins/default/templates/faq.html:16 +#: skins/default/templates/faq.html:11 msgid "" "Please avoid asking questions that are not relevant to this community, too " "subjective and argumentative." @@ -3304,11 +3412,11 @@ msgstr "" "Evitez de poser des questions qui ne sont pas pertinentes pour cette " "communauté, ou quisont trop subjectives ou polémiques. " -#: skins/default/templates/faq.html:20 +#: skins/default/templates/faq.html:13 msgid "What should I avoid in my answers?" msgstr "Que dois-je éviter dans mes réponses ?" -#: skins/default/templates/faq.html:21 +#: skins/default/templates/faq.html:14 msgid "" "is a Q&A site, not a discussion group. Therefore - please avoid having " "discussions in your answers, comment facility allows some space for brief " @@ -3319,19 +3427,19 @@ msgstr "" "avez toutefois la possibilité de faire de brèves discussions dans le champ " "COMMENTAIRES." -#: skins/default/templates/faq.html:24 +#: skins/default/templates/faq.html:15 msgid "Who moderates this community?" msgstr "Qui modère cette communauté ?" -#: skins/default/templates/faq.html:25 +#: skins/default/templates/faq.html:16 msgid "The short answer is: <strong>you</strong>." msgstr "Pour faire court : <strong>vous !</strong>" -#: skins/default/templates/faq.html:26 +#: skins/default/templates/faq.html:17 msgid "This website is moderated by the users." msgstr "Ce site est modéré par ses utilisateurs." -#: skins/default/templates/faq.html:27 +#: skins/default/templates/faq.html:18 msgid "" "The reputation system allows users earn the authorization to perform a " "variety of moderation tasks." @@ -3339,11 +3447,11 @@ msgstr "" "Le système de réputation permet aux utilisateurs d'accumuler des points, qui " "les autorisent ensuite à accéder à divers niveaux et tâches de modération" -#: skins/default/templates/faq.html:32 +#: skins/default/templates/faq.html:20 msgid "How does reputation system work?" msgstr "Comment fonctionne le système de réputation ?" -#: skins/default/templates/faq.html:33 +#: skins/default/templates/faq.html:21 msgid "Rep system summary" msgstr "" "Quand une question ou une réponse est jugée positivement par le reste de la " @@ -3351,7 +3459,7 @@ msgstr "" "\"monter en grade\" et obtenir un pouvoir grandissant en terme de " "possibilités de modérations. " -#: skins/default/templates/faq.html:34 +#: skins/default/templates/faq.html:22 #, python-format msgid "" "For example, if you ask an interesting question or give a helpful answer, " @@ -3374,65 +3482,50 @@ msgstr "" "jour pour chaque question et chaque réponse. Le tableau ci-dessous indique " "combien de points sont requis pour chaque tâche de modération. " -#: skins/default/templates/faq.html:44 -#: skins/default/templates/user_votes.html:10 +#: skins/default/templates/faq.html:32 +#: skins/default/templates/user_profile/user_votes.html:13 msgid "upvote" msgstr "vote positif" -#: skins/default/templates/faq.html:49 +#: skins/default/templates/faq.html:37 msgid "use tags" msgstr "utiliser les mots-clés (tags)" -#: skins/default/templates/faq.html:54 +#: skins/default/templates/faq.html:42 msgid "add comments" msgstr "ajouter des commentaires" -#: skins/default/templates/faq.html:58 -#: skins/default/templates/user_votes.html:12 +#: skins/default/templates/faq.html:46 +#: skins/default/templates/user_profile/user_votes.html:15 msgid "downvote" msgstr "vote négatif" -#: skins/default/templates/faq.html:61 +#: skins/default/templates/faq.html:49 msgid "open and close own questions" msgstr "ouvrir ou fermer ses propres questions" -#: skins/default/templates/faq.html:65 +#: skins/default/templates/faq.html:53 msgid "retag other's questions" msgstr "" "requalifier les questions d'autres utilisateurs (modifier leurs mots-clés)" -#: skins/default/templates/faq.html:70 +#: skins/default/templates/faq.html:58 msgid "edit community wiki questions" msgstr "Modifier les questions du \"Wiki communautaire\"." -#: skins/default/templates/faq.html:75 -#, fuzzy +#: skins/default/templates/faq.html:63 msgid "\"edit any answer" -msgstr "modifier n'importe quelle réponse" +msgstr "\"modifier n'importe quelle réponse" -#: skins/default/templates/faq.html:79 -#, fuzzy +#: skins/default/templates/faq.html:67 msgid "\"delete any comment" -msgstr "supprimer n'importe quel commentaire" - -#: skins/default/templates/faq.html:86 -msgid "how to validate email title" -msgstr "Comment valider le titre du courriel" - -# FIXME -#: skins/default/templates/faq.html:88 -#, python-format -msgid "" -"how to validate email info with %(send_email_key_url)s %(gravatar_faq_url)s" -msgstr "" -"Informations concernant la procédure de validation d'email avec " -"%(send_email_key_url)s %(gravatar_faq_url)s" +msgstr "\"supprimer n'importe quel commentaire" -#: skins/default/templates/faq.html:93 +#: skins/default/templates/faq.html:70 msgid "what is gravatar" msgstr "Qu'est ce que 'Gravatar' ?" -#: skins/default/templates/faq.html:94 +#: skins/default/templates/faq.html:71 msgid "gravatar faq info" msgstr "" "Gravatar signifie (globally recognized avatar, en français avatar universel)." @@ -3451,37 +3544,33 @@ msgstr "" "quelques minutes quand même. 6. Vous pouvez créer autant de gravatars que " "vous avez d’adresses e-mail." -#: skins/default/templates/faq.html:97 +#: skins/default/templates/faq.html:72 msgid "To register, do I need to create new password?" msgstr "Ais-je besoin de créer un nouveau mot de passe pour m'inscrire ?" -#: skins/default/templates/faq.html:98 -#, fuzzy +#: skins/default/templates/faq.html:73 msgid "" "No, you don't have to. You can login through any service that supports " "OpenID, e.g. Google, Yahoo, AOL, etc.\"" msgstr "" "Non. Ce n'est pas obligatoire. Vous pouvez vous connecter avec n'importe " -"quel compte compatible 'OpenID'. Vous pouvez par exemple vous connectez avez " -"votre compte Google, Yahoo, AOL, Facebook,... si vous êtes déjà inscrit " -"auprès de l'un de ces sites." +"quel service compatible OpenID, ex: Google, Yahoo, AOL, etc..\"" -#: skins/default/templates/faq.html:99 -#, fuzzy +#: skins/default/templates/faq.html:74 msgid "\"Login now!\"" -msgstr "Je me connecte immédiatement !" +msgstr "\"Je me connecte immédiatement !\"" -#: skins/default/templates/faq.html:103 +#: skins/default/templates/faq.html:76 msgid "Why other people can edit my questions/answers?" msgstr "" "Pourquoi les autres utilisateurs peuvent-ils modifier mes questions ou mes " "réponses ?" -#: skins/default/templates/faq.html:104 +#: skins/default/templates/faq.html:77 msgid "Goal of this site is..." msgstr "L'objectif de ce site est simple :" -#: skins/default/templates/faq.html:104 +#: skins/default/templates/faq.html:77 msgid "" "So questions and answers can be edited like wiki pages by experienced users " "of this site and this improves the overall quality of the knowledge base " @@ -3492,15 +3581,15 @@ msgstr "" "globale de la base de connaissances qui est peu à peu constituée par notre " "communauté." -#: skins/default/templates/faq.html:105 +#: skins/default/templates/faq.html:78 msgid "If this approach is not for you, we respect your choice." msgstr "Si cette approche ne vous convient pas, nous respectons votre choix." -#: skins/default/templates/faq.html:109 +#: skins/default/templates/faq.html:80 msgid "Still have questions?" msgstr "D'autres questions ?" -#: skins/default/templates/faq.html:110 +#: skins/default/templates/faq.html:81 #, python-format msgid "" "Please ask your question at %(ask_question_url)s, help make our community " @@ -3510,99 +3599,83 @@ msgstr "" "nous aiderez ainsi à étoffer notre base de connaissances, dans l'intérêt de " "toute la communauté." -#: skins/default/templates/faq.html:112 skins/default/templates/header.html:26 -msgid "questions" -msgstr "questions" - -#: skins/default/templates/faq.html:112 -msgid "." -msgstr "." - #: skins/default/templates/feedback.html:3 msgid "Feedback" msgstr "Remarques" -#: skins/default/templates/feedback.html:6 +#: skins/default/templates/feedback.html:5 msgid "Give us your feedback!" msgstr "Envoyez nous vos remarques !" -#: skins/default/templates/feedback.html:12 -#, python-format +#: skins/default/templates/feedback.html:9 +#, fuzzy, python-format msgid "" "\n" -" <span class='big strong'>Dear %(user_name)s</span>, we look " -"forward to hearing your feedback. \n" -" Please type and send us your message below.\n" -" " +" <span class='big strong'>Dear %(user_name)s</span>, we look forward " +"to hearing your feedback. \n" +" Please type and send us your message below.\n" +" " msgstr "" "\n" "<span class='big strong'>Bonjour %(user_name)s</span>, nous sommes " "impatients de connaître votre avis sur notre module de Questions/Réponses.\n" "Saisissez vos remarques, critiques ou suggestions ci-dessous." -#: skins/default/templates/feedback.html:19 +#: skins/default/templates/feedback.html:16 +#, fuzzy msgid "" "\n" -" <span class='big strong'>Dear visitor</span>, we look forward to " +" <span class='big strong'>Dear visitor</span>, we look forward to " "hearing your feedback.\n" -" Please type and send us your message below.\n" -" " +" Please type and send us your message below.\n" +" " msgstr "" "\n" "<span class='big strong'>Cher visiteur</span>, nous sommes impatients de " "connaître votre avis sur notre module de Questions/Réponses.\n" "Saisissez vos remarques, critiques ou suggestions ci-dessous." -#: skins/default/templates/feedback.html:28 -#, fuzzy +#: skins/default/templates/feedback.html:25 msgid "(please enter a valid email)" -msgstr "Veuillez entrer une adresse email valide" +msgstr "(veuillez entrer une adresse email valide)" -#: skins/default/templates/feedback.html:36 +#: skins/default/templates/feedback.html:33 msgid "(this field is required)" msgstr "(champ obligatoire)" -#: skins/default/templates/feedback.html:44 +#: skins/default/templates/feedback.html:41 msgid "Send Feedback" msgstr "Envoyer" -#: skins/default/templates/footer.html:5 -#: skins/default/templates/blocks/header_meta_links.html:51 -msgid "about" -msgstr "Qui sommes nous ?" - -#: skins/default/templates/footer.html:7 -msgid "privacy policy" -msgstr "Respect de la vie privée" - -#: skins/default/templates/footer.html:16 -msgid "give feedback" -msgstr "Faire une remarque" - -#: skins/default/templates/header.html:15 -msgid "back to home page" -msgstr "Retour à l'accueil" - -#: skins/default/templates/header.html:16 -#, fuzzy, python-format -msgid "%(site)s logo" -msgstr "Logo du site de Questions/Réponses" +#: skins/default/templates/import_data.html:2 +#: skins/default/templates/import_data.html:4 +msgid "Import StackExchange data" +msgstr "" -#: skins/default/templates/header.html:36 -msgid "users" -msgstr "Communauté" +#: skins/default/templates/import_data.html:13 +msgid "" +"<em>Warning:</em> if your database is not empty, please back it up\n" +" before attempting this operation." +msgstr "" -#: skins/default/templates/header.html:41 -msgid "badges" -msgstr "Réputation" +#: skins/default/templates/import_data.html:16 +msgid "" +"Upload your stackexchange dump .zip file, then wait until\n" +" the data import completes. This process may take several minutes.\n" +" Please note that feedback will be printed in plain text.\n" +" " +msgstr "" -#: skins/default/templates/header.html:46 -msgid "ask a question" -msgstr "Poser une question" +#: skins/default/templates/import_data.html:25 +msgid "Import data" +msgstr "" -#: skins/default/templates/input_bar.html:32 -msgid "search" -msgstr "Chercher" +#: skins/default/templates/import_data.html:27 +msgid "" +"In the case you experience any difficulties in using this import tool,\n" +" please try importing your data via command line: <code>python manage." +"py load_stackexchange path/to/your-data.zip</code>" +msgstr "" #: skins/default/templates/instant_notification.html:1 #, python-format @@ -3610,28 +3683,26 @@ msgid "<p>Dear %(receiving_user_name)s,</p>" msgstr "<p>Bonjour %(receiving_user_name)s,</p>" #: skins/default/templates/instant_notification.html:3 -#, fuzzy, python-format +#, python-format msgid "" "\n" "<p>%(update_author_name)s left a <a href=\"%(post_url)s\">new comment</a>:</" "p>\n" msgstr "" "\n" -"<p>%(update_author_name)s a laissé un <a href=\"%%(post_url)s\">nouveau " -"commentaire</a>\n" -"pour la question \"%(origin_post_title)s\"</p>\n" +"<p>%(update_author_name)s a laissé <a href=\"%(post_url)s\">un nouveau commentaire</a>:</" +"p>\n" #: skins/default/templates/instant_notification.html:8 -#, fuzzy, python-format +#, python-format msgid "" "\n" "<p>%(update_author_name)s left a <a href=\"%(post_url)s\">new comment</a></" "p>\n" msgstr "" "\n" -"<p>%(update_author_name)s a laissé un <a href=\"%%(post_url)s\">nouveau " -"commentaire</a>\n" -"pour la question \"%(origin_post_title)s\"</p>\n" +"<p>%(update_author_name)s a laissé <a href=\"%(post_url)s\">un nouveau commentaire</a></" +"p>\n" #: skins/default/templates/instant_notification.html:13 #, python-format @@ -3699,143 +3770,141 @@ msgid "<p>Sincerely,<br/>Forum Administrator</p>" msgstr "" "<p>Salutations,<br/>L'administarteur du forum de Questions/Réponses</p>" -#: skins/default/templates/logout.html:3 skins/default/templates/logout.html:6 +#: skins/default/templates/logout.html:3 msgid "Logout" msgstr "Déconnexion" -#: skins/default/templates/logout.html:9 -msgid "" -"As a registered user you can login with your OpenID, log out of the site or " -"permanently remove your account." +#: skins/default/templates/logout.html:5 +msgid "You have successfully logged out" msgstr "" -"Etant un utilisateur enregistré, vous pouvez vous connecter avec votre " -"OpenID, vous déconnecter du site, ou supprimer définitivement votre compte." -#: skins/default/templates/logout.html:10 -msgid "Logout now" -msgstr "Se déconnecter" +#: skins/default/templates/logout.html:6 +msgid "" +"However, you still may be logged in to your OpenID provider. Please logout " +"of your provider if you wish to do so." +msgstr "" #: skins/default/templates/macros.html:26 msgid "karma:" msgstr "" #: skins/default/templates/macros.html:30 -#, fuzzy msgid "badges:" msgstr "badges :" -#: skins/default/templates/macros.html:52 -#: skins/default/templates/macros.html:53 +#: skins/default/templates/macros.html:82 +#: skins/default/templates/macros.html:83 msgid "previous" msgstr "page précédente" -#: skins/default/templates/macros.html:64 +#: skins/default/templates/macros.html:94 msgid "current page" msgstr "page actuelle" -#: skins/default/templates/macros.html:66 -#: skins/default/templates/macros.html:73 +#: skins/default/templates/macros.html:96 +#: skins/default/templates/macros.html:103 #, python-format msgid "page number %(num)s" msgstr "Page %(num)s" -#: skins/default/templates/macros.html:77 +#: skins/default/templates/macros.html:107 msgid "next page" msgstr "page suivante" -#: skins/default/templates/macros.html:88 +#: skins/default/templates/macros.html:118 msgid "posts per page" msgstr "messages par page" -#: skins/default/templates/macros.html:119 templatetags/extra_tags.py:44 +#: skins/default/templates/macros.html:150 templatetags/extra_tags.py:43 #, python-format msgid "%(username)s gravatar image" msgstr "Image Gravatar de %(username)s" -#: skins/default/templates/macros.html:142 +#: skins/default/templates/macros.html:159 +#, python-format +msgid "%(username)s's website is %(url)s" +msgstr "Le site web de %(username)s est \"%(url)s" + +#: skins/default/templates/macros.html:171 +msgid "anonymous user" +msgstr "anonyme" + +#: skins/default/templates/macros.html:199 msgid "this post is marked as community wiki" msgstr "" -#: skins/default/templates/macros.html:145 +#: skins/default/templates/macros.html:202 #, python-format msgid "" "This post is a wiki.\n" " Anyone with karma >%(wiki_min_rep)s is welcome to improve it." msgstr "" -#: skins/default/templates/macros.html:151 +#: skins/default/templates/macros.html:208 msgid "asked" msgstr "posée" -#: skins/default/templates/macros.html:153 +#: skins/default/templates/macros.html:210 msgid "answered" msgstr "répondue" -#: skins/default/templates/macros.html:155 +#: skins/default/templates/macros.html:212 msgid "posted" msgstr "postée" -#: skins/default/templates/macros.html:185 +#: skins/default/templates/macros.html:242 msgid "updated" msgstr "actualisée" -#: skins/default/templates/macros.html:210 -#: skins/default/templates/unused/questions_ajax.html:23 views/readers.py:238 +#: skins/default/templates/macros.html:309 +#, python-format +msgid "see questions tagged '%(tag)s'" +msgstr "Voir les questions marquées par '%(tag)s'." + +#: skins/default/templates/macros.html:352 views/readers.py:219 msgid "vote" msgid_plural "votes" msgstr[0] "vote" msgstr[1] "votes" -#: skins/default/templates/macros.html:227 -#: skins/default/templates/unused/questions_ajax.html:43 views/readers.py:241 +#: skins/default/templates/macros.html:369 views/readers.py:222 msgid "answer" msgid_plural "answers" msgstr[0] "réponse" msgstr[1] "réponses" -#: skins/default/templates/macros.html:239 -#: skins/default/templates/unused/questions_ajax.html:55 views/readers.py:244 +#: skins/default/templates/macros.html:380 views/readers.py:225 msgid "view" msgid_plural "views" msgstr[0] "vue" msgstr[1] "vues" -#: skins/default/templates/macros.html:251 -#: skins/default/templates/question.html:88 -#: skins/default/templates/tags.html:38 -#: skins/default/templates/unused/question_list.html:64 -#: skins/default/templates/unused/question_summary_list_roll.html:52 -#: skins/default/templates/unused/questions_ajax.html:68 -#, python-format -msgid "see questions tagged '%(tag)s'" -msgstr "Voir les questions marquées par '%(tag)s'." - -#: skins/default/templates/macros.html:267 -#: skins/default/templates/question.html:94 -#: skins/default/templates/question.html:250 +#: skins/default/templates/macros.html:409 +#: skins/default/templates/question.html:93 +#: skins/default/templates/question.html:249 #: skins/default/templates/revisions.html:37 msgid "edit" msgstr "modifier" -#: skins/default/templates/macros.html:272 +#: skins/default/templates/macros.html:413 msgid "delete this comment" msgstr "Supprimer ce commentaire" -#: skins/default/templates/macros.html:290 -#: skins/default/templates/macros.html:298 -#: skins/default/templates/question.html:432 +#: skins/default/templates/macros.html:431 +#: skins/default/templates/macros.html:439 +#: skins/default/templates/question.html:439 msgid "add comment" msgstr "Ajouter un commentaire" -#: skins/default/templates/macros.html:291 +#: skins/default/templates/macros.html:432 #, python-format msgid "see <strong>%(counter)s</strong> more" msgid_plural "see <strong>%(counter)s</strong> more" msgstr[0] "Voir <strong>1</strong> de plus" msgstr[1] "Voir <strong>%(counter)s</strong> de plus" -#: skins/default/templates/macros.html:293 -#, fuzzy, python-format +#: skins/default/templates/macros.html:434 +#, python-format msgid "see <strong>%(counter)s</strong> more comment" msgid_plural "" "see <strong>%(counter)s</strong> more comments\n" @@ -3843,99 +3912,138 @@ msgid_plural "" msgstr[0] "Voir <strong>1</strong> commentaire de plus" msgstr[1] "Voir <strong>%(counter)s</strong> commentaires de plus" -#: skins/default/templates/macros.html:421 +#: skins/default/templates/macros.html:569 msgid "(required)" msgstr "(obligatoire)" # FIXME -#: skins/default/templates/macros.html:442 +#: skins/default/templates/macros.html:590 msgid "Toggle the real time Markdown editor preview" msgstr "Basculer vers l'aperçu avec éditeur temps-réel" +#: skins/default/templates/macros.html:602 +#, python-format +msgid "responses for %(username)s" +msgstr "réponses pour %(username)s" + +#: skins/default/templates/macros.html:605 +#, python-format +msgid "you have a new response" +msgid_plural "you have %(response_count)s new responses" +msgstr[0] "vous avez une nouvelle réponse" +msgstr[1] "vous avez %(response_count)s nouvelles réponses" + +#: skins/default/templates/macros.html:608 +msgid "no new responses yet" +msgstr "pas de nouvelles réponses pour l'instant" + +#: skins/default/templates/macros.html:623 +#: skins/default/templates/macros.html:624 +#, python-format +msgid "%(new)s new flagged posts and %(seen)s previous" +msgstr "" + +# FIXME +#: skins/default/templates/macros.html:626 +#: skins/default/templates/macros.html:627 +#, python-format +msgid "%(new)s new flagged posts" +msgstr "%(new)s nouveaux messages étiquetés" + +# FIXME +#: skins/default/templates/macros.html:632 +#: skins/default/templates/macros.html:633 +#, python-format +msgid "%(seen)s flagged posts" +msgstr "%(seen)s messages taggés" + +#: skins/default/templates/main_page.html:11 +msgid "Questions" +msgstr "Questions" + #: skins/default/templates/privacy.html:3 -#: skins/default/templates/privacy.html:6 +#: skins/default/templates/privacy.html:5 msgid "Privacy policy" msgstr "Politique en matière de respect de la vie privée" -#: skins/default/templates/question.html:30 -#: skins/default/templates/question.html:31 -#: skins/default/templates/question.html:46 -#: skins/default/templates/question.html:48 +#: skins/default/templates/question.html:27 +#: skins/default/templates/question.html:28 +#: skins/default/templates/question.html:43 +#: skins/default/templates/question.html:45 msgid "i like this post (click again to cancel)" msgstr "J'aime ce message (cliquez à nouveau pour annuler)" -#: skins/default/templates/question.html:33 -#: skins/default/templates/question.html:50 -#: skins/default/templates/question.html:201 +#: skins/default/templates/question.html:30 +#: skins/default/templates/question.html:47 +#: skins/default/templates/question.html:200 msgid "current number of votes" msgstr "Nombre de votes actuel" -#: skins/default/templates/question.html:42 -#: skins/default/templates/question.html:43 -#: skins/default/templates/question.html:55 -#: skins/default/templates/question.html:56 +#: skins/default/templates/question.html:39 +#: skins/default/templates/question.html:40 +#: skins/default/templates/question.html:52 +#: skins/default/templates/question.html:53 msgid "i dont like this post (click again to cancel)" msgstr "Je n'aime pas ce message (cliquez à nouveau pour annuler)" -#: skins/default/templates/question.html:60 -#: skins/default/templates/question.html:61 +#: skins/default/templates/question.html:57 +#: skins/default/templates/question.html:58 msgid "mark this question as favorite (click again to cancel)" msgstr "" "Ajouter cette question à mes 'favoris' (cliquez à nouveau pour annuler)" -#: skins/default/templates/question.html:67 -#: skins/default/templates/question.html:68 +#: skins/default/templates/question.html:64 +#: skins/default/templates/question.html:65 msgid "remove favorite mark from this question (click again to restore mark)" msgstr "" "Retirer cette question de mes 'favoris' (cliquez à nouveau pour annuler)" -#: skins/default/templates/question.html:74 -#, fuzzy +#: skins/default/templates/question.html:71 msgid "Share this question on twitter" -msgstr "Réouvrir cette question" +msgstr "Partager cette question sur twitter" -#: skins/default/templates/question.html:75 +#: skins/default/templates/question.html:72 msgid "Share this question on facebook" -msgstr "" +msgstr "Partager cette question sur facebook" # FIXME -#: skins/default/templates/question.html:97 +#: skins/default/templates/question.html:96 msgid "retag" msgstr "requalifier" -#: skins/default/templates/question.html:104 +#: skins/default/templates/question.html:103 msgid "reopen" msgstr "réouvrir" -#: skins/default/templates/question.html:108 +#: skins/default/templates/question.html:107 msgid "close" msgstr "fermer" -#: skins/default/templates/question.html:113 -#: skins/default/templates/question.html:254 +#: skins/default/templates/question.html:112 +#: skins/default/templates/question.html:253 msgid "" "report as offensive (i.e containing spam, advertising, malicious text, etc.)" msgstr "" "Signaler un abus (par exemple : spam, publicité déguisée, contenus illégaux " "ou inappropriés, propos déplacés)" -#: skins/default/templates/question.html:114 -#: skins/default/templates/question.html:255 +#: skins/default/templates/question.html:113 +#: skins/default/templates/question.html:254 msgid "flag offensive" msgstr "Marquer comme 'contenu abusif'" -#: skins/default/templates/question.html:121 -#: skins/default/templates/question.html:265 +#: skins/default/templates/question.html:120 +#: skins/default/templates/question.html:264 msgid "undelete" msgstr "restaurer" -#: skins/default/templates/question.html:121 -#: skins/default/templates/question.html:265 -#: skins/default/templates/authopenid/signin.html:175 +#: skins/default/templates/question.html:120 +#: skins/default/templates/question.html:264 +#: skins/default/templates/authopenid/signin.html:149 msgid "delete" msgstr "Supprimer" -#: skins/default/templates/question.html:159 +#: skins/default/templates/question.html:157 #, python-format msgid "" "The question has been closed for the following reason \"%(close_reason)s\" by" @@ -3943,21 +4051,21 @@ msgstr "" "Cette question a été close pour la raison suivante : : \"%(close_reason)s\" " "par" -#: skins/default/templates/question.html:161 +#: skins/default/templates/question.html:159 #, python-format msgid "close date %(closed_at)s" msgstr "Date de cloture : %(closed_at)s" -#: skins/default/templates/question.html:169 -#, fuzzy, python-format +#: skins/default/templates/question.html:165 +#, python-format msgid "" "\n" -" %(counter)s Answer:\n" -" " +" %(counter)s Answer:\n" +" " msgid_plural "" "\n" -" %(counter)s Answers:\n" -" " +" %(counter)s Answers:\n" +" " msgstr[0] "" "\n" " %(counter)s réponse :" @@ -3965,80 +4073,78 @@ msgstr[1] "" "\n" " %(counter)s réponses :" -#: skins/default/templates/question.html:177 +#: skins/default/templates/question.html:173 msgid "oldest answers will be shown first" msgstr "Les réponses les plus anciennes seront affichées en premier" -#: skins/default/templates/question.html:177 +#: skins/default/templates/question.html:174 msgid "oldest answers" msgstr "réponses les plus anciennes" -#: skins/default/templates/question.html:179 +#: skins/default/templates/question.html:176 msgid "newest answers will be shown first" msgstr "Les réponses les plus récentes seront affichées en premier" -#: skins/default/templates/question.html:179 +#: skins/default/templates/question.html:177 msgid "newest answers" msgstr "Réponses les plus récentes" -#: skins/default/templates/question.html:181 +#: skins/default/templates/question.html:179 msgid "most voted answers will be shown first" msgstr "Les réponses ayant obtenu le plus de votes seront affichées en premier" -#: skins/default/templates/question.html:181 +#: skins/default/templates/question.html:180 msgid "popular answers" msgstr "réponses populaires" +#: skins/default/templates/question.html:198 #: skins/default/templates/question.html:199 -#: skins/default/templates/question.html:200 msgid "i like this answer (click again to cancel)" msgstr "J'aime cette réponse (cliquez à nouveau pour annuler)" +#: skins/default/templates/question.html:209 #: skins/default/templates/question.html:210 -#: skins/default/templates/question.html:211 msgid "i dont like this answer (click again to cancel)" msgstr "Je n'aime pas cette réponse (cliquez à nouveau pour annuler)" +#: skins/default/templates/question.html:218 #: skins/default/templates/question.html:219 -#: skins/default/templates/question.html:220 msgid "mark this answer as favorite (click again to undo)" msgstr "marquer cette réponse comme favorite (cliquez à nouveau pour annuler)" +#: skins/default/templates/question.html:228 #: skins/default/templates/question.html:229 -#: skins/default/templates/question.html:230 #, python-format msgid "%(question_author)s has selected this answer as correct" msgstr "%(question_author)s a choisi cette réponse comme correcte" -#: skins/default/templates/question.html:245 +#: skins/default/templates/question.html:244 msgid "answer permanent link" msgstr "lien permanent vers une réponse" -#: skins/default/templates/question.html:246 +#: skins/default/templates/question.html:245 msgid "permanent link" msgstr "lien permanent" -#: skins/default/templates/question.html:315 -#: skins/default/templates/question.html:317 +#: skins/default/templates/question.html:314 +#: skins/default/templates/question.html:316 msgid "Notify me once a day when there are any new answers" msgstr "" "<strong>Me notifier les nouvelles réponses par email</strong> une fois par " "jour" -#: skins/default/templates/question.html:319 +#: skins/default/templates/question.html:318 msgid "Notify me weekly when there are any new answers" msgstr "" "<strong>Me notifier les nouvelles réponses par email</strong> une fois par " "semaine" -#: skins/default/templates/question.html:321 +#: skins/default/templates/question.html:320 #, fuzzy msgid "Notify me immediately when there are any new answers" -msgstr "" -"<strong>Me notifier les nouvelles réponses par email</strong> une fois par " -"semaine" +msgstr "Me notifier immédiatement dès qu'il y a des nouvelles réponses" -#: skins/default/templates/question.html:324 +#: skins/default/templates/question.html:323 #, python-format msgid "" "You can always adjust frequency of email updates from your %(profile_url)s" @@ -4047,320 +4153,134 @@ msgstr "" "<strong><a href='%(profile_url)s?sort=email_subscriptions'>votre profil</a></" "strong> ...)" -#: skins/default/templates/question.html:329 +#: skins/default/templates/question.html:328 msgid "once you sign in you will be able to subscribe for any updates here" msgstr "" "vous pourrez vous abonner aux mails de notifications de mise à jour dès que " "vous vous serez connecté" -#: skins/default/templates/question.html:339 +#: skins/default/templates/question.html:338 msgid "Your answer" msgstr "Votre réponse" -#: skins/default/templates/question.html:341 +#: skins/default/templates/question.html:340 msgid "Be the first one to answer this question!" msgstr "Soyez le premier à répondre à cette quesion !" -#: skins/default/templates/question.html:347 +#: skins/default/templates/question.html:346 msgid "you can answer anonymously and then login" msgstr "" "<span class='strong big'>Vous pouvez commencer par répondre anonymement à " "cette question</span>, puis vous connecter ensuite " -#: skins/default/templates/question.html:351 +#: skins/default/templates/question.html:350 msgid "answer your own question only to give an answer" msgstr "" "vous pouvez répondre à vos propres questions uniquement pour donner une " "réponse" -#: skins/default/templates/question.html:353 +#: skins/default/templates/question.html:352 msgid "please only give an answer, no discussions" msgstr "" "Merci de vous contenter de donner une réponse; n'instaurez pas une discussion" -#: skins/default/templates/question.html:360 +#: skins/default/templates/question.html:359 msgid "Login/Signup to Post Your Answer" msgstr "Connectez vous (ou Inscrivez vous) pour poster votre réponse" -#: skins/default/templates/question.html:363 +#: skins/default/templates/question.html:362 msgid "Answer Your Own Question" msgstr "Répondre à votre propre question" -#: skins/default/templates/question.html:365 +#: skins/default/templates/question.html:364 msgid "Answer the question" msgstr "Répondre à cette question" -#: skins/default/templates/question.html:379 +#: skins/default/templates/question.html:380 msgid "Question tags" msgstr "Tags de la question" -#: skins/default/templates/question.html:384 -#: skins/default/templates/questions.html:221 -#: skins/default/templates/tag_selector.html:9 -#: skins/default/templates/tag_selector.html:26 -#, python-format -msgid "see questions tagged '%(tag_name)s'" -msgstr "Voir les questions marquées par '%(tag_name)s' " - -#: skins/default/templates/question.html:390 +#: skins/default/templates/question.html:397 msgid "question asked" msgstr "question posée" -#: skins/default/templates/question.html:393 +#: skins/default/templates/question.html:400 msgid "question was seen" msgstr "la question a été vue:" -#: skins/default/templates/question.html:393 +#: skins/default/templates/question.html:400 msgid "times" msgstr "fois" -#: skins/default/templates/question.html:396 +#: skins/default/templates/question.html:403 msgid "last updated" msgstr "dernière mise à jour" -#: skins/default/templates/question.html:403 +#: skins/default/templates/question.html:410 msgid "Related questions" msgstr "Questions liées" #: skins/default/templates/question_edit.html:4 -#: skins/default/templates/question_edit.html:10 +#: skins/default/templates/question_edit.html:9 msgid "Edit question" msgstr "Modifier une question" -#: skins/default/templates/question_edit_tips.html:3 -msgid "question tips" -msgstr "conseils pour poser une question" - -#: skins/default/templates/question_edit_tips.html:6 -msgid "please ask a relevant question" -msgstr "Merci de poser une question pertinente." - -#: skins/default/templates/question_edit_tips.html:9 -msgid "please try provide enough details" -msgstr "Merci de fournir suffisamment de détails." - #: skins/default/templates/question_retag.html:3 -#: skins/default/templates/question_retag.html:6 +#: skins/default/templates/question_retag.html:5 msgid "Change tags" msgstr "Modifier les tags" -#: skins/default/templates/question_retag.html:25 +#: skins/default/templates/question_retag.html:22 msgid "Retag" msgstr "Requalifier" -#: skins/default/templates/question_retag.html:34 +#: skins/default/templates/question_retag.html:30 msgid "Why use and modify tags?" msgstr "Pourquoi utiliser et modifier les tags ?" -#: skins/default/templates/question_retag.html:36 +#: skins/default/templates/question_retag.html:32 msgid "Tags help to keep the content better organized and searchable" msgstr "" -#: skins/default/templates/question_retag.html:38 +#: skins/default/templates/question_retag.html:34 msgid "tag editors receive special awards from the community" msgstr "" "Les éditeurs de tags reçoivent des récompenses de la base de la communauté" -#: skins/default/templates/question_retag.html:79 +#: skins/default/templates/question_retag.html:61 msgid "up to 5 tags, less than 20 characters each" msgstr "jusqu'à 5 tags, faisant chacun moins de 20 caractères" -#: skins/default/templates/questions.html:4 -msgid "Questions" -msgstr "Questions" - -# ##FIXME "In: [All questions] [Opened questions]" -# ##FIXME "Dans: [toutes les questions] [questions ouvertes]" -# ##FIXME "Questions: [toutes] [ouvertes]" POUR GAGNER DE LA PLACE !!! -#: skins/default/templates/questions.html:9 -msgid "In:" -msgstr "Questions:" - -#: skins/default/templates/questions.html:18 -msgid "see unanswered questions" -msgstr "Voir les questions sans réponses" - -#: skins/default/templates/questions.html:24 -msgid "see your favorite questions" -msgstr "Voir vos questions favorites" - -#: skins/default/templates/questions.html:29 -msgid "Sort by:" -msgstr "Trier par:" - -#: skins/default/templates/questions.html:96 -#: skins/default/templates/questions.html:99 -msgid "subscribe to the questions feed" -msgstr "S'abonner au flux RSS des questions" - -#: skins/default/templates/questions.html:100 -msgid "rss feed" -msgstr "flux RSS" - -#: skins/default/templates/questions.html:104 -#, fuzzy, python-format -msgid "" -"\n" -" %(q_num)s question\n" -" " -msgid_plural "" -"\n" -" %(q_num)s questions\n" -" " -msgstr[0] "" -"\n" -" Nous avons trouvé %(q_num)s question" -msgstr[1] "" -"\n" -" Nous avons trouvé %(q_num)s questions" - -#: skins/default/templates/questions.html:110 views/readers.py:158 -#, python-format -msgid "%(q_num)s question" -msgid_plural "%(q_num)s questions" -msgstr[0] "%(q_num)s question" -msgstr[1] "%(q_num)s questions" - -#: skins/default/templates/questions.html:113 -#, python-format -msgid "with %(author_name)s's contributions" -msgstr "avec la contribution de %(author_name)s" - -#: skins/default/templates/questions.html:116 -msgid "tagged" -msgstr "marquée avec des mots-clés" - -#: skins/default/templates/questions.html:121 -msgid "Search tips:" -msgstr "Conseils pour la recherche:" - -#: skins/default/templates/questions.html:124 -msgid "reset author" -msgstr "Réinitialiser l'auteur" - -#: skins/default/templates/questions.html:126 -#: skins/default/templates/questions.html:129 -#: skins/default/templates/questions.html:167 -#: skins/default/templates/questions.html:170 -#, fuzzy -msgid " or " -msgstr "ou" - -#: skins/default/templates/questions.html:127 -msgid "reset tags" -msgstr "Réinitialiser les tags" - -#: skins/default/templates/questions.html:130 -#: skins/default/templates/questions.html:133 -msgid "start over" -msgstr "Recommencer" - -# FIXME -#: skins/default/templates/questions.html:135 -msgid " - to expand, or dig in by adding more tags and revising the query." -msgstr "" -" - pour développer ou restreindre en ajoutant plus de tags et en révisant la " -"requête" - -#: skins/default/templates/questions.html:138 -msgid "Search tip:" -msgstr "Conseil pour la recherche:" - -#: skins/default/templates/questions.html:138 -msgid "add tags and a query to focus your search" -msgstr "ajouter des tags et une requête pour affiner votre recherche" - -#: skins/default/templates/questions.html:153 -#: skins/default/templates/unused/questions_ajax.html:79 -msgid "There are no unanswered questions here" -msgstr "Il n'y a aucune question sans réponse" - -#: skins/default/templates/questions.html:156 -#: skins/default/templates/unused/questions_ajax.html:82 -msgid "No favorite questions here. " -msgstr "Aucune question favorite." - -#: skins/default/templates/questions.html:157 -#: skins/default/templates/unused/questions_ajax.html:83 -msgid "Please start (bookmark) some questions when you visit them" -msgstr "Merci de commencer (marquer) quelques questions quand vous les visitez" - -#: skins/default/templates/questions.html:162 -#: skins/default/templates/unused/questions_ajax.html:88 -msgid "You can expand your search by " -msgstr "Vous pouvez élargir votre recherche en" - -#: skins/default/templates/questions.html:165 -#: skins/default/templates/unused/questions_ajax.html:92 -msgid "resetting author" -msgstr "réinitialisant l'auteur" - -#: skins/default/templates/questions.html:168 -#: skins/default/templates/unused/questions_ajax.html:96 -msgid "resetting tags" -msgstr "réinitialisant les mots-clés (\"tags\")" - -#: skins/default/templates/questions.html:171 -#: skins/default/templates/questions.html:174 -#: skins/default/templates/unused/questions_ajax.html:100 -#: skins/default/templates/unused/questions_ajax.html:104 -msgid "starting over" -msgstr "repartant de zéro" - -#: skins/default/templates/questions.html:179 -#: skins/default/templates/unused/questions_ajax.html:109 -msgid "Please always feel free to ask your question!" -msgstr "N'hésitez pas à poser des questions !" - -#: skins/default/templates/questions.html:183 -#: skins/default/templates/unused/questions_ajax.html:113 -msgid "Did not find what you were looking for?" -msgstr "Vous n'avez pas trouvé ce que vous cherchiez ?" - -#: skins/default/templates/questions.html:184 -#: skins/default/templates/unused/questions_ajax.html:114 -msgid "Please, post your question!" -msgstr "Veuillez saisir votre question !" - -#: skins/default/templates/questions.html:199 -msgid "Contributors" -msgstr "Contributeurs" - -#: skins/default/templates/questions.html:216 -msgid "Related tags" -msgstr "Tags associés" - -#: skins/default/templates/reopen.html:3 skins/default/templates/reopen.html:6 +#: skins/default/templates/reopen.html:3 skins/default/templates/reopen.html:5 msgid "Reopen question" msgstr "Réouvrir cette question" -#: skins/default/templates/reopen.html:9 +#: skins/default/templates/reopen.html:6 msgid "Title" msgstr "Titre" -#: skins/default/templates/reopen.html:14 +#: skins/default/templates/reopen.html:11 #, python-format msgid "" "This question has been closed by \n" -" <a href=\"%(closed_by_profile_url)s\">%(closed_by_username)s</a>\n" -" " +" <a href=\"%(closed_by_profile_url)s\">%(closed_by_username)s</a>\n" msgstr "" "Cette question a été cloturée par \n" -" <a href=\"%(closed_by_profile_url)s\">%(closed_by_username)s</a>" +" <a href=\"%(closed_by_profile_url)s\">%(closed_by_username)s</a>\n" -#: skins/default/templates/reopen.html:19 +#: skins/default/templates/reopen.html:16 msgid "Close reason:" msgstr "Motif de cloture :" -#: skins/default/templates/reopen.html:22 +#: skins/default/templates/reopen.html:19 msgid "When:" msgstr "Quand :" -#: skins/default/templates/reopen.html:25 +#: skins/default/templates/reopen.html:22 msgid "Reopen this question?" msgstr "Réouvrir cette question ?" -#: skins/default/templates/reopen.html:29 +#: skins/default/templates/reopen.html:26 msgid "Reopen this question" msgstr "Réouvrir cette question" @@ -4374,37 +4294,24 @@ msgid "click to hide/show revision" msgstr "cliquez pour afficher/masquer la révision" #: skins/default/templates/revisions.html:29 -#, fuzzy, python-format -msgid "revision %(number)s" -msgstr "Numéro de révision du thème" - -#: skins/default/templates/tag_selector.html:3 -msgid "Interesting tags" -msgstr "Tags intéressants" - -#: skins/default/templates/tag_selector.html:13 #, python-format -msgid "remove '%(tag_name)s' from the list of interesting tags" -msgstr "Retirer '%(tag_name)s' de la liste des tags intéressants" - -#: skins/default/templates/tag_selector.html:19 -#: skins/default/templates/tag_selector.html:36 -#: skins/default/templates/user_moderate.html:35 -msgid "Add" -msgstr "Ajouter" +msgid "revision %(number)s" +msgstr "révision %(number)s" -#: skins/default/templates/tag_selector.html:20 -msgid "Ignored tags" -msgstr "Tags ignorés" +#: skins/default/templates/subscribe_for_tags.html:3 +#: skins/default/templates/subscribe_for_tags.html:5 +#, fuzzy +msgid "Subscribe for tags" +msgstr "utiliser les mots-clés (tags)" -#: skins/default/templates/tag_selector.html:30 -#, python-format -msgid "remove '%(tag_name)s' from the list of ignored tags" -msgstr "Retirer '%(tag_name)s' de la liste des tags ignorés" +#: skins/default/templates/subscribe_for_tags.html:6 +#, fuzzy +msgid "Please, subscribe for the following tags:" +msgstr "Cette question a été close pour la raison suivante " -#: skins/default/templates/tag_selector.html:39 -msgid "keep ignored questions hidden" -msgstr "Continuer de masquer les questions ignorées" +#: skins/default/templates/subscribe_for_tags.html:15 +msgid "Subscribe" +msgstr "" #: skins/default/templates/tags.html:4 skins/default/templates/tags.html:8 msgid "Tag list" @@ -4426,7 +4333,7 @@ msgstr "triée par fréquence d'utilisation des tags" msgid "by popularity" msgstr "par popularité" -#: skins/default/templates/tags.html:27 +#: skins/default/templates/tags.html:26 #, python-format msgid "" "All tags matching '<span class=\"darkred\"><strong>%(stag)s</strong></span>'" @@ -4434,363 +4341,19 @@ msgstr "" "Tous les tags vérifiant '<span class=\"darkred\"><strong>%(stag)s</strong></" "span>' " -#: skins/default/templates/tags.html:30 +#: skins/default/templates/tags.html:29 msgid "Nothing found" msgstr "Aucun résultat" -# FIXME ou bien "Annulation des emails de notification de mises à jour" ??? -#: skins/default/templates/user.html:14 -#, python-format -msgid "%(username)s's profile" -msgstr "Profil de l'utilisateur %(username)s" - -#: skins/default/templates/user_edit.html:4 -msgid "Edit user profile" -msgstr "Modifier le profil utilisateur" - -#: skins/default/templates/user_edit.html:7 -msgid "edit profile" -msgstr "Modifier le profil" - -#: skins/default/templates/user_edit.html:17 -#: skins/default/templates/user_info.html:11 -msgid "change picture" -msgstr "changer d'image" - -#: skins/default/templates/user_edit.html:20 -msgid "Registered user" -msgstr "Utilisateur enregistré" - -#: skins/default/templates/user_edit.html:27 -msgid "Screen Name" -msgstr "Pseudo" - -#: skins/default/templates/user_edit.html:75 -#: skins/default/templates/user_email_subscriptions.html:18 -msgid "Update" -msgstr "Mettre à jour" - -#: skins/default/templates/user_email_subscriptions.html:4 -msgid "Email subscription settings" -msgstr "Paramètres d'abonnement aux emails" - -#: skins/default/templates/user_email_subscriptions.html:5 -msgid "email subscription settings info" -msgstr "" -"<span class='big strong'>Infos concernant les paramètres d'abonnement aux " -"emails </span> Ceci vous permet de vous abonner aux questions que vous " -"trouvez intéressantes. Vous recevrez les réponses par email. " - -#: skins/default/templates/user_email_subscriptions.html:19 -msgid "Stop sending email" -msgstr "Arrêter d'envoyer des emails" - -#: skins/default/templates/user_inbox.html:31 -#, fuzzy -msgid "Sections:" -msgstr "questions" - -#: skins/default/templates/user_inbox.html:35 -#, python-format -msgid "forum responses (%(re_count)s)" -msgstr "" - -#: skins/default/templates/user_inbox.html:40 -#, python-format -msgid "flagged items (%(flag_count)s)" -msgstr "" - -#: skins/default/templates/user_inbox.html:46 -#, fuzzy -msgid "select:" -msgstr "Supprimer" - -#: skins/default/templates/user_inbox.html:48 -#, fuzzy -msgid "seen" -msgstr "dernière connexion" - -#: skins/default/templates/user_inbox.html:49 -#, fuzzy -msgid "new" -msgstr "date (↓)" - -#: skins/default/templates/user_inbox.html:50 -#, fuzzy -msgid "none" -msgstr "bronze" - -#: skins/default/templates/user_inbox.html:51 -#, fuzzy -msgid "mark as seen" -msgstr "dernière connexion" - -# FIXME ou "ayant reçu une récompense" -#: skins/default/templates/user_inbox.html:52 -#, fuzzy -msgid "mark as new" -msgstr "marquée comme meilleure réponse" - -#: skins/default/templates/user_inbox.html:53 -msgid "dismiss" -msgstr "" +#: skins/default/templates/users.html:4 skins/default/templates/users.html:7 +msgid "Users" +msgstr "Utilisateurs" -#: skins/default/templates/user_info.html:18 #: skins/default/templates/users.html:13 skins/default/templates/users.html:14 +#: skins/default/templates/user_profile/user_info.html:25 msgid "reputation" msgstr "réputation" -#: skins/default/templates/user_info.html:30 -msgid "manage login methods" -msgstr "" - -#: skins/default/templates/user_info.html:34 -msgid "update profile" -msgstr "Mettre à jour le profil" - -#: skins/default/templates/user_info.html:46 -msgid "real name" -msgstr "nom réél" - -#: skins/default/templates/user_info.html:51 -msgid "member for" -msgstr "membre depuis" - -#: skins/default/templates/user_info.html:56 -msgid "last seen" -msgstr "dernière connexion" - -#: skins/default/templates/user_info.html:62 -msgid "user website" -msgstr "Site internet" - -#: skins/default/templates/user_info.html:68 -msgid "location" -msgstr "Lieu" - -#: skins/default/templates/user_info.html:75 -msgid "age" -msgstr "Age" - -#: skins/default/templates/user_info.html:76 -msgid "age unit" -msgstr "ans " - -#: skins/default/templates/user_info.html:83 -msgid "todays unused votes" -msgstr "Votes non utilisés aujourd'hui" - -#: skins/default/templates/user_info.html:84 -msgid "votes left" -msgstr "votes restants" - -#: skins/default/templates/user_moderate.html:5 -#, python-format -msgid "%(username)s's current status is \"%(status)s\"" -msgstr "Le statut actuel de %(username)s est \"%(status)s\"" - -#: skins/default/templates/user_moderate.html:8 -msgid "User status changed" -msgstr "Statut de l'utilisateur modifié" - -#: skins/default/templates/user_moderate.html:15 -msgid "Save" -msgstr "Enregistrer" - -#: skins/default/templates/user_moderate.html:21 -#, python-format -msgid "Your current reputation is %(reputation)s points" -msgstr "Vous avez actuellement %(reputation)s points de réputation" - -#: skins/default/templates/user_moderate.html:23 -#, python-format -msgid "User's current reputation is %(reputation)s points" -msgstr "Cet utilisateur a actuellement %(reputation)s points de réputation" - -#: skins/default/templates/user_moderate.html:27 -msgid "User reputation changed" -msgstr "Réputation de l'utilisateur modifiée" - -#: skins/default/templates/user_moderate.html:34 -msgid "Subtract" -msgstr "Soustraire" - -#: skins/default/templates/user_moderate.html:39 -#, python-format -msgid "Send message to %(username)s" -msgstr "Envoyer un message à %(username)s" - -#: skins/default/templates/user_moderate.html:40 -msgid "" -"An email will be sent to the user with 'reply-to' field set to your email " -"address. Please make sure that your address is entered correctly." -msgstr "" -"Un email sera envoyé à cet utilisateur avec le champ 'reply-to' pré-" -"renseigné avec votre adresse email, afin qu'il puisse vous répondre " -"directement. Merci de vérifier que votre adresse email est correcte." - -#: skins/default/templates/user_moderate.html:42 -msgid "Message sent" -msgstr "Message envoyé" - -#: skins/default/templates/user_moderate.html:60 -msgid "Send message" -msgstr "Envoyer le message" - -#: skins/default/templates/user_reputation.html:7 -msgid "Your karma change log." -msgstr "L'évolution de votre Karma." - -#: skins/default/templates/user_reputation.html:9 -#, python-format -msgid "%(user_name)s's karma change log" -msgstr "Evolution du karma de %(user_name)s" - -#: skins/default/templates/user_stats.html:7 -#, python-format -msgid "<span class=\"count\">%(counter)s</span> Question" -msgid_plural "<span class=\"count\">%(counter)s</span> Questions" -msgstr[0] "<span class=\"count\">%(counter)s</span> Question" -msgstr[1] "<span class=\"count\">%(counter)s</span> Questions" - -#: skins/default/templates/user_stats.html:12 -#, python-format -msgid "<span class=\"count\">%(counter)s</span> Answer" -msgid_plural "<span class=\"count\">%(counter)s</span> Answers" -msgstr[0] "<span class=\"count\">%(counter)s</span> Réponse" -msgstr[1] "<span class=\"count\">%(counter)s</span> Réponses" - -#: skins/default/templates/user_stats.html:20 -#, python-format -msgid "the answer has been voted for %(answer_score)s times" -msgstr "Cette réponse a obtenu %(answer_score)s votes positifs" - -#: skins/default/templates/user_stats.html:20 -msgid "this answer has been selected as correct" -msgstr "Cette réponse a été sélectionnée comme correct" - -#: skins/default/templates/user_stats.html:30 -#, python-format -msgid "(%(comment_count)s comment)" -msgid_plural "the answer has been commented %(comment_count)s times" -msgstr[0] "(%(comment_count)s commentaire)" -msgstr[1] "cette réponse a été commentée %(comment_count)s fois" - -#: skins/default/templates/user_stats.html:40 -#, python-format -msgid "<span class=\"count\">%(cnt)s</span> Vote" -msgid_plural "<span class=\"count\">%(cnt)s</span> Votes " -msgstr[0] "<span class=\"count\">%(cnt)s</span> Vote" -msgstr[1] "<span class=\"count\">%(cnt)s</span> Votes " - -#: skins/default/templates/user_stats.html:46 -msgid "thumb up" -msgstr "J'aime (+1)" - -#: skins/default/templates/user_stats.html:47 -msgid "user has voted up this many times" -msgstr "L'utilisateur a voté positivement pour cela de nombreuses fois" - -#: skins/default/templates/user_stats.html:50 -msgid "thumb down" -msgstr "J'aime pas (-1)" - -#: skins/default/templates/user_stats.html:51 -msgid "user voted down this many times" -msgstr "L'utilisateur a voté négativement pour cela de nombreuses fois" - -#: skins/default/templates/user_stats.html:59 -#, python-format -msgid "<span class=\"count\">%(counter)s</span> Tag" -msgid_plural "<span class=\"count\">%(counter)s</span> Tags" -msgstr[0] "<span class=\"count\">%(counter)s</span> Mot-clé" -msgstr[1] "<span class=\"count\">%(counter)s</span> Mots-clés" - -#: skins/default/templates/user_stats.html:67 -#, python-format -msgid "" -"see other questions with %(view_user)s's contributions tagged '%(tag_name)s' " -msgstr "" -"voir d'autres questions de %(view_user)s marquées avec les mots-clés " -"'%(tag_name)s'" - -#: skins/default/templates/user_stats.html:81 -#, python-format -msgid "<span class=\"count\">%(counter)s</span> Badge" -msgid_plural "<span class=\"count\">%(counter)s</span> Badges" -msgstr[0] "<span class=\"count\">%(counter)s</span> Badge" -msgstr[1] "<span class=\"count\">%(counter)s</span> Badges" - -#: skins/default/templates/user_tabs.html:5 -msgid "User profile" -msgstr "Profil utilisateur" - -#: skins/default/templates/user_tabs.html:6 -msgid "overview" -msgstr "aperçu" - -#: skins/default/templates/user_tabs.html:9 views/users.py:729 -msgid "comments and answers to others questions" -msgstr "Commentaires et réponses à d'autres questions" - -#: skins/default/templates/user_tabs.html:10 -msgid "inbox" -msgstr "" - -#: skins/default/templates/user_tabs.html:13 -msgid "graph of user reputation" -msgstr "Statistiques sur la réputation de cet utilisateur" - -#: skins/default/templates/user_tabs.html:14 -msgid "reputation history" -msgstr "Historique de la réputation" - -#: skins/default/templates/user_tabs.html:16 -msgid "questions that user selected as his/her favorite" -msgstr "questions favorites de cet utilisateur" - -#: skins/default/templates/user_tabs.html:17 -msgid "favorites" -msgstr "favorites" - -#: skins/default/templates/user_tabs.html:19 -msgid "recent activity" -msgstr "activité récente" - -# TODO demander au développeur de faire 2 entrées distinctes. Une contiendra "date (↑)" et l'autre "date" -#: skins/default/templates/user_tabs.html:20 -msgid "activity" -msgstr "actualité (↓)" - -#: skins/default/templates/user_tabs.html:23 views/users.py:794 -msgid "user vote record" -msgstr "Trace des votes de cet utilisateur" - -# FIXME -#: skins/default/templates/user_tabs.html:24 -msgid "casted votes" -msgstr "abgegebene Stimmen" - -#: skins/default/templates/user_tabs.html:28 views/users.py:904 -msgid "email subscription settings" -msgstr "Paramètres d'abonnement aux emails" - -#: skins/default/templates/user_tabs.html:29 -msgid "subscriptions" -msgstr "Abonnements aux emails" - -#: skins/default/templates/user_tabs.html:33 views/users.py:216 -msgid "moderate this user" -msgstr "Modérer cet utilisateur" - -#: skins/default/templates/user_tabs.html:34 -msgid "moderation" -msgstr "Modération" - -#: skins/default/templates/users.html:4 skins/default/templates/users.html:7 -msgid "Users" -msgstr "Utilisateurs" - #: skins/default/templates/users.html:19 skins/default/templates/users.html:20 msgid "recent" msgstr "récent" @@ -4799,32 +4362,15 @@ msgstr "récent" msgid "by username" msgstr "par nom d'utilisateur" -#: skins/default/templates/users.html:38 +#: skins/default/templates/users.html:37 #, python-format msgid "users matching query %(suser)s:" msgstr "utilisateurs vérifiant les critères %(suser)s" -#: skins/default/templates/users.html:41 +#: skins/default/templates/users.html:40 msgid "Nothing found." msgstr "Aucun résultat." -# FIXME coquille dans phrase anglaise ??? -#: skins/default/templates/users_questions.html:9 -#: skins/default/templates/users_questions.html:17 -#, fuzzy, python-format -msgid "this questions was selected as favorite %(cnt)s time" -msgid_plural "this questions was selected as favorite %(cnt)s times" -msgstr[0] "Cette question a été sélectionnée favorite" -msgstr[1] "Cette question a été sélectionnée favorite" - -#: skins/default/templates/users_questions.html:10 -msgid "thumb-up on" -msgstr "J'aime (+1) activé" - -#: skins/default/templates/users_questions.html:18 -msgid "thumb-up off" -msgstr "J'aime (+1) désactivé" - #: skins/default/templates/authopenid/changeemail.html:2 #: skins/default/templates/authopenid/changeemail.html:8 #: skins/default/templates/authopenid/changeemail.html:36 @@ -4925,19 +4471,19 @@ msgstr "" "können Ihre E-Mail-Adresse bei Bedarf <a href='%(change_link)s'>ändern</a>." #: skins/default/templates/authopenid/complete.html:21 -#: skins/default/templates/authopenid/complete.html:24 +#: skins/default/templates/authopenid/complete.html:23 #, fuzzy msgid "Registration" msgstr "S'inscrire" -#: skins/default/templates/authopenid/complete.html:29 +#: skins/default/templates/authopenid/complete.html:27 #, python-format msgid "register new %(provider)s account info, see %(gravatar_faq_url)s" msgstr "" "Créez vous un compte chez %(provider)s; pour plus d'infos, <a " "href='%(gravatar_faq_url)s'>cliquez ici</a>" -#: skins/default/templates/authopenid/complete.html:32 +#: skins/default/templates/authopenid/complete.html:30 #, python-format msgid "" "%(username)s already exists, choose another name for \n" @@ -4949,7 +4495,7 @@ msgstr "" " %(provider)s. Un email est aussi obligatoire, " "cf. %(gravatar_faq_url)s" -#: skins/default/templates/authopenid/complete.html:36 +#: skins/default/templates/authopenid/complete.html:34 #, python-format msgid "" "register new external %(provider)s account info, see %(gravatar_faq_url)s" @@ -4958,53 +4504,68 @@ msgstr "" "d'identité externe %(provider)s; pour plus d'infos <a " "href='%(gravatar_faq_url)s'>cliquez ici</a>" -#: skins/default/templates/authopenid/complete.html:39 +#: skins/default/templates/authopenid/complete.html:37 #, python-format msgid "register new Facebook connect account info, see %(gravatar_faq_url)s" msgstr "" "Informations concernant la création d'un nouveau compte Facebook pour se " "connecter; pour plus d'infos visitez la page %(gravatar_faq_url)s" -#: skins/default/templates/authopenid/complete.html:42 +#: skins/default/templates/authopenid/complete.html:40 msgid "This account already exists, please use another." msgstr "Ce compte existe déjà ; merci d'en utiliser un autre." # FIXME -#: skins/default/templates/authopenid/complete.html:61 +#: skins/default/templates/authopenid/complete.html:59 msgid "Screen name label" msgstr "Pseudo" # FIXME -#: skins/default/templates/authopenid/complete.html:68 +#: skins/default/templates/authopenid/complete.html:66 msgid "Email address label" msgstr "Adresse email" # FIXME -#: skins/default/templates/authopenid/complete.html:74 -#: skins/default/templates/authopenid/signup_with_password.html:17 +#: skins/default/templates/authopenid/complete.html:72 +#: skins/default/templates/authopenid/signup_with_password.html:36 msgid "receive updates motivational blurb" msgstr "" -#: skins/default/templates/authopenid/complete.html:78 -#: skins/default/templates/authopenid/signup_with_password.html:21 +#: skins/default/templates/authopenid/complete.html:76 +#: skins/default/templates/authopenid/signup_with_password.html:40 msgid "please select one of the options above" msgstr "Merci de sélectionner une des options ci-dessus" -#: skins/default/templates/authopenid/complete.html:81 +#: skins/default/templates/authopenid/complete.html:79 msgid "Tag filter tool will be your right panel, once you log in." msgstr "" "L'outil de filtrage des mots-clés sera affiché à droite de l'écran, une fos " "que vous serez authentifié" -#: skins/default/templates/authopenid/complete.html:82 +#: skins/default/templates/authopenid/complete.html:80 msgid "create account" msgstr "Créer un compte" -#: skins/default/templates/authopenid/signin.html:3 +#: skins/default/templates/authopenid/macros.html:50 +msgid "Please enter your <span>user name</span>, then sign in" +msgstr "" + +#: skins/default/templates/authopenid/macros.html:51 +#: skins/default/templates/authopenid/signin.html:84 +#, fuzzy +msgid "(or select another login method above)" +msgstr "Merci de sélectionner une des options ci-dessus" + +#: skins/default/templates/authopenid/macros.html:53 +#, fuzzy +msgid "Sign in" +msgstr "connexion/" + +#: skins/default/templates/authopenid/signin.html:4 msgid "User login" msgstr "Veuillez vous authentifier avec votre \"OpenID\"" -#: skins/default/templates/authopenid/signin.html:11 +#: skins/default/templates/authopenid/signin.html:12 #, fuzzy, python-format msgid "" "\n" @@ -5016,7 +4577,7 @@ msgstr "" "%(title)s</strong> %(summary)s...\"</i> <span class=\"strong big\">sera " "publiée dès que vous vous serez authentifié.</span>" -#: skins/default/templates/authopenid/signin.html:18 +#: skins/default/templates/authopenid/signin.html:19 #, fuzzy, python-format msgid "" "Your question \n" @@ -5028,148 +4589,133 @@ msgstr "" "authentifié\n" " " -#: skins/default/templates/authopenid/signin.html:25 +#: skins/default/templates/authopenid/signin.html:26 msgid "" "Take a pick of your favorite service below to sign in using secure OpenID or " "similar technology. Your external service password always stays confidential " "and you don't have to rememeber or create another one." msgstr "" -#: skins/default/templates/authopenid/signin.html:28 +#: skins/default/templates/authopenid/signin.html:29 msgid "" "It's a good idea to make sure that your existing login methods still work, " "or add a new one. Please click any of the icons below to check/change or add " "new login methods." msgstr "" -#: skins/default/templates/authopenid/signin.html:30 +#: skins/default/templates/authopenid/signin.html:31 msgid "" "Please add a more permanent login method by clicking one of the icons below, " "to avoid logging in via email each time." msgstr "" -#: skins/default/templates/authopenid/signin.html:34 +#: skins/default/templates/authopenid/signin.html:35 msgid "" "Click on one of the icons below to add a new login method or re-validate an " "existing one." msgstr "" -#: skins/default/templates/authopenid/signin.html:36 +#: skins/default/templates/authopenid/signin.html:37 msgid "" "You don't have a method to log in right now, please add one or more by " "clicking any of the icons below." msgstr "" -#: skins/default/templates/authopenid/signin.html:39 +#: skins/default/templates/authopenid/signin.html:40 msgid "" "Please check your email and visit the enclosed link to re-connect to your " "account" msgstr "" -#: skins/default/templates/authopenid/signin.html:86 -msgid "Please enter your <span>user name</span>, then sign in" -msgstr "" - -#: skins/default/templates/authopenid/signin.html:87 -#: skins/default/templates/authopenid/signin.html:109 -#, fuzzy -msgid "(or select another login method above)" -msgstr "Merci de sélectionner une des options ci-dessus" - -#: skins/default/templates/authopenid/signin.html:89 -#, fuzzy -msgid "Sign in" -msgstr "connexion/" - -#: skins/default/templates/authopenid/signin.html:107 +#: skins/default/templates/authopenid/signin.html:82 #, fuzzy msgid "Please enter your <span>user name and password</span>, then sign in" msgstr "Veuillez saisir votre nom d'utilisateur et un mot de passe" -#: skins/default/templates/authopenid/signin.html:111 +#: skins/default/templates/authopenid/signin.html:86 msgid "Login failed, please try again" msgstr "" -#: skins/default/templates/authopenid/signin.html:114 +#: skins/default/templates/authopenid/signin.html:89 msgid "Login name" msgstr "Nom d'utilisateur" -#: skins/default/templates/authopenid/signin.html:118 +#: skins/default/templates/authopenid/signin.html:93 msgid "Password" msgstr "Mot de passe" -#: skins/default/templates/authopenid/signin.html:122 +#: skins/default/templates/authopenid/signin.html:97 msgid "Login" msgstr "Connexion" -#: skins/default/templates/authopenid/signin.html:129 +#: skins/default/templates/authopenid/signin.html:104 msgid "To change your password - please enter the new one twice, then submit" msgstr "" -#: skins/default/templates/authopenid/signin.html:132 +#: skins/default/templates/authopenid/signin.html:107 #, fuzzy msgid "New password" msgstr "Nouveau mot de passe pris en compte." -#: skins/default/templates/authopenid/signin.html:137 +#: skins/default/templates/authopenid/signin.html:112 #, fuzzy msgid "Please, retype" msgstr "Merci de resaisir votre mot de passe" -#: skins/default/templates/authopenid/signin.html:156 +#: skins/default/templates/authopenid/signin.html:130 msgid "Here are your current login methods" msgstr "" -#: skins/default/templates/authopenid/signin.html:160 +#: skins/default/templates/authopenid/signin.html:134 #, fuzzy msgid "provider" msgstr "Utilisateur certifié" -#: skins/default/templates/authopenid/signin.html:161 +#: skins/default/templates/authopenid/signin.html:135 #, fuzzy msgid "last used" msgstr "dernière connexion" -#: skins/default/templates/authopenid/signin.html:162 +#: skins/default/templates/authopenid/signin.html:136 msgid "delete, if you like" msgstr "" -#: skins/default/templates/authopenid/signin.html:187 +#: skins/default/templates/authopenid/signin.html:162 #, fuzzy msgid "Still have trouble signing in?" msgstr "D'autres questions ?" -#: skins/default/templates/authopenid/signin.html:192 +#: skins/default/templates/authopenid/signin.html:167 msgid "Please, enter your email address below and obtain a new key" msgstr "" -#: skins/default/templates/authopenid/signin.html:194 +#: skins/default/templates/authopenid/signin.html:169 msgid "Please, enter your email address below to recover your account" msgstr "" -#: skins/default/templates/authopenid/signin.html:197 +#: skins/default/templates/authopenid/signin.html:172 #, fuzzy msgid "recover your account via email" msgstr "Changer le mot de passe de votre compte" -#: skins/default/templates/authopenid/signin.html:208 +#: skins/default/templates/authopenid/signin.html:183 msgid "Send a new recovery key" msgstr "" -#: skins/default/templates/authopenid/signin.html:210 +#: skins/default/templates/authopenid/signin.html:185 #, fuzzy msgid "Recover your account via email" msgstr "Changer le mot de passe de votre compte" -#: skins/default/templates/authopenid/signin.html:221 +#: skins/default/templates/authopenid/signin.html:196 msgid "Why use OpenID?" msgstr "Pourquoi utiliser OpenID ?" -#: skins/default/templates/authopenid/signin.html:224 +#: skins/default/templates/authopenid/signin.html:199 msgid "with openid it is easier" msgstr "OpenID est le nouveau standard d’identification sur Internet." -#: skins/default/templates/authopenid/signin.html:227 +#: skins/default/templates/authopenid/signin.html:202 msgid "reuse openid" msgstr "" "Le principe d'OpenID est simple : au lieu de créer un nouveau compte sur " @@ -5179,38 +4725,48 @@ msgstr "" "d'autres sites \"compatibles OpenID\", sans avoir besoin de remplir le " "formulaire d'inscription de ces sites..." -#: skins/default/templates/authopenid/signin.html:230 +#: skins/default/templates/authopenid/signin.html:205 msgid "openid is widely adopted" msgstr "" "OpenID à été adopté par tous les grands portails (Google, Yahoo, Facebook, " "Microsoft, Flicker, ...) ce qui porte le nombre de comptes OpenID à plus de " "300 millions. Plus de 10000 sites sont compatibles OpenID. " -#: skins/default/templates/authopenid/signin.html:233 +#: skins/default/templates/authopenid/signin.html:208 msgid "openid is supported open standard" msgstr "OpenId est basé sur un standard international et libre." -#: skins/default/templates/authopenid/signin.html:237 +#: skins/default/templates/authopenid/signin.html:212 msgid "Find out more" msgstr "En savoir plus." -#: skins/default/templates/authopenid/signin.html:238 +#: skins/default/templates/authopenid/signin.html:213 msgid "Get OpenID" msgstr "Obtenir un compte OpenID" -#: skins/default/templates/authopenid/signup_with_password.html:3 +#: skins/default/templates/authopenid/signup_with_password.html:4 msgid "Signup" msgstr "S'enregistrer" -#: skins/default/templates/authopenid/signup_with_password.html:6 +#: skins/default/templates/authopenid/signup_with_password.html:10 +#, fuzzy +msgid "Please register by clicking on any of the icons below" +msgstr "Merci de sélectionner une des options ci-dessus" + +#: skins/default/templates/authopenid/signup_with_password.html:23 +#, fuzzy +msgid "or create a new user name and password here" +msgstr "Créer un nom d'utilisateur et un mot de passe" + +#: skins/default/templates/authopenid/signup_with_password.html:25 msgid "Create login name and password" msgstr "Créer un nom d'utilisateur et un mot de passe" -#: skins/default/templates/authopenid/signup_with_password.html:8 +#: skins/default/templates/authopenid/signup_with_password.html:26 msgid "Traditional signup info" msgstr "Informations sur la méthode classique de connexion" -#: skins/default/templates/authopenid/signup_with_password.html:24 +#: skins/default/templates/authopenid/signup_with_password.html:44 msgid "" "Please read and type in the two words below to help us prevent automated " "account creation." @@ -5218,204 +4774,830 @@ msgstr "" "Merci de lire et saisir les deux mots ci-dessous pour nous aider à lutter " "contre la création automatique de comptes (lutte contre le spam)." -#: skins/default/templates/authopenid/signup_with_password.html:26 +#: skins/default/templates/authopenid/signup_with_password.html:47 msgid "Create Account" msgstr "Créer un compte" -#: skins/default/templates/authopenid/signup_with_password.html:27 +#: skins/default/templates/authopenid/signup_with_password.html:49 msgid "or" msgstr "ou" -#: skins/default/templates/authopenid/signup_with_password.html:28 +#: skins/default/templates/authopenid/signup_with_password.html:50 msgid "return to OpenID login" msgstr "retourner à la page d'authentification OpenID" -#: skins/default/templates/blocks/header_meta_links.html:7 -#, python-format -msgid "responses for %(username)s" -msgstr "réponses pour %(username)s" +#: skins/default/templates/avatar/add.html:3 +#, fuzzy +msgid "add avatar" +msgstr "Qu'est ce que 'Gravatar' ?" -#: skins/default/templates/blocks/header_meta_links.html:10 -#, python-format -msgid "you have a new response" -msgid_plural "you nave %(response_count)s new responses" -msgstr[0] "vous avez une nouvelle réponse" -msgstr[1] "vous avez %(response_count)s nouvelles réponses" +#: skins/default/templates/avatar/add.html:5 +#, fuzzy +msgid "Change avatar" +msgstr "Modifier les tags" -#: skins/default/templates/blocks/header_meta_links.html:13 -msgid "no new responses yet" -msgstr "pas de nouvelles réponses pour l'instant" +#: skins/default/templates/avatar/add.html:6 +#: skins/default/templates/avatar/change.html:7 +#, fuzzy +msgid "Your current avatar: " +msgstr "Informations détaillées sur votre compte:" + +#: skins/default/templates/avatar/add.html:9 +#: skins/default/templates/avatar/change.html:11 +msgid "You haven't uploaded an avatar yet. Please upload one now." +msgstr "" + +#: skins/default/templates/avatar/add.html:13 +msgid "Upload New Image" +msgstr "" + +#: skins/default/templates/avatar/change.html:4 +#, fuzzy +msgid "change avatar" +msgstr "Modifications enregistrées." + +#: skins/default/templates/avatar/change.html:17 +msgid "Choose new Default" +msgstr "" + +#: skins/default/templates/avatar/change.html:22 +#, fuzzy +msgid "Upload" +msgstr "envoyer-sur-le-serveur/" + +#: skins/default/templates/avatar/confirm_delete.html:3 +#, fuzzy +msgid "delete avatar" +msgstr "réponse supprimée" -#: skins/default/templates/blocks/header_meta_links.html:25 -#: skins/default/templates/blocks/header_meta_links.html:26 +#: skins/default/templates/avatar/confirm_delete.html:5 +msgid "Please select the avatars that you would like to delete." +msgstr "" + +#: skins/default/templates/avatar/confirm_delete.html:7 #, python-format -msgid "%(new)s new flagged posts and %(seen)s previous" +msgid "" +"You have no avatars to delete. Please <a href=\"%(avatar_change_url)s" +"\">upload one</a> now." msgstr "" +#: skins/default/templates/avatar/confirm_delete.html:13 +#, fuzzy +msgid "Delete These" +msgstr "réponse supprimée" + # FIXME -#: skins/default/templates/blocks/header_meta_links.html:28 -#: skins/default/templates/blocks/header_meta_links.html:29 +#: skins/default/templates/blocks/answer_edit_tips.html:3 +msgid "answer tips" +msgstr "Conseils pour répondre" + +#: skins/default/templates/blocks/answer_edit_tips.html:6 +msgid "please make your answer relevant to this community" +msgstr "" +"Rédiger vos réponses afin qu'elles soient pertinentes pour la communauté." + +#: skins/default/templates/blocks/answer_edit_tips.html:9 +msgid "try to give an answer, rather than engage into a discussion" +msgstr "" +"Contentez-vous de donner une réponse, plutôt que de vous engagez dans une " +"discussion." + +#: skins/default/templates/blocks/answer_edit_tips.html:12 +msgid "please try to provide details" +msgstr "Fournissez un maximum de détails." + +#: skins/default/templates/blocks/answer_edit_tips.html:15 +#: skins/default/templates/blocks/question_edit_tips.html:11 +msgid "be clear and concise" +msgstr "Soyez clair et concis." + +#: skins/default/templates/blocks/answer_edit_tips.html:19 +#: skins/default/templates/blocks/question_edit_tips.html:15 +msgid "see frequently asked questions" +msgstr "lisez notre FAQ (Foire aux questions)" + +#: skins/default/templates/blocks/answer_edit_tips.html:25 +#: skins/default/templates/blocks/question_edit_tips.html:20 +msgid "Markdown tips" +msgstr "Aide sur les balises \"Markdown\"" + +#: skins/default/templates/blocks/answer_edit_tips.html:29 +#: skins/default/templates/blocks/question_edit_tips.html:24 +msgid "*italic*" +msgstr "*italique*" + +#: skins/default/templates/blocks/answer_edit_tips.html:32 +#: skins/default/templates/blocks/question_edit_tips.html:27 +msgid "**bold**" +msgstr "**gras**" + +#: skins/default/templates/blocks/answer_edit_tips.html:36 +#: skins/default/templates/blocks/question_edit_tips.html:31 +msgid "*italic* or _italic_" +msgstr "*italique* ou __italique__" + +#: skins/default/templates/blocks/answer_edit_tips.html:39 +#: skins/default/templates/blocks/question_edit_tips.html:34 +msgid "**bold** or __bold__" +msgstr "**gras** ou __gras__" + +#: skins/default/templates/blocks/answer_edit_tips.html:43 +#: skins/default/templates/blocks/question_edit_tips.html:38 +msgid "link" +msgstr "lien" + +#: skins/default/templates/blocks/answer_edit_tips.html:43 +#: skins/default/templates/blocks/answer_edit_tips.html:47 +#: skins/default/templates/blocks/question_edit_tips.html:38 +#: skins/default/templates/blocks/question_edit_tips.html:43 +msgid "text" +msgstr "texte" + +#: skins/default/templates/blocks/answer_edit_tips.html:47 +#: skins/default/templates/blocks/question_edit_tips.html:43 +msgid "image" +msgstr "image" + +#: skins/default/templates/blocks/answer_edit_tips.html:51 +#: skins/default/templates/blocks/question_edit_tips.html:47 +msgid "numbered list:" +msgstr "liste numérotée:" + +#: skins/default/templates/blocks/answer_edit_tips.html:56 +#: skins/default/templates/blocks/question_edit_tips.html:52 +msgid "basic HTML tags are also supported" +msgstr "les balises HTML élémentaires sont aussi supportées." + +#: skins/default/templates/blocks/answer_edit_tips.html:60 +#: skins/default/templates/blocks/question_edit_tips.html:56 +msgid "learn more about Markdown" +msgstr "en savoir plus sur les balises \"Markdown\"" + +#: skins/default/templates/blocks/ask_form.html:7 +msgid "login to post question info" +msgstr "" +"<span class=\"strong big\">Formulez votre question à l'aide du formulaire ci-" +"dessous (un court titre résumant la question, puis la question à proprement " +"parler, aussi détaillée que vous le souhaitez...)</span>. A l'étape " +"suivante, vous devrez saisir votre email et votre nom (ou un pseudo si vous " +"souhaitez rester anonyme...). Ces éléments sont nécessaires pour bénéficier " +"des fonctionnalités de notre module de questions/réponses, qui repose sur un " +"principe communautaire." + +#: skins/default/templates/blocks/ask_form.html:11 +#, python-format +msgid "" +"must have valid %(email)s to post, \n" +" see %(email_validation_faq_url)s\n" +" " +msgstr "" +"<span class='strong big'>Ihre E-Mail-Adresse %(email)s wurde noch nicht " +"bestätigt.</span> Um Beiträge veröffentlichen zu können, müssen Sie Ihre E-" +"Mail-Adresse bestätigen. <a href='%(email_validation_faq_url)s'>Mehr infos " +"hier</a>.<br>Sie können Ihren Beitrag speichern und die Bestätigung danach " +"durchführen - Ihr Beitrag wird bis dahin gespeichert." + +#: skins/default/templates/blocks/ask_form.html:28 +msgid "Login/signup to post your question" +msgstr "Vous devez vous authentifier pour publier votre question " + +#: skins/default/templates/blocks/ask_form.html:30 +msgid "Ask your question" +msgstr "Poser votre question" + +#: skins/default/templates/blocks/editor_data.html:5 #, fuzzy, python-format -msgid "%(new)s new flagged posts" -msgstr "Premier message étiqueté" +msgid "each tag must be shorter that %(max_chars)s character" +msgid_plural "each tag must be shorter than %(max_chars)s characters" +msgstr[0] "Chaque mot-clé doit comporter moins de %(max_chars)d caractère" +msgstr[1] "Chaque mot-clé doit comporter moins de %(max_chars)d caractères" -# FIXME -#: skins/default/templates/blocks/header_meta_links.html:34 -#: skins/default/templates/blocks/header_meta_links.html:35 +#: skins/default/templates/blocks/editor_data.html:7 #, fuzzy, python-format -msgid "%(seen)s flagged posts" -msgstr "Premier message étiqueté" +msgid "please use %(tag_count)s tag" +msgid_plural "please use %(tag_count)s tags or less" +msgstr[0] "Veuillez utiliser %(tag_count)d mot-clé, ou moins" +msgstr[1] "Veuillez utiliser %(tag_count)d mots-clés, ou moins" + +#: skins/default/templates/blocks/editor_data.html:8 +#, fuzzy, python-format +msgid "" +"please use up to %(tag_count)s tags, less than %(max_chars)s characters each" +msgstr "jusqu'à 5 tags, faisant chacun moins de 20 caractères" + +#: skins/default/templates/blocks/footer.html:5 +#: skins/default/templates/blocks/header_meta_links.html:12 +msgid "about" +msgstr "Qui sommes nous ?" + +#: skins/default/templates/blocks/footer.html:7 +msgid "privacy policy" +msgstr "Respect de la vie privée" + +#: skins/default/templates/blocks/footer.html:16 +msgid "give feedback" +msgstr "Faire une remarque" + +#: skins/default/templates/blocks/header.html:8 +msgid "back to home page" +msgstr "Retour à l'accueil" + +#: skins/default/templates/blocks/header.html:9 +#, fuzzy, python-format +msgid "%(site)s logo" +msgstr "Logo du site de Questions/Réponses" + +#: skins/default/templates/blocks/header.html:17 +msgid "questions" +msgstr "questions" + +#: skins/default/templates/blocks/header.html:27 +msgid "users" +msgstr "Communauté" + +#: skins/default/templates/blocks/header.html:32 +msgid "badges" +msgstr "Réputation" + +#: skins/default/templates/blocks/header.html:37 +msgid "ask a question" +msgstr "Poser une question" -#: skins/default/templates/blocks/header_meta_links.html:47 +#: skins/default/templates/blocks/header_meta_links.html:8 msgid "logout" msgstr "Déconnexion" -#: skins/default/templates/blocks/header_meta_links.html:49 +#: skins/default/templates/blocks/header_meta_links.html:10 msgid "login" msgstr "Connexion" -#: skins/default/templates/blocks/header_meta_links.html:54 +#: skins/default/templates/blocks/header_meta_links.html:15 msgid "settings" msgstr "paramètres" -#: skins/default/templates/unused/email_base.html:8 -msgid "home" -msgstr "accueil" +#: skins/default/templates/blocks/input_bar.html:34 +msgid "search" +msgstr "Chercher" + +#: skins/default/templates/blocks/question_edit_tips.html:3 +msgid "question tips" +msgstr "conseils pour poser une question" + +#: skins/default/templates/blocks/question_edit_tips.html:5 +msgid "please ask a relevant question" +msgstr "Merci de poser une question pertinente." + +#: skins/default/templates/blocks/question_edit_tips.html:8 +msgid "please try provide enough details" +msgstr "Merci de fournir suffisamment de détails." + +#: skins/default/templates/blocks/tag_selector.html:4 +msgid "Interesting tags" +msgstr "Tags intéressants" + +#: skins/default/templates/blocks/tag_selector.html:18 +#: skins/default/templates/blocks/tag_selector.html:34 +#: skins/default/templates/user_profile/user_moderate.html:38 +msgid "Add" +msgstr "Ajouter" + +#: skins/default/templates/blocks/tag_selector.html:20 +msgid "Ignored tags" +msgstr "Tags ignorés" + +#: skins/default/templates/blocks/tag_selector.html:36 +msgid "Display tag filter" +msgstr "Filtre des tags" + +#: skins/default/templates/main_page/content.html:13 +msgid "Did not find what you were looking for?" +msgstr "Vous n'avez pas trouvé ce que vous cherchiez ?" + +#: skins/default/templates/main_page/content.html:14 +msgid "Please, post your question!" +msgstr "Veuillez saisir votre question !" + +#: skins/default/templates/main_page/headline.html:7 +msgid "subscribe to the questions feed" +msgstr "S'abonner au flux RSS des questions" + +#: skins/default/templates/main_page/headline.html:8 +msgid "rss feed" +msgstr "flux RSS" + +#: skins/default/templates/main_page/headline.html:12 views/readers.py:119 +#, fuzzy, python-format +msgid "%(q_num)s question, tagged" +msgid_plural "%(q_num)s questions, tagged" +msgstr[0] "%(q_num)s question" +msgstr[1] "%(q_num)s questions" + +#: skins/default/templates/main_page/headline.html:14 views/readers.py:127 +#, python-format +msgid "%(q_num)s question" +msgid_plural "%(q_num)s questions" +msgstr[0] "%(q_num)s question" +msgstr[1] "%(q_num)s questions" + +#: skins/default/templates/main_page/headline.html:17 +#, python-format +msgid "with %(author_name)s's contributions" +msgstr "avec la contribution de %(author_name)s" + +#: skins/default/templates/main_page/headline.html:28 +msgid "Search tips:" +msgstr "Conseils pour la recherche:" + +#: skins/default/templates/main_page/headline.html:31 +msgid "reset author" +msgstr "Réinitialiser l'auteur" -#: skins/default/templates/unused/notarobot.html:3 -msgid "Please prove that you are a Human Being" +#: skins/default/templates/main_page/headline.html:33 +#: skins/default/templates/main_page/headline.html:36 +#: skins/default/templates/main_page/nothing_found.html:18 +#: skins/default/templates/main_page/nothing_found.html:21 +#, fuzzy +msgid " or " +msgstr "ou" + +#: skins/default/templates/main_page/headline.html:34 +msgid "reset tags" +msgstr "Réinitialiser les tags" + +#: skins/default/templates/main_page/headline.html:37 +#: skins/default/templates/main_page/headline.html:40 +msgid "start over" +msgstr "Recommencer" + +# FIXME +#: skins/default/templates/main_page/headline.html:42 +msgid " - to expand, or dig in by adding more tags and revising the query." msgstr "" -"Le captcha ci-dessous nous permet de vous assurer que vous êtes un humain. " -"Ceci permet de lutter contre les spammeurs, qui utilisent des robots pour " -"créer massivement et automatiquement des comptes..." +" - pour développer ou restreindre en ajoutant plus de tags et en révisant la " +"requête" -#: skins/default/templates/unused/notarobot.html:10 -msgid "I am a Human Being" -msgstr "Je suis un humain" +#: skins/default/templates/main_page/headline.html:45 +msgid "Search tip:" +msgstr "Conseil pour la recherche:" -#: skins/default/templates/unused/question_counter_widget.html:78 -msgid "Please decide if you like this question or not by voting" -msgstr "Veuillez indiquer si vous aimer ou non cette question en votant" +#: skins/default/templates/main_page/headline.html:45 +msgid "add tags and a query to focus your search" +msgstr "ajouter des tags et une requête pour affiner votre recherche" -#: skins/default/templates/unused/question_counter_widget.html:84 -msgid "" -"\n" -" vote\n" -" " -msgid_plural "" -"\n" -" votes\n" -" " -msgstr[0] "" -"\n" -"vote" -msgstr[1] "" -"\n" -"votes" +#: skins/default/templates/main_page/javascript.html:13 +#: skins/default/templates/main_page/javascript.html:14 +msgid "mark-tag/" +msgstr "marquer-avec-un-tag/" -#: skins/default/templates/unused/question_counter_widget.html:93 -#: skins/default/templates/unused/question_list.html:23 -#: skins/default/templates/unused/questions_ajax.html:27 -msgid "this answer has been accepted to be correct" -msgstr "cette réponse a été acceptée comme correcte" +#: skins/default/templates/main_page/javascript.html:13 +msgid "interesting/" +msgstr "interessant/" -#: skins/default/templates/unused/question_counter_widget.html:99 -msgid "" -"\n" -" answer \n" -" " -msgid_plural "" -"\n" -" answers \n" -" " -msgstr[0] "" -"\n" -"réponse" -msgstr[1] "" -"\n" -"réponses" +#: skins/default/templates/main_page/javascript.html:14 +msgid "ignored/" +msgstr "ignoree/" -#: skins/default/templates/unused/question_counter_widget.html:111 -msgid "" -"\n" -" view\n" -" " -msgid_plural "" -"\n" -" views\n" -" " -msgstr[0] "" -"\n" -"visualisation" -msgstr[1] "" -"\n" -"visualisations" +# FIXME +#: skins/default/templates/main_page/javascript.html:15 +msgid "unmark-tag/" +msgstr "retirer-un-tag/" -#: skins/default/templates/unused/question_list.html:15 -msgid "" -"\n" -" vote\n" -" " -msgid_plural "" -"\n" -" votes\n" -" " -msgstr[0] "" -"\n" -"vote" -msgstr[1] "" -"\n" -"votes" +#: skins/default/templates/main_page/nothing_found.html:4 +msgid "There are no unanswered questions here" +msgstr "Il n'y a aucune question sans réponse" -#: skins/default/templates/unused/question_list.html:35 -msgid "" -"\n" -" answer \n" -" " -msgid_plural "" -"\n" -" answers \n" -" " -msgstr[0] "" -"\n" -"reponse" -msgstr[1] "" -"\n" -"reponses " +#: skins/default/templates/main_page/nothing_found.html:7 +msgid "No favorite questions here. " +msgstr "Aucune question favorite." -#: skins/default/templates/unused/question_list.html:47 +#: skins/default/templates/main_page/nothing_found.html:8 +msgid "Please start (bookmark) some questions when you visit them" +msgstr "Merci de commencer (marquer) quelques questions quand vous les visitez" + +#: skins/default/templates/main_page/nothing_found.html:13 +msgid "You can expand your search by " +msgstr "Vous pouvez élargir votre recherche en" + +#: skins/default/templates/main_page/nothing_found.html:16 +msgid "resetting author" +msgstr "réinitialisant l'auteur" + +#: skins/default/templates/main_page/nothing_found.html:19 +msgid "resetting tags" +msgstr "réinitialisant les mots-clés (\"tags\")" + +#: skins/default/templates/main_page/nothing_found.html:22 +#: skins/default/templates/main_page/nothing_found.html:25 +msgid "starting over" +msgstr "repartant de zéro" + +#: skins/default/templates/main_page/nothing_found.html:30 +msgid "Please always feel free to ask your question!" +msgstr "N'hésitez pas à poser des questions !" + +#: skins/default/templates/main_page/sidebar.html:5 +msgid "Contributors" +msgstr "Contributeurs" + +#: skins/default/templates/main_page/sidebar.html:22 +msgid "Related tags" +msgstr "Tags associés" + +# ##FIXME "In: [All questions] [Opened questions]" +# ##FIXME "Dans: [toutes les questions] [questions ouvertes]" +# ##FIXME "Questions: [toutes] [ouvertes]" POUR GAGNER DE LA PLACE !!! +#: skins/default/templates/main_page/tab_bar.html:5 +msgid "In:" +msgstr "Questions:" + +#: skins/default/templates/main_page/tab_bar.html:14 +msgid "see unanswered questions" +msgstr "Voir les questions sans réponses" + +#: skins/default/templates/main_page/tab_bar.html:20 +msgid "see your favorite questions" +msgstr "Voir vos questions favorites" + +#: skins/default/templates/main_page/tab_bar.html:25 +msgid "Sort by:" +msgstr "Trier par:" + +# FIXME ou bien "Annulation des emails de notification de mises à jour" ??? +#: skins/default/templates/user_profile/user.html:13 +#, python-format +msgid "%(username)s's profile" +msgstr "Profil de l'utilisateur %(username)s" + +#: skins/default/templates/user_profile/user_edit.html:4 +msgid "Edit user profile" +msgstr "Modifier le profil utilisateur" + +#: skins/default/templates/user_profile/user_edit.html:7 +msgid "edit profile" +msgstr "Modifier le profil" + +#: skins/default/templates/user_profile/user_edit.html:17 +#: skins/default/templates/user_profile/user_info.html:15 +msgid "change picture" +msgstr "changer d'image" + +#: skins/default/templates/user_profile/user_edit.html:20 +msgid "Registered user" +msgstr "Utilisateur enregistré" + +#: skins/default/templates/user_profile/user_edit.html:27 +msgid "Screen Name" +msgstr "Pseudo" + +#: skins/default/templates/user_profile/user_edit.html:83 +#: skins/default/templates/user_profile/user_email_subscriptions.html:21 +msgid "Update" +msgstr "Mettre à jour" + +#: skins/default/templates/user_profile/user_email_subscriptions.html:4 +#: skins/default/templates/user_profile/user_tabs.html:36 +msgid "subscriptions" +msgstr "Abonnements aux emails" + +#: skins/default/templates/user_profile/user_email_subscriptions.html:7 +msgid "Email subscription settings" +msgstr "Paramètres d'abonnement aux emails" + +#: skins/default/templates/user_profile/user_email_subscriptions.html:8 +msgid "email subscription settings info" +msgstr "" +"<span class='big strong'>Infos concernant les paramètres d'abonnement aux " +"emails </span> Ceci vous permet de vous abonner aux questions que vous " +"trouvez intéressantes. Vous recevrez les réponses par email. " + +#: skins/default/templates/user_profile/user_email_subscriptions.html:22 +msgid "Stop sending email" +msgstr "Arrêter d'envoyer des emails" + +#: skins/default/templates/user_profile/user_favorites.html:4 +#: skins/default/templates/user_profile/user_tabs.html:21 +msgid "favorites" +msgstr "favorites" + +#: skins/default/templates/user_profile/user_inbox.html:18 +#: skins/default/templates/user_profile/user_tabs.html:12 +msgid "inbox" +msgstr "" + +#: skins/default/templates/user_profile/user_inbox.html:34 +#, fuzzy +msgid "Sections:" +msgstr "questions" + +#: skins/default/templates/user_profile/user_inbox.html:38 +#, python-format +msgid "forum responses (%(re_count)s)" +msgstr "" + +#: skins/default/templates/user_profile/user_inbox.html:43 +#, python-format +msgid "flagged items (%(flag_count)s)" +msgstr "" + +#: skins/default/templates/user_profile/user_inbox.html:49 +#, fuzzy +msgid "select:" +msgstr "Supprimer" + +#: skins/default/templates/user_profile/user_inbox.html:51 +#, fuzzy +msgid "seen" +msgstr "dernière connexion" + +#: skins/default/templates/user_profile/user_inbox.html:52 +#, fuzzy +msgid "new" +msgstr "date (↓)" + +#: skins/default/templates/user_profile/user_inbox.html:53 +#, fuzzy +msgid "none" +msgstr "bronze" + +#: skins/default/templates/user_profile/user_inbox.html:54 +#, fuzzy +msgid "mark as seen" +msgstr "dernière connexion" + +# FIXME ou "ayant reçu une récompense" +#: skins/default/templates/user_profile/user_inbox.html:55 +#, fuzzy +msgid "mark as new" +msgstr "marquée comme meilleure réponse" + +#: skins/default/templates/user_profile/user_inbox.html:56 +msgid "dismiss" +msgstr "" + +#: skins/default/templates/user_profile/user_info.html:19 +msgid "remove" +msgstr "" + +#: skins/default/templates/user_profile/user_info.html:33 +msgid "update profile" +msgstr "Mettre à jour le profil" + +#: skins/default/templates/user_profile/user_info.html:37 +msgid "manage login methods" +msgstr "" + +#: skins/default/templates/user_profile/user_info.html:50 +msgid "real name" +msgstr "nom réél" + +#: skins/default/templates/user_profile/user_info.html:55 +msgid "member for" +msgstr "membre depuis" + +#: skins/default/templates/user_profile/user_info.html:60 +msgid "last seen" +msgstr "dernière connexion" + +#: skins/default/templates/user_profile/user_info.html:66 +msgid "user website" +msgstr "Site internet" + +#: skins/default/templates/user_profile/user_info.html:72 +msgid "location" +msgstr "Lieu" + +#: skins/default/templates/user_profile/user_info.html:79 +msgid "age" +msgstr "Age" + +#: skins/default/templates/user_profile/user_info.html:80 +msgid "age unit" +msgstr "ans " + +#: skins/default/templates/user_profile/user_info.html:87 +msgid "todays unused votes" +msgstr "Votes non utilisés aujourd'hui" + +#: skins/default/templates/user_profile/user_info.html:88 +msgid "votes left" +msgstr "votes restants" + +#: skins/default/templates/user_profile/user_moderate.html:4 +#: skins/default/templates/user_profile/user_tabs.html:42 +msgid "moderation" +msgstr "Modération" + +#: skins/default/templates/user_profile/user_moderate.html:8 +#, python-format +msgid "%(username)s's current status is \"%(status)s\"" +msgstr "Le statut actuel de %(username)s est \"%(status)s\"" + +#: skins/default/templates/user_profile/user_moderate.html:11 +msgid "User status changed" +msgstr "Statut de l'utilisateur modifié" + +#: skins/default/templates/user_profile/user_moderate.html:18 +msgid "Save" +msgstr "Enregistrer" + +#: skins/default/templates/user_profile/user_moderate.html:24 +#, python-format +msgid "Your current reputation is %(reputation)s points" +msgstr "Vous avez actuellement %(reputation)s points de réputation" + +#: skins/default/templates/user_profile/user_moderate.html:26 +#, python-format +msgid "User's current reputation is %(reputation)s points" +msgstr "Cet utilisateur a actuellement %(reputation)s points de réputation" + +#: skins/default/templates/user_profile/user_moderate.html:30 +msgid "User reputation changed" +msgstr "Réputation de l'utilisateur modifiée" + +#: skins/default/templates/user_profile/user_moderate.html:37 +msgid "Subtract" +msgstr "Soustraire" + +#: skins/default/templates/user_profile/user_moderate.html:42 +#, python-format +msgid "Send message to %(username)s" +msgstr "Envoyer un message à %(username)s" + +#: skins/default/templates/user_profile/user_moderate.html:43 msgid "" -"\n" -" view\n" -" " -msgid_plural "" -"\n" -" views\n" -" " -msgstr[0] "" -"\n" -"vue" -msgstr[1] "" -"\n" -"vues" +"An email will be sent to the user with 'reply-to' field set to your email " +"address. Please make sure that your address is entered correctly." +msgstr "" +"Un email sera envoyé à cet utilisateur avec le champ 'reply-to' pré-" +"renseigné avec votre adresse email, afin qu'il puisse vous répondre " +"directement. Merci de vérifier que votre adresse email est correcte." + +#: skins/default/templates/user_profile/user_moderate.html:45 +msgid "Message sent" +msgstr "Message envoyé" + +#: skins/default/templates/user_profile/user_moderate.html:63 +msgid "Send message" +msgstr "Envoyer le message" + +# TODO demander au développeur de faire 2 entrées distinctes. Une contiendra "date (↑)" et l'autre "date" +#: skins/default/templates/user_profile/user_recent.html:4 +#: skins/default/templates/user_profile/user_tabs.html:25 +msgid "activity" +msgstr "actualité (↓)" + +#: skins/default/templates/user_profile/user_reputation.html:4 +msgid "karma" +msgstr "" + +#: skins/default/templates/user_profile/user_reputation.html:11 +msgid "Your karma change log." +msgstr "L'évolution de votre Karma." + +#: skins/default/templates/user_profile/user_reputation.html:13 +#, python-format +msgid "%(user_name)s's karma change log" +msgstr "Evolution du karma de %(user_name)s" + +#: skins/default/templates/user_profile/user_stats.html:5 +#: skins/default/templates/user_profile/user_tabs.html:7 +msgid "overview" +msgstr "aperçu" + +#: skins/default/templates/user_profile/user_stats.html:11 +#, python-format +msgid "<span class=\"count\">%(counter)s</span> Question" +msgid_plural "<span class=\"count\">%(counter)s</span> Questions" +msgstr[0] "<span class=\"count\">%(counter)s</span> Question" +msgstr[1] "<span class=\"count\">%(counter)s</span> Questions" + +#: skins/default/templates/user_profile/user_stats.html:16 +#, python-format +msgid "<span class=\"count\">%(counter)s</span> Answer" +msgid_plural "<span class=\"count\">%(counter)s</span> Answers" +msgstr[0] "<span class=\"count\">%(counter)s</span> Réponse" +msgstr[1] "<span class=\"count\">%(counter)s</span> Réponses" + +#: skins/default/templates/user_profile/user_stats.html:24 +#, python-format +msgid "the answer has been voted for %(answer_score)s times" +msgstr "Cette réponse a obtenu %(answer_score)s votes positifs" + +#: skins/default/templates/user_profile/user_stats.html:24 +msgid "this answer has been selected as correct" +msgstr "Cette réponse a été sélectionnée comme correct" + +#: skins/default/templates/user_profile/user_stats.html:34 +#, python-format +msgid "(%(comment_count)s comment)" +msgid_plural "the answer has been commented %(comment_count)s times" +msgstr[0] "(%(comment_count)s commentaire)" +msgstr[1] "cette réponse a été commentée %(comment_count)s fois" + +#: skins/default/templates/user_profile/user_stats.html:44 +#, python-format +msgid "<span class=\"count\">%(cnt)s</span> Vote" +msgid_plural "<span class=\"count\">%(cnt)s</span> Votes " +msgstr[0] "<span class=\"count\">%(cnt)s</span> Vote" +msgstr[1] "<span class=\"count\">%(cnt)s</span> Votes " + +#: skins/default/templates/user_profile/user_stats.html:50 +msgid "thumb up" +msgstr "J'aime (+1)" + +#: skins/default/templates/user_profile/user_stats.html:51 +msgid "user has voted up this many times" +msgstr "L'utilisateur a voté positivement pour cela de nombreuses fois" + +#: skins/default/templates/user_profile/user_stats.html:54 +msgid "thumb down" +msgstr "J'aime pas (-1)" + +#: skins/default/templates/user_profile/user_stats.html:55 +msgid "user voted down this many times" +msgstr "L'utilisateur a voté négativement pour cela de nombreuses fois" + +#: skins/default/templates/user_profile/user_stats.html:63 +#, python-format +msgid "<span class=\"count\">%(counter)s</span> Tag" +msgid_plural "<span class=\"count\">%(counter)s</span> Tags" +msgstr[0] "<span class=\"count\">%(counter)s</span> Mot-clé" +msgstr[1] "<span class=\"count\">%(counter)s</span> Mots-clés" + +#: skins/default/templates/user_profile/user_stats.html:99 +#, python-format +msgid "<span class=\"count\">%(counter)s</span> Badge" +msgid_plural "<span class=\"count\">%(counter)s</span> Badges" +msgstr[0] "<span class=\"count\">%(counter)s</span> Badge" +msgstr[1] "<span class=\"count\">%(counter)s</span> Badges" + +#: skins/default/templates/user_profile/user_tabs.html:5 +msgid "User profile" +msgstr "Profil utilisateur" + +#: skins/default/templates/user_profile/user_tabs.html:10 views/users.py:728 +msgid "comments and answers to others questions" +msgstr "Commentaires et réponses à d'autres questions" + +#: skins/default/templates/user_profile/user_tabs.html:15 +msgid "graph of user reputation" +msgstr "Statistiques sur la réputation de cet utilisateur" + +#: skins/default/templates/user_profile/user_tabs.html:17 +msgid "reputation history" +msgstr "Historique de la réputation" + +#: skins/default/templates/user_profile/user_tabs.html:19 +msgid "questions that user selected as his/her favorite" +msgstr "questions favorites de cet utilisateur" + +#: skins/default/templates/user_profile/user_tabs.html:23 +msgid "recent activity" +msgstr "activité récente" + +#: skins/default/templates/user_profile/user_tabs.html:28 views/users.py:792 +msgid "user vote record" +msgstr "Trace des votes de cet utilisateur" + +# FIXME +#: skins/default/templates/user_profile/user_tabs.html:30 +msgid "casted votes" +msgstr "abgegebene Stimmen" + +#: skins/default/templates/user_profile/user_tabs.html:34 views/users.py:897 +msgid "email subscription settings" +msgstr "Paramètres d'abonnement aux emails" -#: skins/default/templates/unused/question_summary_list_roll.html:13 -msgid "answers" -msgstr "réponses" +#: skins/default/templates/user_profile/user_tabs.html:40 views/users.py:212 +msgid "moderate this user" +msgstr "Modérer cet utilisateur" -#: skins/default/templates/unused/question_summary_list_roll.html:14 +#: skins/default/templates/user_profile/user_votes.html:4 msgid "votes" msgstr "votes" -#: skins/default/templates/unused/question_summary_list_roll.html:15 -msgid "views" -msgstr "vues" +# FIXME coquille dans phrase anglaise ??? +#: skins/default/templates/user_profile/users_questions.html:9 +#: skins/default/templates/user_profile/users_questions.html:17 +#, fuzzy, python-format +msgid "this questions was selected as favorite %(cnt)s time" +msgid_plural "this questions was selected as favorite %(cnt)s times" +msgstr[0] "Cette question a été sélectionnée favorite" +msgstr[1] "Cette question a été sélectionnée favorite" + +#: skins/default/templates/user_profile/users_questions.html:10 +msgid "thumb-up on" +msgstr "J'aime (+1) activé" + +#: skins/default/templates/user_profile/users_questions.html:18 +msgid "thumb-up off" +msgstr "J'aime (+1) désactivé" -#: templatetags/extra_filters.py:168 templatetags/extra_filters_jinja.py:234 +#: templatetags/extra_filters.py:145 templatetags/extra_filters_jinja.py:227 msgid "no items in counter" msgstr "0" -#: utils/decorators.py:82 views/commands.py:132 views/commands.py:149 +#: utils/decorators.py:82 views/commands.py:128 views/commands.py:145 msgid "Oops, apologies - there was some error" msgstr "" @@ -5521,35 +5703,47 @@ msgid_plural "%(min)d mins ago" msgstr[0] "il y a %(min)d minute" msgstr[1] "il y a %(min)d minutes" -#: views/commands.py:42 +#: views/avatar_views.py:94 +msgid "Successfully uploaded a new avatar." +msgstr "" + +#: views/avatar_views.py:134 +msgid "Successfully updated your avatar." +msgstr "" + +#: views/avatar_views.py:173 +msgid "Successfully deleted the requested avatars." +msgstr "" + +#: views/commands.py:38 msgid "anonymous users cannot vote" msgstr "les utilisateurs anonymes ne peuvent pas voter" -#: views/commands.py:62 +#: views/commands.py:58 msgid "Sorry you ran out of votes for today" msgstr "Désolé, vous avez épuisé votre crédit de votes pour ajourd'hui" -#: views/commands.py:68 +#: views/commands.py:64 #, python-format msgid "You have %(votes_left)s votes left for today" msgstr "Il vous reste un crédit de %(votes_left)s votes pour aujourd'hui" -#: views/commands.py:139 +#: views/commands.py:135 #, fuzzy msgid "Sorry, but anonymous users cannot access the inbox" msgstr "" "Désolé, mais les utilisateurs anonymes ne peuvent aps accepter les réponses" -#: views/commands.py:209 +#: views/commands.py:205 msgid "Sorry, something is not right here..." msgstr "Désolé, il semble y avoir un problème..." -#: views/commands.py:224 +#: views/commands.py:220 msgid "Sorry, but anonymous users cannot accept answers" msgstr "" "Désolé, mais les utilisateurs anonymes ne peuvent aps accepter les réponses" -#: views/commands.py:305 +#: views/commands.py:301 #, python-format msgid "subscription saved, %(email)s needs validation, see %(details_url)s" msgstr "" @@ -5557,42 +5751,47 @@ msgstr "" "email %(email)s ; <a href='%(details_url)s'>Cliquez ici pour en savoir plus</" "a>." -#: views/commands.py:313 +#: views/commands.py:309 msgid "email update frequency has been set to daily" msgstr "" "La fréquence d'envoi des emails de notification de mises à jour est " "désormais \"quotidienne\"." -#: views/commands.py:371 -#, fuzzy -msgid "Bad request" -msgstr "Requête invalide" +#: views/commands.py:413 +#, python-format +msgid "Tag subscription was canceled (<a href=\"%(url)s\">undo</a>)." +msgstr "" + +#: views/commands.py:422 +#, python-format +msgid "Please sign in to subscribe for: %(tags)s" +msgstr "" # FIXME à vérifier -#: views/meta.py:68 +#: views/meta.py:63 msgid "Q&A forum feedback" msgstr "" "Vos remarques, critiques et suggestions sur notre forum de questions/réponses" -#: views/meta.py:69 +#: views/meta.py:64 msgid "Thanks for the feedback!" msgstr "Merci pour vos remarques !" -#: views/meta.py:79 +#: views/meta.py:72 msgid "We look forward to hearing your feedback! Please, give it next time :)" msgstr "" "Nous aimerions bien savoir ce que vous pensez de notre service de questions/" "réponses ! Lors de votre prochaine visite, n'hésitez pas à nous envoyer vos " "remarques, critiques et suggestions ;o)" -#: views/readers.py:188 +#: views/readers.py:165 #, python-format msgid "%(badge_count)d %(badge_level)s badge" msgid_plural "%(badge_count)d %(badge_level)s badges" msgstr[0] "%(badge_count)d %(badge_level)s badge" msgstr[1] "%(badge_count)d %(badge_level)s badges" -#: views/readers.py:425 +#: views/readers.py:388 #, fuzzy msgid "" "Sorry, the comment you are looking for has been deleted and is no longer " @@ -5600,16 +5799,16 @@ msgid "" msgstr "Désolé, cette question a été supprimée, et n'est plus accessible." # FIXME -#: views/users.py:217 +#: views/users.py:213 msgid "moderate user" msgstr "utilisateur modéré" # FIXME ou bien "Annulation des emails de notification de mises à jour" ??? -#: views/users.py:376 +#: views/users.py:377 msgid "user profile" msgstr "profil de l'utilisateur" -#: views/users.py:377 +#: views/users.py:378 msgid "user profile overview" msgstr "infOs générales sur le profil de l'utilisateur" @@ -5621,39 +5820,39 @@ msgstr "activité récente de l'utilisateur" msgid "profile - recent activity" msgstr "profil - activité récente" -#: views/users.py:730 +#: views/users.py:729 msgid "profile - responses" msgstr "profil - réactions" -#: views/users.py:795 +#: views/users.py:793 msgid "profile - votes" msgstr "profil - votes" -#: views/users.py:833 +#: views/users.py:828 msgid "user reputation in the community" msgstr "réputation de l'utilisateur au sein de la communauté" -#: views/users.py:834 +#: views/users.py:829 msgid "profile - user reputation" msgstr "profil - réputation de l'utilisateur" -#: views/users.py:862 +#: views/users.py:856 msgid "users favorite questions" msgstr "questions favorites des utilisateurs" -#: views/users.py:863 +#: views/users.py:857 msgid "profile - favorite questions" msgstr "profil - questions favorites" -#: views/users.py:883 views/users.py:887 +#: views/users.py:876 views/users.py:880 msgid "changes saved" msgstr "Modifications enregistrées." -#: views/users.py:893 +#: views/users.py:886 msgid "email updates canceled" msgstr "Modification(s) d'email(s) annulée(s)" -#: views/users.py:905 +#: views/users.py:898 msgid "profile - email subscriptions" msgstr "profil - abonnements emails" @@ -5662,24 +5861,24 @@ msgid "Sorry, anonymous users cannot upload files" msgstr "" "Désolé, les utilisateurs anonymes ne peuvent pas transférer de fichiers" -#: views/writers.py:65 +#: views/writers.py:66 #, python-format msgid "allowed file types are '%(file_types)s'" msgstr "Les types de fichiers autoprisés sont '%(file_types)s'" -#: views/writers.py:88 +#: views/writers.py:89 #, python-format msgid "maximum upload file size is %(file_size)sK" msgstr "" "La taille maximale autorisée pour un fichier est de %(file_size)s Kilo-octets" -#: views/writers.py:96 +#: views/writers.py:97 msgid "Error uploading file. Please contact the site administrator. Thank you." msgstr "" "Une erreur est survenue lors du transfert du fichier sur notre serveur. " "Merci de contacter l'administrateur." -#: views/writers.py:452 +#: views/writers.py:555 #, python-format msgid "" "Sorry, you appear to be logged out and cannot post comments. Please <a href=" @@ -5689,13 +5888,13 @@ msgstr "" "déconnecté. Merci d'essayer de vous <a href=\"%(sign_in_url)s\">reconnecter</" "a>." -#: views/writers.py:497 +#: views/writers.py:600 #, fuzzy msgid "Sorry, anonymous users cannot edit comments" msgstr "" "Désolé, les utilisateurs anonymes ne peuvent pas transférer de fichiers" -#: views/writers.py:505 +#: views/writers.py:608 #, python-format msgid "" "Sorry, you appear to be logged out and cannot delete comments. Please <a " @@ -5705,11 +5904,217 @@ msgstr "" "déconnecté. Merci d'essayer de vous <a href=\"%(sign_in_url)s\">reconnecter</" "a>." -#: views/writers.py:526 +#: views/writers.py:629 msgid "sorry, we seem to have some technical difficulties" msgstr "" "Désolé, nous rencontrons apparemment des difficultés d'ordre techniques..." +#~ msgid "community wiki" +#~ msgstr "Wiki communautaire" + +#~ msgid "Location" +#~ msgstr "Lieu" + +#~ msgid "command/" +#~ msgstr "commande/" + +#~ msgid "search/" +#~ msgstr "chercher/" + +#~ msgid "allow only selected tags" +#~ msgstr "autoriser uniquement les mots-clés sélectionnés" + +#~ msgid "Email verification subject line" +#~ msgstr "Vérification de votre adresse email" + +#, fuzzy +#~ msgid "Posted 10 comments" +#~ msgstr "ajouter des commentaires" + +#~ msgid "About" +#~ msgstr "A propos" + +#~ msgid "how to validate email title" +#~ msgstr "Comment valider le titre du courriel" + +# FIXME +#~ msgid "" +#~ "how to validate email info with %(send_email_key_url)s %(gravatar_faq_url)" +#~ "s" +#~ msgstr "" +#~ "Informations concernant la procédure de validation d'email avec " +#~ "%(send_email_key_url)s %(gravatar_faq_url)s" + +#~ msgid "." +#~ msgstr "." + +#~ msgid "" +#~ "As a registered user you can login with your OpenID, log out of the site " +#~ "or permanently remove your account." +#~ msgstr "" +#~ "Etant un utilisateur enregistré, vous pouvez vous connecter avec votre " +#~ "OpenID, vous déconnecter du site, ou supprimer définitivement votre " +#~ "compte." + +#~ msgid "Logout now" +#~ msgstr "Se déconnecter" + +#~ msgid "see questions tagged '%(tag_name)s'" +#~ msgstr "Voir les questions marquées par '%(tag_name)s' " + +#, fuzzy +#~ msgid "" +#~ "\n" +#~ " %(q_num)s question\n" +#~ " " +#~ msgid_plural "" +#~ "\n" +#~ " %(q_num)s questions\n" +#~ " " +#~ msgstr[0] "" +#~ "\n" +#~ " Nous avons trouvé %(q_num)s question" +#~ msgstr[1] "" +#~ "\n" +#~ " Nous avons trouvé %(q_num)s questions" + +#~ msgid "tagged" +#~ msgstr "marquée avec des mots-clés" + +#~ msgid "remove '%(tag_name)s' from the list of interesting tags" +#~ msgstr "Retirer '%(tag_name)s' de la liste des tags intéressants" + +#~ msgid "remove '%(tag_name)s' from the list of ignored tags" +#~ msgstr "Retirer '%(tag_name)s' de la liste des tags ignorés" + +#~ msgid "keep ignored questions hidden" +#~ msgstr "Continuer de masquer les questions ignorées" + +#~ msgid "" +#~ "see other questions with %(view_user)s's contributions tagged '%(tag_name)" +#~ "s' " +#~ msgstr "" +#~ "voir d'autres questions de %(view_user)s marquées avec les mots-clés " +#~ "'%(tag_name)s'" + +#~ msgid "home" +#~ msgstr "accueil" + +#~ msgid "Please prove that you are a Human Being" +#~ msgstr "" +#~ "Le captcha ci-dessous nous permet de vous assurer que vous êtes un " +#~ "humain. Ceci permet de lutter contre les spammeurs, qui utilisent des " +#~ "robots pour créer massivement et automatiquement des comptes..." + +#~ msgid "I am a Human Being" +#~ msgstr "Je suis un humain" + +#~ msgid "Please decide if you like this question or not by voting" +#~ msgstr "Veuillez indiquer si vous aimer ou non cette question en votant" + +#~ msgid "" +#~ "\n" +#~ " vote\n" +#~ " " +#~ msgid_plural "" +#~ "\n" +#~ " votes\n" +#~ " " +#~ msgstr[0] "" +#~ "\n" +#~ "vote" +#~ msgstr[1] "" +#~ "\n" +#~ "votes" + +#~ msgid "this answer has been accepted to be correct" +#~ msgstr "cette réponse a été acceptée comme correcte" + +#~ msgid "" +#~ "\n" +#~ " answer \n" +#~ " " +#~ msgid_plural "" +#~ "\n" +#~ " answers \n" +#~ " " +#~ msgstr[0] "" +#~ "\n" +#~ "réponse" +#~ msgstr[1] "" +#~ "\n" +#~ "réponses" + +#~ msgid "" +#~ "\n" +#~ " view\n" +#~ " " +#~ msgid_plural "" +#~ "\n" +#~ " views\n" +#~ " " +#~ msgstr[0] "" +#~ "\n" +#~ "visualisation" +#~ msgstr[1] "" +#~ "\n" +#~ "visualisations" + +#~ msgid "" +#~ "\n" +#~ " vote\n" +#~ " " +#~ msgid_plural "" +#~ "\n" +#~ " votes\n" +#~ " " +#~ msgstr[0] "" +#~ "\n" +#~ "vote" +#~ msgstr[1] "" +#~ "\n" +#~ "votes" + +#~ msgid "" +#~ "\n" +#~ " answer \n" +#~ " " +#~ msgid_plural "" +#~ "\n" +#~ " answers \n" +#~ " " +#~ msgstr[0] "" +#~ "\n" +#~ "reponse" +#~ msgstr[1] "" +#~ "\n" +#~ "reponses " + +#~ msgid "" +#~ "\n" +#~ " view\n" +#~ " " +#~ msgid_plural "" +#~ "\n" +#~ " views\n" +#~ " " +#~ msgstr[0] "" +#~ "\n" +#~ "vue" +#~ msgstr[1] "" +#~ "\n" +#~ "vues" + +#~ msgid "answers" +#~ msgstr "réponses" + +#~ msgid "views" +#~ msgstr "vues" + +#, fuzzy +#~ msgid "Bad request" +#~ msgstr "Requête invalide" + #~ msgid "Askbot" #~ msgstr "Askbot" @@ -5843,15 +6248,9 @@ msgstr "" #~ msgid "Active in many different tags" #~ msgstr "Actif dans de nombreuses catégories de questions" -#~ msgid "Expert" -#~ msgstr "Expert" - #~ msgid "expert" #~ msgstr "expert" -#~ msgid "Very active in one tag" -#~ msgstr "Très actif dans une catégorie de questions" - #~ msgid "Yearling" #~ msgstr "Yearling (moins d'un an d'activité)" @@ -5888,15 +6287,9 @@ msgstr "" #~ msgid "necromancer" #~ msgstr "necromancien" -#~ msgid "Taxonomist" -#~ msgstr "Taxonomiste" - #~ msgid "taxonomist" #~ msgstr "taxonomiste" -#~ msgid "Created a tag used by 50 questions" -#~ msgstr "A créé un mot-clé (tag) utilisé par 50 questions" - #, fuzzy #~ msgid "%(type)s" #~ msgstr "le %(date)s" @@ -5915,18 +6308,12 @@ msgstr "" #~ msgid "email" #~ msgstr "email" -#~ msgid "anonymous" -#~ msgstr "anonyme" - #~ msgid "Message body:" #~ msgstr "Corps du message:" #~ msgid "Thank you for registering at our Q&A forum!" #~ msgstr "Merci de vous être inscrit sur notre forum de Questions/Réponses !" -#~ msgid "Your account details are:" -#~ msgstr "Informations détaillées sur votre compte:" - #~ msgid "Username:" #~ msgstr "Nom d'utilisateur :" @@ -6112,9 +6499,6 @@ msgstr "" #~ msgid "Change openid associated to your account" #~ msgstr "Changer l'OpenID associé à votre compte" -#~ msgid "Delete account" -#~ msgstr "Supprimer le compte" - #~ msgid "Erase your username and all your data from website" #~ msgstr "" #~ "Supprimer votre nom d'utilisateur et toutes vos données de notre site" @@ -6478,9 +6862,6 @@ msgstr "" #~ msgid "Open the previously closed question" #~ msgstr "Ouvrir la question précédemment close" -#~ msgid "The question was closed for the following reason " -#~ msgstr "Cette question a été close pour la raison suivante " - #~ msgid "reason - leave blank in english" #~ msgstr "raison" diff --git a/askbot/locale/ru/LC_MESSAGES/django.po b/askbot/locale/ru/LC_MESSAGES/django.po index b9bbf7f9..d717afc0 100644 --- a/askbot/locale/ru/LC_MESSAGES/django.po +++ b/askbot/locale/ru/LC_MESSAGES/django.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-12-23 16:49-0600\n" +"POT-Creation-Date: 2011-05-16 01:42-0500\n" "PO-Revision-Date: 2010-12-22 20:39\n" "Last-Translator: <litnimaxster@gmail.com>\n" "Language-Team: LANGUAGE <LL@li.org>\n" @@ -18,7 +18,7 @@ msgstr "" "Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%" "10<=4 && (n%100<10 || n%100>=20) ? 1 : 2\n" -#: exceptions.py:9 +#: exceptions.py:13 msgid "Sorry, but anonymous visitors cannot access this function" msgstr "" "Извините, но к Ñожалению Ñта Ñ„ÑƒÐ½ÐºÑ†Ð¸Ñ Ð½ÐµÐ´Ð¾Ñтупна Ð´Ð»Ñ Ð½ÐµÐ°Ð²Ñ‚Ð¾Ñ€Ð¸Ð·Ð¾Ð²Ð°Ð½Ð½Ñ‹Ñ… " @@ -32,45 +32,59 @@ msgstr "-" msgid "latest questions" msgstr "новые вопроÑÑ‹" -#: forms.py:54 skins/default/templates/answer_edit_tips.html:43 -#: skins/default/templates/answer_edit_tips.html:47 -#: skins/default/templates/question_edit_tips.html:40 -#: skins/default/templates/question_edit_tips.html:45 +#: forms.py:73 +#, fuzzy +msgid "select country" +msgstr "Удалить аккаунт" + +#: forms.py:82 +msgid "Country" +msgstr "" + +#: forms.py:90 +#, fuzzy +msgid "Country field is required" +msgstr "Ñто поле обÑзательное" + +#: forms.py:103 skins/default/templates/blocks/answer_edit_tips.html:43 +#: skins/default/templates/blocks/answer_edit_tips.html:47 +#: skins/default/templates/blocks/question_edit_tips.html:38 +#: skins/default/templates/blocks/question_edit_tips.html:43 msgid "title" msgstr "заголовок" -#: forms.py:55 +#: forms.py:104 msgid "please enter a descriptive title for your question" msgstr "пожалуйÑта, введите заголовок, Ñодержащий Ñуть вашего вопроÑа" -#: forms.py:60 +#: forms.py:109 msgid "title must be > 10 characters" msgstr "заголовок должен иметь Ñ…Ð¾Ñ‚Ñ Ð±Ñ‹ 10 букв" -#: forms.py:69 +#: forms.py:118 msgid "content" msgstr "оÑновное Ñодержание" -#: forms.py:75 +#: forms.py:124 msgid "question content must be > 10 characters" msgstr "Ñодержание вопроÑа должно быть более 10-ти букв" -#: forms.py:84 skins/default/templates/header.html:31 +#: forms.py:133 skins/default/templates/blocks/header.html:22 msgid "tags" msgstr "Ñ‚Ñги" -#: forms.py:86 +#: forms.py:135 msgid "" "Tags are short keywords, with no spaces within. Up to five tags can be used." msgstr "" "Теги - ключевые Ñлова, характеризующие вопроÑ. Теги отделÑÑŽÑ‚ÑÑ Ð¿Ñ€Ð¾Ð±ÐµÐ»Ð¾Ð¼, " "может быть иÑпользовано до 5 тегов." -#: forms.py:93 skins/default/templates/question_retag.html:78 +#: forms.py:142 skins/default/templates/question_retag.html:58 msgid "tags are required" msgstr "теги (ключевые Ñлова) обÑзательны" -#: forms.py:102 +#: forms.py:151 #, python-format msgid "please use %(tag_count)d tag or less" msgid_plural "please use %(tag_count)d tags or less" @@ -78,7 +92,7 @@ msgstr[0] "пожалуйÑта введите не более %(tag_count)d ÑÐ msgstr[1] "пожалуйÑта введите не более %(tag_count)d Ñлова" msgstr[2] "пожалуйÑта введите не более %(tag_count)d Ñлов" -#: forms.py:111 +#: forms.py:160 #, python-format msgid "each tag must be shorter than %(max_chars)d character" msgid_plural "each tag must be shorter than %(max_chars)d characters" @@ -86,17 +100,15 @@ msgstr[0] "каждое Ñлово должно быть не более %(max_c msgstr[1] "каждое Ñлово должно быть не более %(max_chars)d буквы" msgstr[2] "каждое Ñлово должно быть не более %(max_chars)d букв" -#: forms.py:119 +#: forms.py:168 msgid "use-these-chars-in-tags" msgstr "допуÑкаетÑÑ Ð¸Ñпользование только Ñимвола Ð´ÐµÑ„Ð¸Ñ \"-\"" -#: forms.py:130 -#: skins/default/templates/unused/question_summary_list_roll.html:26 -#: skins/default/templates/unused/question_summary_list_roll.html:38 -msgid "community wiki" -msgstr "вики ÑообщеÑтва" +#: forms.py:203 +msgid "community wiki (karma is not awarded & many others can edit wiki post)" +msgstr "" -#: forms.py:131 +#: forms.py:204 msgid "" "if you choose community wiki option, the question and answer do not generate " "points and name of author will not be shown" @@ -104,11 +116,11 @@ msgstr "" "еÑли вы отметите \"вики ÑообщеÑтва\", то Ð²Ð¾Ð¿Ñ€Ð¾Ñ Ð¸ ответ не дадут вам кармы и " "Ð¸Ð¼Ñ Ð°Ð²Ñ‚Ð¾Ñ€Ð° не будет отображатьÑÑ" -#: forms.py:147 +#: forms.py:220 msgid "update summary:" msgstr "Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð¾Ð± обновлениÑÑ…:" -#: forms.py:148 +#: forms.py:221 msgid "" "enter a brief summary of your revision (e.g. fixed spelling, grammar, " "improved style, this field is optional)" @@ -116,53 +128,53 @@ msgstr "" "еÑли у Ð’Ð°Ñ ÐµÑÑ‚ÑŒ желание, то кратко опишите здеÑÑŒ Ñуть вашей правки (например " "- иÑправление орфографии, грамматики, ÑтилÑ)" -#: forms.py:204 +#: forms.py:284 msgid "Enter number of points to add or subtract" msgstr "Введите количеÑтво очков которые Ð’Ñ‹ ÑобираетеÑÑŒ вычеÑÑ‚ÑŒ или добавить." -#: forms.py:218 const/__init__.py:220 +#: forms.py:298 const/__init__.py:230 msgid "approved" msgstr "проÑтой гражданин" -#: forms.py:219 const/__init__.py:221 +#: forms.py:299 const/__init__.py:231 msgid "watched" msgstr "поднадзорный пользователь" -#: forms.py:220 const/__init__.py:222 +#: forms.py:300 const/__init__.py:232 msgid "suspended" msgstr "ограниченный в правах" -#: forms.py:221 const/__init__.py:223 +#: forms.py:301 const/__init__.py:233 msgid "blocked" msgstr "заблокированный пользователь" -#: forms.py:223 const/__init__.py:219 +#: forms.py:303 const/__init__.py:229 msgid "moderator" msgstr "модератор" -#: forms.py:243 +#: forms.py:323 msgid "Change status to" msgstr "Измененить ÑÑ‚Ð°Ñ‚ÑƒÑ Ð½Ð°" -#: forms.py:270 +#: forms.py:350 msgid "which one?" msgstr "который?" -#: forms.py:291 +#: forms.py:371 msgid "Cannot change own status" msgstr "Извините, но ÑобÑтвенный ÑÑ‚Ð°Ñ‚ÑƒÑ Ð¸Ð·Ð¼ÐµÐ½Ð¸Ñ‚ÑŒ нельзÑ" -#: forms.py:297 +#: forms.py:377 msgid "Cannot turn other user to moderator" msgstr "" "Извините, но у Ð’Ð°Ñ Ð½ÐµÑ‚ возможноÑти давать другим пользователÑм ÑÑ‚Ð°Ñ‚ÑƒÑ " "модератора" -#: forms.py:304 +#: forms.py:384 msgid "Cannot change status of another moderator" msgstr "Извините, но у Ð’Ð°Ñ Ð½ÐµÑ‚ возможноÑти изменÑÑ‚ÑŒ ÑÑ‚Ð°Ñ‚ÑƒÑ Ð¼Ð¾Ð´ÐµÑ€Ð°Ñ‚Ð¾Ñ€Ð¾Ð²" -#: forms.py:310 +#: forms.py:390 #, python-format msgid "" "If you wish to change %(username)s's status, please make a meaningful " @@ -171,216 +183,235 @@ msgstr "" "ЕÑли Ð’Ñ‹ хотите изменить ÑÑ‚Ð°Ñ‚ÑƒÑ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ %(username)s, Ñто можно Ñделать " "ÑдеÑÑŒ" -#: forms.py:319 +#: forms.py:399 msgid "Subject line" msgstr "Тема" -#: forms.py:326 +#: forms.py:406 msgid "Message text" msgstr "ТекÑÑ‚ ÑообщениÑ" -#: forms.py:403 +#: forms.py:489 msgid "Your name:" msgstr "Ваше имÑ:" -#: forms.py:404 +#: forms.py:490 msgid "Email (not shared with anyone):" msgstr "ÐÐ´Ñ€ÐµÑ Ñлектронной почты (держитÑÑ Ð² Ñекрете):" -#: forms.py:405 +#: forms.py:491 msgid "Your message:" msgstr "Ваше Ñообщение:" -#: forms.py:492 -msgid "this email does not have to be linked to gravatar" +#: forms.py:528 +#, fuzzy +msgid "ask anonymously" +msgstr "анонимный" + +#: forms.py:530 +msgid "Check if you do not want to reveal your name when asking this question" +msgstr "" + +#: forms.py:672 +msgid "" +"You have asked this question anonymously, if you decide to reveal your " +"identity, please check this box." +msgstr "" + +#: forms.py:676 +msgid "reveal identity" +msgstr "" + +#: forms.py:734 +msgid "" +"Sorry, only owner of the anonymous question can reveal his or her identity, " +"please uncheck the box" +msgstr "" + +#: forms.py:747 +msgid "" +"Sorry, apparently rules have just changed - it is no longer possible to ask " +"anonymously. Please either check the \"reveal identity\" box or reload this " +"page and try editing the question again." +msgstr "" + +#: forms.py:785 +#, fuzzy +msgid "this email will be linked to gravatar" msgstr "Ðтот Ð°Ð´Ñ€ÐµÑ Ð°ÑÑоциирован Ñ Ð³Ð»Ð¾Ð±Ð°Ð»ÑŒÐ½Ñ‹Ð¼ аватаром (gravatar)" -#: forms.py:499 +#: forms.py:792 msgid "Real name" msgstr "ÐаÑтоÑщее имÑ" -#: forms.py:506 +#: forms.py:799 msgid "Website" msgstr "ВебÑайт" -#: forms.py:513 -msgid "Location" -msgstr "МеÑтоположение" +#: forms.py:806 +#, fuzzy +msgid "City" +msgstr "Критик" + +#: forms.py:815 +#, fuzzy +msgid "Show country" +msgstr "Показывать подвал Ñтраницы." -#: forms.py:520 +#: forms.py:820 msgid "Date of birth" msgstr "День рождениÑ" -#: forms.py:521 +#: forms.py:821 msgid "will not be shown, used to calculate age, format: YYYY-MM-DD" msgstr "показываетÑÑ Ñ‚Ð¾Ð»ÑŒÐºÐ¾ возраÑÑ‚, формат ГГГГ-ММ-ДД" -#: forms.py:527 +#: forms.py:827 msgid "Profile" msgstr "Профиль" -#: forms.py:536 +#: forms.py:836 msgid "Screen name" msgstr "Ðазвание Ñкрана" -#: forms.py:561 forms.py:562 +#: forms.py:867 forms.py:868 msgid "this email has already been registered, please use another one" msgstr "Ñтот Ð°Ð´Ñ€ÐµÑ ÑƒÐ¶Ðµ зарегиÑтрирован, пожалуйÑта введите другой" -#: forms.py:568 +#: forms.py:875 msgid "Choose email tag filter" msgstr "Выберите тип фильтра по темам (ключевым Ñловам)" -#: forms.py:607 +#: forms.py:915 msgid "Asked by me" msgstr "Заданные мной" -#: forms.py:610 +#: forms.py:918 msgid "Answered by me" msgstr "Отвеченные мной" -#: forms.py:613 +#: forms.py:921 msgid "Individually selected" msgstr "Выбранные индивидуально" -#: forms.py:616 +#: forms.py:924 msgid "Entire forum (tag filtered)" msgstr "ВеÑÑŒ форум (фильтрованный по темам)" -#: forms.py:620 +#: forms.py:928 msgid "Comments and posts mentioning me" msgstr "Ð¡Ð¾Ð¾Ð±Ñ‰ÐµÐ½Ð¸Ñ ÐºÐ¾Ñ‚Ð¾Ñ€Ñ‹Ðµ упоминают моё имÑ" -#: forms.py:678 +#: forms.py:998 msgid "okay, let's try!" msgstr "хорошо - попробуем!" -#: forms.py:679 +#: forms.py:999 msgid "no community email please, thanks" msgstr "ÑпаÑибо - не надо" -#: forms.py:683 +#: forms.py:1003 msgid "please choose one of the options above" msgstr "пожалуйÑта Ñделайте Ваш выбор (Ñм. выше)" -#: urls.py:42 +#: urls.py:44 msgid "about/" msgstr "" -#: urls.py:43 conf/site_settings.py:79 +#: urls.py:45 conf/site_settings.py:79 msgid "faq/" msgstr "" -#: urls.py:44 +#: urls.py:46 msgid "privacy/" msgstr "" -#: urls.py:45 +#: urls.py:47 msgid "logout/" msgstr "" -#: urls.py:47 urls.py:52 +#: urls.py:49 urls.py:54 msgid "answers/" msgstr "otvety/" -#: urls.py:47 urls.py:68 urls.py:164 +#: urls.py:49 urls.py:75 urls.py:186 msgid "edit/" msgstr "" -#: urls.py:52 urls.py:98 +#: urls.py:54 urls.py:105 msgid "revisions/" msgstr "" -#: urls.py:58 urls.py:63 urls.py:68 urls.py:73 urls.py:78 urls.py:83 -#: urls.py:88 urls.py:93 urls.py:98 skins/default/templates/question.html:431 +#: urls.py:60 urls.py:70 urls.py:75 urls.py:80 urls.py:85 urls.py:90 +#: urls.py:95 urls.py:100 urls.py:105 +#: skins/default/templates/question.html:436 msgid "questions/" msgstr "voprosy/" -#: urls.py:63 +#: urls.py:70 msgid "ask/" msgstr "sprashivaem/" -#: urls.py:73 +#: urls.py:80 msgid "retag/" msgstr "izmenyaem-temy/" -#: urls.py:78 +#: urls.py:85 msgid "close/" msgstr "zakryvaem/" -#: urls.py:83 +#: urls.py:90 msgid "reopen/" msgstr "otkryvaem-zanovo/" -#: urls.py:88 +#: urls.py:95 msgid "answer/" msgstr "otvet/" -#: urls.py:93 skins/default/templates/question.html:431 +#: urls.py:100 skins/default/templates/question.html:436 msgid "vote/" msgstr "golosuem/" -#: urls.py:114 -msgid "command/" -msgstr "komanda/" - -#: urls.py:130 skins/default/templates/question.html:429 -#: skins/default/templates/questions.html:254 +#: urls.py:132 skins/default/templates/question.html:434 +#: skins/default/templates/main_page/javascript.html:18 msgid "question/" msgstr "vopros/" -#: urls.py:135 +#: urls.py:137 msgid "tags/" msgstr "temy/" -#: urls.py:140 urls.py:146 skins/default/templates/questions.html:249 -#: skins/default/templates/questions.html:250 -msgid "mark-tag/" -msgstr "pomechayem-temy/" - -#: urls.py:140 skins/default/templates/questions.html:249 -msgid "interesting/" -msgstr "interesnaya/" - -#: urls.py:146 skins/default/templates/questions.html:250 -msgid "ignored/" -msgstr "neinteresnaya/" - -#: urls.py:152 skins/default/templates/questions.html:251 -msgid "unmark-tag/" -msgstr "otmenyaem-pometku-temy/" +#: urls.py:175 +msgid "subscribe-for-tags/" +msgstr "" -#: urls.py:158 urls.py:164 urls.py:169 -#: skins/default/templates/questions.html:255 +#: urls.py:180 urls.py:186 urls.py:191 +#: skins/default/templates/main_page/javascript.html:19 msgid "users/" msgstr "lyudi/" -#: urls.py:174 urls.py:179 +#: urls.py:196 urls.py:201 msgid "badges/" msgstr "nagrady/" -#: urls.py:184 +#: urls.py:206 msgid "messages/" msgstr "soobsheniya/" -#: urls.py:184 +#: urls.py:206 msgid "markread/" msgstr "otmechaem-prochitannoye/" -#: urls.py:200 +#: urls.py:222 msgid "upload/" msgstr "zagruzhaem-file/" -#: urls.py:201 -msgid "search/" -msgstr "poisk/" - -#: urls.py:202 +#: urls.py:223 msgid "feedback/" msgstr "obratnaya-svyaz/" -#: urls.py:203 setup_templates/settings.py:182 -#: skins/default/templates/authopenid/signin.html:249 +#: urls.py:224 setup_templates/settings.py:202 +#: skins/default/templates/authopenid/providers_javascript.html:7 msgid "account/" msgstr "account/" @@ -472,19 +503,41 @@ msgstr "ПопулÑрный вопроÑ: минимальное ÐºÐ¾Ð»Ð¸Ñ‡ÐµÑ msgid "Stellar Question: minimum stars" msgstr "Гениальный вопроÑ: минимальное количеÑтво закладок" -#: conf/email.py:12 +#: conf/badges.py:210 +msgid "Commentator: minimum comments" +msgstr "" + +#: conf/badges.py:219 +msgid "Taxonomist: minimum tag use count" +msgstr "" + +#: conf/badges.py:228 +msgid "Enthusiast: minimum days" +msgstr "" + +#: conf/email.py:14 msgid "Email and email alert settings" msgstr "ÐÐ»ÐµÐºÑ‚Ñ€Ð¾Ð½Ð½Ð°Ñ Ð¿Ð¾Ñ‡Ñ‚Ð° и ÑиÑтема оповещений" -#: conf/email.py:20 +#: conf/email.py:22 +msgid "Prefix for the email subject line" +msgstr "ÐŸÑ€ÐµÑ„Ð¸ÐºÑ Ð´Ð»Ñ Ñлектронной почты в Ñтроке темы" + +#: conf/email.py:24 +msgid "" +"This setting takes default from the django settingEMAIL_SUBJECT_PREFIX. A " +"value entered here will overridethe default." +msgstr "" + +#: conf/email.py:36 msgid "Maximum number of news entries in an email alert" msgstr "МакÑимальное количеÑтво новоÑтей в оповеÑтительном Ñообщении" -#: conf/email.py:30 +#: conf/email.py:46 msgid "Default news notification frequency" msgstr "ÐœÐ¸Ð½Ð¸Ð¼Ð°Ð»ÑŒÐ½Ð°Ñ Ñ‡Ð°Ñтота раÑÑылки Ñообщений по умолчанию" -#: conf/email.py:32 +#: conf/email.py:48 msgid "" "This option currently defines default frequency of emailed updates in the " "following five categories: questions asked by user, answered by user, " @@ -496,35 +549,87 @@ msgstr "" "отдельно, вÑе вопроÑÑ‹ (отфильтрованные по темам) и ÑÐ¾Ð¾Ð±Ñ‰ÐµÐ½Ð¸Ñ ÐºÐ¾Ñ‚Ð¾Ñ€Ñ‹Ðµ " "упоминают Ð¸Ð¼Ñ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ, а также комментарии." -#: conf/email.py:47 +#: conf/email.py:62 +#, fuzzy +msgid "Send periodic reminders about unanswered questions" +msgstr "Ðеотвеченных вопроÑов нет" + +#: conf/email.py:64 +msgid "" +"NOTE: in order to use this feature, it is necessary to run the management " +"command \"send_unanswered_question_reminders\" (for example, via a cron job " +"- with an appropriate frequency) and an IMAP server with a dedicated inbox " +"must be configured " +msgstr "" + +#: conf/email.py:78 +#, fuzzy +msgid "Days before starting to send reminders about unanswered questions" +msgstr "Ðеотвеченных вопроÑов нет" + +#: conf/email.py:89 +msgid "" +"How often to send unanswered question reminders (in days between the " +"reminders sent)." +msgstr "" + +#: conf/email.py:101 +#, fuzzy +msgid "Max. number of reminders to send about unanswered questions" +msgstr "нажмите, чтобы увидеть поÑледние вопроÑÑ‹" + +#: conf/email.py:113 msgid "Require email verification before allowing to post" msgstr "" "Требовать Ð¿Ð¾Ð´Ñ‚Ð²ÐµÑ€Ð¶Ð´ÐµÐ½Ð¸Ñ Ð°Ð´Ñ€ÐµÑа Ñлектронной почты перед публикацией Ñообщений" -#: conf/email.py:48 +#: conf/email.py:114 msgid "" "Active email verification is done by sending a verification key in email" msgstr "" "Подтверждение адреÑа Ñлектронной почты оÑущеÑтвлÑетÑÑ Ð¾Ñ‚Ð¿Ñ€Ð°Ð²ÐºÐ¾Ð¹ ключа " "проверки на email" -#: conf/email.py:57 +#: conf/email.py:123 msgid "Allow only one account per email address" msgstr "Позволить только один аккаунт на каждый Ñлектронный почтовый адреÑ" -#: conf/email.py:66 +#: conf/email.py:132 msgid "Fake email for anonymous user" msgstr "Поддельный Ð°Ð´Ñ€ÐµÑ Ñлектронной почты Ð´Ð»Ñ Ð°Ð½Ð¾Ð½Ð¸Ð¼Ð½Ð¾Ð³Ð¾ пользователÑ" -#: conf/email.py:67 +#: conf/email.py:133 msgid "Use this setting to control gravatar for email-less user" msgstr "" "ИÑпользуйте Ñту уÑтановку Ð´Ð»Ñ Ð°Ð²Ð°Ñ‚Ð°Ñ€Ð° пользователей которые не ввели Ð°Ð´Ñ€ÐµÑ " "Ñлектронной почты." -#: conf/email.py:76 -msgid "Prefix for the email subject line" -msgstr "ÐŸÑ€ÐµÑ„Ð¸ÐºÑ Ð´Ð»Ñ Ñлектронной почты в Ñтроке темы" +#: conf/email.py:142 +#, fuzzy +msgid "Allow posting questions by email" +msgstr "" +"<span class=\"strong big\">ПожалуйÑта, начните задавать Ваш Ð²Ð¾Ñ€Ð¿Ð¾Ñ Ð°Ð½Ð¾Ð½Ð¸Ð¼Ð½Ð¾</" +"span>. Когда Ð’Ñ‹ пошлете вопроÑ, Ð’Ñ‹ будете направлены на Ñтраницу " +"авторизации. Ваш Ð²Ð¾Ð¿Ñ€Ð¾Ñ Ð±ÑƒÐ´ÐµÑ‚ Ñохранён в текущей ÑеÑÑии и будет опубликован " +"как только Ð’Ñ‹ авторизуетеÑÑŒ. Войти или запиÑатьÑÑ Ð½Ð° наш форум очень легко. " +"ÐÐ²Ñ‚Ð¾Ñ€Ð¸Ð·Ð°Ñ†Ð¸Ñ Ð·Ð°Ð¹Ð¼ÐµÑ‚ не более полминуты а Ð¸Ð·Ð½Ð°Ñ‡Ð°Ð»ÑŒÐ½Ð°Ñ Ð·Ð°Ð¿Ð¸ÑÑŒ - приблизительно " +"одну минуту." + +#: conf/email.py:144 +msgid "" +"Before enabling this setting - please fill out IMAP settings in the settings." +"py file" +msgstr "" + +#: conf/email.py:155 +msgid "Replace space in emailed tags with dash" +msgstr "" + +#: conf/email.py:157 +msgid "" +"This setting applies to tags written in the subject line of questions asked " +"by email" +msgstr "" #: conf/external_keys.py:11 msgid "Keys to connect the site with external services like Facebook, etc." @@ -668,60 +773,155 @@ msgstr "" "Сохраните, затем <a href=\"http://validator.w3.org/\">иÑпользуйте HTML " "валидатор</a> на Ñтранице \"о наÑ\" Ð´Ð»Ñ Ð¿Ñ€Ð¾Ð²ÐµÑ€ÐºÐ¸ правильноÑти." -#: conf/forum_data_rules.py:12 +#: conf/forum_data_rules.py:11 msgid "Settings for askbot data entry and display" msgstr "Ввод и отображение данных" #: conf/forum_data_rules.py:20 +#, python-format +msgid "" +"Enable embedding videos. <em>Note: please read <a href=\"%(url)s>read this</" +"a> first.</em>" +msgstr "" + +#: conf/forum_data_rules.py:31 msgid "Check to enable community wiki feature" msgstr "" "Отметьте, еÑли Ð’Ñ‹ хотите иÑпользовать функцию \"общее вики\" Ð´Ð»Ñ Ñообщений " "на форуме" -#: conf/forum_data_rules.py:29 +#: conf/forum_data_rules.py:40 +msgid "Allow asking questions anonymously" +msgstr "" + +#: conf/forum_data_rules.py:42 +msgid "" +"Users do not accrue reputation for anonymous questions and their identity is " +"not revealed until they change their mind" +msgstr "" + +#: conf/forum_data_rules.py:54 msgid "Maximum length of tag (number of characters)" msgstr "МакÑимальное количеÑтво букв в теге (ключевом Ñлове)" -#: conf/forum_data_rules.py:39 +#: conf/forum_data_rules.py:63 +msgid "Force lowercase the tags" +msgstr "" + +#: conf/forum_data_rules.py:65 +msgid "" +"Attention: after checking this, please back up the database, and run a " +"management command: <code>python manage.py fix_question_tags</code> to " +"globally rename the tags" +msgstr "" + +#: conf/forum_data_rules.py:78 +#, fuzzy +msgid "Use wildcard tags" +msgstr "Ñмотреть вÑе темы" + +#: conf/forum_data_rules.py:80 +msgid "" +"Wildcard tags can be used to follow or ignore many tags at once, a valid " +"wildcard tag has a single wildcard at the very end" +msgstr "" + +#: conf/forum_data_rules.py:93 msgid "Default max number of comments to display under posts" msgstr "ЧиÑло комментариев по-умолчанию, которое показываетÑÑ Ð¿Ð¾Ð´ ÑообщениÑми" -#: conf/forum_data_rules.py:50 +#: conf/forum_data_rules.py:104 #, python-format msgid "Maximum comment length, must be < %(max_len)s" msgstr "" "МакÑÐ¸Ð¼Ð°Ð»ÑŒÐ½Ð°Ñ Ð´Ð»Ð¸Ð½Ð° ÐºÐ¾Ð¼Ð¼ÐµÐ½Ñ‚Ð°Ñ€Ð¸Ñ Ð½Ðµ должна превышать %(max_len)s Ñимволов" -#: conf/forum_data_rules.py:60 +#: conf/forum_data_rules.py:114 +msgid "Limit time to edit comments" +msgstr "" + +#: conf/forum_data_rules.py:116 +msgid "If unchecked, there will be no time limit to edit the comments" +msgstr "" + +#: conf/forum_data_rules.py:127 +msgid "Minutes allowed to edit a comment" +msgstr "" + +#: conf/forum_data_rules.py:128 +msgid "To enable this setting, check the previous one" +msgstr "" + +#: conf/forum_data_rules.py:137 +msgid "Save comment by pressing <Enter> key" +msgstr "" + +#: conf/forum_data_rules.py:146 msgid "Minimum length of search term for Ajax search" msgstr "ÐœÐ¸Ð½Ð¸Ð¼Ð°Ð»ÑŒÐ½Ð°Ñ Ð´Ð»Ð¸Ð½Ð° поиÑкового запроÑа в AJAX поиÑке" -#: conf/forum_data_rules.py:61 +#: conf/forum_data_rules.py:147 msgid "Must match the corresponding database backend setting" msgstr "" "Значение должно равнÑÑ‚ÑŒÑÑ ÑоответÑтвующей уÑтановке в Вашей базе данных" -#: conf/forum_data_rules.py:70 +#: conf/forum_data_rules.py:156 +msgid "Do not make text query sticky in search" +msgstr "" + +#: conf/forum_data_rules.py:158 +msgid "" +"Check to disable the \"sticky\" behavior of the search query. This may be " +"useful if you want to move the search bar away from the default position or " +"do not like the default sticky behavior of the text search query." +msgstr "" + +#: conf/forum_data_rules.py:171 msgid "Maximum number of tags per question" msgstr "Ðаибольшее разрешенное количеÑтво ключевых Ñлов (тегов) на вопроÑ" -#: conf/forum_data_rules.py:82 +#: conf/forum_data_rules.py:183 msgid "Number of questions to list by default" msgstr "КоличеÑтво вопроÑов отображаемых на главной Ñтранице" -#: conf/forum_data_rules.py:92 +#: conf/forum_data_rules.py:193 msgid "What should \"unanswered question\" mean?" msgstr "Что должен означать \"неотвеченный вопроÑ\"?" +#: conf/login_providers.py:11 +msgid "Login provider setings" +msgstr "" + +#: conf/login_providers.py:19 +msgid "" +"Show alternative login provider buttons on the password \"Sign Up\" page" +msgstr "" + +#: conf/login_providers.py:28 +msgid "Always display local login form and hide \"Askbot\" button." +msgstr "" + +#: conf/login_providers.py:56 +#, fuzzy, python-format +msgid "Activate %(provider)s login" +msgstr "Вход при помощи %(provider)s работает отлично" + +#: conf/login_providers.py:61 +#, python-format +msgid "" +"Note: to really enable %(provider)s login some additional parameters will " +"need to be set in the \"External keys\" section" +msgstr "" + #: conf/markup.py:15 msgid "Markup formatting" msgstr "Разметка текÑта" -#: conf/markup.py:29 +#: conf/markup.py:22 msgid "Enable code-friendly Markdown" msgstr "Ðктивировать Markdown, оптимизированный Ð´Ð»Ñ Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¼Ð¸Ñтов" -#: conf/markup.py:31 +#: conf/markup.py:24 msgid "" "If checked, underscore characters will not trigger italic or bold formatting " "- bold and italic text can still be marked up with asterisks. Note that " @@ -734,24 +934,24 @@ msgstr "" "включена при иÑпользовании MathJax, Ñ‚.к. в формате LaTeX Ñтот Ñимвол широко " "иÑпользуетÑÑ." -#: conf/markup.py:46 +#: conf/markup.py:39 msgid "Mathjax support (rendering of LaTeX)" msgstr "Поддержка MathJax (LaTeX) Ð´Ð»Ñ Ñ„Ð¾Ñ€Ð¼Ð°Ñ‚Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¼Ð°Ñ‚ÐµÐ¼Ð°Ñ‚Ð¸Ñ‡ÐµÑких формул" -#: conf/markup.py:48 -#, python-format +#: conf/markup.py:41 +#, fuzzy, python-format msgid "" "If you enable this feature, <a href=\"%(url)s\">mathjax</a> must be " -"installed in directory %(dir)s" +"installed on your server in its own directory." msgstr "" "ЕÑли вы включите Ñту функцию, <a href=\"%(url)s\">mathjax</a> должен быть " "уÑтановлен в каталоге %(dir)s" -#: conf/markup.py:63 +#: conf/markup.py:55 msgid "Base url of MathJax deployment" msgstr "База URL-ов Ð´Ð»Ñ Ñ€Ð°Ð·Ð¼ÐµÑ‰ÐµÐ½Ð¸Ñ MathJax" -#: conf/markup.py:65 +#: conf/markup.py:57 msgid "" "Note - <strong>MathJax is not included with askbot</strong> - you should " "deploy it yourself, preferably at a separate domain and enter url pointing " @@ -825,6 +1025,16 @@ msgstr "Закрыть чужие вопроÑÑ‹" msgid "Lock posts" msgstr "Заблокировать поÑÑ‚Ñ‹" +#: conf/minimum_reputation.py:155 +msgid "Remove rel=nofollow from own homepage" +msgstr "" + +#: conf/minimum_reputation.py:157 +msgid "" +"When a search engine crawler will see a rel=nofollow attribute on a link - " +"the link will not count towards the rank of the users personal site." +msgstr "" + #: conf/reputation_changes.py:12 msgid "Reputation loss and gain rules" msgstr "Правила Ð´Ð»Ñ Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ñ€ÐµÐ¿ÑƒÑ‚Ð°Ñ†Ð¸Ð¸" @@ -1049,35 +1259,35 @@ msgstr "Цвет фона Ð´Ð»Ñ Ð¿Ñ€Ð¸Ð½ÑÑ‚Ñ‹Ñ…" msgid "Foreground color for accepted answer" msgstr "Цвет шрифта Ð´Ð»Ñ Ð¿Ñ€Ð¸Ð½ÑÑ‚Ñ‹Ñ… ответов" -#: conf/skin_general_settings.py:15 +#: conf/skin_general_settings.py:14 msgid "Skin and User Interface settings" msgstr "ÐаÑтройки интерфейÑа и отображениÑ" -#: conf/skin_general_settings.py:22 +#: conf/skin_general_settings.py:21 msgid "Q&A site logo" msgstr "Главный логотип" -#: conf/skin_general_settings.py:24 +#: conf/skin_general_settings.py:23 msgid "To change the logo, select new file, then submit this whole form." msgstr "" "Чтобы заменить логотип, выберите новый файл затем нажмите кнопку \"Ñохранить" "\"" -#: conf/skin_general_settings.py:38 +#: conf/skin_general_settings.py:37 msgid "Show logo" msgstr "Показывать логотип" -#: conf/skin_general_settings.py:40 +#: conf/skin_general_settings.py:39 msgid "" "Check if you want to show logo in the forum header or uncheck in the case " "you do not want the logo to appear in the default location" msgstr "Отметьте еÑли Ð’Ñ‹ хотите иÑпользовать логотип в головной чаÑти форум" -#: conf/skin_general_settings.py:52 +#: conf/skin_general_settings.py:51 msgid "Site favicon" msgstr "Фавикон Ð´Ð»Ñ Ð’Ð°ÑˆÐµÐ³Ð¾ Ñайта" -#: conf/skin_general_settings.py:54 +#: conf/skin_general_settings.py:53 #, python-format msgid "" "A small 16x16 or 32x32 pixel icon image used to distinguish your site in the " @@ -1100,20 +1310,11 @@ msgstr "" "Картинка размером 88x38, ÐºÐ¾Ñ‚Ð¾Ñ€Ð°Ñ Ð¸ÑпользуетÑÑ Ð² качеÑтве кнопки Ð´Ð»Ñ " "авторизации Ñ Ð¸Ð¼ÐµÐ½ÐµÐ¼ и паролем." -#: conf/skin_general_settings.py:86 -msgid "Show footer" -msgstr "Показывать подвал Ñтраницы." - -#: conf/skin_general_settings.py:88 -msgid "Check if you want to show the footer on each forum page" -msgstr "" -"Отметьте, еÑли вы хотите, чтобы подвал отображалÑÑ Ð½Ð° каждой Ñтранице форума" - -#: conf/skin_general_settings.py:99 +#: conf/skin_general_settings.py:87 msgid "Show all UI functions to all users" msgstr "Отображать вÑе функции пользовательÑкого интерфейÑа вÑем пользователÑм" -#: conf/skin_general_settings.py:101 +#: conf/skin_general_settings.py:89 msgid "" "If checked, all forum functions will be shown to users, regardless of their " "reputation. However to use those functions, moderation rules, reputation and " @@ -1124,15 +1325,15 @@ msgstr "" "фактичеÑкий доÑтуп вÑÑ‘ равно будет завиÑить от репутации, правил " "Ð¼Ð¾Ð´ÐµÑ€Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¸ Ñ‚.п." -#: conf/skin_general_settings.py:116 +#: conf/skin_general_settings.py:104 msgid "Select skin" msgstr "Выберите тему пользовательÑкого интерфейÑа" -#: conf/skin_general_settings.py:125 +#: conf/skin_general_settings.py:113 msgid "Skin media revision number" msgstr "Ð ÐµÐ²Ð¸Ð·Ð¸Ñ Ð¼ÐµÐ´Ð¸Ð°-файлов Ñкина" -#: conf/skin_general_settings.py:127 +#: conf/skin_general_settings.py:115 msgid "" "Increment this number when you change image in skin media or stylesheet. " "This helps avoid showing your users outdated images from their browser cache." @@ -1140,6 +1341,95 @@ msgstr "" "Увеличьте Ñто чиÑло когда изменÑете медиа-файлы или css. Ðто позволÑет " "избежать ошибки Ð¾Ñ‚Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð¸Ñ ÐºÐµÑˆÐ¸Ñ€Ð¾Ð²Ð°Ð½Ð½Ñ‹Ñ… Ñтарых данных у пользователей." +#: conf/skin_general_settings.py:128 +msgid "Customize HTML <HEAD>" +msgstr "" + +#: conf/skin_general_settings.py:137 +msgid "Custom portion of the HTML <HEAD>" +msgstr "" + +#: conf/skin_general_settings.py:139 +msgid "" +"<strong>To use this option</strong>, check \"Customize HTML <HEAD>\" " +"above. Contents of this box will be inserted into the <HEAD> portion " +"of the HTML output, where elements such as <script>, <link>, <" +"meta> may be added. Please, keep in mind that adding external javascript " +"to the <HEAD> is not recommended because it slows loading of the " +"pages. Instead, it will be more efficient to place links to the javascript " +"files into the footer. <strong>Note:</strong> if you do use this setting, " +"please test the site with the W3C HTML validator service." +msgstr "" + +#: conf/skin_general_settings.py:159 +msgid "Site footer mode" +msgstr "" + +#: conf/skin_general_settings.py:161 +msgid "" +"Footer is the bottom portion of the content, which is common to all pages. " +"You can disable, customize, or use the default footer." +msgstr "" + +#: conf/skin_general_settings.py:178 +msgid "Custom footer (HTML format)" +msgstr "" + +#: conf/skin_general_settings.py:180 +msgid "" +"<strong>To enable this function</strong>, please select option 'customize' " +"in the \"Site footer mode\" above. Use this area to enter contents of the " +"footer in the HTML format. When customizing the site footer (as well as the " +"HTML <HEAD>), use the HTML validation service to make sure that your " +"input is valid and works well in all browsers." +msgstr "" + +#: conf/skin_general_settings.py:195 +msgid "Apply custom style sheet (CSS)" +msgstr "" + +#: conf/skin_general_settings.py:197 +msgid "" +"Check if you want to change appearance of your form by adding custom style " +"sheet rules (please see the next item)" +msgstr "" + +#: conf/skin_general_settings.py:209 +msgid "Custom style sheet (CSS)" +msgstr "" + +#: conf/skin_general_settings.py:211 +msgid "" +"<strong>To use this function</strong>, check \"Apply custom style sheet\" " +"option above. The CSS rules added in this window will be applied after the " +"default style sheet rules. The custom style sheet will be served dynamically " +"at url \"<forum url>/custom.css\", where the \"<forum url> part " +"depends (default is empty string) on the url configuration in your urls.py." +msgstr "" + +#: conf/skin_general_settings.py:227 +msgid "Add custom javascript" +msgstr "" + +#: conf/skin_general_settings.py:230 +msgid "Check to enable javascript that you can enter in the next field" +msgstr "" + +#: conf/skin_general_settings.py:240 +msgid "Custom javascript" +msgstr "" + +#: conf/skin_general_settings.py:242 +msgid "" +"Type or paste plain javascript that you would like to run on your site. Link " +"to the script will be inserted at the bottom of the HTML output and will be " +"served at the url \"<forum url>/custom.js\". Please, bear in mind that " +"your javascript code may break other functionalities of the site and that " +"the behavior may not be consistent across different browsers (<strong>to " +"enable your custom code</strong>, check \"Add custom javascript\" option " +"above)." +msgstr "" + #: conf/social_sharing.py:10 msgid "Sharing content on social networks" msgstr "РаÑпроÑтранение информации по Ñоциальным ÑетÑм" @@ -1156,10 +1446,20 @@ msgstr "ÐаÑтройка политики пользователей" msgid "Allow editing user screen name" msgstr "Позволить пользователÑм изменÑÑ‚ÑŒ имена" -#: conf/user_settings.py:28 +#: conf/user_settings.py:27 +#, fuzzy +msgid "Allow account recovery by email" +msgstr "Email Ð´Ð»Ñ Ð²Ð¾ÑÑÑ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ Ð°ÐºÐºÐ°ÑƒÐ½Ñ‚Ð° выÑлан" + +#: conf/user_settings.py:37 msgid "Minimum allowed length for screen name" msgstr "Минимальное количеÑтво букв в именах пользователей" +#: conf/user_settings.py:46 +#, fuzzy +msgid "Name for the Anonymous user" +msgstr "Поддельный Ð°Ð´Ñ€ÐµÑ Ñлектронной почты Ð´Ð»Ñ Ð°Ð½Ð¾Ð½Ð¸Ð¼Ð½Ð¾Ð³Ð¾ пользователÑ" + #: conf/vote_rules.py:13 msgid "Limits applicable to votes and moderation flags" msgstr "ÐаÑтройки, применÑемые Ð´Ð»Ñ Ð³Ð¾Ð»Ð¾ÑÐ¾Ð²Ð°Ð½Ð¸Ñ Ð¸ отметок модерации" @@ -1225,21 +1525,21 @@ msgstr "Ñпам или реклама" msgid "too localized" msgstr "Ñлишком Ñпециализированный" -#: const/__init__.py:40 const/message_keys.py:28 +#: const/__init__.py:40 msgid "newest" msgstr "новые" -#: const/__init__.py:41 const/message_keys.py:26 -#: skins/default/templates/users.html:25 skins/default/templates/users.html:26 +#: const/__init__.py:41 skins/default/templates/users.html:25 +#: skins/default/templates/users.html:26 #, fuzzy msgid "oldest" msgstr "Ñтарые" -#: const/__init__.py:42 const/message_keys.py:32 +#: const/__init__.py:42 msgid "active" msgstr "активные" -#: const/__init__.py:43 const/message_keys.py:30 +#: const/__init__.py:43 msgid "inactive" msgstr "неактивные" @@ -1261,20 +1561,20 @@ msgstr "больше голоÑов" msgid "least voted" msgstr "меньше голоÑов" -#: const/__init__.py:48 const/message_keys.py:24 +#: const/__init__.py:48 skins/default/templates/main_page/tab_bar.html:29 msgid "relevance" msgstr "умеÑтноÑÑ‚ÑŒ" -#: const/__init__.py:55 skins/default/templates/questions.html:14 -#: skins/default/templates/user_inbox.html:47 +#: const/__init__.py:55 skins/default/templates/main_page/tab_bar.html:10 +#: skins/default/templates/user_profile/user_inbox.html:50 msgid "all" msgstr "вÑе" -#: const/__init__.py:56 skins/default/templates/questions.html:19 +#: const/__init__.py:56 skins/default/templates/main_page/tab_bar.html:15 msgid "unanswered" msgstr "неотвеченные" -#: const/__init__.py:57 skins/default/templates/questions.html:25 +#: const/__init__.py:57 skins/default/templates/main_page/tab_bar.html:21 msgid "favorite" msgstr "закладки" @@ -1286,149 +1586,160 @@ msgstr "Ðет ни одного ответа" msgid "Question has no accepted answers" msgstr "Ðет принÑтого ответа" -#: const/__init__.py:112 +#: const/__init__.py:114 msgid "asked a question" msgstr "задан вопроÑ" -#: const/__init__.py:113 +#: const/__init__.py:115 msgid "answered a question" msgstr "дан ответ" -#: const/__init__.py:114 +#: const/__init__.py:116 msgid "commented question" msgstr "прокомментированный вопроÑ" -#: const/__init__.py:115 +#: const/__init__.py:117 msgid "commented answer" msgstr "прокомментированный ответ" -#: const/__init__.py:116 +#: const/__init__.py:118 msgid "edited question" msgstr "отредактированный вопроÑ" -#: const/__init__.py:117 +#: const/__init__.py:119 msgid "edited answer" msgstr "отредактированный ответ" -#: const/__init__.py:118 +#: const/__init__.py:120 msgid "received award" msgstr "получена награда" -#: const/__init__.py:119 +#: const/__init__.py:121 msgid "marked best answer" msgstr "отмечен как лучший ответ" -#: const/__init__.py:120 +#: const/__init__.py:122 msgid "upvoted" msgstr "проголоÑовали \"за\"" -#: const/__init__.py:121 +#: const/__init__.py:123 msgid "downvoted" msgstr "проголоÑовали \"против\"" -#: const/__init__.py:122 +#: const/__init__.py:124 msgid "canceled vote" msgstr "отмененный голоÑ" -#: const/__init__.py:123 +#: const/__init__.py:125 msgid "deleted question" msgstr "удаленный вопроÑ" -#: const/__init__.py:124 +#: const/__init__.py:126 msgid "deleted answer" msgstr "удаленный ответ" -#: const/__init__.py:125 +#: const/__init__.py:127 msgid "marked offensive" msgstr "отметка неумеÑтного ÑодержаниÑ" -#: const/__init__.py:126 +#: const/__init__.py:128 msgid "updated tags" msgstr "обновленные Ñ‚Ñги " -#: const/__init__.py:127 +#: const/__init__.py:129 #, fuzzy msgid "selected favorite" msgstr "занеÑено в избранное " -#: const/__init__.py:128 +#: const/__init__.py:130 #, fuzzy msgid "completed user profile" msgstr "завершенный профиль пользователÑ" -#: const/__init__.py:129 +#: const/__init__.py:131 msgid "email update sent to user" msgstr "Ñообщение выÑлано по Ñлектронной почте" -#: const/__init__.py:130 +#: const/__init__.py:134 +#, fuzzy +msgid "reminder about unanswered questions sent" +msgstr "проÑмотреть неотвеченные ворпоÑÑ‹" + +#: const/__init__.py:136 msgid "mentioned in the post" msgstr "упомÑнуто в текÑте ÑообщениÑ" -#: const/__init__.py:181 +#: const/__init__.py:187 msgid "question_answered" msgstr "question_answered" -#: const/__init__.py:182 +#: const/__init__.py:188 msgid "question_commented" msgstr "question_commented" -#: const/__init__.py:183 +#: const/__init__.py:189 msgid "answer_commented" msgstr "answer_commented" -#: const/__init__.py:184 +#: const/__init__.py:190 msgid "answer_accepted" msgstr "answer_accepted" -#: const/__init__.py:188 +#: const/__init__.py:194 msgid "[closed]" msgstr "[закрыт]" -#: const/__init__.py:189 +#: const/__init__.py:195 msgid "[deleted]" msgstr "[удален]" -#: const/__init__.py:190 views/readers.py:602 +#: const/__init__.py:196 views/readers.py:563 msgid "initial version" msgstr "Ð¸Ð·Ð½Ð°Ñ‡Ð°Ð»ÑŒÐ½Ð°Ñ Ð²ÐµÑ€ÑиÑ" -#: const/__init__.py:191 +#: const/__init__.py:197 msgid "retagged" msgstr "теги изменены" -#: const/__init__.py:196 -msgid "exclude ignored tags" +#: const/__init__.py:205 +msgid "off" +msgstr "" + +#: const/__init__.py:206 +#, fuzzy +msgid "exclude ignored" msgstr "иÑключить игнорируемые Ñ‚Ñги" -#: const/__init__.py:197 -msgid "allow only selected tags" -msgstr "включить только выбранные Ñ‚Ñги" +#: const/__init__.py:207 +#, fuzzy +msgid "only selected" +msgstr "Выбранные индивидуально" -#: const/__init__.py:201 +#: const/__init__.py:211 msgid "instantly" msgstr "немедленно " -#: const/__init__.py:202 +#: const/__init__.py:212 msgid "daily" msgstr "ежедневно" -#: const/__init__.py:203 +#: const/__init__.py:213 msgid "weekly" msgstr "еженедельно" -#: const/__init__.py:204 +#: const/__init__.py:214 msgid "no email" msgstr "не поÑылать email" -#: const/__init__.py:241 skins/default/templates/badges.html:43 +#: const/__init__.py:252 skins/default/templates/badges.html:37 msgid "gold" msgstr "золотаÑ" -#: const/__init__.py:242 skins/default/templates/badges.html:52 +#: const/__init__.py:253 skins/default/templates/badges.html:46 msgid "silver" msgstr "ÑеребрÑнаÑ" -#: const/__init__.py:243 skins/default/templates/badges.html:59 +#: const/__init__.py:254 skins/default/templates/badges.html:53 msgid "bronze" msgstr "Ð±Ñ€Ð¾Ð½Ð·Ð¾Ð²Ð°Ñ " @@ -1439,257 +1750,262 @@ msgstr "" "Впервые здеÑÑŒ? ПоÑмотрите наши <a href=\"%s\">чаÑто задаваемые вопроÑÑ‹(FAQ)</" "a>!" -#: const/message_keys.py:22 +#: const/message_keys.py:22 skins/default/templates/main_page/tab_bar.html:27 #, fuzzy msgid "most relevant questions" msgstr "ваш Ð²Ð¾Ð¿Ñ€Ð¾Ñ Ð´Ð¾Ð»Ð¶ÐµÐ½ ÑоответÑтвовать тематике ÑообщеÑтва" -#: const/message_keys.py:23 +#: const/message_keys.py:23 skins/default/templates/main_page/tab_bar.html:28 #, fuzzy msgid "click to see most relevant questions" msgstr "нажмите, чтобы проÑмотреть вопроÑÑ‹ Ñ Ð±Ð¾Ð»ÑŒÑˆÐ¸Ð¼ чиÑлом голоÑов" +#: const/message_keys.py:24 +#, fuzzy +msgid "by relevance" +msgstr "умеÑтноÑÑ‚ÑŒ" + #: const/message_keys.py:25 msgid "click to see the oldest questions" msgstr "нажмите, чтобы увидеть Ñтарые вопроÑÑ‹" +#: const/message_keys.py:26 +#, fuzzy +msgid "by date" +msgstr "по имени" + #: const/message_keys.py:27 msgid "click to see the newest questions" msgstr "нажмите, чтобы увидеть поÑледние вопроÑÑ‹" -#: const/message_keys.py:29 +#: const/message_keys.py:28 msgid "click to see the least recently updated questions" msgstr "нажмите, чтобы поÑмотреть поÑледние обновленные вопроÑÑ‹" -#: const/message_keys.py:31 +#: const/message_keys.py:29 +#, fuzzy +msgid "by activity" +msgstr "активноÑÑ‚ÑŒ" + +#: const/message_keys.py:30 msgid "click to see the most recently updated questions" msgstr "нажмите, чтобы поÑмотреть недавно обновленные вопроÑÑ‹" -#: const/message_keys.py:33 +#: const/message_keys.py:31 #, fuzzy msgid "click to see the least answered questions" msgstr "нажмите, чтобы увидеть Ñтарые вопроÑÑ‹" -#: const/message_keys.py:34 -msgid "less answers" -msgstr "меньше ответов" +#: const/message_keys.py:32 +#, fuzzy +msgid "by answers" +msgstr "ответы" -#: const/message_keys.py:35 +#: const/message_keys.py:33 #, fuzzy msgid "click to see the most answered questions" msgstr "нажмите, чтобы увидеть поÑледние вопроÑÑ‹" -#: const/message_keys.py:36 -msgid "more answers" -msgstr "кол-ву ответов" - -#: const/message_keys.py:37 +#: const/message_keys.py:34 msgid "click to see least voted questions" msgstr "нажмите, чтобы проÑмотреть поÑледние отмеченные голоÑами вопроÑÑ‹" -#: const/message_keys.py:38 -msgid "unpopular" -msgstr "непопулÑрный" +#: const/message_keys.py:35 +#, fuzzy +msgid "by votes" +msgstr "голоÑов" -#: const/message_keys.py:39 +#: const/message_keys.py:36 msgid "click to see most voted questions" msgstr "нажмите, чтобы проÑмотреть вопроÑÑ‹ Ñ Ð±Ð¾Ð»ÑŒÑˆÐ¸Ð¼ чиÑлом голоÑов" -#: const/message_keys.py:40 -msgid "popular" -msgstr "популÑрные" - -#: deps/django_authopenid/forms.py:116 deps/django_authopenid/views.py:137 +#: deps/django_authopenid/forms.py:110 deps/django_authopenid/views.py:135 msgid "i-names are not supported" msgstr "i-names не поддерживаютÑÑ" -#: deps/django_authopenid/forms.py:237 +#: deps/django_authopenid/forms.py:231 #, python-format msgid "Please enter your %(username_token)s" msgstr "ПожалуйÑта, введите Ваш %(username_token)s" -#: deps/django_authopenid/forms.py:263 +#: deps/django_authopenid/forms.py:257 msgid "Please, enter your user name" msgstr "ПожалуйÑта, введите Ð¸Ð¼Ñ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ" -#: deps/django_authopenid/forms.py:267 +#: deps/django_authopenid/forms.py:261 msgid "Please, enter your password" msgstr "ПожалуйÑта, введите пароль" -#: deps/django_authopenid/forms.py:274 deps/django_authopenid/forms.py:278 +#: deps/django_authopenid/forms.py:268 deps/django_authopenid/forms.py:272 msgid "Please, enter your new password" msgstr "ПожалуйÑта, введите новый пароль" -#: deps/django_authopenid/forms.py:289 +#: deps/django_authopenid/forms.py:283 msgid "Passwords did not match" msgstr "Пароли не подходÑÑ‚" -#: deps/django_authopenid/forms.py:301 +#: deps/django_authopenid/forms.py:295 #, python-format msgid "Please choose password > %(len)s characters" msgstr "ПожалуйÑта, выберите пароль > %(len)s Ñимволов" -#: deps/django_authopenid/forms.py:336 +#: deps/django_authopenid/forms.py:330 msgid "Current password" msgstr "Текущий пароль" -#: deps/django_authopenid/forms.py:347 +#: deps/django_authopenid/forms.py:341 msgid "" "Old password is incorrect. Please enter the correct " "password." msgstr "Старый пароль неверен. ПожалуйÑта, введите правильный пароль." -#: deps/django_authopenid/forms.py:400 +#: deps/django_authopenid/forms.py:394 msgid "Sorry, we don't have this email address in the database" msgstr "Извините, но Ñтого адреÑа нет в нашей базе данных." -#: deps/django_authopenid/forms.py:435 +#: deps/django_authopenid/forms.py:430 msgid "Your user name (<i>required</i>)" msgstr "Ваше Ð¸Ð¼Ñ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ <i>(обÑзательно)</i>" -#: deps/django_authopenid/forms.py:450 +#: deps/django_authopenid/forms.py:445 msgid "Incorrect username." msgstr "Ðеправильное Ð¸Ð¼Ñ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ." -#: deps/django_authopenid/urls.py:10 deps/django_authopenid/urls.py:11 -#: deps/django_authopenid/urls.py:12 deps/django_authopenid/urls.py:15 -#: deps/django_authopenid/urls.py:18 setup_templates/settings.py:182 +#: deps/django_authopenid/urls.py:9 deps/django_authopenid/urls.py:10 +#: deps/django_authopenid/urls.py:11 deps/django_authopenid/urls.py:14 +#: deps/django_authopenid/urls.py:17 setup_templates/settings.py:202 msgid "signin/" msgstr "vhod/" -#: deps/django_authopenid/urls.py:11 +#: deps/django_authopenid/urls.py:10 msgid "newquestion/" msgstr "noviy-vopros/" -#: deps/django_authopenid/urls.py:12 +#: deps/django_authopenid/urls.py:11 msgid "newanswer/" msgstr "noviy-otvet/" -#: deps/django_authopenid/urls.py:13 +#: deps/django_authopenid/urls.py:12 msgid "signout/" msgstr "vyhod/" -#: deps/django_authopenid/urls.py:15 +#: deps/django_authopenid/urls.py:14 msgid "complete/" msgstr "zavershaem/" -#: deps/django_authopenid/urls.py:18 +#: deps/django_authopenid/urls.py:17 msgid "complete-oauth/" msgstr "zavershaem-oauth/" -#: deps/django_authopenid/urls.py:22 +#: deps/django_authopenid/urls.py:21 msgid "register/" msgstr "registraciya/" -#: deps/django_authopenid/urls.py:24 +#: deps/django_authopenid/urls.py:23 msgid "signup/" msgstr "noviy-account/" -#: deps/django_authopenid/urls.py:32 +#: deps/django_authopenid/urls.py:31 msgid "recover/" msgstr "vosstanovleniye-accounta/" -#: deps/django_authopenid/util.py:196 +#: deps/django_authopenid/util.py:233 #, python-format msgid "%(site)s user name and password" msgstr "Ð¸Ð¼Ñ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ Ð¸ пароль на %(site)s" -#: deps/django_authopenid/util.py:202 -#: skins/default/templates/authopenid/signin.html:124 +#: deps/django_authopenid/util.py:239 +#: skins/default/templates/authopenid/signin.html:105 msgid "Create a password-protected account" msgstr "Создайте новый аккаунт Ñ Ð¸Ð¼ÐµÐ½ÐµÐ¼ и паролем" -#: deps/django_authopenid/util.py:203 +#: deps/django_authopenid/util.py:240 msgid "Change your password" msgstr "Сменить пароль" -#: deps/django_authopenid/util.py:265 +#: deps/django_authopenid/util.py:302 msgid "Sign in with Yahoo" msgstr "Вход через Yahoo" -#: deps/django_authopenid/util.py:272 +#: deps/django_authopenid/util.py:309 msgid "AOL screen name" msgstr "Ð˜Ð¼Ñ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ Ð² AOL" -#: deps/django_authopenid/util.py:280 +#: deps/django_authopenid/util.py:317 msgid "OpenID url" msgstr "ÐÐ´Ñ€ÐµÑ Ð’Ð°ÑˆÐµÐ³Ð¾ OpenID" -#: deps/django_authopenid/util.py:297 -msgid "MyOpenid user name" -msgstr "Ð˜Ð¼Ñ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ Ð² MyOpenid" - -#: deps/django_authopenid/util.py:305 deps/django_authopenid/util.py:313 +#: deps/django_authopenid/util.py:344 msgid "Flickr user name" msgstr "Ð˜Ð¼Ñ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ Ð½Ð° Flickr" -#: deps/django_authopenid/util.py:321 +#: deps/django_authopenid/util.py:352 msgid "Technorati user name" msgstr "Ð˜Ð¼Ñ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ Ð² Technorati" -#: deps/django_authopenid/util.py:329 +#: deps/django_authopenid/util.py:360 msgid "WordPress blog name" msgstr "Ð˜Ð¼Ñ Ð±Ð»Ð¾Ð³Ð° на WordPress" -#: deps/django_authopenid/util.py:337 +#: deps/django_authopenid/util.py:368 msgid "Blogger blog name" msgstr "Ð˜Ð¼Ñ Ð±Ð»Ð¾Ð³Ð° на Blogger" -#: deps/django_authopenid/util.py:345 +#: deps/django_authopenid/util.py:376 msgid "LiveJournal blog name" msgstr "Ð˜Ð¼Ñ Ð±Ð»Ð¾Ð³Ð° на LiveJournal" -#: deps/django_authopenid/util.py:353 +#: deps/django_authopenid/util.py:384 msgid "ClaimID user name" msgstr "Ð˜Ð¼Ñ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ Ð² ClaimID" -#: deps/django_authopenid/util.py:361 +#: deps/django_authopenid/util.py:392 msgid "Vidoop user name" msgstr "Ð˜Ð¼Ñ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ Ð² Vidoop" -#: deps/django_authopenid/util.py:369 +#: deps/django_authopenid/util.py:400 msgid "Verisign user name" msgstr "Ð˜Ð¼Ñ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ Ð² Verisign" -#: deps/django_authopenid/util.py:393 +#: deps/django_authopenid/util.py:424 #, python-format msgid "Change your %(provider)s password" msgstr "Сменить пароль в %(provider)s" -#: deps/django_authopenid/util.py:397 +#: deps/django_authopenid/util.py:428 #, python-format msgid "Click to see if your %(provider)s signin still works for %(site_name)s" msgstr "" "Проверьте, работает ли по-прежнему Ваш логин от %(provider)s на %(site_name)s" -#: deps/django_authopenid/util.py:406 +#: deps/django_authopenid/util.py:437 #, python-format msgid "Create password for %(provider)s" msgstr "Создать пароль Ð´Ð»Ñ %(provider)s" -#: deps/django_authopenid/util.py:410 +#: deps/django_authopenid/util.py:441 #, python-format msgid "Connect your %(provider)s account to %(site_name)s" msgstr "" "Соедините Ваш аккаунт на %(provider)s Ñ Ð’Ð°ÑˆÐµÐ¹ учетной запиÑью на %(site_name)" "s" -#: deps/django_authopenid/util.py:419 +#: deps/django_authopenid/util.py:450 #, python-format msgid "Signin with %(provider)s user name and password" msgstr "Заходите Ñ Ð¸Ð¼ÐµÐ½ÐµÐ¼ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ Ð¸ паролем %(provider)s " -#: deps/django_authopenid/util.py:426 +#: deps/django_authopenid/util.py:457 #, python-format msgid "Sign in with your %(provider)s account" msgstr "Заходите через Ваш аккаунт на %(provider)s" -#: deps/django_authopenid/views.py:144 +#: deps/django_authopenid/views.py:142 #, python-format msgid "OpenID %(openid_url)s is invalid" msgstr "OpenID %(openid_url)s недейÑтвителен" -#: deps/django_authopenid/views.py:256 deps/django_authopenid/views.py:399 +#: deps/django_authopenid/views.py:254 deps/django_authopenid/views.py:399 #: deps/django_authopenid/views.py:427 #, python-format msgid "" @@ -1703,61 +2019,62 @@ msgstr "" msgid "Your new password saved" msgstr "Ваш новый пароль Ñохранен" -#: deps/django_authopenid/views.py:511 +#: deps/django_authopenid/views.py:512 msgid "Please click any of the icons below to sign in" msgstr "Чтобы войти на форум, нажмите на любую из кнопок ниже " -#: deps/django_authopenid/views.py:513 +#: deps/django_authopenid/views.py:514 msgid "Account recovery email sent" msgstr "Email Ð´Ð»Ñ Ð²Ð¾ÑÑÑ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ Ð°ÐºÐºÐ°ÑƒÐ½Ñ‚Ð° выÑлан" -#: deps/django_authopenid/views.py:516 +#: deps/django_authopenid/views.py:517 msgid "Please add one or more login methods." msgstr "" "ПожалуйÑта, добавьте Ñ…Ð¾Ñ‚Ñ Ð±Ñ‹ один поÑтоÑнный метод Ð´Ð»Ñ Ð°Ð²Ñ‚Ð¾Ñ€Ð¸Ð·Ð°Ñ†Ð¸Ð¸. Иметь " "два или больше методов тоже можно." -#: deps/django_authopenid/views.py:518 +#: deps/django_authopenid/views.py:519 msgid "If you wish, please add, remove or re-validate your login methods" msgstr "" "ЕÑли Вам угодно, пожалуйÑта добавьте, удалите или проверьте как работают " "Ваши методы Ð´Ð»Ñ Ð°Ð²Ñ‚Ð¾Ñ€Ð¸Ð·Ð°Ñ†Ð¸Ð¸" -#: deps/django_authopenid/views.py:520 +#: deps/django_authopenid/views.py:521 msgid "Please wait a second! Your account is recovered, but ..." msgstr "" "ПожалуйÑта, подождите Ñекунду! Ваша ÑƒÑ‡ÐµÑ‚Ð½Ð°Ñ Ð·Ð°Ð¿Ð¸ÑÑŒ воÑÑтанавлена, но ..." -#: deps/django_authopenid/views.py:522 +#: deps/django_authopenid/views.py:523 msgid "Sorry, this account recovery key has expired or is invalid" msgstr "К Ñожалению, Ñтот ключ воÑÑÑ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ Ð¸Ñтек или не ÑвлÑетÑÑ Ð²ÐµÑ€Ð½Ñ‹Ð¼" -#: deps/django_authopenid/views.py:578 +#: deps/django_authopenid/views.py:594 #, python-format msgid "Login method %(provider_name)s does not exist" msgstr "Метод входа %(provider_name) s не ÑущеÑтвует" -#: deps/django_authopenid/views.py:584 +#: deps/django_authopenid/views.py:600 msgid "Oops, sorry - there was some error - please try again" msgstr "УпÑ, извините, произошла ошибка - пожалуйÑта, попробуйте ещё раз" -#: deps/django_authopenid/views.py:675 +#: deps/django_authopenid/views.py:691 #, python-format msgid "Your %(provider)s login works fine" msgstr "Вход при помощи %(provider)s работает отлично" -#: deps/django_authopenid/views.py:973 deps/django_authopenid/views.py:979 +#: deps/django_authopenid/views.py:1001 deps/django_authopenid/views.py:1007 #, python-format msgid "your email needs to be validated see %(details_url)s" msgstr "" "пожалуйÑта подтвердите ваш email, Ð´Ð¾Ð¿Ð¾Ð»Ð½Ð¸Ñ‚ÐµÐ»ÑŒÐ½Ð°Ñ Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ (<a href=\"%" "(details_url)s\">здеÑÑŒ</a>)" -#: deps/django_authopenid/views.py:1000 -msgid "Email verification subject line" -msgstr "Тема ÑÐ¾Ð¾Ð±Ñ‰ÐµÐ½Ð¸Ñ Ð´Ð»Ñ Ð²ÐµÑ€Ð¸Ñ„Ð¸ÐºÐ°Ñ†Ð¸Ð¸ email" +#: deps/django_authopenid/views.py:1028 +#, fuzzy, python-format +msgid "Recover your %(site)s account" +msgstr "ВоÑÑтановить ваш аккаунт иÑÐ¿Ð¾Ð»ÑŒÐ·ÑƒÑ email" -#: deps/django_authopenid/views.py:1065 +#: deps/django_authopenid/views.py:1098 msgid "Please check your email and visit the enclosed link." msgstr "ПожалуйÑта, проверьте Ñвой email и пройдите по вложенной ÑÑылке." @@ -1765,24 +2082,24 @@ msgstr "ПожалуйÑта, проверьте Ñвой email и Ð¿Ñ€Ð¾Ð¹Ð´Ð¸Ñ msgid "Site" msgstr "Сайт" -#: deps/livesettings/values.py:107 +#: deps/livesettings/values.py:106 msgid "Base Settings" msgstr "Базовые наÑтройки" -#: deps/livesettings/values.py:214 +#: deps/livesettings/values.py:213 msgid "Default value: \"\"" msgstr "Значение по умолчанию:\"\"" -#: deps/livesettings/values.py:221 +#: deps/livesettings/values.py:220 msgid "Default value: " msgstr "Значение по умолчанию:" -#: deps/livesettings/values.py:224 +#: deps/livesettings/values.py:223 #, python-format msgid "Default value: %s" msgstr "Значение по умолчанию: %s" -#: deps/livesettings/values.py:589 +#: deps/livesettings/values.py:588 #, python-format msgid "Allowed image file types are %(types)s" msgstr "ДопуÑтимые типы файлов изображений: %(types)s" @@ -1798,7 +2115,7 @@ msgstr "ДокументациÑ" #: deps/livesettings/templates/livesettings/group_settings.html:11 #: deps/livesettings/templates/livesettings/site_settings.html:23 -#: skins/default/templates/authopenid/signin.html:142 +#: skins/default/templates/authopenid/signin.html:123 msgid "Change password" msgstr "Сменить пароль" @@ -1891,21 +2208,51 @@ msgstr "ReCAPTCHA недоÑтупен. " msgid "Invalid request" msgstr "Ðеправильный запроÑ" -#: importers/stackexchange/management/commands/load_stackexchange.py:126 +#: importers/stackexchange/management/commands/load_stackexchange.py:128 msgid "Congratulations, you are now an Administrator" msgstr "ПоздравлÑем, теперь Ð’Ñ‹ админиÑтратор на нашем форуме" -#: management/commands/send_email_alerts.py:105 +#: management/commands/initialize_ldap_logins.py:51 +msgid "" +"This command may help you migrate to LDAP password authentication by " +"creating a record for LDAP association with each user account. There is an " +"assumption that ldap user id's are the same as user names registered at the " +"site. Before running this command it is necessary to set up LDAP parameters " +"in the \"External keys\" section of the site settings." +msgstr "" + +#: management/commands/post_emailed_questions.py:34 +msgid "" +"<p>To ask by email, please:</p>\n" +"<ul>\n" +" <li>Format the subject line as: [Tag1; Tag2] Question title</li>\n" +" <li>Type details of your question into the email body</li>\n" +"</ul>\n" +"<p>Note that tags may consist of more than one word, and tags\n" +"may be separated by a semicolon or a comma</p>\n" +msgstr "" + +#: management/commands/post_emailed_questions.py:54 #, python-format -msgid "\" and \"%s\"" -msgstr "\" и \"%s\"" +msgid "" +"<p>Sorry, there was an error posting your question please contact the %(site)" +"s administrator</p>" +msgstr "" -#: management/commands/send_email_alerts.py:108 -#, fuzzy -msgid "\" and more" -msgstr "Узнать больше" +#: management/commands/post_emailed_questions.py:60 +#, python-format +msgid "" +"<p>Sorry, in order to post questions on %(site)s by email, please <a href=\"%" +"(url)s\">register first</a></p>" +msgstr "" + +#: management/commands/post_emailed_questions.py:68 +msgid "" +"<p>Sorry, your question could not be posted due to insufficient privileges " +"of your user account</p>" +msgstr "" -#: management/commands/send_email_alerts.py:113 +#: management/commands/send_email_alerts.py:408 #, python-format msgid "%(question_count)d updated question about %(topics)s" msgid_plural "%(question_count)d updated questions about %(topics)s" @@ -1913,7 +2260,7 @@ msgstr[0] "%(question_count)d Ð²Ð¾Ð¿Ñ€Ð¾Ñ Ð¾Ð±Ð½Ð¾Ð²Ð»ÐµÐ½ в %(topics)s" msgstr[1] "%(question_count)d вопроÑÑ‹ обновлены в %(topics)s" msgstr[2] "%(question_count)d вопроÑÑ‹ обновлены в %(topics)s" -#: management/commands/send_email_alerts.py:467 +#: management/commands/send_email_alerts.py:418 #, python-format msgid "%(name)s, this is an update message header for %(num)d question" msgid_plural "%(name)s, this is an update message header for %(num)d questions" @@ -1921,11 +2268,11 @@ msgstr[0] "%(name)s, в Ñтом %(num)d вопроÑе еÑÑ‚ÑŒ новоÑти" msgstr[1] "%(name)s, в Ñтих %(num)d вопроÑах еÑÑ‚ÑŒ новоÑти" msgstr[2] "%(name)s, в Ñтих %(num)d вопроÑах еÑÑ‚ÑŒ новоÑти" -#: management/commands/send_email_alerts.py:484 +#: management/commands/send_email_alerts.py:435 msgid "new question" msgstr "новый вопроÑ" -#: management/commands/send_email_alerts.py:501 +#: management/commands/send_email_alerts.py:452 msgid "" "Please visit the askbot and see what's new! Could you spread the word about " "it - can somebody you know help answering those questions or benefit from " @@ -1935,7 +2282,7 @@ msgstr "" "раÑÑкажете другим о нашем Ñайте или кто-нибудь из Ваших знакомых может " "ответить на Ñти вопроÑÑ‹ или извлечь пользу из ответов?" -#: management/commands/send_email_alerts.py:513 +#: management/commands/send_email_alerts.py:464 msgid "" "Your most frequent subscription setting is 'daily' on selected questions. If " "you are receiving more than one email per dayplease tell about this issue to " @@ -1944,7 +2291,7 @@ msgstr "" "Ваша наиболее чаÑÑ‚Ð°Ñ Ð½Ð°Ñтройка Ð¾Ð¿Ð¾Ð²ÐµÑ‰ÐµÐ½Ð¸Ñ Ð¿Ð¾ email - ежедневнаÑ. ЕÑли вы " "получаете email чаще, пожалуйÑта, извеÑтите админиÑтратора форума." -#: management/commands/send_email_alerts.py:519 +#: management/commands/send_email_alerts.py:470 msgid "" "Your most frequent subscription setting is 'weekly' if you are receiving " "this email more than once a week please report this issue to the askbot " @@ -1953,7 +2300,7 @@ msgstr "" "Ваша наиболее чаÑÑ‚Ð°Ñ Ð½Ð°Ñтройка Ð¾Ð¿Ð¾Ð²ÐµÑ‰ÐµÐ½Ð¸Ñ Ð¿Ð¾ email - еженедельнаÑ. ЕÑли вы " "получаете email чаще, пожалуйÑта, извеÑтите админиÑтратора форума." -#: management/commands/send_email_alerts.py:525 +#: management/commands/send_email_alerts.py:476 msgid "" "There is a chance that you may be receiving links seen before - due to a " "technicality that will eventually go away. " @@ -1961,7 +2308,7 @@ msgstr "" "Ðе иÑключено что Ð’Ñ‹ можете получить ÑÑылки, которые видели раньше. Ðто " "иÑчезнет ÑпуÑÑ‚Ñ Ð½ÐµÐºÐ¾Ñ‚Ð¾Ñ€Ð¾Ðµ времÑ." -#: management/commands/send_email_alerts.py:530 +#: management/commands/send_email_alerts.py:482 #, python-format msgid "" "go to %(email_settings_link)s to change frequency of email updates or %" @@ -1971,7 +2318,15 @@ msgstr "" "раÑÑылки. ЕÑли возникнет необходимоÑÑ‚ÑŒ - пожалуйÑта ÑвÑжитеÑÑŒ Ñ " "админиÑтратором форума по %(admin_email)s." -#: models/__init__.py:170 +#: management/commands/send_unanswered_question_reminders.py:80 +#, fuzzy, python-format +msgid "%(question_count)d unanswered question about %(topics)s" +msgid_plural "%(question_count)d unanswered questions about %(topics)s" +msgstr[0] "%(question_count)d Ð²Ð¾Ð¿Ñ€Ð¾Ñ Ð¾Ð±Ð½Ð¾Ð²Ð»ÐµÐ½ в %(topics)s" +msgstr[1] "%(question_count)d вопроÑÑ‹ обновлены в %(topics)s" +msgstr[2] "%(question_count)d вопроÑÑ‹ обновлены в %(topics)s" + +#: models/__init__.py:299 msgid "" "Sorry, you cannot accept or unaccept best answers because your account is " "blocked" @@ -1979,7 +2334,7 @@ msgstr "" "К Ñожалению, вы не можете принÑÑ‚ÑŒ или не принÑÑ‚ÑŒ лучший ответ, потому что " "ваша ÑƒÑ‡ÐµÑ‚Ð½Ð°Ñ Ð·Ð°Ð¿Ð¸ÑÑŒ заблокирована" -#: models/__init__.py:175 +#: models/__init__.py:304 msgid "" "Sorry, you cannot accept or unaccept best answers because your account is " "suspended" @@ -1987,14 +2342,14 @@ msgstr "" "К Ñожалению, вы не можете принÑÑ‚ÑŒ или не принÑÑ‚ÑŒ лучший ответ, потому что " "ваша ÑƒÑ‡ÐµÑ‚Ð½Ð°Ñ Ð·Ð°Ð¿Ð¸ÑÑŒ приоÑтановлена" -#: models/__init__.py:181 +#: models/__init__.py:310 msgid "" "Sorry, you cannot accept or unaccept your own answer to your own question" msgstr "" "К Ñожалению, вы не можете принÑÑ‚ÑŒ или не принÑÑ‚ÑŒ ваш ÑобÑтвенный ответ на " "ваш вопроÑ" -#: models/__init__.py:188 +#: models/__init__.py:317 #, python-format msgid "" "Sorry, only original author of the question - %(username)s - can accept the " @@ -2003,73 +2358,83 @@ msgstr "" "К Ñожалению, только первый автор вопроÑа - %(username)s - может принÑÑ‚ÑŒ " "лучший ответ" -#: models/__init__.py:211 +#: models/__init__.py:340 msgid "cannot vote for own posts" msgstr "Ð½ÐµÐ»ÑŒÐ·Ñ Ð³Ð¾Ð»Ð¾Ñовать за ÑобÑтвенные ÑообщениÑ" -#: models/__init__.py:214 +#: models/__init__.py:343 msgid "Sorry your account appears to be blocked " msgstr "К Ñожалению, ваша ÑƒÑ‡ÐµÑ‚Ð½Ð°Ñ Ð·Ð°Ð¿Ð¸ÑÑŒ заблокирована" -#: models/__init__.py:219 +#: models/__init__.py:348 msgid "Sorry your account appears to be suspended " msgstr "К Ñожалению, ваша ÑƒÑ‡ÐµÑ‚Ð½Ð°Ñ Ð·Ð°Ð¿Ð¸ÑÑŒ приоÑтановлена" -#: models/__init__.py:229 +#: models/__init__.py:358 #, python-format msgid ">%(points)s points required to upvote" msgstr "Ð´Ð»Ñ Ð¿Ð¾Ð²Ñ‹ÑˆÐµÐ½Ð¸Ñ Ñ€ÐµÐ¹Ñ‚Ð¸Ð½Ð³Ð° требуетÑÑ Ð¼Ð¸Ð½Ð¸Ð¼ÑƒÐ¼ %(points)s баллов " -#: models/__init__.py:235 +#: models/__init__.py:364 #, python-format msgid ">%(points)s points required to downvote" msgstr "Ð´Ð»Ñ Ð¿Ð¾Ð½Ð¸Ð¶ÐµÐ½Ð¸Ñ Ñ€ÐµÐ¹Ñ‚Ð¸Ð½Ð³Ð° требуетÑÑ Ð¼Ð¸Ð½Ð¸Ð¼ÑƒÐ¼ %(points)s баллов" -#: models/__init__.py:250 +#: models/__init__.py:379 msgid "Sorry, blocked users cannot upload files" msgstr "К Ñожалению, заблокированные пользователи не могут загружать файлы" -#: models/__init__.py:251 +#: models/__init__.py:380 msgid "Sorry, suspended users cannot upload files" msgstr "" "К Ñожалению, временно блокированные пользователи не могут загружать файлы" -#: models/__init__.py:253 +#: models/__init__.py:382 #, python-format msgid "" "uploading images is limited to users with >%(min_rep)s reputation points" msgstr "" "загрузка изображений доÑтупна только пользователÑм Ñ Ñ€ÐµÐ¿ÑƒÑ‚Ð°Ñ†Ð¸ÐµÐ¹ > %(min_rep)s" -#: models/__init__.py:272 models/__init__.py:332 models/__init__.py:2021 +#: models/__init__.py:401 models/__init__.py:468 models/__init__.py:2374 msgid "blocked users cannot post" msgstr "заблокированные пользователи не могут размещать ÑообщениÑ" -#: models/__init__.py:273 models/__init__.py:2024 +#: models/__init__.py:402 models/__init__.py:2377 msgid "suspended users cannot post" msgstr "временно заблокированные пользователи не могут размещать ÑообщениÑ" -#: models/__init__.py:298 +#: models/__init__.py:429 +#, fuzzy, python-format msgid "" -"Sorry, comments (except the last one) are editable only within 10 minutes " -"from posting" -msgstr "" +"Sorry, comments (except the last one) are editable only within %(minutes)s " +"minute from posting" +msgid_plural "" +"Sorry, comments (except the last one) are editable only within %(minutes)s " +"minutes from posting" +msgstr[0] "" +"К Ñожалению, комментарии (за иÑключением поÑледнего) можно редактировать " +"только в течение 10 минут" +msgstr[1] "" +"К Ñожалению, комментарии (за иÑключением поÑледнего) можно редактировать " +"только в течение 10 минут" +msgstr[2] "" "К Ñожалению, комментарии (за иÑключением поÑледнего) можно редактировать " "только в течение 10 минут" -#: models/__init__.py:304 +#: models/__init__.py:441 msgid "Sorry, but only post owners or moderators can edit comments" msgstr "" "К Ñожалению, только владелец или модератор может редактировать комментарий" -#: models/__init__.py:318 +#: models/__init__.py:454 msgid "" "Sorry, since your account is suspended you can comment only your own posts" msgstr "" "К Ñожалению, так как ваш аккаунт приоÑтановлен вы можете комментировать " "только Ñвои ÑобÑтвенные ÑообщениÑ" -#: models/__init__.py:322 +#: models/__init__.py:458 #, python-format msgid "" "Sorry, to comment any post a minimum reputation of %(min_rep)s points is " @@ -2079,7 +2444,7 @@ msgstr "" "балов кармы. Ð’Ñ‹ можете комментировать только Ñвои ÑобÑтвенные ÑÐ¾Ð¾Ð±Ñ‰ÐµÐ½Ð¸Ñ Ð¸ " "ответы на ваши вопроÑÑ‹" -#: models/__init__.py:350 +#: models/__init__.py:486 msgid "" "This post has been deleted and can be seen only by post owners, site " "administrators and moderators" @@ -2087,7 +2452,7 @@ msgstr "" "Ðтот поÑÑ‚ был удален, его может увидеть только владелец, админиÑтраторы " "Ñайта и модераторы" -#: models/__init__.py:367 +#: models/__init__.py:503 msgid "" "Sorry, only moderators, site administrators and post owners can edit deleted " "posts" @@ -2095,19 +2460,19 @@ msgstr "" "Извините, только модераторы, админиÑтраторы Ñайта и владельцы ÑÐ¾Ð¾Ð±Ñ‰ÐµÐ½Ð¸Ñ " "могут редактировать удаленные ÑообщениÑ" -#: models/__init__.py:382 +#: models/__init__.py:518 msgid "Sorry, since your account is blocked you cannot edit posts" msgstr "" "К Ñожалению, так как Ваш ÑƒÑ‡ÐµÑ‚Ð½Ð°Ñ Ð·Ð°Ð¿Ð¸ÑÑŒ заблокирована Ð’Ñ‹ не можете " "редактировать ÑообщениÑ" -#: models/__init__.py:386 +#: models/__init__.py:522 msgid "Sorry, since your account is suspended you can edit only your own posts" msgstr "" "К Ñожалению, так как ваша ÑƒÑ‡ÐµÑ‚Ð½Ð°Ñ Ð·Ð°Ð¿Ð¸ÑÑŒ приоÑтановлена вы можете " "редактировать только ваши ÑобÑтвенные ÑообщениÑ" -#: models/__init__.py:391 +#: models/__init__.py:527 #, python-format msgid "" "Sorry, to edit wiki posts, a minimum reputation of %(min_rep)s is required" @@ -2115,7 +2480,7 @@ msgstr "" "К Ñожалению, Ð´Ð»Ñ Ñ€ÐµÐ´Ð°ÐºÑ‚Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð²Ð¸ÐºÐ¸ Ñообщений, требуетÑÑ %(min_rep)s баллов " "кармы" -#: models/__init__.py:398 +#: models/__init__.py:534 #, python-format msgid "" "Sorry, to edit other people's posts, a minimum reputation of %(min_rep)s is " @@ -2124,7 +2489,7 @@ msgstr "" "К Ñожалению, Ð´Ð»Ñ Ñ€ÐµÐ´Ð°ÐºÑ‚Ð¸Ñ€Ð¾Ð²Ð°Ñ‚ÑŒ ÑÐ¾Ð¾Ð±Ñ‰ÐµÐ½Ð¸Ñ Ð´Ñ€ÑƒÐ³Ð¸Ñ… пользователей, требуетÑÑ %" "(min_rep)s балов кармы" -#: models/__init__.py:461 +#: models/__init__.py:597 msgid "" "Sorry, cannot delete your question since it has an upvoted answer posted by " "someone else" @@ -2141,20 +2506,20 @@ msgstr[2] "" "К Ñожалению, Ð’Ñ‹ не может удалить ваш вопроÑ, поÑкольку на него ответили " "другие пользователи и их ответы получили положительные голоÑа" -#: models/__init__.py:476 +#: models/__init__.py:612 msgid "Sorry, since your account is blocked you cannot delete posts" msgstr "" "К Ñожалению, так как Ваша ÑƒÑ‡ÐµÑ‚Ð½Ð°Ñ Ð·Ð°Ð¿Ð¸ÑÑŒ заблокирована Ð’Ñ‹ не можете удалÑÑ‚ÑŒ " "ÑообщениÑ" -#: models/__init__.py:480 +#: models/__init__.py:616 msgid "" "Sorry, since your account is suspended you can delete only your own posts" msgstr "" "К Ñожалению, так как Ваша ÑƒÑ‡ÐµÑ‚Ð½Ð°Ñ Ð·Ð°Ð¿Ð¸ÑÑŒ приоÑтановлена Ð’Ñ‹ не можете удалÑÑ‚ÑŒ " "ÑообщениÑ" -#: models/__init__.py:484 +#: models/__init__.py:620 #, python-format msgid "" "Sorry, to deleted other people' posts, a minimum reputation of %(min_rep)s " @@ -2163,19 +2528,19 @@ msgstr "" "К Ñожалению, Ð´Ð»Ñ ÑƒÐ´Ð°Ð»ÐµÐ½Ð¸Ñ Ñообщений других пользователей, требуетÑÑ %" "(min_rep)s балов кармы" -#: models/__init__.py:504 +#: models/__init__.py:640 msgid "Sorry, since your account is blocked you cannot close questions" msgstr "" "К Ñожалению, так как Ваша ÑƒÑ‡ÐµÑ‚Ð½Ð°Ñ Ð·Ð°Ð¿Ð¸ÑÑŒ заблокирована вы не можете закрыть " "вопроÑÑ‹" -#: models/__init__.py:508 +#: models/__init__.py:644 msgid "Sorry, since your account is suspended you cannot close questions" msgstr "" "К Ñожалению, так как Ваша ÑƒÑ‡ÐµÑ‚Ð½Ð°Ñ Ð·Ð°Ð¿Ð¸ÑÑŒ приоÑтановлена вы не можете закрыть " "вопроÑÑ‹" -#: models/__init__.py:512 +#: models/__init__.py:648 #, python-format msgid "" "Sorry, to close other people' posts, a minimum reputation of %(min_rep)s is " @@ -2184,14 +2549,14 @@ msgstr "" "К Ñожалению, Ð´Ð»Ñ Ð·Ð°ÐºÑ€Ñ‹Ñ‚Ð¸Ñ ÑÐ¾Ð¾Ð±Ñ‰ÐµÐ½Ð¸Ñ Ð´Ñ€ÑƒÐ³Ð¸Ñ… пользователей, требуетÑÑ %" "(min_rep)s балов кармы" -#: models/__init__.py:521 +#: models/__init__.py:657 #, python-format msgid "" "Sorry, to close own question a minimum reputation of %(min_rep)s is required" msgstr "" "К Ñожалению, Ð´Ð»Ñ Ð·Ð°ÐºÑ€Ñ‹Ñ‚Ð¸Ñ Ñвоего вопроÑа, требуетÑÑ %(min_rep)s балов кармы" -#: models/__init__.py:545 +#: models/__init__.py:681 #, python-format msgid "" "Sorry, only administrators, moderators or post owners with reputation > %" @@ -2200,7 +2565,7 @@ msgstr "" "К Ñожалению, только админиÑтраторы, модераторы или владельцы Ñ ÐºÐ°Ñ€Ð¼Ð¾Ð¹ >%" "(min_rep)s может открыть вопроÑ" -#: models/__init__.py:551 +#: models/__init__.py:687 #, python-format msgid "" "Sorry, to reopen own question a minimum reputation of %(min_rep)s is required" @@ -2208,29 +2573,29 @@ msgstr "" "К Ñожалению, чтобы вновь открыть ÑобÑтвенный Ð²Ð¾Ð¿Ñ€Ð¾Ñ Ñ‚Ñ€ÐµÐ±ÑƒÐµÑ‚ÑÑ %(min_rep)s " "баллов кармы" -#: models/__init__.py:571 +#: models/__init__.py:707 msgid "cannot flag message as offensive twice" msgstr "Ð½ÐµÐ»ÑŒÐ·Ñ Ð¿Ð¾Ð¼ÐµÑ‚Ð¸Ñ‚ÑŒ Ñообщение как оÑкорбительное дважды" -#: models/__init__.py:576 +#: models/__init__.py:712 msgid "blocked users cannot flag posts" msgstr "заблокированные пользователи не могут помечать ÑообщениÑ" -#: models/__init__.py:578 +#: models/__init__.py:714 msgid "suspended users cannot flag posts" msgstr "приоÑтановленные пользователи не могут помечать ÑообщениÑ" -#: models/__init__.py:580 +#: models/__init__.py:716 #, python-format msgid "need > %(min_rep)s points to flag spam" msgstr "необходимо > %(min_rep)s баллов чтобы отметить как Ñпам" -#: models/__init__.py:599 +#: models/__init__.py:735 #, python-format msgid "%(max_flags_per_day)s exceeded" msgstr "%(max_flags_per_day)s превышен" -#: models/__init__.py:614 +#: models/__init__.py:750 msgid "" "Sorry, only question owners, site administrators and moderators can retag " "deleted questions" @@ -2238,82 +2603,87 @@ msgstr "" "К Ñожалению, только владельцы, админиÑтраторы Ñайта и модераторы могут " "менÑÑ‚ÑŒ теги к удаленным вопроÑам" -#: models/__init__.py:621 +#: models/__init__.py:757 msgid "Sorry, since your account is blocked you cannot retag questions" msgstr "" "К Ñожалению, так как Ваша ÑƒÑ‡ÐµÑ‚Ð½Ð°Ñ Ð·Ð°Ð¿Ð¸ÑÑŒ заблокирована вы не можете поменÑÑ‚ÑŒ " "теги вопроÑа " -#: models/__init__.py:625 +#: models/__init__.py:761 msgid "" "Sorry, since your account is suspended you can retag only your own questions" msgstr "" "К Ñожалению, так как Ваша ÑƒÑ‡ÐµÑ‚Ð½Ð°Ñ Ð·Ð°Ð¿Ð¸ÑÑŒ приоÑтановлена вы можете менÑÑ‚ÑŒ " "теги только на Ñвои вопроÑÑ‹" -#: models/__init__.py:629 +#: models/__init__.py:765 #, python-format msgid "" "Sorry, to retag questions a minimum reputation of %(min_rep)s is required" msgstr "К Ñожалению, Ð´Ð»Ñ Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ñ‚ÐµÐ³Ð¾Ð² требуетÑÑ %(min_rep)s баллов кармы" -#: models/__init__.py:648 +#: models/__init__.py:784 msgid "Sorry, since your account is blocked you cannot delete comment" msgstr "" "К Ñожалению, так как Ваша ÑƒÑ‡ÐµÑ‚Ð½Ð°Ñ Ð·Ð°Ð¿Ð¸ÑÑŒ заблокирована Ð’Ñ‹ не можете удалÑÑ‚ÑŒ " "комментарий" -#: models/__init__.py:652 +#: models/__init__.py:788 msgid "" "Sorry, since your account is suspended you can delete only your own comments" msgstr "" "К Ñожалению, так как Ваша ÑƒÑ‡ÐµÑ‚Ð½Ð°Ñ Ð·Ð°Ð¿Ð¸ÑÑŒ приоÑтановлена вы можете удалÑÑ‚ÑŒ " "только ваши ÑобÑтвенные комментарии" -#: models/__init__.py:656 +#: models/__init__.py:792 #, python-format msgid "Sorry, to delete comments reputation of %(min_rep)s is required" msgstr "" "К Ñожалению, Ð´Ð»Ñ ÑƒÐ´Ð°Ð»ÐµÐ½Ð¸Ñ ÐºÐ¾Ð¼Ð¼ÐµÐ½Ñ‚Ð°Ñ€Ð¸ÐµÐ² требуетÑÑ %(min_rep)s баллов кармы" -#: models/__init__.py:679 +#: models/__init__.py:815 msgid "cannot revoke old vote" msgstr "Ð³Ð¾Ð»Ð¾Ñ Ð½Ðµ может быть отозван" -#: models/__init__.py:1213 views/users.py:363 +#: models/__init__.py:1370 +#, fuzzy +msgid "Anonymous" +msgstr "анонимный" + +#: models/__init__.py:1456 views/users.py:365 msgid "Site Adminstrator" msgstr "ÐдминиÑтратор Ñайта" -#: models/__init__.py:1215 views/users.py:365 +#: models/__init__.py:1458 views/users.py:367 msgid "Forum Moderator" msgstr "С уважением, Модератор форума" -#: models/__init__.py:1217 views/users.py:367 +#: models/__init__.py:1460 views/users.py:369 msgid "Suspended User" msgstr "ПриоÑтановленный пользователь " -#: models/__init__.py:1219 views/users.py:369 +#: models/__init__.py:1462 views/users.py:371 msgid "Blocked User" msgstr "Заблокированный пользователь" -#: models/__init__.py:1221 views/users.py:371 +#: models/__init__.py:1464 views/users.py:373 msgid "Registered User" msgstr "ЗарегиÑтрированный пользователь" -#: models/__init__.py:1223 +#: models/__init__.py:1466 msgid "Watched User" msgstr "Видный пользователь" -#: models/__init__.py:1225 +#: models/__init__.py:1468 msgid "Approved User" msgstr "Утвержденный Пользователь" -#: models/__init__.py:1281 +#: models/__init__.py:1563 #, python-format msgid "%(username)s karma is %(reputation)s" msgstr "%(reputation)s кармы %(username)s " -#: models/__init__.py:1291 +#: models/__init__.py:1573 #, python-format msgid "one gold badge" msgid_plural "%(count)d gold badges" @@ -2321,7 +2691,7 @@ msgstr[0] "Ð·Ð¾Ð»Ð¾Ñ‚Ð°Ñ Ð¼ÐµÐ´Ð°Ð»ÑŒ" msgstr[1] "%(count)d золотых медалей" msgstr[2] "%(count)d золотых медалей" -#: models/__init__.py:1298 +#: models/__init__.py:1580 #, python-format msgid "one silver badge" msgid_plural "%(count)d silver badges" @@ -2329,7 +2699,7 @@ msgstr[0] "ÑеребрÑÐ½Ð°Ñ Ð¼ÐµÐ´Ð°Ð»ÑŒ" msgstr[1] "%(count)d ÑеребрÑных медалей" msgstr[2] "%(count)d ÑеребрÑных медалей" -#: models/__init__.py:1305 +#: models/__init__.py:1587 #, python-format msgid "one bronze badge" msgid_plural "%(count)d bronze badges" @@ -2337,28 +2707,28 @@ msgstr[0] "Ð±Ñ€Ð¾Ð½Ð·Ð¾Ð²Ð°Ñ Ð¼ÐµÐ´Ð°Ð»ÑŒ" msgstr[1] "%(count)d бронзовых медалей" msgstr[2] "%(count)d бронзовых медалей" -#: models/__init__.py:1316 +#: models/__init__.py:1598 #, python-format msgid "%(item1)s and %(item2)s" msgstr "%(item1)s и %(item2)s" -#: models/__init__.py:1320 +#: models/__init__.py:1602 #, python-format msgid "%(user)s has %(badges)s" msgstr "%(user)s имеет %(badges)s" -#: models/__init__.py:1633 models/__init__.py:1639 models/__init__.py:1644 -#: models/__init__.py:1649 +#: models/__init__.py:1966 models/__init__.py:1972 models/__init__.py:1977 +#: models/__init__.py:1982 #, python-format msgid "Re: \"%(title)s\"" msgstr "Re: \"%(title)s\"" -#: models/__init__.py:1654 models/__init__.py:1659 +#: models/__init__.py:1987 models/__init__.py:1992 #, python-format msgid "Question: \"%(title)s\"" msgstr "ВопроÑ: \"%(title)s\"" -#: models/__init__.py:1844 +#: models/__init__.py:2170 #, python-format msgid "" "Congratulations, you have received a badge '%(badge_name)s'. Check out <a " @@ -2367,6 +2737,10 @@ msgstr "" "ПоздравлÑем, вы получили '%(badge_name)s'. Проверьте Ñвой <a href=\"%" "(user_profile)s\">профиль</a>." +#: models/__init__.py:2349 views/commands.py:397 +msgid "Your tag subscription was saved, thanks!" +msgstr "" + #: models/answer.py:105 msgid "" "Sorry, the answer you are looking for is no longer available, because the " @@ -2379,154 +2753,154 @@ msgstr "" msgid "Sorry, this answer has been removed and is no longer accessible" msgstr "К Ñожалению, Ñтот ответ был удален и больше не доÑтупен" -#: models/badges.py:128 +#: models/badges.py:129 #, python-format msgid "Deleted own post with %(votes)s or more upvotes" msgstr "Удалили Ñвоё Ñообщение Ñ %(votes)s или более позитивными откликами" -#: models/badges.py:132 +#: models/badges.py:133 msgid "Disciplined" msgstr "ДиÑциплинированный" -#: models/badges.py:150 +#: models/badges.py:151 #, python-format msgid "Deleted own post with %(votes)s or more downvotes" msgstr "Удалили Ñвоё Ñообщение Ñ %(votes)s или более негативными откликами" -#: models/badges.py:154 +#: models/badges.py:155 msgid "Peer Pressure" msgstr "Давление ÑообщеÑтва" -#: models/badges.py:173 +#: models/badges.py:174 #, python-format msgid "Received at least %(votes)s upvote for an answer for the first time" msgstr "Получил по меньшей мере %(votes)s позитивных голоÑов за первый ответ" -#: models/badges.py:177 +#: models/badges.py:178 msgid "Teacher" msgstr "Учитель" -#: models/badges.py:217 +#: models/badges.py:218 #, fuzzy msgid "Supporter" msgstr "Фанат" -#: models/badges.py:218 +#: models/badges.py:219 msgid "First upvote" msgstr "Впервые дали положительный отклик" -#: models/badges.py:226 +#: models/badges.py:227 msgid "Critic" msgstr "Критик" -#: models/badges.py:227 +#: models/badges.py:228 msgid "First downvote" msgstr "Впервые дали негативный отклик" -#: models/badges.py:236 +#: models/badges.py:237 msgid "Civic Duty" msgstr "ОбщеÑтвенный Долг" -#: models/badges.py:237 +#: models/badges.py:238 #, python-format msgid "Voted %(num)s times" msgstr "ГолоÑовал %(num)s раз" -#: models/badges.py:251 +#: models/badges.py:252 #, python-format msgid "Answered own question with at least %(num)s up votes" msgstr "Ответил на Ð²Ð¾Ð¿Ñ€Ð¾Ñ Ð¸ получил более %(num)s позитивных откликов" -#: models/badges.py:255 +#: models/badges.py:256 msgid "Self-Learner" msgstr "Самоучка" -#: models/badges.py:303 +#: models/badges.py:304 msgid "Nice Answer" msgstr "Хороший ответ" -#: models/badges.py:308 models/badges.py:320 models/badges.py:332 +#: models/badges.py:309 models/badges.py:321 models/badges.py:333 #, python-format msgid "Answer voted up %(num)s times" msgstr "Ответ получил %(num)s положительных голоÑов" -#: models/badges.py:315 +#: models/badges.py:316 msgid "Good Answer" msgstr "Очень Хороший Ответ" -#: models/badges.py:327 +#: models/badges.py:328 msgid "Great Answer" msgstr "Замечательный Ответ" -#: models/badges.py:339 +#: models/badges.py:340 msgid "Nice Question" msgstr "Хороший ВопроÑ" -#: models/badges.py:344 models/badges.py:356 models/badges.py:368 +#: models/badges.py:345 models/badges.py:357 models/badges.py:369 #, python-format msgid "Question voted up %(num)s times" msgstr "Ð’Ð¾Ð¿Ñ€Ð¾Ñ Ñ %(num)s или более положительными откликами" -#: models/badges.py:351 +#: models/badges.py:352 msgid "Good Question" msgstr "Очень Хороший ВопроÑ" -#: models/badges.py:363 +#: models/badges.py:364 msgid "Great Question" msgstr "Замечательный ВопроÑ" -#: models/badges.py:375 +#: models/badges.py:376 msgid "Student" msgstr "Студент" -#: models/badges.py:380 +#: models/badges.py:381 msgid "Asked first question with at least one up vote" msgstr "Задан первый вопроÑ, получивший Ñ…Ð¾Ñ‚Ñ Ð±Ñ‹ один положительный отклик" -#: models/badges.py:413 +#: models/badges.py:414 msgid "Popular Question" msgstr "ПопулÑрный ВопроÑ" -#: models/badges.py:417 models/badges.py:428 models/badges.py:440 +#: models/badges.py:418 models/badges.py:429 models/badges.py:441 #, python-format msgid "Asked a question with %(views)s views" msgstr "Задал Ð²Ð¾Ð¿Ñ€Ð¾Ñ Ñ %(views)s проÑмотрами" -#: models/badges.py:424 +#: models/badges.py:425 msgid "Notable Question" msgstr "ВыдающийÑÑ Ð’Ð¾Ð¿Ñ€Ð¾Ñ" -#: models/badges.py:435 +#: models/badges.py:436 msgid "Famous Question" msgstr "Знаменитый ВопроÑ" -#: models/badges.py:449 +#: models/badges.py:450 msgid "Asked a question and accepted an answer" msgstr "Задал Ð²Ð¾Ð¿Ñ€Ð¾Ñ Ð¸ принÑл ответ" -#: models/badges.py:452 +#: models/badges.py:453 msgid "Scholar" msgstr "Ученик" -#: models/badges.py:494 +#: models/badges.py:495 msgid "Enlightened" msgstr "ПроÑвещенный" -#: models/badges.py:498 +#: models/badges.py:499 #, python-format msgid "First answer was accepted with %(num)s or more votes" msgstr "Первый ответ был отмечен, по крайней мере %(num)s голоÑами" -#: models/badges.py:506 +#: models/badges.py:507 msgid "Guru" msgstr "Гуру" -#: models/badges.py:509 +#: models/badges.py:510 #, python-format msgid "Answer accepted with %(num)s or more votes" msgstr "Ответ отмечен, по меньшей мере %(num)s голоÑами" -#: models/badges.py:517 +#: models/badges.py:518 #, python-format msgid "" "Answered a question more than %(days)s days later with at least %(votes)s " @@ -2534,101 +2908,120 @@ msgid "" msgstr "" "Ответил на Ð²Ð¾Ð¿Ñ€Ð¾Ñ Ð±Ð¾Ð»ÐµÐµ чем %(days)s дней ÑпуÑÑ‚Ñ Ñ Ð¼Ð¸Ð½Ð¸Ð¼ÑƒÐ¼ %(votes)s голоÑами" -#: models/badges.py:524 +#: models/badges.py:525 msgid "Necromancer" msgstr "Ðекромант" -#: models/badges.py:547 +#: models/badges.py:548 msgid "Citizen Patrol" msgstr "ГражданÑкий Дозор" -#: models/badges.py:550 +#: models/badges.py:551 msgid "First flagged post" msgstr "Первое отмеченное Ñообщение" -#: models/badges.py:562 +#: models/badges.py:563 #, fuzzy msgid "Cleanup" msgstr "Уборщик" -#: models/badges.py:565 +#: models/badges.py:566 #, fuzzy msgid "First rollback" msgstr "Первый откат " -#: models/badges.py:576 +#: models/badges.py:577 msgid "Pundit" msgstr "Знаток" -#: models/badges.py:579 +#: models/badges.py:580 msgid "Left 10 comments with score of 10 or more" msgstr "ОÑтавил 10 комментариев Ñ 10-ÑŽ или более положительными откликами" -#: models/badges.py:611 +#: models/badges.py:612 msgid "Editor" msgstr "Редактор" -#: models/badges.py:614 +#: models/badges.py:615 #, fuzzy msgid "First edit" msgstr "Первое иÑправление " -#: models/badges.py:622 +#: models/badges.py:623 msgid "Associate Editor" msgstr "Помощник редактора" -#: models/badges.py:626 +#: models/badges.py:627 #, python-format msgid "Edited %(num)s entries" msgstr "ИÑправил %(num)s запиÑей" -#: models/badges.py:633 +#: models/badges.py:634 msgid "Organizer" msgstr "Организатор" -#: models/badges.py:636 +#: models/badges.py:637 #, fuzzy msgid "First retag" msgstr "Первое изменение Ñ‚Ñгов " -#: models/badges.py:643 +#: models/badges.py:644 msgid "Autobiographer" msgstr "Ðвтобиограф" -#: models/badges.py:646 +#: models/badges.py:647 msgid "Completed all user profile fields" msgstr "Заполнены вÑе пункты в профиле" -#: models/badges.py:662 +#: models/badges.py:663 #, python-format msgid "Question favorited by %(num)s users" msgstr "Ð’Ð¾Ð¿Ñ€Ð¾Ñ Ð´Ð¾Ð±Ð°Ð²Ð¸Ð»Ð¸ в закладки %(num)s пользователей" -#: models/badges.py:688 +#: models/badges.py:689 msgid "Stellar Question" msgstr "Гениальный ВопроÑ" -#: models/badges.py:697 +#: models/badges.py:698 msgid "Favorite Question" msgstr "ИнтереÑный ВопроÑ" -#: models/badges.py:707 +#: models/badges.py:710 msgid "Enthusiast" msgstr "ÐнтузиаÑÑ‚" -#: models/badges.py:710 -msgid "Visited site every day for 30 days in a row" +#: models/badges.py:714 +#, fuzzy, python-format +msgid "Visited site every day for %(num)s days in a row" msgstr "ПоÑещал Ñайт каждый день в течение 30 дней подрÑд" -#: models/badges.py:718 +#: models/badges.py:732 msgid "Commentator" msgstr "Комментатор" -#: models/badges.py:721 -msgid "Posted 10 comments" -msgstr "РазмеÑтил 10 комментариев" +#: models/badges.py:736 +#, fuzzy, python-format +msgid "Posted %(num_comments)s comments" +msgstr "(один комментарий)" + +#: models/badges.py:752 +msgid "Taxonomist" +msgstr "ТакÑономиÑÑ‚" -#: models/meta.py:110 +#: models/badges.py:756 +#, fuzzy, python-format +msgid "Created a tag used by %(num)s questions" +msgstr "Создал тег, иÑпользованный в 50 вопроÑах" + +#: models/badges.py:776 +msgid "Expert" +msgstr "ÐкÑперт" + +#: models/badges.py:779 +msgid "Very active in one tag" +msgstr "Очень активны в одном теге" + +#: models/meta.py:111 msgid "" "Sorry, the comment you are looking for is no longer accessible, because the " "parent question has been removed" @@ -2636,7 +3029,7 @@ msgstr "" "К Ñожалению, комментарии который вы ищете больше не доÑтупны, потому что " "Ð²Ð¾Ð¿Ñ€Ð¾Ñ Ð±Ñ‹Ð» удален" -#: models/meta.py:117 +#: models/meta.py:118 msgid "" "Sorry, the comment you are looking for is no longer accessible, because the " "parent answer has been removed" @@ -2644,31 +3037,41 @@ msgstr "" "К Ñожалению, комментарий который Ð’Ñ‹ ищете больше не доÑтупен, потому что " "ответ был удален" -#: models/question.py:325 +#: models/question.py:72 +#, python-format +msgid "\" and \"%s\"" +msgstr "\" и \"%s\"" + +#: models/question.py:75 +#, fuzzy +msgid "\" and more" +msgstr "Узнать больше" + +#: models/question.py:425 msgid "Sorry, this question has been deleted and is no longer accessible" msgstr "Извините, Ð²Ð¾Ð¿Ñ€Ð¾Ñ ÑƒÐ´Ð°Ð»Ñ‘Ð½ и более не доÑтупен" -#: models/question.py:714 +#: models/question.py:853 #, python-format msgid "%(author)s modified the question" msgstr "%(author)s отредактировали вопроÑ" -#: models/question.py:718 +#: models/question.py:857 #, python-format msgid "%(people)s posted %(new_answer_count)s new answers" msgstr "%(people)s задали новых %(new_answer_count)s вопроÑов" -#: models/question.py:723 +#: models/question.py:862 #, python-format msgid "%(people)s commented the question" msgstr "%(people)s оÑтавили комментарии" -#: models/question.py:728 +#: models/question.py:867 #, python-format msgid "%(people)s commented answers" msgstr "%(people)s комментировали вопроÑÑ‹" -#: models/question.py:730 +#: models/question.py:869 #, python-format msgid "%(people)s commented an answer" msgstr "%(people)s комментировали ответы" @@ -2695,72 +3098,72 @@ msgstr "" "%(points)s было отобрано у %(username)s's за учаÑтие в вопроÑе %" "(question_title)s" -#: models/tag.py:91 +#: models/tag.py:138 msgid "interesting" msgstr "интереÑные" -#: models/tag.py:91 +#: models/tag.py:138 msgid "ignored" msgstr "игнорируемые" -#: models/user.py:264 +#: models/user.py:260 msgid "Entire forum" msgstr "ВеÑÑŒ форум" -#: models/user.py:265 +#: models/user.py:261 msgid "Questions that I asked" msgstr "ВопроÑÑ‹ заданные мной" -#: models/user.py:266 +#: models/user.py:262 msgid "Questions that I answered" msgstr "ВопроÑÑ‹ отвеченные мной" -#: models/user.py:267 +#: models/user.py:263 msgid "Individually selected questions" msgstr "Индивидуально избранные вопроÑÑ‹" -#: models/user.py:268 +#: models/user.py:264 msgid "Mentions and comment responses" msgstr "Ð£Ð¿Ð¾Ð¼Ð¸Ð½Ð°Ð½Ð¸Ñ Ð¸ комментарии ответов" -#: models/user.py:271 +#: models/user.py:267 msgid "Instantly" msgstr "Мгновенно" -#: models/user.py:272 +#: models/user.py:268 msgid "Daily" msgstr "Раз в день" -#: models/user.py:273 +#: models/user.py:269 msgid "Weekly" msgstr "Раз в неделю" -#: models/user.py:274 +#: models/user.py:270 msgid "No email" msgstr "Отменить" #: skins/default/templates/404.jinja.html:3 -#: skins/default/templates/404.jinja.html:11 +#: skins/default/templates/404.jinja.html:10 msgid "Page not found" msgstr "Страница не найдена" -#: skins/default/templates/404.jinja.html:15 +#: skins/default/templates/404.jinja.html:13 msgid "Sorry, could not find the page you requested." msgstr "Извините, но запрошенный Вами документ не был найден." -#: skins/default/templates/404.jinja.html:17 +#: skins/default/templates/404.jinja.html:15 msgid "This might have happened for the following reasons:" msgstr "Ðто могло произойти по Ñледующим причинам:" -#: skins/default/templates/404.jinja.html:19 +#: skins/default/templates/404.jinja.html:17 msgid "this question or answer has been deleted;" msgstr "Ð²Ð¾Ð¿Ñ€Ð¾Ñ Ð¸Ð»Ð¸ ответ были удалены;" -#: skins/default/templates/404.jinja.html:20 +#: skins/default/templates/404.jinja.html:18 msgid "url has error - please check it;" msgstr "Ð·Ð°Ð¿Ñ€Ð¾Ñ Ð±Ñ‹Ð» неверен - пожалуйÑта проверьте;" -#: skins/default/templates/404.jinja.html:21 +#: skins/default/templates/404.jinja.html:19 msgid "" "the page you tried to visit is protected or you don't have sufficient " "points, see" @@ -2768,62 +3171,63 @@ msgstr "" "документ который Ð’Ñ‹ запроÑили защищён или у Ð’Ð°Ñ Ð½Ðµ хватает \"репутации\", " "пожалуйÑта поÑмотрите" -#: skins/default/templates/404.jinja.html:21 -#: skins/default/templates/footer.html:6 -#: skins/default/templates/question_edit_tips.html:16 -#: skins/default/templates/blocks/header_meta_links.html:52 +#: skins/default/templates/404.jinja.html:19 +#: skins/default/templates/blocks/footer.html:6 +#: skins/default/templates/blocks/header_meta_links.html:13 +#: skins/default/templates/blocks/question_edit_tips.html:15 msgid "faq" msgstr "чаÑто задаваемые вопроÑÑ‹" -#: skins/default/templates/404.jinja.html:22 +#: skins/default/templates/404.jinja.html:20 msgid "if you believe this error 404 should not have occured, please" msgstr "еÑли Ð’Ñ‹ Ñчитаете что Ñта ошибка показана неверно, пожалуйÑта" -#: skins/default/templates/404.jinja.html:23 +#: skins/default/templates/404.jinja.html:21 msgid "report this problem" msgstr "Ñообщите об Ñтой проблеме" -#: skins/default/templates/404.jinja.html:32 -#: skins/default/templates/500.jinja.html:13 +#: skins/default/templates/404.jinja.html:30 +#: skins/default/templates/500.jinja.html:11 msgid "back to previous page" msgstr "вернутьÑÑ Ð½Ð° предыдущую Ñтраницу" -#: skins/default/templates/404.jinja.html:33 -#: skins/default/templates/questions.html:13 +#: skins/default/templates/404.jinja.html:31 +#: skins/default/templates/main_page/tab_bar.html:9 msgid "see all questions" msgstr "Ñмотреть вÑе вопроÑÑ‹" -#: skins/default/templates/404.jinja.html:34 +#: skins/default/templates/404.jinja.html:32 msgid "see all tags" msgstr "Ñмотреть вÑе темы" #: skins/default/templates/500.jinja.html:3 -#: skins/default/templates/500.jinja.html:6 +#: skins/default/templates/500.jinja.html:5 msgid "Internal server error" msgstr "ВнутреннÑÑ Ð¾ÑˆÐ¸Ð±ÐºÐ° Ñервера" -#: skins/default/templates/500.jinja.html:10 +#: skins/default/templates/500.jinja.html:8 msgid "system error log is recorded, error will be fixed as soon as possible" msgstr "" "об Ñтой ошибке была Ñделана запиÑÑŒ в журнале и ÑоответÑтвующие иÑÐ¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ " "будут вÑкоре Ñделаны" -#: skins/default/templates/500.jinja.html:11 +#: skins/default/templates/500.jinja.html:9 msgid "please report the error to the site administrators if you wish" msgstr "" "еÑли у Ð’Ð°Ñ Ð¸Ð¼ÐµÐµÑ‚ÑÑ Ð¶ÐµÐ»Ð°Ð½Ð¸Ðµ, пожалуйÑта Ñообщите об Ñтой ошибке вебмаÑтеру" -#: skins/default/templates/500.jinja.html:14 +#: skins/default/templates/500.jinja.html:12 msgid "see latest questions" msgstr "Ñмотреть Ñамые новые вопроÑÑ‹" -#: skins/default/templates/500.jinja.html:15 +#: skins/default/templates/500.jinja.html:13 msgid "see tags" msgstr "Ñмотреть темы" -#: skins/default/templates/about.html:3 skins/default/templates/about.html:6 -msgid "About" -msgstr "О наÑ" +#: skins/default/templates/about.html:3 skins/default/templates/about.html:5 +#, python-format +msgid "About %(site_name)s" +msgstr "" #: skins/default/templates/answer_edit.html:4 #: skins/default/templates/answer_edit.html:10 @@ -2831,191 +3235,85 @@ msgid "Edit answer" msgstr "Править ответ" #: skins/default/templates/answer_edit.html:10 -#: skins/default/templates/question_edit.html:10 -#: skins/default/templates/question_retag.html:6 +#: skins/default/templates/question_edit.html:9 +#: skins/default/templates/question_retag.html:5 #: skins/default/templates/revisions.html:7 msgid "back" msgstr "назад" -#: skins/default/templates/answer_edit.html:15 -#: skins/default/templates/question_edit.html:14 +#: skins/default/templates/answer_edit.html:14 +#: skins/default/templates/question_edit.html:11 msgid "revision" msgstr "верÑÐ¸Ñ Ð¿Ñ€Ð°Ð²ÐºÐ¸" -#: skins/default/templates/answer_edit.html:18 -#: skins/default/templates/question_edit.html:19 +#: skins/default/templates/answer_edit.html:17 +#: skins/default/templates/question_edit.html:16 msgid "select revision" msgstr "выбрать верÑию" -#: skins/default/templates/answer_edit.html:22 -#: skins/default/templates/question_edit.html:28 +#: skins/default/templates/answer_edit.html:21 +#: skins/default/templates/question_edit.html:20 msgid "Save edit" msgstr "Сохранить" -#: skins/default/templates/answer_edit.html:23 -#: skins/default/templates/close.html:19 -#: skins/default/templates/feedback.html:45 -#: skins/default/templates/question_edit.html:29 -#: skins/default/templates/question_retag.html:26 -#: skins/default/templates/reopen.html:30 -#: skins/default/templates/user_edit.html:76 +#: skins/default/templates/answer_edit.html:22 +#: skins/default/templates/close.html:16 +#: skins/default/templates/feedback.html:42 +#: skins/default/templates/question_edit.html:21 +#: skins/default/templates/question_retag.html:22 +#: skins/default/templates/reopen.html:27 +#: skins/default/templates/subscribe_for_tags.html:16 #: skins/default/templates/authopenid/changeemail.html:38 +#: skins/default/templates/user_profile/user_edit.html:84 msgid "Cancel" msgstr "Отменить" -#: skins/default/templates/answer_edit.html:59 -#: skins/default/templates/answer_edit.html:62 -#: skins/default/templates/ask.html:36 skins/default/templates/ask.html:39 -#: skins/default/templates/macros.html:445 -#: skins/default/templates/question.html:465 -#: skins/default/templates/question.html:468 -#: skins/default/templates/question_edit.html:63 -#: skins/default/templates/question_edit.html:66 +#: skins/default/templates/answer_edit.html:60 +#: skins/default/templates/answer_edit.html:63 +#: skins/default/templates/ask.html:43 skins/default/templates/ask.html:46 +#: skins/default/templates/macros.html:592 +#: skins/default/templates/question.html:472 +#: skins/default/templates/question.html:475 +#: skins/default/templates/question_edit.html:62 +#: skins/default/templates/question_edit.html:65 msgid "hide preview" msgstr "Ñкрыть предварительный проÑмотр" -#: skins/default/templates/answer_edit.html:62 -#: skins/default/templates/ask.html:39 -#: skins/default/templates/question.html:468 -#: skins/default/templates/question_edit.html:66 +#: skins/default/templates/answer_edit.html:63 +#: skins/default/templates/ask.html:46 +#: skins/default/templates/question.html:475 +#: skins/default/templates/question_edit.html:65 msgid "show preview" msgstr "показать предварительный проÑмотр" -#: skins/default/templates/answer_edit_tips.html:3 -msgid "answer tips" -msgstr "Советы как лучше давать ответы" - -#: skins/default/templates/answer_edit_tips.html:6 -msgid "please make your answer relevant to this community" -msgstr "" -"пожалуйÑта поÑтарайтеÑÑŒ дать ответ который будет интереÑен коллегам по форуму" - -#: skins/default/templates/answer_edit_tips.html:9 -msgid "try to give an answer, rather than engage into a discussion" -msgstr "поÑтарайтеÑÑŒ на Ñамом деле дать ответ и избегать диÑкуÑÑий" - -#: skins/default/templates/answer_edit_tips.html:12 -msgid "please try to provide details" -msgstr "включите детали в Ваш ответ" - -#: skins/default/templates/answer_edit_tips.html:15 -#: skins/default/templates/question_edit_tips.html:12 -msgid "be clear and concise" -msgstr "Ð²Ð¾Ð¿Ñ€Ð¾Ñ Ð´Ð¾Ð»Ð¶ÐµÐ½ быть четким и лаконичным" - -#: skins/default/templates/answer_edit_tips.html:19 -#: skins/default/templates/question_edit_tips.html:16 -msgid "see frequently asked questions" -msgstr "поÑмотрите на чаÑто задаваемые вопроÑÑ‹" - -#: skins/default/templates/answer_edit_tips.html:25 -#: skins/default/templates/question_edit_tips.html:22 -msgid "Markdown tips" -msgstr "ПоддерживаетÑÑ Ñзык разметки - Markdown" - -#: skins/default/templates/answer_edit_tips.html:29 -#: skins/default/templates/question_edit_tips.html:26 -msgid "*italic*" -msgstr "*курÑив*" - -#: skins/default/templates/answer_edit_tips.html:32 -#: skins/default/templates/question_edit_tips.html:29 -msgid "**bold**" -msgstr "**жирный**" - -#: skins/default/templates/answer_edit_tips.html:36 -#: skins/default/templates/question_edit_tips.html:33 -msgid "*italic* or _italic_" -msgstr "*курÑив* или _курÑив_" - -#: skins/default/templates/answer_edit_tips.html:39 -#: skins/default/templates/question_edit_tips.html:36 -msgid "**bold** or __bold__" -msgstr "**жирный шрифт** или __жирный шрифт__" - -#: skins/default/templates/answer_edit_tips.html:43 -#: skins/default/templates/question_edit_tips.html:40 -msgid "link" -msgstr "ÑÑылка" - -#: skins/default/templates/answer_edit_tips.html:43 -#: skins/default/templates/answer_edit_tips.html:47 -#: skins/default/templates/question_edit_tips.html:40 -#: skins/default/templates/question_edit_tips.html:45 -msgid "text" -msgstr "текÑÑ‚" - -#: skins/default/templates/answer_edit_tips.html:47 -#: skins/default/templates/question_edit_tips.html:45 -msgid "image" -msgstr "изображение" - -#: skins/default/templates/answer_edit_tips.html:51 -#: skins/default/templates/question_edit_tips.html:49 -msgid "numbered list:" -msgstr "пронумерованный ÑпиÑок:" - -#: skins/default/templates/answer_edit_tips.html:56 -#: skins/default/templates/question_edit_tips.html:54 -msgid "basic HTML tags are also supported" -msgstr "а также, поддерживаютÑÑ Ð¾Ñновные теги HTML" - -#: skins/default/templates/answer_edit_tips.html:60 -#: skins/default/templates/question_edit_tips.html:58 -msgid "learn more about Markdown" -msgstr "узнайте болше про Markdown" - -#: skins/default/templates/ask.html:3 +#: skins/default/templates/ask.html:4 msgid "Ask a question" msgstr "СпроÑить" -#: skins/default/templates/ask_form.html:7 -msgid "login to post question info" -msgstr "" -"<span class=\"strong big\">ПожалуйÑта, начните задавать Ваш Ð²Ð¾Ñ€Ð¿Ð¾Ñ Ð°Ð½Ð¾Ð½Ð¸Ð¼Ð½Ð¾</" -"span>. Когда Ð’Ñ‹ пошлете вопроÑ, Ð’Ñ‹ будете направлены на Ñтраницу " -"авторизации. Ваш Ð²Ð¾Ð¿Ñ€Ð¾Ñ Ð±ÑƒÐ´ÐµÑ‚ Ñохранён в текущей ÑеÑÑии и будет опубликован " -"как только Ð’Ñ‹ авторизуетеÑÑŒ. Войти или запиÑатьÑÑ Ð½Ð° наш форум очень легко. " -"ÐÐ²Ñ‚Ð¾Ñ€Ð¸Ð·Ð°Ñ†Ð¸Ñ Ð·Ð°Ð¹Ð¼ÐµÑ‚ не более полминуты а Ð¸Ð·Ð½Ð°Ñ‡Ð°Ð»ÑŒÐ½Ð°Ñ Ð·Ð°Ð¿Ð¸ÑÑŒ - приблизительно " -"одну минуту." - -#: skins/default/templates/ask_form.html:11 -#, python-format -msgid "" -"must have valid %(email)s to post, \n" -" see %(email_validation_faq_url)s\n" -" " -msgstr "" -"Ð´Ð»Ñ Ð¿ÑƒÐ±Ð»Ð¸ÐºÐ°Ñ†Ð¸Ð¸ %(email)s должен быть дейÑтвительным, Ñм. %" -"(email_validation_faq_url)s" - -#: skins/default/templates/ask_form.html:27 -msgid "Login/signup to post your question" -msgstr "Войдите или запишитеÑÑŒ чтобы опубликовать Ваш ворпоÑ" - -#: skins/default/templates/ask_form.html:29 -msgid "Ask your question" -msgstr "Задайте Ваш вопроÑ" - -#: skins/default/templates/badge.html:4 skins/default/templates/badge.html:11 -#: skins/default/templates/user_recent.html:13 -#: skins/default/templates/user_stats.html:88 +#: skins/default/templates/badge.html:4 skins/default/templates/badge.html:8 +#: skins/default/templates/user_profile/user_recent.html:16 +#: skins/default/templates/user_profile/user_stats.html:106 #, python-format msgid "%(name)s" msgstr "%(name)s" -#: skins/default/templates/badge.html:4 skins/default/templates/badge.html:7 +#: skins/default/templates/badge.html:4 msgid "Badge" msgstr "Ðаграда" -#: skins/default/templates/badge.html:11 -#: skins/default/templates/user_recent.html:13 -#: skins/default/templates/user_stats.html:88 +#: skins/default/templates/badge.html:6 +#, fuzzy, python-format +msgid "Badge \"%(name)s\"" +msgstr "%(name)s" + +#: skins/default/templates/badge.html:8 +#: skins/default/templates/user_profile/user_recent.html:16 +#: skins/default/templates/user_profile/user_stats.html:106 #, python-format msgid "%(description)s" msgstr "%(description)s" -#: skins/default/templates/badge.html:16 +#: skins/default/templates/badge.html:13 msgid "user received this badge:" msgid_plural "users received this badge:" msgstr[0] "пользователь, получивший Ñтот значок" @@ -3026,108 +3324,83 @@ msgstr[2] "пользователей, получивших Ñтот значоРmsgid "Badges summary" msgstr "Ð˜Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð¾ знаках Ð¾Ñ‚Ð»Ð¸Ñ‡Ð¸Ñ (наградах)" -#: skins/default/templates/badges.html:6 +#: skins/default/templates/badges.html:5 msgid "Badges" msgstr "Значки" -#: skins/default/templates/badges.html:10 +#: skins/default/templates/badges.html:7 msgid "Community gives you awards for your questions, answers and votes." msgstr "Ðаграды" -#: skins/default/templates/badges.html:11 -#, python-format +#: skins/default/templates/badges.html:8 +#, fuzzy, python-format msgid "" "Below is the list of available badges and number \n" -" of times each type of badge has been awarded. Give us feedback at %" +"of times each type of badge has been awarded. Give us feedback at %" "(feedback_faq_url)s.\n" -" " msgstr "" "Ðиже приведен ÑпиÑок доÑтупных значков и чиÑло награждений каждым из них. " "ÐŸÑ€ÐµÐ´Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ Ð¿Ð¾ новым значкам отправлÑйте через обратную ÑвÑзь - %" "(feedback_faq_url)s." -#: skins/default/templates/badges.html:40 +#: skins/default/templates/badges.html:35 msgid "Community badges" msgstr "Значки Ð¾Ñ‚Ð»Ð¸Ñ‡Ð¸Ñ ÑообщеÑтва" -#: skins/default/templates/badges.html:43 +#: skins/default/templates/badges.html:37 msgid "gold badge: the highest honor and is very rare" msgstr "Ð·Ð¾Ð»Ð¾Ñ‚Ð°Ñ Ð¼ÐµÐ´Ð°Ð»ÑŒ: выÑÐ¾ÐºÐ°Ñ Ñ‡ÐµÑÑ‚ÑŒ и очень Ñ€ÐµÐ´ÐºÐ°Ñ Ð½Ð°Ð³Ñ€Ð°Ð´Ð°" -#: skins/default/templates/badges.html:46 +#: skins/default/templates/badges.html:40 msgid "gold badge description" msgstr "золотой значок" -#: skins/default/templates/badges.html:51 +#: skins/default/templates/badges.html:45 msgid "" "silver badge: occasionally awarded for the very high quality contributions" msgstr "ÑеребрÑÐ½Ð°Ñ Ð¼ÐµÐ´Ð°Ð»ÑŒ: иногда приÑуждаетÑÑ Ð·Ð° большой вклад" -#: skins/default/templates/badges.html:55 +#: skins/default/templates/badges.html:49 msgid "silver badge description" msgstr "ÑеребрÑный значок" -#: skins/default/templates/badges.html:58 +#: skins/default/templates/badges.html:52 msgid "bronze badge: often given as a special honor" msgstr "бронзовый значок: чаÑто даётÑÑ ÐºÐ°Ðº оÑÐ¾Ð±Ð°Ñ Ð·Ð°Ñлуга" -#: skins/default/templates/badges.html:62 +#: skins/default/templates/badges.html:56 msgid "bronze badge description" msgstr "бронзовый значок - опиÑание" -#: skins/default/templates/close.html:3 skins/default/templates/close.html:6 +#: skins/default/templates/close.html:3 skins/default/templates/close.html:5 msgid "Close question" msgstr "Закрыть вопроÑ" -#: skins/default/templates/close.html:9 +#: skins/default/templates/close.html:6 msgid "Close the question" msgstr "Закрыть вопроÑ" -#: skins/default/templates/close.html:14 +#: skins/default/templates/close.html:11 msgid "Reasons" msgstr "Причины" -#: skins/default/templates/close.html:18 +#: skins/default/templates/close.html:15 msgid "OK to close" msgstr "OK, чтобы закрыть" -#: skins/default/templates/editor_data.html:5 -#, python-format -msgid "each tag must be shorter that %(max_chars)s character" -msgid_plural "each tag must be shorter than %(max_chars)s characters" -msgstr[0] "каждый тег должен быть короче %(max_chars)s Ñимвола" -msgstr[1] "каждый тег должно быть короче чем %(max_chars)s Ñимвола" -msgstr[2] "каждый тег должно быть короче чем %(max_chars)s Ñимволов" - -#: skins/default/templates/editor_data.html:7 -#, python-format -msgid "please use %(tag_count)s tag" -msgid_plural "please use %(tag_count)s tags or less" -msgstr[0] "пожалуйÑта, иÑпользуйте %(tag_count)s тег" -msgstr[1] "пожалуйÑта введите не более %(tag_count)s тегов" -msgstr[2] "пожалуйÑта введите не более %(tag_count)s тегов" - -#: skins/default/templates/editor_data.html:8 -#, python-format -msgid "" -"please use up to %(tag_count)s tags, less than %(max_chars)s characters each" -msgstr "" -"пожалуйÑта, иÑпользуйте до %(tag_count)s тегов, количеÑтво Ñимволов в каждом " -"менее %(max_chars)s" - -#: skins/default/templates/faq.html:3 skins/default/templates/faq.html.py:6 +#: skins/default/templates/faq.html:3 skins/default/templates/faq.html.py:5 msgid "FAQ" msgstr "FAQ" -#: skins/default/templates/faq.html:6 +#: skins/default/templates/faq.html:5 msgid "Frequently Asked Questions " msgstr "ЧаÑто задаваемые вопроÑÑ‹" -#: skins/default/templates/faq.html:11 +#: skins/default/templates/faq.html:6 msgid "What kinds of questions can I ask here?" msgstr "Какие вопроÑÑ‹ Ñ Ð¼Ð¾Ð³Ñƒ задать здеÑÑŒ?" -#: skins/default/templates/faq.html:12 +#: skins/default/templates/faq.html:7 msgid "" "Most importanly - questions should be <strong>relevant</strong> to this " "community." @@ -3135,7 +3408,7 @@ msgstr "" "Самое главное - вопроÑÑ‹ должны <strong>ÑоответÑтвовать теме</strong> " "ÑообщеÑтва." -#: skins/default/templates/faq.html:13 +#: skins/default/templates/faq.html:8 msgid "" "Before asking the question - please make sure to use search to see whether " "your question has alredy been answered." @@ -3143,11 +3416,11 @@ msgstr "" "Перед тем как задать Ð²Ð¾Ð¿Ñ€Ð¾Ñ - пожалуйÑта, не забудьте иÑпользовать поиÑк, " "чтобы убедитьÑÑ, что ваш Ð²Ð¾Ð¿Ñ€Ð¾Ñ ÐµÑ‰Ðµ не имеет ответа." -#: skins/default/templates/faq.html:15 +#: skins/default/templates/faq.html:10 msgid "What questions should I avoid asking?" msgstr "Каких вопроÑов мне Ñледует избегать?" -#: skins/default/templates/faq.html:16 +#: skins/default/templates/faq.html:11 msgid "" "Please avoid asking questions that are not relevant to this community, too " "subjective and argumentative." @@ -3155,11 +3428,11 @@ msgstr "" "ПроÑьба не задавать вопроÑÑ‹, которые не ÑоответÑтвуют теме Ñтого Ñайта, " "Ñлишком Ñубъективны или очевидны." -#: skins/default/templates/faq.html:20 +#: skins/default/templates/faq.html:13 msgid "What should I avoid in my answers?" msgstr "Чего Ñ Ð´Ð¾Ð»Ð¶ÐµÐ½ избегать в Ñвоих ответах?" -#: skins/default/templates/faq.html:21 +#: skins/default/templates/faq.html:14 msgid "" "is a Q&A site, not a discussion group. Therefore - please avoid having " "discussions in your answers, comment facility allows some space for brief " @@ -3169,19 +3442,19 @@ msgstr "" "пожалуйÑта, избегайте обÑÑƒÐ¶Ð´ÐµÐ½Ð¸Ñ Ð² Ñвоих ответах. Комментарии позволÑÑŽÑ‚ лишь " "краткое обÑуждение." -#: skins/default/templates/faq.html:24 +#: skins/default/templates/faq.html:15 msgid "Who moderates this community?" msgstr "Кто модерирует Ñто ÑообщеÑтво?" -#: skins/default/templates/faq.html:25 +#: skins/default/templates/faq.html:16 msgid "The short answer is: <strong>you</strong>." msgstr "Ответ краток: <strong>вы.</strong>" -#: skins/default/templates/faq.html:26 +#: skins/default/templates/faq.html:17 msgid "This website is moderated by the users." msgstr "Ðтот Ñайт находитÑÑ Ð¿Ð¾Ð´ управлением Ñамих пользователей." -#: skins/default/templates/faq.html:27 +#: skins/default/templates/faq.html:18 msgid "" "The reputation system allows users earn the authorization to perform a " "variety of moderation tasks." @@ -3189,15 +3462,15 @@ msgstr "" "СиÑтема репутации (кармы) позволÑет пользователÑм приобретать различные " "управленчеÑкие права." -#: skins/default/templates/faq.html:32 +#: skins/default/templates/faq.html:20 msgid "How does reputation system work?" msgstr "Как работает карма?" -#: skins/default/templates/faq.html:33 +#: skins/default/templates/faq.html:21 msgid "Rep system summary" msgstr "Суть кармы" -#: skins/default/templates/faq.html:34 +#: skins/default/templates/faq.html:22 #, python-format msgid "" "For example, if you ask an interesting question or give a helpful answer, " @@ -3219,69 +3492,57 @@ msgstr "" "за Ð²Ð¾Ð¿Ñ€Ð¾Ñ Ð¸Ð»Ð¸ ответ за день. Ð’ таблице ниже предÑтавлены вÑе Ñ‚Ñ€ÐµÐ±Ð¾Ð²Ð°Ð½Ð¸Ñ Ðº " "карме Ð´Ð»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð³Ð¾ типа модерированиÑ." -#: skins/default/templates/faq.html:44 -#: skins/default/templates/user_votes.html:10 +#: skins/default/templates/faq.html:32 +#: skins/default/templates/user_profile/user_votes.html:13 msgid "upvote" msgstr "проголоÑовать \"за\"" -#: skins/default/templates/faq.html:49 +#: skins/default/templates/faq.html:37 msgid "use tags" msgstr "иÑпользовать теги" -#: skins/default/templates/faq.html:54 +#: skins/default/templates/faq.html:42 msgid "add comments" msgstr "добавить комментарии" -#: skins/default/templates/faq.html:58 -#: skins/default/templates/user_votes.html:12 +#: skins/default/templates/faq.html:46 +#: skins/default/templates/user_profile/user_votes.html:15 msgid "downvote" msgstr "проголоÑовать \"против\"" -#: skins/default/templates/faq.html:61 +#: skins/default/templates/faq.html:49 msgid "open and close own questions" msgstr "открывать и закрывать Ñвои вопроÑÑ‹" -#: skins/default/templates/faq.html:65 +#: skins/default/templates/faq.html:53 msgid "retag other's questions" msgstr "изменÑÑ‚ÑŒ теги других вопроÑов" -#: skins/default/templates/faq.html:70 +#: skins/default/templates/faq.html:58 msgid "edit community wiki questions" msgstr "редактировать вопроÑÑ‹ в вики ÑообщеÑтва " -#: skins/default/templates/faq.html:75 +#: skins/default/templates/faq.html:63 msgid "\"edit any answer" msgstr "редактировать любой ответ" -#: skins/default/templates/faq.html:79 +#: skins/default/templates/faq.html:67 msgid "\"delete any comment" msgstr "удалÑÑ‚ÑŒ любые комментарии" -#: skins/default/templates/faq.html:86 -msgid "how to validate email title" -msgstr "как проверить заголовок Ñлектронного ÑообщениÑ" - -#: skins/default/templates/faq.html:88 -#, python-format -msgid "" -"how to validate email info with %(send_email_key_url)s %(gravatar_faq_url)s" -msgstr "" -"как проверить Ñлектронную почту Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ %(send_email_key_url)s %" -"(gravatar_faq_url)s" - -#: skins/default/templates/faq.html:93 +#: skins/default/templates/faq.html:70 msgid "what is gravatar" msgstr "что такое Gravatar" -#: skins/default/templates/faq.html:94 +#: skins/default/templates/faq.html:71 msgid "gravatar faq info" msgstr "gravatar FAQ" -#: skins/default/templates/faq.html:97 +#: skins/default/templates/faq.html:72 msgid "To register, do I need to create new password?" msgstr "Ðеобходимо ли Ñоздавать новый пароль, чтобы зарегиÑтрироватьÑÑ?" -#: skins/default/templates/faq.html:98 +#: skins/default/templates/faq.html:73 msgid "" "No, you don't have to. You can login through any service that supports " "OpenID, e.g. Google, Yahoo, AOL, etc.\"" @@ -3289,19 +3550,19 @@ msgstr "" "Ðет, Ñтого делать нет необходимоÑти. Ð’Ñ‹ можете Войти через любой ÑервиÑ, " "который поддерживает OpenID, например, Google, Yahoo, AOL и Ñ‚.д." -#: skins/default/templates/faq.html:99 +#: skins/default/templates/faq.html:74 msgid "\"Login now!\"" msgstr "Войти ÑейчаÑ!" -#: skins/default/templates/faq.html:103 +#: skins/default/templates/faq.html:76 msgid "Why other people can edit my questions/answers?" msgstr "Почему другие люди могут изменÑÑ‚ÑŒ мои вопроÑÑ‹ / ответы?" -#: skins/default/templates/faq.html:104 +#: skins/default/templates/faq.html:77 msgid "Goal of this site is..." msgstr "Цель Ñтого Ñайта ..." -#: skins/default/templates/faq.html:104 +#: skins/default/templates/faq.html:77 msgid "" "So questions and answers can be edited like wiki pages by experienced users " "of this site and this improves the overall quality of the knowledge base " @@ -3311,15 +3572,15 @@ msgstr "" "ответы как Ñтраницы вики, что в Ñвою очередь улучшает качеÑтво ÑÐ¾Ð´ÐµÑ€Ð¶Ð°Ð½Ð¸Ñ " "базы данных вопроÑов/ответов." -#: skins/default/templates/faq.html:105 +#: skins/default/templates/faq.html:78 msgid "If this approach is not for you, we respect your choice." msgstr "ЕÑли Ñтот подход не Ð´Ð»Ñ Ð²Ð°Ñ, мы уважаем ваш выбор." -#: skins/default/templates/faq.html:109 +#: skins/default/templates/faq.html:80 msgid "Still have questions?" msgstr "ОÑталиÑÑŒ вопроÑÑ‹?" -#: skins/default/templates/faq.html:110 +#: skins/default/templates/faq.html:81 #, python-format msgid "" "Please ask your question at %(ask_question_url)s, help make our community " @@ -3328,57 +3589,50 @@ msgstr "" "Задайте Ñвой Ð²Ð¾Ð¿Ñ€Ð¾Ñ Ð² %(ask_question_url)s, помогите Ñделать наше ÑообщеÑтво " "лучше!" -#: skins/default/templates/faq.html:112 skins/default/templates/header.html:26 -msgid "questions" -msgstr "вопроÑÑ‹" - -#: skins/default/templates/faq.html:112 -msgid "." -msgstr "." - #: skins/default/templates/feedback.html:3 msgid "Feedback" msgstr "ÐžÐ±Ñ€Ð°Ñ‚Ð½Ð°Ñ ÑвÑзь" -#: skins/default/templates/feedback.html:6 +#: skins/default/templates/feedback.html:5 msgid "Give us your feedback!" msgstr "Ð’Ñ‹Ñкажите Ñвое мнение!" -#: skins/default/templates/feedback.html:12 -#, python-format +#: skins/default/templates/feedback.html:9 +#, fuzzy, python-format msgid "" "\n" -" <span class='big strong'>Dear %(user_name)s</span>, we look " -"forward to hearing your feedback. \n" -" Please type and send us your message below.\n" -" " +" <span class='big strong'>Dear %(user_name)s</span>, we look forward " +"to hearing your feedback. \n" +" Please type and send us your message below.\n" +" " msgstr "" "\n" "<span class='big strong'>Уважаемый %(user_name)s,</span> мы Ñ Ð½ÐµÑ‚ÐµÑ€Ð¿ÐµÐ½Ð¸ÐµÐ¼ " "ждем ваших отзывов. \n" "ПожалуйÑта, укажите и отправьте нам Ñвое Ñообщение ниже." -#: skins/default/templates/feedback.html:19 +#: skins/default/templates/feedback.html:16 +#, fuzzy msgid "" "\n" -" <span class='big strong'>Dear visitor</span>, we look forward to " +" <span class='big strong'>Dear visitor</span>, we look forward to " "hearing your feedback.\n" -" Please type and send us your message below.\n" -" " +" Please type and send us your message below.\n" +" " msgstr "" "\n" "<span class='big strong'>Уважаемый поÑетитель</span>, мы Ñ Ð½ÐµÑ‚ÐµÑ€Ð¿ÐµÐ½Ð¸ÐµÐ¼ ждем " "ваших отзывов. ПожалуйÑта, введите и отправить нам Ñвое Ñообщение ниже." -#: skins/default/templates/feedback.html:28 +#: skins/default/templates/feedback.html:25 msgid "(please enter a valid email)" msgstr "(пожалуйÑта, введите правильный Ð°Ð´Ñ€ÐµÑ Ñлектронной почты)" -#: skins/default/templates/feedback.html:36 +#: skins/default/templates/feedback.html:33 msgid "(this field is required)" msgstr "(Ñто поле обÑзательно)" -#: skins/default/templates/feedback.html:44 +#: skins/default/templates/feedback.html:41 msgid "Send Feedback" msgstr "Отправить отзыв" @@ -3408,43 +3662,35 @@ msgstr "анонимный" msgid "Message body:" msgstr "ТекÑÑ‚ ÑообщениÑ:" -#: skins/default/templates/footer.html:5 -#: skins/default/templates/blocks/header_meta_links.html:51 -msgid "about" -msgstr "о наÑ" - -#: skins/default/templates/footer.html:7 -msgid "privacy policy" -msgstr "политика конфиденциальноÑти" - -#: skins/default/templates/footer.html:16 -msgid "give feedback" -msgstr "оÑтавить отзыв" - -#: skins/default/templates/header.html:15 -msgid "back to home page" -msgstr "вернутьÑÑ Ð½Ð° главную" - -#: skins/default/templates/header.html:16 -#, python-format -msgid "%(site)s logo" -msgstr "логотип %(site)s" +#: skins/default/templates/import_data.html:2 +#: skins/default/templates/import_data.html:4 +msgid "Import StackExchange data" +msgstr "" -#: skins/default/templates/header.html:36 -msgid "users" -msgstr "пользователи" +#: skins/default/templates/import_data.html:13 +msgid "" +"<em>Warning:</em> if your database is not empty, please back it up\n" +" before attempting this operation." +msgstr "" -#: skins/default/templates/header.html:41 -msgid "badges" -msgstr "награды" +#: skins/default/templates/import_data.html:16 +msgid "" +"Upload your stackexchange dump .zip file, then wait until\n" +" the data import completes. This process may take several minutes.\n" +" Please note that feedback will be printed in plain text.\n" +" " +msgstr "" -#: skins/default/templates/header.html:46 -msgid "ask a question" -msgstr "задать вопроÑ" +#: skins/default/templates/import_data.html:25 +msgid "Import data" +msgstr "" -#: skins/default/templates/input_bar.html:32 -msgid "search" -msgstr "поиÑк" +#: skins/default/templates/import_data.html:27 +msgid "" +"In the case you experience any difficulties in using this import tool,\n" +" please try importing your data via command line: <code>python manage." +"py load_stackexchange path/to/your-data.zip</code>" +msgstr "" #: skins/default/templates/instant_notification.html:1 #, python-format @@ -3538,21 +3784,19 @@ msgstr "" msgid "<p>Sincerely,<br/>Forum Administrator</p>" msgstr "<p>С уважением,<br/>ÐдминиÑÑ‚Ñ€Ð°Ñ†Ð¸Ñ Ð¤Ð¾Ñ€ÑƒÐ¼Ð°</p>" -#: skins/default/templates/logout.html:3 skins/default/templates/logout.html:6 +#: skins/default/templates/logout.html:3 msgid "Logout" msgstr "Выйти" -#: skins/default/templates/logout.html:9 -msgid "" -"As a registered user you can login with your OpenID, log out of the site or " -"permanently remove your account." +#: skins/default/templates/logout.html:5 +msgid "You have successfully logged out" msgstr "" -"Как зарегиÑтрированный пользователь Ð’Ñ‹ можете Войти Ñ OpenID, выйти из Ñайта " -"или удалить Ñвой аккаунт." -#: skins/default/templates/logout.html:10 -msgid "Logout now" -msgstr "Выйти ÑейчаÑ" +#: skins/default/templates/logout.html:6 +msgid "" +"However, you still may be logged in to your OpenID provider. Please logout " +"of your provider if you wish to do so." +msgstr "" #: skins/default/templates/macros.html:26 msgid "karma:" @@ -3562,39 +3806,49 @@ msgstr "карма:" msgid "badges:" msgstr "награды" -#: skins/default/templates/macros.html:52 -#: skins/default/templates/macros.html:53 +#: skins/default/templates/macros.html:82 +#: skins/default/templates/macros.html:83 msgid "previous" msgstr "предыдущаÑ" -#: skins/default/templates/macros.html:64 +#: skins/default/templates/macros.html:94 msgid "current page" msgstr "Ñ‚ÐµÐºÑƒÑ‰Ð°Ñ Ñтраница" -#: skins/default/templates/macros.html:66 -#: skins/default/templates/macros.html:73 +#: skins/default/templates/macros.html:96 +#: skins/default/templates/macros.html:103 #, python-format msgid "page number %(num)s" msgstr "Ñтраница номер %(num)s" -#: skins/default/templates/macros.html:77 +#: skins/default/templates/macros.html:107 msgid "next page" msgstr "ÑÐ»ÐµÐ´ÑƒÑŽÑ‰Ð°Ñ Ñтраница" -#: skins/default/templates/macros.html:88 +#: skins/default/templates/macros.html:118 msgid "posts per page" msgstr "Ñообщений на Ñтранице" -#: skins/default/templates/macros.html:119 templatetags/extra_tags.py:44 +#: skins/default/templates/macros.html:150 templatetags/extra_tags.py:43 #, python-format msgid "%(username)s gravatar image" msgstr "%(username)s Gravatar" -#: skins/default/templates/macros.html:142 +#: skins/default/templates/macros.html:159 +#, fuzzy, python-format +msgid "%(username)s's website is %(url)s" +msgstr "пользователь %(username)s имеет ÑÑ‚Ð°Ñ‚ÑƒÑ \"%(status)s\"" + +#: skins/default/templates/macros.html:171 +#, fuzzy +msgid "anonymous user" +msgstr "анонимный" + +#: skins/default/templates/macros.html:199 msgid "this post is marked as community wiki" msgstr "поÑÑ‚ отмечен как вики ÑообщеÑтва" -#: skins/default/templates/macros.html:145 +#: skins/default/templates/macros.html:202 #, python-format msgid "" "This post is a wiki.\n" @@ -3602,74 +3856,66 @@ msgid "" msgstr "" "Ðтот поÑÑ‚ - вики. Любой Ñ ÐºÐ°Ñ€Ð¼Ð¾Ð¹ >%(wiki_min_rep)s может улучшить его." -#: skins/default/templates/macros.html:151 +#: skins/default/templates/macros.html:208 msgid "asked" msgstr "ÑпроÑил" -#: skins/default/templates/macros.html:153 +#: skins/default/templates/macros.html:210 msgid "answered" msgstr "ответил" -#: skins/default/templates/macros.html:155 +#: skins/default/templates/macros.html:212 msgid "posted" msgstr "опубликовал" -#: skins/default/templates/macros.html:185 +#: skins/default/templates/macros.html:242 msgid "updated" msgstr "обновил" -#: skins/default/templates/macros.html:210 -#: skins/default/templates/unused/questions_ajax.html:23 views/readers.py:238 +#: skins/default/templates/macros.html:309 +#, python-format +msgid "see questions tagged '%(tag)s'" +msgstr "Ñмотри вопроÑÑ‹ Ñ Ñ‚ÐµÐ³Ð°Ð¼Ð¸ '%(tag)s'" + +#: skins/default/templates/macros.html:352 views/readers.py:220 msgid "vote" msgid_plural "votes" msgstr[0] "голоÑ" msgstr[1] "голоÑа" msgstr[2] "голоÑов" -#: skins/default/templates/macros.html:227 -#: skins/default/templates/unused/questions_ajax.html:43 views/readers.py:241 +#: skins/default/templates/macros.html:369 views/readers.py:223 msgid "answer" msgid_plural "answers" msgstr[0] "ответ" msgstr[1] "ответа" msgstr[2] "ответов" -#: skins/default/templates/macros.html:239 -#: skins/default/templates/unused/questions_ajax.html:55 views/readers.py:244 +#: skins/default/templates/macros.html:380 views/readers.py:226 msgid "view" msgid_plural "views" msgstr[0] "проÑмотр" msgstr[1] "проÑмотра" msgstr[2] "проÑмотров" -#: skins/default/templates/macros.html:251 -#: skins/default/templates/question.html:88 -#: skins/default/templates/tags.html:38 -#: skins/default/templates/unused/question_list.html:64 -#: skins/default/templates/unused/question_summary_list_roll.html:52 -#: skins/default/templates/unused/questions_ajax.html:68 -#, python-format -msgid "see questions tagged '%(tag)s'" -msgstr "Ñмотри вопроÑÑ‹ Ñ Ñ‚ÐµÐ³Ð°Ð¼Ð¸ '%(tag)s'" - -#: skins/default/templates/macros.html:267 -#: skins/default/templates/question.html:94 -#: skins/default/templates/question.html:250 +#: skins/default/templates/macros.html:409 +#: skins/default/templates/question.html:92 +#: skins/default/templates/question.html:248 #: skins/default/templates/revisions.html:37 msgid "edit" msgstr "редактировать" -#: skins/default/templates/macros.html:272 +#: skins/default/templates/macros.html:413 msgid "delete this comment" msgstr "удалить Ñтот комментарий" -#: skins/default/templates/macros.html:290 -#: skins/default/templates/macros.html:298 -#: skins/default/templates/question.html:432 +#: skins/default/templates/macros.html:431 +#: skins/default/templates/macros.html:439 +#: skins/default/templates/question.html:437 msgid "add comment" msgstr "добавить комментарий" -#: skins/default/templates/macros.html:291 +#: skins/default/templates/macros.html:432 #, python-format msgid "see <strong>%(counter)s</strong> more" msgid_plural "see <strong>%(counter)s</strong> more" @@ -3677,7 +3923,7 @@ msgstr[0] "Ñмотреть еще <strong>один</strong>" msgstr[1] "Ñмотреть еще <strong>%(counter)s</strong>" msgstr[2] "Ñмотреть еще <strong>%(counter)s</strong>" -#: skins/default/templates/macros.html:293 +#: skins/default/templates/macros.html:434 #, python-format msgid "see <strong>%(counter)s</strong> more comment" msgid_plural "" @@ -3687,114 +3933,153 @@ msgstr[0] "Ñмотреть еще <strong>один</strong> комментарРmsgstr[1] "Ñмотреть еще <strong>%(counter)s</strong> комментариÑ" msgstr[2] "Ñмотреть еще <strong>%(counter)s</strong> комментариев" -#: skins/default/templates/macros.html:422 +#: skins/default/templates/macros.html:569 msgid "(required)" msgstr "(обÑзательно)" -#: skins/default/templates/macros.html:443 +#: skins/default/templates/macros.html:590 msgid "Toggle the real time Markdown editor preview" msgstr "Включить/выключить предварительный проÑмотр текÑта" +#: skins/default/templates/macros.html:602 +#, python-format +msgid "responses for %(username)s" +msgstr "ответы пользователю %(username)s" + +#: skins/default/templates/macros.html:605 +#, fuzzy, python-format +msgid "you have a new response" +msgid_plural "you have %(response_count)s new responses" +msgstr[0] "У Ð²Ð°Ñ Ð½Ð¾Ð²Ñ‹Ð¹ ответ" +msgstr[1] "У Ð²Ð°Ñ %(response_count)s новых ответов" +msgstr[2] "У Ð²Ð°Ñ %(response_count)s новых ответов" + +#: skins/default/templates/macros.html:608 +msgid "no new responses yet" +msgstr "новых ответов нет" + +#: skins/default/templates/macros.html:623 +#: skins/default/templates/macros.html:624 +#, python-format +msgid "%(new)s new flagged posts and %(seen)s previous" +msgstr "%(new)s новых поÑтов Ñо Ñпамом и %(seen)s предыдущих" + +#: skins/default/templates/macros.html:626 +#: skins/default/templates/macros.html:627 +#, python-format +msgid "%(new)s new flagged posts" +msgstr "%(new)s новых неумеÑтных Ñообщений" + +#: skins/default/templates/macros.html:632 +#: skins/default/templates/macros.html:633 +#, python-format +msgid "%(seen)s flagged posts" +msgstr "%(seen)s неумеÑтных Ñообщений" + +#: skins/default/templates/main_page.html:11 +msgid "Questions" +msgstr "ВопроÑÑ‹" + #: skins/default/templates/privacy.html:3 -#: skins/default/templates/privacy.html:6 +#: skins/default/templates/privacy.html:5 msgid "Privacy policy" msgstr "КонфиденциальноÑÑ‚ÑŒ" -#: skins/default/templates/question.html:30 -#: skins/default/templates/question.html:31 -#: skins/default/templates/question.html:46 -#: skins/default/templates/question.html:48 +#: skins/default/templates/question.html:26 +#: skins/default/templates/question.html:27 +#: skins/default/templates/question.html:42 +#: skins/default/templates/question.html:44 msgid "i like this post (click again to cancel)" msgstr "мне понравилÑÑ Ñтот поÑÑ‚ (щелкните Ñнова, чтобы отменить)" -#: skins/default/templates/question.html:33 -#: skins/default/templates/question.html:50 -#: skins/default/templates/question.html:201 +#: skins/default/templates/question.html:29 +#: skins/default/templates/question.html:46 +#: skins/default/templates/question.html:199 msgid "current number of votes" msgstr "текущее чиÑло голоÑов" -#: skins/default/templates/question.html:42 -#: skins/default/templates/question.html:43 -#: skins/default/templates/question.html:55 -#: skins/default/templates/question.html:56 +#: skins/default/templates/question.html:38 +#: skins/default/templates/question.html:39 +#: skins/default/templates/question.html:51 +#: skins/default/templates/question.html:52 msgid "i dont like this post (click again to cancel)" msgstr "мне не понравилÑÑ Ñтот поÑÑ‚ (нажмите еще раз Ð´Ð»Ñ Ð¾Ñ‚Ð¼ÐµÐ½Ñ‹)" -#: skins/default/templates/question.html:60 -#: skins/default/templates/question.html:61 +#: skins/default/templates/question.html:56 +#: skins/default/templates/question.html:57 msgid "mark this question as favorite (click again to cancel)" msgstr "добавить в закладки (чтобы отменить - отметьте еще раз)" -#: skins/default/templates/question.html:67 -#: skins/default/templates/question.html:68 +#: skins/default/templates/question.html:63 +#: skins/default/templates/question.html:64 msgid "remove favorite mark from this question (click again to restore mark)" msgstr "удалить из закладок (еще раз - чтобы воÑÑтановить)" -#: skins/default/templates/question.html:74 +#: skins/default/templates/question.html:70 msgid "Share this question on twitter" msgstr "ПоделитьÑÑ Ð²Ð¾Ð¿Ñ€Ð¾Ñом на Twitter" -#: skins/default/templates/question.html:75 +#: skins/default/templates/question.html:71 msgid "Share this question on facebook" msgstr "ПоделитьÑÑ Ð²Ð¾Ð¿Ñ€Ð¾Ñом на Facebook" -#: skins/default/templates/question.html:97 +#: skins/default/templates/question.html:95 msgid "retag" msgstr "изменить тег" -#: skins/default/templates/question.html:104 +#: skins/default/templates/question.html:102 msgid "reopen" msgstr "переоткрыть" -#: skins/default/templates/question.html:108 +#: skins/default/templates/question.html:106 msgid "close" msgstr "закрыть" -#: skins/default/templates/question.html:113 -#: skins/default/templates/question.html:254 +#: skins/default/templates/question.html:111 +#: skins/default/templates/question.html:252 msgid "" "report as offensive (i.e containing spam, advertising, malicious text, etc.)" msgstr "" "Ñообщить о Ñпаме (Ñ‚.е. ÑообщениÑÑ… Ñодержащих Ñпам, рекламу, вредоноÑные " "ÑÑылки и Ñ‚.д.)" -#: skins/default/templates/question.html:114 -#: skins/default/templates/question.html:255 +#: skins/default/templates/question.html:112 +#: skins/default/templates/question.html:253 msgid "flag offensive" msgstr "Ñпам" -#: skins/default/templates/question.html:121 -#: skins/default/templates/question.html:265 +#: skins/default/templates/question.html:119 +#: skins/default/templates/question.html:263 msgid "undelete" msgstr "воÑÑтановить" -#: skins/default/templates/question.html:121 -#: skins/default/templates/question.html:265 -#: skins/default/templates/authopenid/signin.html:175 +#: skins/default/templates/question.html:119 +#: skins/default/templates/question.html:263 +#: skins/default/templates/authopenid/signin.html:155 msgid "delete" msgstr "удалить" -#: skins/default/templates/question.html:159 +#: skins/default/templates/question.html:156 #, python-format msgid "" "The question has been closed for the following reason \"%(close_reason)s\" by" msgstr "Ð’Ð¾Ð¿Ñ€Ð¾Ñ Ð±Ñ‹Ð» закрыт по Ñледующим причинам \"%(close_reason)s\", автор:" -#: skins/default/templates/question.html:161 +#: skins/default/templates/question.html:158 #, python-format msgid "close date %(closed_at)s" msgstr "дата закрытиÑ: %(closed_at)s" -#: skins/default/templates/question.html:169 -#, python-format +#: skins/default/templates/question.html:164 +#, fuzzy, python-format msgid "" "\n" -" %(counter)s Answer:\n" -" " +" %(counter)s Answer:\n" +" " msgid_plural "" "\n" -" %(counter)s Answers:\n" -" " +" %(counter)s Answers:\n" +" " msgstr[0] "" "\n" "Один ответ:\n" @@ -3806,73 +4091,73 @@ msgstr[2] "" "\n" "%(counter)s Ответов:" -#: skins/default/templates/question.html:177 +#: skins/default/templates/question.html:172 msgid "oldest answers will be shown first" msgstr "Ñамые Ñтарые ответы будут показаны первыми" -#: skins/default/templates/question.html:177 +#: skins/default/templates/question.html:173 msgid "oldest answers" msgstr "Ñамые Ñтарые ответы" -#: skins/default/templates/question.html:179 +#: skins/default/templates/question.html:175 msgid "newest answers will be shown first" msgstr "Ñамые новые ответы будут показаны первыми" -#: skins/default/templates/question.html:179 +#: skins/default/templates/question.html:176 msgid "newest answers" msgstr "Ñамые новые ответы" -#: skins/default/templates/question.html:181 +#: skins/default/templates/question.html:178 msgid "most voted answers will be shown first" msgstr "ответы Ñ Ð±<b>о</b>льшим чиÑлом голоÑов будут показаны первыми" -#: skins/default/templates/question.html:181 +#: skins/default/templates/question.html:179 msgid "popular answers" msgstr "популÑрные ответы" -#: skins/default/templates/question.html:199 -#: skins/default/templates/question.html:200 +#: skins/default/templates/question.html:197 +#: skins/default/templates/question.html:198 msgid "i like this answer (click again to cancel)" msgstr "мне нравитÑÑ Ñтот ответ (нажмите еще раз Ð´Ð»Ñ Ð¾Ñ‚Ð¼ÐµÐ½Ñ‹)" -#: skins/default/templates/question.html:210 -#: skins/default/templates/question.html:211 +#: skins/default/templates/question.html:208 +#: skins/default/templates/question.html:209 msgid "i dont like this answer (click again to cancel)" msgstr "мне не нравитÑÑ Ñтот ответ (нажмите еще раз Ð´Ð»Ñ Ð¾Ñ‚Ð¼ÐµÐ½Ñ‹)" -#: skins/default/templates/question.html:219 -#: skins/default/templates/question.html:220 +#: skins/default/templates/question.html:217 +#: skins/default/templates/question.html:218 msgid "mark this answer as favorite (click again to undo)" msgstr "отметить Ñтот Ð²Ð¾Ð¿Ñ€Ð¾Ñ ÐºÐ°Ðº интереÑный (еще раз - чтобы удалить закладку)" -#: skins/default/templates/question.html:229 -#: skins/default/templates/question.html:230 +#: skins/default/templates/question.html:227 +#: skins/default/templates/question.html:228 #, python-format msgid "%(question_author)s has selected this answer as correct" msgstr "автор вопроÑа %(question_author)s выбрал Ñтот ответ правильным" -#: skins/default/templates/question.html:245 +#: skins/default/templates/question.html:243 msgid "answer permanent link" msgstr "поÑтоÑÐ½Ð½Ð°Ñ ÑÑылка на ответ" -#: skins/default/templates/question.html:246 +#: skins/default/templates/question.html:244 msgid "permanent link" msgstr "поÑтоÑÐ½Ð½Ð°Ñ ÑÑылка" +#: skins/default/templates/question.html:313 #: skins/default/templates/question.html:315 -#: skins/default/templates/question.html:317 msgid "Notify me once a day when there are any new answers" msgstr "Информировать один раз в день, еÑли еÑÑ‚ÑŒ новые ответы" -#: skins/default/templates/question.html:319 +#: skins/default/templates/question.html:317 msgid "Notify me weekly when there are any new answers" msgstr "Еженедельно информировать о новых ответах" -#: skins/default/templates/question.html:321 +#: skins/default/templates/question.html:319 msgid "Notify me immediately when there are any new answers" msgstr "Информировать о новых ответах Ñразу" -#: skins/default/templates/question.html:324 +#: skins/default/templates/question.html:322 #, python-format msgid "" "You can always adjust frequency of email updates from your %(profile_url)s" @@ -3880,310 +4165,126 @@ msgstr "" "(в Ñвоем профиле, вы можете наÑтроить чаÑтоту оповещений по Ñлектронной " "почте, нажав на кнопку \"подпиÑка по e-mail\" - %(profile_url)s)" -#: skins/default/templates/question.html:329 +#: skins/default/templates/question.html:327 msgid "once you sign in you will be able to subscribe for any updates here" msgstr "ПоÑле входа в ÑиÑтему вы Ñможете подпиÑатьÑÑ Ð½Ð° вÑе обновлениÑ" -#: skins/default/templates/question.html:339 +#: skins/default/templates/question.html:337 msgid "Your answer" msgstr "Ваш ответ" -#: skins/default/templates/question.html:341 +#: skins/default/templates/question.html:339 msgid "Be the first one to answer this question!" msgstr "Будьте первым, кто ответ на Ñтот вопроÑ!" -#: skins/default/templates/question.html:347 +#: skins/default/templates/question.html:345 msgid "you can answer anonymously and then login" msgstr "Ð’Ñ‹ можете ответить анонимно, а затем войти" -#: skins/default/templates/question.html:351 +#: skins/default/templates/question.html:349 msgid "answer your own question only to give an answer" msgstr "ответ на ÑобÑтвенный Ð²Ð¾Ð¿Ñ€Ð¾Ñ Ñ‚Ð¾Ð»ÑŒÐºÐ¾ ради ответа" -#: skins/default/templates/question.html:353 +#: skins/default/templates/question.html:351 msgid "please only give an answer, no discussions" msgstr "пожалуйÑта, отвечайте на вопроÑÑ‹, а не вÑтупайте в обÑуждениÑ" -#: skins/default/templates/question.html:360 +#: skins/default/templates/question.html:358 msgid "Login/Signup to Post Your Answer" msgstr "Войти / ЗарегиÑтрироватьÑÑ Ñ‡Ñ‚Ð¾Ð±Ñ‹ ответить" -#: skins/default/templates/question.html:363 +#: skins/default/templates/question.html:361 msgid "Answer Your Own Question" msgstr "Ответьте на ÑобÑтвенный вопроÑ" -#: skins/default/templates/question.html:365 +#: skins/default/templates/question.html:363 msgid "Answer the question" msgstr "Ответить на вопроÑ" -#: skins/default/templates/question.html:379 +#: skins/default/templates/question.html:378 msgid "Question tags" msgstr "Теги вопроÑа" -#: skins/default/templates/question.html:384 -#: skins/default/templates/questions.html:224 -#: skins/default/templates/tag_selector.html:9 -#: skins/default/templates/tag_selector.html:26 -#, python-format -msgid "see questions tagged '%(tag_name)s'" -msgstr "Ñм. вопроÑÑ‹ Ñ Ñ‚ÐµÐ³Ð°Ð¼Ð¸ '%(tag_name)s'" - -#: skins/default/templates/question.html:390 +#: skins/default/templates/question.html:395 msgid "question asked" msgstr "Ð²Ð¾Ð¿Ñ€Ð¾Ñ Ð±Ñ‹Ð» задан" -#: skins/default/templates/question.html:393 +#: skins/default/templates/question.html:398 msgid "question was seen" msgstr "Ð²Ð¾Ð¿Ñ€Ð¾Ñ Ð±Ñ‹Ð» проÑмотрен" -#: skins/default/templates/question.html:393 +#: skins/default/templates/question.html:398 msgid "times" msgstr "раз" -#: skins/default/templates/question.html:396 +#: skins/default/templates/question.html:401 msgid "last updated" msgstr "поÑледнее обновление" -#: skins/default/templates/question.html:403 +#: skins/default/templates/question.html:408 msgid "Related questions" msgstr "похожие вопроÑÑ‹:" #: skins/default/templates/question_edit.html:4 -#: skins/default/templates/question_edit.html:10 +#: skins/default/templates/question_edit.html:9 msgid "Edit question" msgstr "Изменить вопроÑ" -#: skins/default/templates/question_edit_tips.html:3 -msgid "question tips" -msgstr "подÑказки к вопроÑам" - -#: skins/default/templates/question_edit_tips.html:6 -msgid "please ask a relevant question" -msgstr "ваш Ð²Ð¾Ð¿Ñ€Ð¾Ñ Ð´Ð¾Ð»Ð¶ÐµÐ½ ÑоответÑтвовать тематике ÑообщеÑтва" - -#: skins/default/templates/question_edit_tips.html:9 -msgid "please try provide enough details" -msgstr "поÑтарайтеÑÑŒ придать макÑимум информативноÑти Ñвоему вопроÑу" - #: skins/default/templates/question_retag.html:3 -#: skins/default/templates/question_retag.html:6 +#: skins/default/templates/question_retag.html:5 msgid "Change tags" msgstr "Измененить Ñ‚Ñги" -#: skins/default/templates/question_retag.html:25 +#: skins/default/templates/question_retag.html:21 msgid "Retag" msgstr "изменить теги" -#: skins/default/templates/question_retag.html:34 +#: skins/default/templates/question_retag.html:28 msgid "Why use and modify tags?" msgstr "Зачем иÑпользовать и изменÑÑ‚ÑŒ теги?" -#: skins/default/templates/question_retag.html:36 +#: skins/default/templates/question_retag.html:30 msgid "Tags help to keep the content better organized and searchable" msgstr "Теги помогают лучше организовать поиÑк" -#: skins/default/templates/question_retag.html:38 +#: skins/default/templates/question_retag.html:32 msgid "tag editors receive special awards from the community" msgstr "редакторы тегов получают Ñпециальные призы от ÑообщеÑтва" -#: skins/default/templates/question_retag.html:79 +#: skins/default/templates/question_retag.html:59 msgid "up to 5 tags, less than 20 characters each" msgstr "до 5 тегов, менее 20 Ñимволов каждый" -#: skins/default/templates/questions.html:4 -msgid "Questions" -msgstr "ВопроÑÑ‹" - -#: skins/default/templates/questions.html:9 -msgid "In:" -msgstr "Ð’:" - -#: skins/default/templates/questions.html:18 -msgid "see unanswered questions" -msgstr "проÑмотреть неотвеченные ворпоÑÑ‹" - -#: skins/default/templates/questions.html:24 -msgid "see your favorite questions" -msgstr "проÑмотр отмеченные вопроÑÑ‹" - -#: skins/default/templates/questions.html:29 -msgid "Sort by:" -msgstr "УпорÑдочить по:" - -#: skins/default/templates/questions.html:99 -#: skins/default/templates/questions.html:102 -msgid "subscribe to the questions feed" -msgstr "подпиÑатьÑÑ Ð½Ð° RSS-канал Ð´Ð»Ñ Ð²Ð¾Ð¿Ñ€Ð¾Ñов" - -#: skins/default/templates/questions.html:103 -msgid "rss feed" -msgstr "RSS-канал" - -#: skins/default/templates/questions.html:107 -#, python-format -msgid "" -"\n" -" %(q_num)s question\n" -" " -msgid_plural "" -"\n" -" %(q_num)s questions\n" -" " -msgstr[0] "" -"\n" -"%(q_num)s ответ:" -msgstr[1] "" -"\n" -"%(q_num)s ответа:" -msgstr[2] "" -"\n" -"%(q_num)s ответов:" - -#: skins/default/templates/questions.html:113 views/readers.py:158 -#, python-format -msgid "%(q_num)s question" -msgid_plural "%(q_num)s questions" -msgstr[0] "%(q_num)s вопроÑ" -msgstr[1] "%(q_num)s вопроÑа" -msgstr[2] "%(q_num)s вопроÑов" - -#: skins/default/templates/questions.html:116 -#, python-format -msgid "with %(author_name)s's contributions" -msgstr "при помощи %(author_name)s" - -#: skins/default/templates/questions.html:119 -msgid "tagged" -msgstr "помеченный" - -#: skins/default/templates/questions.html:124 -msgid "Search tips:" -msgstr "Советы по поиÑку:" - -#: skins/default/templates/questions.html:127 -msgid "reset author" -msgstr "ÑÐ±Ñ€Ð¾Ñ Ð°Ð²Ñ‚Ð¾Ñ€Ð°" - -#: skins/default/templates/questions.html:129 -#: skins/default/templates/questions.html:132 -#: skins/default/templates/questions.html:170 -#: skins/default/templates/questions.html:173 -msgid " or " -msgstr "или" - -#: skins/default/templates/questions.html:130 -msgid "reset tags" -msgstr "ÑброÑить Ñ‚Ñги" - -#: skins/default/templates/questions.html:133 -#: skins/default/templates/questions.html:136 -msgid "start over" -msgstr "начать вÑе Ñначала" - -#: skins/default/templates/questions.html:138 -msgid " - to expand, or dig in by adding more tags and revising the query." -msgstr "- раÑширить или Ñузить, добавлÑÑ Ñвои метки и Ð¿Ð¾Ð»ÑƒÑ‡Ð°Ñ Ð·Ð°Ð¿Ñ€Ð¾Ñ." - -#: skins/default/templates/questions.html:141 -msgid "Search tip:" -msgstr "ПодÑказки Ð´Ð»Ñ Ð¿Ð¾Ð¸Ñка:" - -#: skins/default/templates/questions.html:141 -msgid "add tags and a query to focus your search" -msgstr "добавить теги и выполнить поиÑк" - -#: skins/default/templates/questions.html:156 -#: skins/default/templates/unused/questions_ajax.html:79 -msgid "There are no unanswered questions here" -msgstr "Ðеотвеченных вопроÑов нет" - -#: skins/default/templates/questions.html:159 -#: skins/default/templates/unused/questions_ajax.html:82 -msgid "No favorite questions here. " -msgstr "Отмеченных вопроÑов нет." - -#: skins/default/templates/questions.html:160 -#: skins/default/templates/unused/questions_ajax.html:83 -msgid "Please start (bookmark) some questions when you visit them" -msgstr "" -"Ðачните добавлÑÑ‚ÑŒ в (закладки) некоторые вопроÑÑ‹, когда вы поÑещаете их" - -#: skins/default/templates/questions.html:165 -#: skins/default/templates/unused/questions_ajax.html:88 -msgid "You can expand your search by " -msgstr "Ð’Ñ‹ можете раÑширить поиÑк" - -#: skins/default/templates/questions.html:168 -#: skins/default/templates/unused/questions_ajax.html:92 -msgid "resetting author" -msgstr "ÑÐ±Ñ€Ð¾Ñ Ð°Ð²Ñ‚Ð¾Ñ€Ð°" - -#: skins/default/templates/questions.html:171 -#: skins/default/templates/unused/questions_ajax.html:96 -msgid "resetting tags" -msgstr "ÑÐ±Ñ€Ð¾Ñ Ñ‚Ñгов" - -#: skins/default/templates/questions.html:174 -#: skins/default/templates/questions.html:177 -#: skins/default/templates/unused/questions_ajax.html:100 -#: skins/default/templates/unused/questions_ajax.html:104 -msgid "starting over" -msgstr "начать Ñначала" - -#: skins/default/templates/questions.html:182 -#: skins/default/templates/unused/questions_ajax.html:109 -msgid "Please always feel free to ask your question!" -msgstr "Ð’Ñ‹ вÑегда можете задать Ñвой вопроÑ!" - -#: skins/default/templates/questions.html:186 -#: skins/default/templates/unused/questions_ajax.html:113 -msgid "Did not find what you were looking for?" -msgstr "Ðе нашли то, что иÑкали?" - -#: skins/default/templates/questions.html:187 -#: skins/default/templates/unused/questions_ajax.html:114 -msgid "Please, post your question!" -msgstr "ПожалуйÑта, опубликуйте Ñвой вопроÑ!" - -#: skins/default/templates/questions.html:202 -msgid "Contributors" -msgstr "Ðвторы" - -#: skins/default/templates/questions.html:219 -msgid "Related tags" -msgstr "СвÑзанные теги" - -#: skins/default/templates/reopen.html:3 skins/default/templates/reopen.html:6 +#: skins/default/templates/reopen.html:3 skins/default/templates/reopen.html:5 msgid "Reopen question" msgstr "Переоткрыть вопроÑ" -#: skins/default/templates/reopen.html:9 +#: skins/default/templates/reopen.html:6 msgid "Title" msgstr "Заголовок" -#: skins/default/templates/reopen.html:14 -#, python-format +#: skins/default/templates/reopen.html:11 +#, fuzzy, python-format msgid "" "This question has been closed by \n" -" <a href=\"%(closed_by_profile_url)s\">%(closed_by_username)s</a>\n" -" " +" <a href=\"%(closed_by_profile_url)s\">%(closed_by_username)s</a>\n" msgstr "" "Ðтот Ð²Ð¾Ð¿Ñ€Ð¾Ñ Ð±Ñ‹Ð» закрыт\n" "<a href=\"%(closed_by_profile_url)s\">%(closed_by_username)s</a>" -#: skins/default/templates/reopen.html:19 +#: skins/default/templates/reopen.html:16 msgid "Close reason:" msgstr "Закрыт по причине:" -#: skins/default/templates/reopen.html:22 +#: skins/default/templates/reopen.html:19 msgid "When:" msgstr "Когда:" -#: skins/default/templates/reopen.html:25 +#: skins/default/templates/reopen.html:22 msgid "Reopen this question?" msgstr "Открыть повторно Ñтот вопроÑ?" -#: skins/default/templates/reopen.html:29 +#: skins/default/templates/reopen.html:26 msgid "Reopen this question" msgstr "Открыть повторно Ñтот вопроÑ" @@ -4201,33 +4302,20 @@ msgstr "нажмите, чтобы Ñкрыть/показать верÑии" msgid "revision %(number)s" msgstr "верÑÐ¸Ñ %(number)s" -#: skins/default/templates/tag_selector.html:3 -msgid "Interesting tags" -msgstr "Избранные теги" - -#: skins/default/templates/tag_selector.html:13 -#, python-format -msgid "remove '%(tag_name)s' from the list of interesting tags" -msgstr "удалить '%(tag_name)s' из ÑпиÑка интереÑных тегов" - -#: skins/default/templates/tag_selector.html:19 -#: skins/default/templates/tag_selector.html:36 -#: skins/default/templates/user_moderate.html:35 -msgid "Add" -msgstr "Добавить" - -#: skins/default/templates/tag_selector.html:20 -msgid "Ignored tags" -msgstr "Игнорируемые теги" +#: skins/default/templates/subscribe_for_tags.html:3 +#: skins/default/templates/subscribe_for_tags.html:5 +#, fuzzy +msgid "Subscribe for tags" +msgstr "иÑпользовать теги" -#: skins/default/templates/tag_selector.html:30 -#, python-format -msgid "remove '%(tag_name)s' from the list of ignored tags" -msgstr "удалить '%(tag_name)s' из ÑпиÑка игнорируемых тегов" +#: skins/default/templates/subscribe_for_tags.html:6 +#, fuzzy +msgid "Please, subscribe for the following tags:" +msgstr "Ð’Ð¾Ð¿Ñ€Ð¾Ñ Ð±Ñ‹Ð» закрыт по Ñледующим причинам" -#: skins/default/templates/tag_selector.html:39 -msgid "keep ignored questions hidden" -msgstr "Ñкрыть игнорируемые вопроÑÑ‹" +#: skins/default/templates/subscribe_for_tags.html:15 +msgid "Subscribe" +msgstr "" #: skins/default/templates/tags.html:4 skins/default/templates/tags.html:8 msgid "Tag list" @@ -4249,7 +4337,7 @@ msgstr "Ñортировать по чаÑтоте иÑÐ¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ Ñ‚ msgid "by popularity" msgstr "по популÑрноÑти" -#: skins/default/templates/tags.html:27 +#: skins/default/templates/tags.html:26 #, python-format msgid "" "All tags matching '<span class=\"darkred\"><strong>%(stag)s</strong></span>'" @@ -4257,354 +4345,19 @@ msgstr "" "Ð’Ñе теги, ÑоответÑтвующие <strong><span class=\"darkred\"> '%(stag)s'</" "span></strong> " -#: skins/default/templates/tags.html:30 +#: skins/default/templates/tags.html:29 msgid "Nothing found" msgstr "Ðичего не найдено" -#: skins/default/templates/user.html:14 -#, python-format -msgid "%(username)s's profile" -msgstr "профиль Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ %(username)s" - -#: skins/default/templates/user_edit.html:4 -msgid "Edit user profile" -msgstr "Изменить профиль пользователÑ" - -#: skins/default/templates/user_edit.html:7 -msgid "edit profile" -msgstr "изменить профиль" - -#: skins/default/templates/user_edit.html:17 -#: skins/default/templates/user_info.html:11 -msgid "change picture" -msgstr "изменить изображение" - -#: skins/default/templates/user_edit.html:20 -msgid "Registered user" -msgstr "ЗарегиÑтрированный пользователь" - -#: skins/default/templates/user_edit.html:27 -msgid "Screen Name" -msgstr "Ðазвание Ñкрана" - -#: skins/default/templates/user_edit.html:75 -#: skins/default/templates/user_email_subscriptions.html:18 -msgid "Update" -msgstr "Обновить" - -#: skins/default/templates/user_email_subscriptions.html:4 -msgid "Email subscription settings" -msgstr "ÐаÑтройка подпиÑки по Ñлектронной почте" - -#: skins/default/templates/user_email_subscriptions.html:5 -msgid "email subscription settings info" -msgstr "Ð˜Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð¾ наÑтройках подпиÑки по Ñлектронной почте" - -#: skins/default/templates/user_email_subscriptions.html:19 -msgid "Stop sending email" -msgstr "ОÑтановить отправку Ñлектронной почты" - -#: skins/default/templates/user_inbox.html:31 -msgid "Sections:" -msgstr "Разделы:" - -#: skins/default/templates/user_inbox.html:35 -#, python-format -msgid "forum responses (%(re_count)s)" -msgstr "ответы в форуме (%(re_count)s)" - -#: skins/default/templates/user_inbox.html:40 -#, python-format -msgid "flagged items (%(flag_count)s)" -msgstr "помеченные пункты (%(flag_count)s)" - -#: skins/default/templates/user_inbox.html:46 -msgid "select:" -msgstr "выберите:" - -#: skins/default/templates/user_inbox.html:48 -msgid "seen" -msgstr "прочитанные" - -#: skins/default/templates/user_inbox.html:49 -msgid "new" -msgstr "новые" - -#: skins/default/templates/user_inbox.html:50 -msgid "none" -msgstr "нет" - -#: skins/default/templates/user_inbox.html:51 -msgid "mark as seen" -msgstr "отметить как прочитано " - -#: skins/default/templates/user_inbox.html:52 -msgid "mark as new" -msgstr "отметить как новое" - -#: skins/default/templates/user_inbox.html:53 -msgid "dismiss" -msgstr "удалить" +#: skins/default/templates/users.html:4 skins/default/templates/users.html:7 +msgid "Users" +msgstr "Пользователи" -#: skins/default/templates/user_info.html:18 #: skins/default/templates/users.html:13 skins/default/templates/users.html:14 +#: skins/default/templates/user_profile/user_info.html:25 msgid "reputation" msgstr "карма" -#: skins/default/templates/user_info.html:30 -msgid "manage login methods" -msgstr "управление методами входа" - -#: skins/default/templates/user_info.html:34 -msgid "update profile" -msgstr "обновить профиль" - -#: skins/default/templates/user_info.html:46 -msgid "real name" -msgstr "наÑтоÑщее имÑ" - -#: skins/default/templates/user_info.html:51 -msgid "member for" -msgstr "ÑоÑтоит пользователем" - -#: skins/default/templates/user_info.html:56 -msgid "last seen" -msgstr "поÑледнее поÑещение" - -#: skins/default/templates/user_info.html:62 -msgid "user website" -msgstr "Ñайт пользователÑ" - -#: skins/default/templates/user_info.html:68 -msgid "location" -msgstr "меÑтоположение" - -#: skins/default/templates/user_info.html:75 -msgid "age" -msgstr "возраÑÑ‚" - -#: skins/default/templates/user_info.html:76 -msgid "age unit" -msgstr "возраÑÑ‚" - -#: skins/default/templates/user_info.html:83 -msgid "todays unused votes" -msgstr "ÑегоднÑшних неиÑпользованных голоÑов" - -#: skins/default/templates/user_info.html:84 -msgid "votes left" -msgstr "оÑталоÑÑŒ голоÑов" - -#: skins/default/templates/user_moderate.html:5 -#, python-format -msgid "%(username)s's current status is \"%(status)s\"" -msgstr "пользователь %(username)s имеет ÑÑ‚Ð°Ñ‚ÑƒÑ \"%(status)s\"" - -#: skins/default/templates/user_moderate.html:8 -msgid "User status changed" -msgstr "Ð¡Ñ‚Ð°Ñ‚ÑƒÑ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ Ð¸Ð·Ð¼ÐµÐ½Ð¸Ð»ÑÑ" - -#: skins/default/templates/user_moderate.html:15 -msgid "Save" -msgstr "Сохранить" - -#: skins/default/templates/user_moderate.html:21 -#, python-format -msgid "Your current reputation is %(reputation)s points" -msgstr "Ваша Ñ‚ÐµÐºÑƒÑ‰Ð°Ñ ÐºÐ°Ñ€Ð¼Ð° %(reputation)s балов" - -#: skins/default/templates/user_moderate.html:23 -#, python-format -msgid "User's current reputation is %(reputation)s points" -msgstr "Карма Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ %(reputation)s балов " - -#: skins/default/templates/user_moderate.html:27 -msgid "User reputation changed" -msgstr "Карма Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð°" - -#: skins/default/templates/user_moderate.html:34 -msgid "Subtract" -msgstr "ОтнÑÑ‚ÑŒ" - -#: skins/default/templates/user_moderate.html:39 -#, python-format -msgid "Send message to %(username)s" -msgstr "Отправить Ñообщение Ð´Ð»Ñ %(username)s" - -#: skins/default/templates/user_moderate.html:40 -msgid "" -"An email will be sent to the user with 'reply-to' field set to your email " -"address. Please make sure that your address is entered correctly." -msgstr "" -"ПиÑьмо будет отправлено пользователю Ñо ÑÑылкой \"Ответить\" на ваш Ð°Ð´Ñ€ÐµÑ " -"Ñлектронной почты. ПожалуйÑта, убедитеÑÑŒ, что ваш Ð°Ð´Ñ€ÐµÑ Ð²Ð²ÐµÐ´ÐµÐ½ правильно." - -#: skins/default/templates/user_moderate.html:42 -msgid "Message sent" -msgstr "Сообщение отправлено" - -#: skins/default/templates/user_moderate.html:60 -msgid "Send message" -msgstr "Отправить Ñообщение" - -#: skins/default/templates/user_reputation.html:7 -msgid "Your karma change log." -msgstr "ИÑÑ‚Ð¾Ñ€Ð¸Ñ Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ð¹ кармы." - -#: skins/default/templates/user_reputation.html:9 -#, python-format -msgid "%(user_name)s's karma change log" -msgstr "ИÑÑ‚Ð¾Ñ€Ð¸Ñ Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ð¹ кармы Ð´Ð»Ñ %(user_name)s " - -#: skins/default/templates/user_stats.html:7 -#, python-format -msgid "<span class=\"count\">%(counter)s</span> Question" -msgid_plural "<span class=\"count\">%(counter)s</span> Questions" -msgstr[0] "<span class=\"count\">1</span> ВопроÑ" -msgstr[1] "<span class=\"count\">%(counter)s</span> ВопроÑов" -msgstr[2] "<span class=\"count\">%(counter)s</span> ВопроÑа" - -#: skins/default/templates/user_stats.html:12 -#, python-format -msgid "<span class=\"count\">%(counter)s</span> Answer" -msgid_plural "<span class=\"count\">%(counter)s</span> Answers" -msgstr[0] "<span class=\"count\">1</span> Ответ" -msgstr[1] "<span class=\"count\">%(counter)s</span> Ответов" -msgstr[2] "<span class=\"count\">%(counter)s</span> Ответа" - -#: skins/default/templates/user_stats.html:20 -#, python-format -msgid "the answer has been voted for %(answer_score)s times" -msgstr "за ответ проголоÑовали %(answer_score)s раз" - -#: skins/default/templates/user_stats.html:20 -msgid "this answer has been selected as correct" -msgstr "Ñтот ответ был выбран в качеÑтве правильного" - -#: skins/default/templates/user_stats.html:30 -#, python-format -msgid "(%(comment_count)s comment)" -msgid_plural "the answer has been commented %(comment_count)s times" -msgstr[0] "(один комментарий)" -msgstr[1] "ответ был прокомментирован %(comment_count)s раз" -msgstr[2] "ответ был прокомментирован %(comment_count)s раза" - -#: skins/default/templates/user_stats.html:40 -#, python-format -msgid "<span class=\"count\">%(cnt)s</span> Vote" -msgid_plural "<span class=\"count\">%(cnt)s</span> Votes " -msgstr[0] "<span class=\"count\">1</span> ГолоÑ" -msgstr[1] "<span class=\"count\">%(cnt)s</span> ГолоÑов" -msgstr[2] "<span class=\"count\">%(cnt)s</span> ГолоÑа" - -#: skins/default/templates/user_stats.html:46 -msgid "thumb up" -msgstr "Ñ \"за\"" - -#: skins/default/templates/user_stats.html:47 -msgid "user has voted up this many times" -msgstr "пользователь проголоÑовал \"за\" много раз" - -#: skins/default/templates/user_stats.html:50 -msgid "thumb down" -msgstr "Ñ \"против\"" - -#: skins/default/templates/user_stats.html:51 -msgid "user voted down this many times" -msgstr "пользователь проголоÑовал \"против\" много раз" - -#: skins/default/templates/user_stats.html:59 -#, python-format -msgid "<span class=\"count\">%(counter)s</span> Tag" -msgid_plural "<span class=\"count\">%(counter)s</span> Tags" -msgstr[0] "<span class=\"count\">1</span> Тег" -msgstr[1] "<span class=\"count\">%(counter)s</span> Тегов" -msgstr[2] "<span class=\"count\">%(counter)s</span> Тега" - -#: skins/default/templates/user_stats.html:67 -#, python-format -msgid "" -"see other questions with %(view_user)s's contributions tagged '%(tag_name)s' " -msgstr "" -"Ñм. другие вопроÑÑ‹, в которых еÑÑ‚ÑŒ вклад от %(view_user)s, отмеченные тегом " -"'%(tag_name)s'" - -#: skins/default/templates/user_stats.html:81 -#, python-format -msgid "<span class=\"count\">%(counter)s</span> Badge" -msgid_plural "<span class=\"count\">%(counter)s</span> Badges" -msgstr[0] "<span class=\"count\">%(counter)s</span> Медаль" -msgstr[1] "<span class=\"count\">%(counter)s</span> Медали" -msgstr[2] "<span class=\"count\">%(counter)s</span> Медалей" - -#: skins/default/templates/user_tabs.html:5 -msgid "User profile" -msgstr "Профиль пользователÑ" - -#: skins/default/templates/user_tabs.html:6 -msgid "overview" -msgstr "обзор" - -#: skins/default/templates/user_tabs.html:9 views/users.py:729 -msgid "comments and answers to others questions" -msgstr "комментарии и ответы на другие вопроÑÑ‹" - -#: skins/default/templates/user_tabs.html:10 -msgid "inbox" -msgstr "входÑщие" - -#: skins/default/templates/user_tabs.html:13 -msgid "graph of user reputation" -msgstr "график кармы" - -#: skins/default/templates/user_tabs.html:14 -msgid "reputation history" -msgstr "иÑÑ‚Ð¾Ñ€Ð¸Ñ ÐºÐ°Ñ€Ð¼Ñ‹" - -#: skins/default/templates/user_tabs.html:16 -msgid "questions that user selected as his/her favorite" -msgstr "ВопроÑÑ‹, выбранные пользователем в закладки" - -#: skins/default/templates/user_tabs.html:17 -msgid "favorites" -msgstr "закладки" - -#: skins/default/templates/user_tabs.html:19 -msgid "recent activity" -msgstr "поÑледнÑÑ Ð°ÐºÑ‚Ð¸Ð²Ð½Ð¾ÑÑ‚ÑŒ" - -#: skins/default/templates/user_tabs.html:20 -msgid "activity" -msgstr "активноÑÑ‚ÑŒ" - -#: skins/default/templates/user_tabs.html:23 views/users.py:794 -msgid "user vote record" -msgstr "Ð³Ð¾Ð»Ð¾Ñ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ" - -#: skins/default/templates/user_tabs.html:24 -msgid "casted votes" -msgstr "поданные голоÑа" - -#: skins/default/templates/user_tabs.html:28 views/users.py:904 -msgid "email subscription settings" -msgstr "наÑтройки подпиÑки по Ñлектронной почте" - -#: skins/default/templates/user_tabs.html:29 -msgid "subscriptions" -msgstr "подпиÑки по email" - -#: skins/default/templates/user_tabs.html:33 views/users.py:216 -msgid "moderate this user" -msgstr "Модерировать Ñтого пользователÑ" - -#: skins/default/templates/user_tabs.html:34 -msgid "moderation" -msgstr "модерациÑ" - -#: skins/default/templates/users.html:4 skins/default/templates/users.html:7 -msgid "Users" -msgstr "Пользователи" - #: skins/default/templates/users.html:19 skins/default/templates/users.html:20 msgid "recent" msgstr "новички" @@ -4613,32 +4366,15 @@ msgstr "новички" msgid "by username" msgstr "по имени" -#: skins/default/templates/users.html:38 +#: skins/default/templates/users.html:37 #, python-format msgid "users matching query %(suser)s:" msgstr "пользователей, ÑоответÑтвующих запроÑу, %(suser)s:" -#: skins/default/templates/users.html:41 +#: skins/default/templates/users.html:40 msgid "Nothing found." msgstr "Ðичего не найдено." -#: skins/default/templates/users_questions.html:9 -#: skins/default/templates/users_questions.html:17 -#, python-format -msgid "this questions was selected as favorite %(cnt)s time" -msgid_plural "this questions was selected as favorite %(cnt)s times" -msgstr[0] "Ñтот Ð²Ð¾Ð¿Ñ€Ð¾Ñ Ð±Ñ‹Ð» добавлен в закладки %(cnt)s раз" -msgstr[1] "Ñти вопроÑÑ‹ были добавлены в закладки %(cnt)s раз" -msgstr[2] "Ñти вопроÑÑ‹ были добавлены в закладки %(cnt)s раз" - -#: skins/default/templates/users_questions.html:10 -msgid "thumb-up on" -msgstr "Ñ \"за\"" - -#: skins/default/templates/users_questions.html:18 -msgid "thumb-up off" -msgstr "Ñ \"против\"" - #: skins/default/templates/authopenid/changeemail.html:2 #: skins/default/templates/authopenid/changeemail.html:8 #: skins/default/templates/authopenid/changeemail.html:36 @@ -4719,18 +4455,18 @@ msgstr "" "email ключ не отоÑлан на %(email)s, изменить email здеÑÑŒ %(change_link)s" #: skins/default/templates/authopenid/complete.html:21 -#: skins/default/templates/authopenid/complete.html:24 +#: skins/default/templates/authopenid/complete.html:23 msgid "Registration" msgstr "РегиÑтрациÑ" -#: skins/default/templates/authopenid/complete.html:29 +#: skins/default/templates/authopenid/complete.html:27 #, python-format msgid "register new %(provider)s account info, see %(gravatar_faq_url)s" msgstr "" "зарегиÑтрировать нового провайдера %(provider)s к учетной запиÑи, Ñмотрите %" "(gravatar_faq_url)s" -#: skins/default/templates/authopenid/complete.html:32 +#: skins/default/templates/authopenid/complete.html:30 #, python-format msgid "" "%(username)s already exists, choose another name for \n" @@ -4741,7 +4477,7 @@ msgstr "" "%(username)s уже ÑущеÑтвует, выберите другое Ð¸Ð¼Ñ Ð´Ð»Ñ %(provider)s. Email так " "же требуетÑÑ Ñ‚Ð¾Ð¶Ðµ, Ñмотрите %(gravatar_faq_url)s" -#: skins/default/templates/authopenid/complete.html:36 +#: skins/default/templates/authopenid/complete.html:34 #, python-format msgid "" "register new external %(provider)s account info, see %(gravatar_faq_url)s" @@ -4749,39 +4485,39 @@ msgstr "" "региÑÑ‚Ñ€Ð°Ñ†Ð¸Ñ Ð½Ð¾Ð²Ð¾Ð³Ð¾ внешнего %(provider)s к учетной запиÑи, Ñмотрите %" "(gravatar_faq_url)s" -#: skins/default/templates/authopenid/complete.html:39 +#: skins/default/templates/authopenid/complete.html:37 #, python-format msgid "register new Facebook connect account info, see %(gravatar_faq_url)s" msgstr "региÑÑ‚Ñ€Ð°Ñ†Ð¸Ñ Ð½Ð¾Ð²Ð¾Ð³Ð¾ Facebook подключениÑ, Ñмотрите %(gravatar_faq_url)s" -#: skins/default/templates/authopenid/complete.html:42 +#: skins/default/templates/authopenid/complete.html:40 msgid "This account already exists, please use another." msgstr "Ðта ÑƒÑ‡ÐµÑ‚Ð½Ð°Ñ Ð·Ð°Ð¿Ð¸ÑÑŒ уже ÑущеÑтвует, пожалуйÑта, иÑпользуйте другую." -#: skins/default/templates/authopenid/complete.html:61 +#: skins/default/templates/authopenid/complete.html:59 msgid "Screen name label" msgstr "Логин" -#: skins/default/templates/authopenid/complete.html:68 +#: skins/default/templates/authopenid/complete.html:66 msgid "Email address label" msgstr "Ярлык Ð´Ð»Ñ Email" -#: skins/default/templates/authopenid/complete.html:74 -#: skins/default/templates/authopenid/signup_with_password.html:17 +#: skins/default/templates/authopenid/complete.html:72 +#: skins/default/templates/authopenid/signup_with_password.html:36 msgid "receive updates motivational blurb" msgstr "получать Ð¾Ð±Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ Ð¼Ð¾Ñ‚Ð¸Ð²Ð°Ñ†Ð¸Ð¾Ð½Ð½Ð¾Ð¹ рекламы" -#: skins/default/templates/authopenid/complete.html:78 -#: skins/default/templates/authopenid/signup_with_password.html:21 +#: skins/default/templates/authopenid/complete.html:76 +#: skins/default/templates/authopenid/signup_with_password.html:40 msgid "please select one of the options above" msgstr "ПожалуйÑта, выберите один из вариантов" -#: skins/default/templates/authopenid/complete.html:81 +#: skins/default/templates/authopenid/complete.html:79 msgid "Tag filter tool will be your right panel, once you log in." msgstr "" "Фильтр тегов будет в правой панели, поÑле того, как вы войдете в ÑиÑтему" -#: skins/default/templates/authopenid/complete.html:82 +#: skins/default/templates/authopenid/complete.html:80 msgid "create account" msgstr "зарегиÑтрироватьÑÑ" @@ -4835,11 +4571,24 @@ msgstr "" "дальнейших дейÑтвий не требуетÑÑ. ПроÑто проигнорируйте Ñто пиÑьмо, мы " "приноÑим Ñвои Ð¸Ð·Ð²Ð¸Ð½ÐµÐ½Ð¸Ñ Ð·Ð° причиненные неудобÑтва." -#: skins/default/templates/authopenid/signin.html:3 +#: skins/default/templates/authopenid/macros.html:46 +msgid "Please enter your <span>user name</span>, then sign in" +msgstr "ПожалуйÑта, введите ваше <span>Ð¸Ð¼Ñ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ</span>, затем войдите" + +#: skins/default/templates/authopenid/macros.html:47 +#: skins/default/templates/authopenid/signin.html:89 +msgid "(or select another login method above)" +msgstr "(или выберите один из методов входа выше)" + +#: skins/default/templates/authopenid/macros.html:49 +msgid "Sign in" +msgstr "Войти" + +#: skins/default/templates/authopenid/signin.html:4 msgid "User login" msgstr "Вход выполнен" -#: skins/default/templates/authopenid/signin.html:11 +#: skins/default/templates/authopenid/signin.html:14 #, python-format msgid "" "\n" @@ -4849,7 +4598,7 @@ msgstr "" "\n" "Ваш ответ на %(title)s / %(summary)s будет опубликован, как только вы войдете" -#: skins/default/templates/authopenid/signin.html:18 +#: skins/default/templates/authopenid/signin.html:21 #, python-format msgid "" "Your question \n" @@ -4859,7 +4608,7 @@ msgstr "" "Ваш Ð²Ð¾Ð¿Ñ€Ð¾Ñ %(title)s / %(summary)s Ñ‹ будет опубликован поÑле того, как вы " "войдёте" -#: skins/default/templates/authopenid/signin.html:25 +#: skins/default/templates/authopenid/signin.html:28 msgid "" "Take a pick of your favorite service below to sign in using secure OpenID or " "similar technology. Your external service password always stays confidential " @@ -4869,7 +4618,7 @@ msgstr "" "технологию. Пароль к вашей внешней Ñлужбе вÑегда конфиденциален и нет " "необходимоÑти Ñоздавать пароль при региÑтрации." -#: skins/default/templates/authopenid/signin.html:28 +#: skins/default/templates/authopenid/signin.html:31 msgid "" "It's a good idea to make sure that your existing login methods still work, " "or add a new one. Please click any of the icons below to check/change or add " @@ -4879,7 +4628,7 @@ msgstr "" "добавить и другие методы. ПожалуйÑта, выберите любую иконку ниже Ð´Ð»Ñ " "проверки/изменениÑ/Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ð¼ÐµÑ‚Ð¾Ð´Ð¾Ð² входа." -#: skins/default/templates/authopenid/signin.html:30 +#: skins/default/templates/authopenid/signin.html:33 msgid "" "Please add a more permanent login method by clicking one of the icons below, " "to avoid logging in via email each time." @@ -4887,7 +4636,7 @@ msgstr "" "ПожалуйÑта, добавьте поÑтоÑнный метод входа кликнув по одной из иконок ниже, " "чтобы не входить каждый раз через e-mail." -#: skins/default/templates/authopenid/signin.html:34 +#: skins/default/templates/authopenid/signin.html:37 msgid "" "Click on one of the icons below to add a new login method or re-validate an " "existing one." @@ -4895,7 +4644,7 @@ msgstr "" "Кликние на одной из иконок ниже чтобы добавить метод входа или проверить уже " "ÑущеÑтвующий." -#: skins/default/templates/authopenid/signin.html:36 +#: skins/default/templates/authopenid/signin.html:39 msgid "" "You don't have a method to log in right now, please add one or more by " "clicking any of the icons below." @@ -4903,7 +4652,7 @@ msgstr "" "Ðа данный момент вами не выбран ни один из методов входа, добавьте Ñ…Ð¾Ñ‚Ñ Ð±Ñ‹ " "один кликнув по иконке ниже." -#: skins/default/templates/authopenid/signin.html:39 +#: skins/default/templates/authopenid/signin.html:42 msgid "" "Please check your email and visit the enclosed link to re-connect to your " "account" @@ -4912,136 +4661,133 @@ msgstr "" "аккаунт" #: skins/default/templates/authopenid/signin.html:86 -msgid "Please enter your <span>user name</span>, then sign in" -msgstr "ПожалуйÑта, введите ваше <span>Ð¸Ð¼Ñ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ</span>, затем войдите" - -#: skins/default/templates/authopenid/signin.html:87 -#: skins/default/templates/authopenid/signin.html:109 -msgid "(or select another login method above)" -msgstr "(или выберите один из методов входа выше)" - -#: skins/default/templates/authopenid/signin.html:89 -msgid "Sign in" -msgstr "Войти" - -#: skins/default/templates/authopenid/signin.html:107 msgid "Please enter your <span>user name and password</span>, then sign in" msgstr "" "ПожалуйÑта, введите ваши <span>Ð¸Ð¼Ñ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ Ð¸ пароль</span>, затем " "войдите" -#: skins/default/templates/authopenid/signin.html:111 +#: skins/default/templates/authopenid/signin.html:92 msgid "Login failed, please try again" msgstr "Вход завершилÑÑ Ð½ÐµÑƒÐ´Ð°Ñ‡ÐµÐ¹, попробуйте ещё раз" -#: skins/default/templates/authopenid/signin.html:114 +#: skins/default/templates/authopenid/signin.html:95 msgid "Login name" msgstr "Ð˜Ð¼Ñ Ð¿Ñ€Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ" -#: skins/default/templates/authopenid/signin.html:118 +#: skins/default/templates/authopenid/signin.html:99 msgid "Password" msgstr "Пароль" -#: skins/default/templates/authopenid/signin.html:122 +#: skins/default/templates/authopenid/signin.html:103 msgid "Login" msgstr "Войти" -#: skins/default/templates/authopenid/signin.html:129 +#: skins/default/templates/authopenid/signin.html:110 msgid "To change your password - please enter the new one twice, then submit" msgstr "" "Чтобы изменить ваш пароль - пожалуйÑта, введите новый дважды и подтвердите " "ввод" -#: skins/default/templates/authopenid/signin.html:132 +#: skins/default/templates/authopenid/signin.html:113 msgid "New password" msgstr "Ðовый пароль" -#: skins/default/templates/authopenid/signin.html:137 +#: skins/default/templates/authopenid/signin.html:118 msgid "Please, retype" msgstr "пожалуйÑта, повторите пароль" -#: skins/default/templates/authopenid/signin.html:156 +#: skins/default/templates/authopenid/signin.html:136 msgid "Here are your current login methods" msgstr "Ваши текущие методы входа" -#: skins/default/templates/authopenid/signin.html:160 +#: skins/default/templates/authopenid/signin.html:140 msgid "provider" msgstr "провайдер" -#: skins/default/templates/authopenid/signin.html:161 +#: skins/default/templates/authopenid/signin.html:141 msgid "last used" msgstr "поÑледний иÑпользованный" -#: skins/default/templates/authopenid/signin.html:162 +#: skins/default/templates/authopenid/signin.html:142 msgid "delete, if you like" msgstr "удалите, еÑли хотите" -#: skins/default/templates/authopenid/signin.html:187 +#: skins/default/templates/authopenid/signin.html:168 msgid "Still have trouble signing in?" msgstr "По-прежнему проблемы Ñо входом ?" -#: skins/default/templates/authopenid/signin.html:192 +#: skins/default/templates/authopenid/signin.html:173 msgid "Please, enter your email address below and obtain a new key" msgstr "ПожалуйÑта, введите ваш email-Ð°Ð´Ñ€ÐµÑ Ð½Ð¸Ð¶Ðµ и получите новый ключ" -#: skins/default/templates/authopenid/signin.html:194 +#: skins/default/templates/authopenid/signin.html:175 msgid "Please, enter your email address below to recover your account" msgstr "" "ПожалуйÑта, введите ваш email-Ð°Ð´Ñ€ÐµÑ Ð½Ð¸Ð¶Ðµ чтобы воÑÑтановить ваш аккаунт" -#: skins/default/templates/authopenid/signin.html:197 +#: skins/default/templates/authopenid/signin.html:178 msgid "recover your account via email" msgstr "ВоÑÑтановить ваш аккаунт по email" -#: skins/default/templates/authopenid/signin.html:208 +#: skins/default/templates/authopenid/signin.html:189 msgid "Send a new recovery key" msgstr "ПоÑлать новый ключ воÑÑтановлениÑ" -#: skins/default/templates/authopenid/signin.html:210 +#: skins/default/templates/authopenid/signin.html:191 msgid "Recover your account via email" msgstr "ВоÑÑтановить ваш аккаунт иÑÐ¿Ð¾Ð»ÑŒÐ·ÑƒÑ email" -#: skins/default/templates/authopenid/signin.html:221 +#: skins/default/templates/authopenid/signin.html:203 msgid "Why use OpenID?" msgstr "ПлюÑÑ‹ иÑÐ¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ OpenID" -#: skins/default/templates/authopenid/signin.html:224 +#: skins/default/templates/authopenid/signin.html:206 msgid "with openid it is easier" msgstr "С OpenID проще" -#: skins/default/templates/authopenid/signin.html:227 +#: skins/default/templates/authopenid/signin.html:209 msgid "reuse openid" msgstr "ИÑпользуйте везде повторно" -#: skins/default/templates/authopenid/signin.html:230 +#: skins/default/templates/authopenid/signin.html:212 msgid "openid is widely adopted" msgstr "OpenID широко раÑпроÑтранён" -#: skins/default/templates/authopenid/signin.html:233 +#: skins/default/templates/authopenid/signin.html:215 msgid "openid is supported open standard" msgstr "OpenID поддерживаемый открытый Ñтандарт" -#: skins/default/templates/authopenid/signin.html:237 +#: skins/default/templates/authopenid/signin.html:219 msgid "Find out more" msgstr "Узнать больше" -#: skins/default/templates/authopenid/signin.html:238 +#: skins/default/templates/authopenid/signin.html:220 msgid "Get OpenID" msgstr "Получить OpenID" -#: skins/default/templates/authopenid/signup_with_password.html:3 +#: skins/default/templates/authopenid/signup_with_password.html:4 msgid "Signup" msgstr "ЗарегиÑтрироватьÑÑ" -#: skins/default/templates/authopenid/signup_with_password.html:6 +#: skins/default/templates/authopenid/signup_with_password.html:10 +#, fuzzy +msgid "Please register by clicking on any of the icons below" +msgstr "Чтобы войти на форум, нажмите на любую из кнопок ниже " + +#: skins/default/templates/authopenid/signup_with_password.html:23 +#, fuzzy +msgid "or create a new user name and password here" +msgstr "Создать Ð¸Ð¼Ñ Ð¸ пароль" + +#: skins/default/templates/authopenid/signup_with_password.html:25 msgid "Create login name and password" msgstr "Создать Ð¸Ð¼Ñ Ð¸ пароль" -#: skins/default/templates/authopenid/signup_with_password.html:8 +#: skins/default/templates/authopenid/signup_with_password.html:26 msgid "Traditional signup info" msgstr "Ð˜Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð¾ традиционной региÑтрации" -#: skins/default/templates/authopenid/signup_with_password.html:24 +#: skins/default/templates/authopenid/signup_with_password.html:44 msgid "" "Please read and type in the two words below to help us prevent automated " "account creation." @@ -5049,225 +4795,820 @@ msgstr "" "ПожалуйÑта, прочтите и укажите два Ñлова ниже, чтобы помочь нам " "предотвратить автоматизированные ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ ÑƒÑ‡ÐµÑ‚Ð½Ð¾Ð¹ запиÑи." -#: skins/default/templates/authopenid/signup_with_password.html:26 +#: skins/default/templates/authopenid/signup_with_password.html:47 msgid "Create Account" msgstr "Создать учетную запиÑÑŒ" -#: skins/default/templates/authopenid/signup_with_password.html:27 +#: skins/default/templates/authopenid/signup_with_password.html:49 msgid "or" msgstr "или" -#: skins/default/templates/authopenid/signup_with_password.html:28 +#: skins/default/templates/authopenid/signup_with_password.html:50 msgid "return to OpenID login" msgstr "вернутьÑÑ Ðº Ñтарнице OpenID входа" -#: skins/default/templates/blocks/header_meta_links.html:7 +#: skins/default/templates/avatar/add.html:3 +#, fuzzy +msgid "add avatar" +msgstr "что такое Gravatar" + +#: skins/default/templates/avatar/add.html:5 +#, fuzzy +msgid "Change avatar" +msgstr "Измененить Ñ‚Ñги" + +#: skins/default/templates/avatar/add.html:6 +#: skins/default/templates/avatar/change.html:7 +#, fuzzy +msgid "Your current avatar: " +msgstr "ПодробноÑти вашей учетной запиÑи:" + +#: skins/default/templates/avatar/add.html:9 +#: skins/default/templates/avatar/change.html:11 +msgid "You haven't uploaded an avatar yet. Please upload one now." +msgstr "" + +#: skins/default/templates/avatar/add.html:13 +msgid "Upload New Image" +msgstr "" + +#: skins/default/templates/avatar/change.html:4 +#, fuzzy +msgid "change avatar" +msgstr "Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ñохранены" + +#: skins/default/templates/avatar/change.html:17 +msgid "Choose new Default" +msgstr "" + +#: skins/default/templates/avatar/change.html:22 +#, fuzzy +msgid "Upload" +msgstr "zagruzhaem-file/" + +#: skins/default/templates/avatar/confirm_delete.html:3 +#, fuzzy +msgid "delete avatar" +msgstr "удаленный ответ" + +#: skins/default/templates/avatar/confirm_delete.html:5 +msgid "Please select the avatars that you would like to delete." +msgstr "" + +#: skins/default/templates/avatar/confirm_delete.html:7 #, python-format -msgid "responses for %(username)s" -msgstr "ответы пользователю %(username)s" +msgid "" +"You have no avatars to delete. Please <a href=\"%(avatar_change_url)s" +"\">upload one</a> now." +msgstr "" -#: skins/default/templates/blocks/header_meta_links.html:10 +#: skins/default/templates/avatar/confirm_delete.html:13 +#, fuzzy +msgid "Delete These" +msgstr "удаленный ответ" + +#: skins/default/templates/blocks/answer_edit_tips.html:3 +msgid "answer tips" +msgstr "Советы как лучше давать ответы" + +#: skins/default/templates/blocks/answer_edit_tips.html:6 +msgid "please make your answer relevant to this community" +msgstr "" +"пожалуйÑта поÑтарайтеÑÑŒ дать ответ который будет интереÑен коллегам по форуму" + +#: skins/default/templates/blocks/answer_edit_tips.html:9 +msgid "try to give an answer, rather than engage into a discussion" +msgstr "поÑтарайтеÑÑŒ на Ñамом деле дать ответ и избегать диÑкуÑÑий" + +#: skins/default/templates/blocks/answer_edit_tips.html:12 +msgid "please try to provide details" +msgstr "включите детали в Ваш ответ" + +#: skins/default/templates/blocks/answer_edit_tips.html:15 +#: skins/default/templates/blocks/question_edit_tips.html:11 +msgid "be clear and concise" +msgstr "Ð²Ð¾Ð¿Ñ€Ð¾Ñ Ð´Ð¾Ð»Ð¶ÐµÐ½ быть четким и лаконичным" + +#: skins/default/templates/blocks/answer_edit_tips.html:19 +#: skins/default/templates/blocks/question_edit_tips.html:15 +msgid "see frequently asked questions" +msgstr "поÑмотрите на чаÑто задаваемые вопроÑÑ‹" + +#: skins/default/templates/blocks/answer_edit_tips.html:25 +#: skins/default/templates/blocks/question_edit_tips.html:20 +msgid "Markdown tips" +msgstr "ПоддерживаетÑÑ Ñзык разметки - Markdown" + +#: skins/default/templates/blocks/answer_edit_tips.html:29 +#: skins/default/templates/blocks/question_edit_tips.html:24 +msgid "*italic*" +msgstr "*курÑив*" + +#: skins/default/templates/blocks/answer_edit_tips.html:32 +#: skins/default/templates/blocks/question_edit_tips.html:27 +msgid "**bold**" +msgstr "**жирный**" + +#: skins/default/templates/blocks/answer_edit_tips.html:36 +#: skins/default/templates/blocks/question_edit_tips.html:31 +msgid "*italic* or _italic_" +msgstr "*курÑив* или _курÑив_" + +#: skins/default/templates/blocks/answer_edit_tips.html:39 +#: skins/default/templates/blocks/question_edit_tips.html:34 +msgid "**bold** or __bold__" +msgstr "**жирный шрифт** или __жирный шрифт__" + +#: skins/default/templates/blocks/answer_edit_tips.html:43 +#: skins/default/templates/blocks/question_edit_tips.html:38 +msgid "link" +msgstr "ÑÑылка" + +#: skins/default/templates/blocks/answer_edit_tips.html:43 +#: skins/default/templates/blocks/answer_edit_tips.html:47 +#: skins/default/templates/blocks/question_edit_tips.html:38 +#: skins/default/templates/blocks/question_edit_tips.html:43 +msgid "text" +msgstr "текÑÑ‚" + +#: skins/default/templates/blocks/answer_edit_tips.html:47 +#: skins/default/templates/blocks/question_edit_tips.html:43 +msgid "image" +msgstr "изображение" + +#: skins/default/templates/blocks/answer_edit_tips.html:51 +#: skins/default/templates/blocks/question_edit_tips.html:47 +msgid "numbered list:" +msgstr "пронумерованный ÑпиÑок:" + +#: skins/default/templates/blocks/answer_edit_tips.html:56 +#: skins/default/templates/blocks/question_edit_tips.html:52 +msgid "basic HTML tags are also supported" +msgstr "а также, поддерживаютÑÑ Ð¾Ñновные теги HTML" + +#: skins/default/templates/blocks/answer_edit_tips.html:60 +#: skins/default/templates/blocks/question_edit_tips.html:56 +msgid "learn more about Markdown" +msgstr "узнайте болше про Markdown" + +#: skins/default/templates/blocks/ask_form.html:6 +msgid "login to post question info" +msgstr "" +"<span class=\"strong big\">ПожалуйÑта, начните задавать Ваш Ð²Ð¾Ñ€Ð¿Ð¾Ñ Ð°Ð½Ð¾Ð½Ð¸Ð¼Ð½Ð¾</" +"span>. Когда Ð’Ñ‹ пошлете вопроÑ, Ð’Ñ‹ будете направлены на Ñтраницу " +"авторизации. Ваш Ð²Ð¾Ð¿Ñ€Ð¾Ñ Ð±ÑƒÐ´ÐµÑ‚ Ñохранён в текущей ÑеÑÑии и будет опубликован " +"как только Ð’Ñ‹ авторизуетеÑÑŒ. Войти или запиÑатьÑÑ Ð½Ð° наш форум очень легко. " +"ÐÐ²Ñ‚Ð¾Ñ€Ð¸Ð·Ð°Ñ†Ð¸Ñ Ð·Ð°Ð¹Ð¼ÐµÑ‚ не более полминуты а Ð¸Ð·Ð½Ð°Ñ‡Ð°Ð»ÑŒÐ½Ð°Ñ Ð·Ð°Ð¿Ð¸ÑÑŒ - приблизительно " +"одну минуту." + +#: skins/default/templates/blocks/ask_form.html:10 #, python-format -msgid "you have a new response" -msgid_plural "you nave %(response_count)s new responses" -msgstr[0] "У Ð²Ð°Ñ Ð½Ð¾Ð²Ñ‹Ð¹ ответ" -msgstr[1] "У Ð²Ð°Ñ %(response_count)s новых ответов" -msgstr[2] "У Ð²Ð°Ñ %(response_count)s новых ответов" +msgid "" +"must have valid %(email)s to post, \n" +" see %(email_validation_faq_url)s\n" +" " +msgstr "" +"<span class=\"big strong\">Похоже на то что Ð°Ð´Ñ€ÐµÑ Ð’Ð°ÑˆÐµÐ¹ Ñлектронной почты, %" +"(email)s еще не был проверен.</span> Чтобы публиковать ÑÐ¾Ð¾Ð±Ñ‰ÐµÐ½Ð¸Ñ Ð½Ð° форуме " +"Ñначала пожалуйÑта продемонÑтрируйте что Ваша ÑÐ»ÐµÐºÑ‚Ñ€Ð¾Ð½Ð½Ð°Ñ Ð¿Ð¾Ñ‡Ñ‚Ð° работает, " +"Ð´Ð¾Ð¿Ð¾Ð»Ð½Ð¸Ñ‚ÐµÐ»ÑŒÐ½Ð°Ñ Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð¾Ð± етом <a href=\"%(email_validation_faq_url)s" +"\">здеÑÑŒ</a>.<br/> Ваш Ð²Ð¾Ð¿Ñ€Ð¾Ñ Ð±ÑƒÐ´ÐµÑ‚ опубликован Ñразу поÑле того как ваш " +"Ð°Ð´Ñ€ÐµÑ Ð±ÑƒÐ´ÐµÑ‚ проверен, а до тех пор Ð²Ð¾Ð¿Ð¾Ñ Ð±ÑƒÐ´ÐµÑ‚ Ñохранён в базе данных." -#: skins/default/templates/blocks/header_meta_links.html:13 -msgid "no new responses yet" -msgstr "новых ответов нет" +#: skins/default/templates/blocks/ask_form.html:27 +msgid "Login/signup to post your question" +msgstr "Войдите или запишитеÑÑŒ чтобы опубликовать Ваш ворпоÑ" + +#: skins/default/templates/blocks/ask_form.html:29 +msgid "Ask your question" +msgstr "Задайте Ваш вопроÑ" -#: skins/default/templates/blocks/header_meta_links.html:25 -#: skins/default/templates/blocks/header_meta_links.html:26 +#: skins/default/templates/blocks/editor_data.html:5 #, python-format -msgid "%(new)s new flagged posts and %(seen)s previous" -msgstr "%(new)s новых поÑтов Ñо Ñпамом и %(seen)s предыдущих" +msgid "each tag must be shorter that %(max_chars)s character" +msgid_plural "each tag must be shorter than %(max_chars)s characters" +msgstr[0] "каждый тег должен быть короче %(max_chars)s Ñимвола" +msgstr[1] "каждый тег должно быть короче чем %(max_chars)s Ñимвола" +msgstr[2] "каждый тег должно быть короче чем %(max_chars)s Ñимволов" -#: skins/default/templates/blocks/header_meta_links.html:28 -#: skins/default/templates/blocks/header_meta_links.html:29 +#: skins/default/templates/blocks/editor_data.html:7 #, python-format -msgid "%(new)s new flagged posts" -msgstr "%(new)s новых неумеÑтных Ñообщений" +msgid "please use %(tag_count)s tag" +msgid_plural "please use %(tag_count)s tags or less" +msgstr[0] "пожалуйÑта, иÑпользуйте %(tag_count)s тег" +msgstr[1] "пожалуйÑта введите не более %(tag_count)s тегов" +msgstr[2] "пожалуйÑта введите не более %(tag_count)s тегов" -#: skins/default/templates/blocks/header_meta_links.html:34 -#: skins/default/templates/blocks/header_meta_links.html:35 +#: skins/default/templates/blocks/editor_data.html:8 #, python-format -msgid "%(seen)s flagged posts" -msgstr "%(seen)s неумеÑтных Ñообщений" +msgid "" +"please use up to %(tag_count)s tags, less than %(max_chars)s characters each" +msgstr "" +"пожалуйÑта, иÑпользуйте до %(tag_count)s тегов, количеÑтво Ñимволов в каждом " +"менее %(max_chars)s" + +#: skins/default/templates/blocks/footer.html:5 +#: skins/default/templates/blocks/header_meta_links.html:12 +msgid "about" +msgstr "о наÑ" + +#: skins/default/templates/blocks/footer.html:7 +msgid "privacy policy" +msgstr "политика конфиденциальноÑти" + +#: skins/default/templates/blocks/footer.html:16 +msgid "give feedback" +msgstr "оÑтавить отзыв" + +#: skins/default/templates/blocks/header.html:8 +msgid "back to home page" +msgstr "вернутьÑÑ Ð½Ð° главную" + +#: skins/default/templates/blocks/header.html:9 +#, python-format +msgid "%(site)s logo" +msgstr "логотип %(site)s" + +#: skins/default/templates/blocks/header.html:17 +msgid "questions" +msgstr "вопроÑÑ‹" + +#: skins/default/templates/blocks/header.html:27 +msgid "users" +msgstr "пользователи" + +#: skins/default/templates/blocks/header.html:32 +msgid "badges" +msgstr "награды" + +#: skins/default/templates/blocks/header.html:37 +msgid "ask a question" +msgstr "задать вопроÑ" -#: skins/default/templates/blocks/header_meta_links.html:47 +#: skins/default/templates/blocks/header_meta_links.html:8 msgid "logout" msgstr "Выход" -#: skins/default/templates/blocks/header_meta_links.html:49 +#: skins/default/templates/blocks/header_meta_links.html:10 msgid "login" msgstr "Вход" -#: skins/default/templates/blocks/header_meta_links.html:54 +#: skins/default/templates/blocks/header_meta_links.html:15 msgid "settings" msgstr "ÐаÑтройки" -#: skins/default/templates/unused/email_base.html:8 -msgid "home" -msgstr "ГлавнаÑ" +#: skins/default/templates/blocks/input_bar.html:34 +msgid "search" +msgstr "поиÑк" + +#: skins/default/templates/blocks/question_edit_tips.html:3 +msgid "question tips" +msgstr "подÑказки к вопроÑам" + +#: skins/default/templates/blocks/question_edit_tips.html:5 +msgid "please ask a relevant question" +msgstr "ваш Ð²Ð¾Ð¿Ñ€Ð¾Ñ Ð´Ð¾Ð»Ð¶ÐµÐ½ ÑоответÑтвовать тематике ÑообщеÑтва" + +#: skins/default/templates/blocks/question_edit_tips.html:8 +msgid "please try provide enough details" +msgstr "поÑтарайтеÑÑŒ придать макÑимум информативноÑти Ñвоему вопроÑу" + +#: skins/default/templates/blocks/tag_selector.html:4 +msgid "Interesting tags" +msgstr "Избранные теги" + +#: skins/default/templates/blocks/tag_selector.html:18 +#: skins/default/templates/blocks/tag_selector.html:34 +#: skins/default/templates/user_profile/user_moderate.html:38 +msgid "Add" +msgstr "Добавить" + +#: skins/default/templates/blocks/tag_selector.html:20 +msgid "Ignored tags" +msgstr "Игнорируемые теги" + +#: skins/default/templates/blocks/tag_selector.html:36 +#, fuzzy +msgid "Display tag filter" +msgstr "Выберите тип фильтра по темам (ключевым Ñловам)" + +#: skins/default/templates/main_page/content.html:13 +msgid "Did not find what you were looking for?" +msgstr "Ðе нашли то, что иÑкали?" + +#: skins/default/templates/main_page/content.html:14 +msgid "Please, post your question!" +msgstr "ПожалуйÑта, опубликуйте Ñвой вопроÑ!" + +#: skins/default/templates/main_page/headline.html:7 +msgid "subscribe to the questions feed" +msgstr "подпиÑатьÑÑ Ð½Ð° RSS-канал Ð´Ð»Ñ Ð²Ð¾Ð¿Ñ€Ð¾Ñов" + +#: skins/default/templates/main_page/headline.html:8 +msgid "rss feed" +msgstr "RSS-канал" + +#: skins/default/templates/main_page/headline.html:12 views/readers.py:120 +#, fuzzy, python-format +msgid "%(q_num)s question, tagged" +msgid_plural "%(q_num)s questions, tagged" +msgstr[0] "%(q_num)s вопроÑ" +msgstr[1] "%(q_num)s вопроÑа" +msgstr[2] "%(q_num)s вопроÑов" + +#: skins/default/templates/main_page/headline.html:14 views/readers.py:128 +#, python-format +msgid "%(q_num)s question" +msgid_plural "%(q_num)s questions" +msgstr[0] "%(q_num)s вопроÑ" +msgstr[1] "%(q_num)s вопроÑа" +msgstr[2] "%(q_num)s вопроÑов" + +#: skins/default/templates/main_page/headline.html:17 +#, python-format +msgid "with %(author_name)s's contributions" +msgstr "при помощи %(author_name)s" + +#: skins/default/templates/main_page/headline.html:28 +msgid "Search tips:" +msgstr "Советы по поиÑку:" + +#: skins/default/templates/main_page/headline.html:31 +msgid "reset author" +msgstr "ÑÐ±Ñ€Ð¾Ñ Ð°Ð²Ñ‚Ð¾Ñ€Ð°" + +#: skins/default/templates/main_page/headline.html:33 +#: skins/default/templates/main_page/headline.html:36 +#: skins/default/templates/main_page/nothing_found.html:18 +#: skins/default/templates/main_page/nothing_found.html:21 +msgid " or " +msgstr "или" -#: skins/default/templates/unused/notarobot.html:3 -msgid "Please prove that you are a Human Being" -msgstr "Подтвердите что вы человек" +#: skins/default/templates/main_page/headline.html:34 +msgid "reset tags" +msgstr "ÑброÑить Ñ‚Ñги" + +#: skins/default/templates/main_page/headline.html:37 +#: skins/default/templates/main_page/headline.html:40 +msgid "start over" +msgstr "начать вÑе Ñначала" + +#: skins/default/templates/main_page/headline.html:42 +msgid " - to expand, or dig in by adding more tags and revising the query." +msgstr "- раÑширить или Ñузить, добавлÑÑ Ñвои метки и Ð¿Ð¾Ð»ÑƒÑ‡Ð°Ñ Ð·Ð°Ð¿Ñ€Ð¾Ñ." -#: skins/default/templates/unused/notarobot.html:10 -msgid "I am a Human Being" -msgstr "Я - Человек!" +#: skins/default/templates/main_page/headline.html:45 +msgid "Search tip:" +msgstr "ПодÑказки Ð´Ð»Ñ Ð¿Ð¾Ð¸Ñка:" -#: skins/default/templates/unused/question_counter_widget.html:78 -msgid "Please decide if you like this question or not by voting" +#: skins/default/templates/main_page/headline.html:45 +msgid "add tags and a query to focus your search" +msgstr "добавить теги и выполнить поиÑк" + +#: skins/default/templates/main_page/javascript.html:13 +#: skins/default/templates/main_page/javascript.html:14 +msgid "mark-tag/" +msgstr "pomechayem-temy/" + +#: skins/default/templates/main_page/javascript.html:13 +msgid "interesting/" +msgstr "interesnaya/" + +#: skins/default/templates/main_page/javascript.html:14 +msgid "ignored/" +msgstr "neinteresnaya/" + +#: skins/default/templates/main_page/javascript.html:15 +msgid "unmark-tag/" +msgstr "otmenyaem-pometku-temy/" + +#: skins/default/templates/main_page/nothing_found.html:4 +msgid "There are no unanswered questions here" +msgstr "Ðеотвеченных вопроÑов нет" + +#: skins/default/templates/main_page/nothing_found.html:7 +msgid "No favorite questions here. " +msgstr "Отмеченных вопроÑов нет." + +#: skins/default/templates/main_page/nothing_found.html:8 +msgid "Please start (bookmark) some questions when you visit them" msgstr "" -"ПожалуйÑта, решите, еÑли вам нравитÑÑ Ñтот Ð²Ð¾Ð¿Ñ€Ð¾Ñ Ð¸Ð»Ð¸ нет путем голоÑованиÑ" +"Ðачните добавлÑÑ‚ÑŒ в (закладки) некоторые вопроÑÑ‹, когда вы поÑещаете их" -#: skins/default/templates/unused/question_counter_widget.html:84 -msgid "" -"\n" -" vote\n" -" " -msgid_plural "" -"\n" -" votes\n" -" " -msgstr[0] "" -"\n" -"голоÑ\n" -" " -msgstr[1] "" -"\n" -"голоÑа" -msgstr[2] "" -"\n" -"голоÑов" +#: skins/default/templates/main_page/nothing_found.html:13 +msgid "You can expand your search by " +msgstr "Ð’Ñ‹ можете раÑширить поиÑк" -#: skins/default/templates/unused/question_counter_widget.html:93 -#: skins/default/templates/unused/question_list.html:23 -#: skins/default/templates/unused/questions_ajax.html:27 -msgid "this answer has been accepted to be correct" -msgstr "ответ был принÑÑ‚ как правильный" +#: skins/default/templates/main_page/nothing_found.html:16 +msgid "resetting author" +msgstr "ÑÐ±Ñ€Ð¾Ñ Ð°Ð²Ñ‚Ð¾Ñ€Ð°" -#: skins/default/templates/unused/question_counter_widget.html:99 -msgid "" -"\n" -" answer \n" -" " -msgid_plural "" -"\n" -" answers \n" -" " -msgstr[0] "" -"\n" -"ответ\n" -" " -msgstr[1] "" -"\n" -"ответа" -msgstr[2] "" -"\n" -"ответов" +#: skins/default/templates/main_page/nothing_found.html:19 +msgid "resetting tags" +msgstr "ÑÐ±Ñ€Ð¾Ñ Ñ‚Ñгов" -#: skins/default/templates/unused/question_counter_widget.html:111 -msgid "" -"\n" -" view\n" -" " -msgid_plural "" -"\n" -" views\n" -" " -msgstr[0] "" -"\n" -"проÑмотр\n" -" " -msgstr[1] "" -"\n" -"проÑмотра" -msgstr[2] "" -"\n" -"проÑмотров" +#: skins/default/templates/main_page/nothing_found.html:22 +#: skins/default/templates/main_page/nothing_found.html:25 +msgid "starting over" +msgstr "начать Ñначала" -#: skins/default/templates/unused/question_list.html:15 -msgid "" -"\n" -" vote\n" -" " -msgid_plural "" -"\n" -" votes\n" -" " -msgstr[0] "" -"\n" -"голоÑ\n" -" " -msgstr[1] "" -"\n" -"голоÑа" -msgstr[2] "" -"\n" -"голоÑов" +#: skins/default/templates/main_page/nothing_found.html:30 +msgid "Please always feel free to ask your question!" +msgstr "Ð’Ñ‹ вÑегда можете задать Ñвой вопроÑ!" -#: skins/default/templates/unused/question_list.html:35 -msgid "" -"\n" -" answer \n" -" " -msgid_plural "" -"\n" -" answers \n" -" " -msgstr[0] "" -"\n" -"ответ\n" -" " -msgstr[1] "" -"\n" -"ответа" -msgstr[2] "" -"\n" -"ответов" +#: skins/default/templates/main_page/sidebar.html:5 +msgid "Contributors" +msgstr "Ðвторы" + +#: skins/default/templates/main_page/sidebar.html:22 +msgid "Related tags" +msgstr "СвÑзанные теги" + +#: skins/default/templates/main_page/tab_bar.html:5 +msgid "In:" +msgstr "Ð’:" + +#: skins/default/templates/main_page/tab_bar.html:14 +msgid "see unanswered questions" +msgstr "проÑмотреть неотвеченные ворпоÑÑ‹" + +#: skins/default/templates/main_page/tab_bar.html:20 +msgid "see your favorite questions" +msgstr "проÑмотр отмеченные вопроÑÑ‹" + +#: skins/default/templates/main_page/tab_bar.html:25 +msgid "Sort by:" +msgstr "УпорÑдочить по:" + +#: skins/default/templates/user_profile/user.html:13 +#, python-format +msgid "%(username)s's profile" +msgstr "профиль Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ %(username)s" + +#: skins/default/templates/user_profile/user_edit.html:4 +msgid "Edit user profile" +msgstr "Изменить профиль пользователÑ" + +#: skins/default/templates/user_profile/user_edit.html:7 +msgid "edit profile" +msgstr "изменить профиль" + +#: skins/default/templates/user_profile/user_edit.html:17 +#: skins/default/templates/user_profile/user_info.html:15 +msgid "change picture" +msgstr "изменить изображение" + +#: skins/default/templates/user_profile/user_edit.html:20 +msgid "Registered user" +msgstr "ЗарегиÑтрированный пользователь" + +#: skins/default/templates/user_profile/user_edit.html:27 +msgid "Screen Name" +msgstr "Ðазвание Ñкрана" + +#: skins/default/templates/user_profile/user_edit.html:83 +#: skins/default/templates/user_profile/user_email_subscriptions.html:21 +msgid "Update" +msgstr "Обновить" + +#: skins/default/templates/user_profile/user_email_subscriptions.html:4 +#: skins/default/templates/user_profile/user_tabs.html:36 +msgid "subscriptions" +msgstr "подпиÑки по email" + +#: skins/default/templates/user_profile/user_email_subscriptions.html:7 +msgid "Email subscription settings" +msgstr "ÐаÑтройка подпиÑки по Ñлектронной почте" + +#: skins/default/templates/user_profile/user_email_subscriptions.html:8 +msgid "email subscription settings info" +msgstr "Ð˜Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð¾ наÑтройках подпиÑки по Ñлектронной почте" + +#: skins/default/templates/user_profile/user_email_subscriptions.html:22 +msgid "Stop sending email" +msgstr "ОÑтановить отправку Ñлектронной почты" + +#: skins/default/templates/user_profile/user_favorites.html:4 +#: skins/default/templates/user_profile/user_tabs.html:21 +msgid "favorites" +msgstr "закладки" + +#: skins/default/templates/user_profile/user_inbox.html:18 +#: skins/default/templates/user_profile/user_tabs.html:12 +msgid "inbox" +msgstr "входÑщие" + +#: skins/default/templates/user_profile/user_inbox.html:34 +msgid "Sections:" +msgstr "Разделы:" + +#: skins/default/templates/user_profile/user_inbox.html:38 +#, python-format +msgid "forum responses (%(re_count)s)" +msgstr "ответы в форуме (%(re_count)s)" + +#: skins/default/templates/user_profile/user_inbox.html:43 +#, python-format +msgid "flagged items (%(flag_count)s)" +msgstr "помеченные пункты (%(flag_count)s)" + +#: skins/default/templates/user_profile/user_inbox.html:49 +msgid "select:" +msgstr "выберите:" + +#: skins/default/templates/user_profile/user_inbox.html:51 +msgid "seen" +msgstr "прочитанные" + +#: skins/default/templates/user_profile/user_inbox.html:52 +msgid "new" +msgstr "новые" + +#: skins/default/templates/user_profile/user_inbox.html:53 +msgid "none" +msgstr "нет" + +#: skins/default/templates/user_profile/user_inbox.html:54 +msgid "mark as seen" +msgstr "отметить как прочитано " + +#: skins/default/templates/user_profile/user_inbox.html:55 +msgid "mark as new" +msgstr "отметить как новое" + +#: skins/default/templates/user_profile/user_inbox.html:56 +msgid "dismiss" +msgstr "удалить" + +#: skins/default/templates/user_profile/user_info.html:19 +#, fuzzy +msgid "remove" +msgstr "vosstanovleniye-accounta/" + +#: skins/default/templates/user_profile/user_info.html:33 +msgid "update profile" +msgstr "обновить профиль" + +#: skins/default/templates/user_profile/user_info.html:37 +msgid "manage login methods" +msgstr "управление методами входа" + +#: skins/default/templates/user_profile/user_info.html:50 +msgid "real name" +msgstr "наÑтоÑщее имÑ" + +#: skins/default/templates/user_profile/user_info.html:55 +msgid "member for" +msgstr "ÑоÑтоит пользователем" + +#: skins/default/templates/user_profile/user_info.html:60 +msgid "last seen" +msgstr "поÑледнее поÑещение" + +#: skins/default/templates/user_profile/user_info.html:66 +msgid "user website" +msgstr "Ñайт пользователÑ" + +#: skins/default/templates/user_profile/user_info.html:72 +msgid "location" +msgstr "меÑтоположение" + +#: skins/default/templates/user_profile/user_info.html:79 +msgid "age" +msgstr "возраÑÑ‚" + +#: skins/default/templates/user_profile/user_info.html:80 +msgid "age unit" +msgstr "возраÑÑ‚" + +#: skins/default/templates/user_profile/user_info.html:87 +msgid "todays unused votes" +msgstr "ÑегоднÑшних неиÑпользованных голоÑов" + +#: skins/default/templates/user_profile/user_info.html:88 +msgid "votes left" +msgstr "оÑталоÑÑŒ голоÑов" + +#: skins/default/templates/user_profile/user_moderate.html:4 +#: skins/default/templates/user_profile/user_tabs.html:42 +msgid "moderation" +msgstr "модерациÑ" + +#: skins/default/templates/user_profile/user_moderate.html:8 +#, python-format +msgid "%(username)s's current status is \"%(status)s\"" +msgstr "пользователь %(username)s имеет ÑÑ‚Ð°Ñ‚ÑƒÑ \"%(status)s\"" + +#: skins/default/templates/user_profile/user_moderate.html:11 +msgid "User status changed" +msgstr "Ð¡Ñ‚Ð°Ñ‚ÑƒÑ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ Ð¸Ð·Ð¼ÐµÐ½Ð¸Ð»ÑÑ" + +#: skins/default/templates/user_profile/user_moderate.html:18 +msgid "Save" +msgstr "Сохранить" + +#: skins/default/templates/user_profile/user_moderate.html:24 +#, python-format +msgid "Your current reputation is %(reputation)s points" +msgstr "Ваша Ñ‚ÐµÐºÑƒÑ‰Ð°Ñ ÐºÐ°Ñ€Ð¼Ð° %(reputation)s балов" + +#: skins/default/templates/user_profile/user_moderate.html:26 +#, python-format +msgid "User's current reputation is %(reputation)s points" +msgstr "Карма Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ %(reputation)s балов " + +#: skins/default/templates/user_profile/user_moderate.html:30 +msgid "User reputation changed" +msgstr "Карма Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð°" + +#: skins/default/templates/user_profile/user_moderate.html:37 +msgid "Subtract" +msgstr "ОтнÑÑ‚ÑŒ" + +#: skins/default/templates/user_profile/user_moderate.html:42 +#, python-format +msgid "Send message to %(username)s" +msgstr "Отправить Ñообщение Ð´Ð»Ñ %(username)s" -#: skins/default/templates/unused/question_list.html:47 +#: skins/default/templates/user_profile/user_moderate.html:43 msgid "" -"\n" -" view\n" -" " -msgid_plural "" -"\n" -" views\n" -" " -msgstr[0] "" -"\n" -"проÑмотр\n" -" " -msgstr[1] "" -"\n" -"проÑмотра" -msgstr[2] "" -"\n" -"проÑмотров" +"An email will be sent to the user with 'reply-to' field set to your email " +"address. Please make sure that your address is entered correctly." +msgstr "" +"ПиÑьмо будет отправлено пользователю Ñо ÑÑылкой \"Ответить\" на ваш Ð°Ð´Ñ€ÐµÑ " +"Ñлектронной почты. ПожалуйÑта, убедитеÑÑŒ, что ваш Ð°Ð´Ñ€ÐµÑ Ð²Ð²ÐµÐ´ÐµÐ½ правильно." -#: skins/default/templates/unused/question_summary_list_roll.html:13 -msgid "answers" -msgstr "ответы" +#: skins/default/templates/user_profile/user_moderate.html:45 +msgid "Message sent" +msgstr "Сообщение отправлено" + +#: skins/default/templates/user_profile/user_moderate.html:63 +msgid "Send message" +msgstr "Отправить Ñообщение" + +#: skins/default/templates/user_profile/user_recent.html:4 +#: skins/default/templates/user_profile/user_tabs.html:25 +msgid "activity" +msgstr "активноÑÑ‚ÑŒ" + +#: skins/default/templates/user_profile/user_reputation.html:4 +#, fuzzy +msgid "karma" +msgstr "карма:" + +#: skins/default/templates/user_profile/user_reputation.html:11 +msgid "Your karma change log." +msgstr "ИÑÑ‚Ð¾Ñ€Ð¸Ñ Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ð¹ кармы." + +#: skins/default/templates/user_profile/user_reputation.html:13 +#, python-format +msgid "%(user_name)s's karma change log" +msgstr "ИÑÑ‚Ð¾Ñ€Ð¸Ñ Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ð¹ кармы Ð´Ð»Ñ %(user_name)s " + +#: skins/default/templates/user_profile/user_stats.html:5 +#: skins/default/templates/user_profile/user_tabs.html:7 +msgid "overview" +msgstr "обзор" + +#: skins/default/templates/user_profile/user_stats.html:11 +#, python-format +msgid "<span class=\"count\">%(counter)s</span> Question" +msgid_plural "<span class=\"count\">%(counter)s</span> Questions" +msgstr[0] "<span class=\"count\">1</span> ВопроÑ" +msgstr[1] "<span class=\"count\">%(counter)s</span> ВопроÑов" +msgstr[2] "<span class=\"count\">%(counter)s</span> ВопроÑа" + +#: skins/default/templates/user_profile/user_stats.html:16 +#, python-format +msgid "<span class=\"count\">%(counter)s</span> Answer" +msgid_plural "<span class=\"count\">%(counter)s</span> Answers" +msgstr[0] "<span class=\"count\">1</span> Ответ" +msgstr[1] "<span class=\"count\">%(counter)s</span> Ответов" +msgstr[2] "<span class=\"count\">%(counter)s</span> Ответа" + +#: skins/default/templates/user_profile/user_stats.html:24 +#, python-format +msgid "the answer has been voted for %(answer_score)s times" +msgstr "за ответ проголоÑовали %(answer_score)s раз" + +#: skins/default/templates/user_profile/user_stats.html:24 +msgid "this answer has been selected as correct" +msgstr "Ñтот ответ был выбран в качеÑтве правильного" + +#: skins/default/templates/user_profile/user_stats.html:34 +#, python-format +msgid "(%(comment_count)s comment)" +msgid_plural "the answer has been commented %(comment_count)s times" +msgstr[0] "(один комментарий)" +msgstr[1] "ответ был прокомментирован %(comment_count)s раз" +msgstr[2] "ответ был прокомментирован %(comment_count)s раза" + +#: skins/default/templates/user_profile/user_stats.html:44 +#, python-format +msgid "<span class=\"count\">%(cnt)s</span> Vote" +msgid_plural "<span class=\"count\">%(cnt)s</span> Votes " +msgstr[0] "<span class=\"count\">1</span> ГолоÑ" +msgstr[1] "<span class=\"count\">%(cnt)s</span> ГолоÑов" +msgstr[2] "<span class=\"count\">%(cnt)s</span> ГолоÑа" + +#: skins/default/templates/user_profile/user_stats.html:50 +msgid "thumb up" +msgstr "Ñ \"за\"" + +#: skins/default/templates/user_profile/user_stats.html:51 +msgid "user has voted up this many times" +msgstr "пользователь проголоÑовал \"за\" много раз" + +#: skins/default/templates/user_profile/user_stats.html:54 +msgid "thumb down" +msgstr "Ñ \"против\"" + +#: skins/default/templates/user_profile/user_stats.html:55 +msgid "user voted down this many times" +msgstr "пользователь проголоÑовал \"против\" много раз" + +#: skins/default/templates/user_profile/user_stats.html:63 +#, python-format +msgid "<span class=\"count\">%(counter)s</span> Tag" +msgid_plural "<span class=\"count\">%(counter)s</span> Tags" +msgstr[0] "<span class=\"count\">1</span> Тег" +msgstr[1] "<span class=\"count\">%(counter)s</span> Тегов" +msgstr[2] "<span class=\"count\">%(counter)s</span> Тега" + +#: skins/default/templates/user_profile/user_stats.html:99 +#, python-format +msgid "<span class=\"count\">%(counter)s</span> Badge" +msgid_plural "<span class=\"count\">%(counter)s</span> Badges" +msgstr[0] "<span class=\"count\">%(counter)s</span> Медаль" +msgstr[1] "<span class=\"count\">%(counter)s</span> Медали" +msgstr[2] "<span class=\"count\">%(counter)s</span> Медалей" + +#: skins/default/templates/user_profile/user_tabs.html:5 +msgid "User profile" +msgstr "Профиль пользователÑ" + +#: skins/default/templates/user_profile/user_tabs.html:10 views/users.py:731 +msgid "comments and answers to others questions" +msgstr "комментарии и ответы на другие вопроÑÑ‹" + +#: skins/default/templates/user_profile/user_tabs.html:15 +msgid "graph of user reputation" +msgstr "график кармы" + +#: skins/default/templates/user_profile/user_tabs.html:17 +msgid "reputation history" +msgstr "иÑÑ‚Ð¾Ñ€Ð¸Ñ ÐºÐ°Ñ€Ð¼Ñ‹" + +#: skins/default/templates/user_profile/user_tabs.html:19 +msgid "questions that user selected as his/her favorite" +msgstr "ВопроÑÑ‹, выбранные пользователем в закладки" + +#: skins/default/templates/user_profile/user_tabs.html:23 +msgid "recent activity" +msgstr "поÑледнÑÑ Ð°ÐºÑ‚Ð¸Ð²Ð½Ð¾ÑÑ‚ÑŒ" + +#: skins/default/templates/user_profile/user_tabs.html:28 views/users.py:795 +msgid "user vote record" +msgstr "Ð³Ð¾Ð»Ð¾Ñ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ" -#: skins/default/templates/unused/question_summary_list_roll.html:14 +#: skins/default/templates/user_profile/user_tabs.html:30 +msgid "casted votes" +msgstr "поданные голоÑа" + +#: skins/default/templates/user_profile/user_tabs.html:34 views/users.py:901 +msgid "email subscription settings" +msgstr "наÑтройки подпиÑки по Ñлектронной почте" + +#: skins/default/templates/user_profile/user_tabs.html:40 views/users.py:214 +msgid "moderate this user" +msgstr "Модерировать Ñтого пользователÑ" + +#: skins/default/templates/user_profile/user_votes.html:4 msgid "votes" msgstr "голоÑов" -#: skins/default/templates/unused/question_summary_list_roll.html:15 -msgid "views" -msgstr "проÑмотров" +#: skins/default/templates/user_profile/users_questions.html:9 +#: skins/default/templates/user_profile/users_questions.html:17 +#, python-format +msgid "this questions was selected as favorite %(cnt)s time" +msgid_plural "this questions was selected as favorite %(cnt)s times" +msgstr[0] "Ñтот Ð²Ð¾Ð¿Ñ€Ð¾Ñ Ð±Ñ‹Ð» добавлен в закладки %(cnt)s раз" +msgstr[1] "Ñти вопроÑÑ‹ были добавлены в закладки %(cnt)s раз" +msgstr[2] "Ñти вопроÑÑ‹ были добавлены в закладки %(cnt)s раз" + +#: skins/default/templates/user_profile/users_questions.html:10 +msgid "thumb-up on" +msgstr "Ñ \"за\"" + +#: skins/default/templates/user_profile/users_questions.html:18 +msgid "thumb-up off" +msgstr "Ñ \"против\"" -#: templatetags/extra_filters.py:168 templatetags/extra_filters_jinja.py:234 +#: templatetags/extra_filters.py:145 templatetags/extra_filters_jinja.py:227 msgid "no items in counter" msgstr "нет" -#: utils/decorators.py:82 views/commands.py:132 views/commands.py:149 +#: utils/decorators.py:82 views/commands.py:112 views/commands.py:132 msgid "Oops, apologies - there was some error" msgstr "Извините, произошла ошибка!" @@ -5371,58 +5712,76 @@ msgstr[0] "%(min)d минуту назад" msgstr[1] "%(min)d минут назад" msgstr[2] "%(min)d минуты назад" -#: views/commands.py:42 +#: views/avatar_views.py:96 +msgid "Successfully uploaded a new avatar." +msgstr "" + +#: views/avatar_views.py:137 +msgid "Successfully updated your avatar." +msgstr "" + +#: views/avatar_views.py:177 +msgid "Successfully deleted the requested avatars." +msgstr "" + +#: views/commands.py:39 msgid "anonymous users cannot vote" msgstr "неавторизированные пользователи не могут голоÑовать " -#: views/commands.py:62 +#: views/commands.py:59 msgid "Sorry you ran out of votes for today" msgstr "Извините, вы иÑчерпали лимит голоÑÐ¾Ð²Ð°Ð½Ð¸Ñ Ð·Ð° ÑегоднÑ" -#: views/commands.py:68 +#: views/commands.py:65 #, python-format msgid "You have %(votes_left)s votes left for today" msgstr "Ð’Ñ‹ можете голоÑовать ÑÐµÐ³Ð¾Ð´Ð½Ñ ÐµÑ‰Ñ‘ %(votes_left)s раз" -#: views/commands.py:139 +#: views/commands.py:122 msgid "Sorry, but anonymous users cannot access the inbox" msgstr "неавторизированные пользователи не имеют доÑтупа к папке \"входÑщие\"" -#: views/commands.py:209 +#: views/commands.py:192 msgid "Sorry, something is not right here..." msgstr "Извините, что-то не здеÑÑŒ..." -#: views/commands.py:224 +#: views/commands.py:207 msgid "Sorry, but anonymous users cannot accept answers" msgstr "" "неавторизированные пользователи не могут отмечать ответы как правильные" -#: views/commands.py:305 +#: views/commands.py:288 #, python-format msgid "subscription saved, %(email)s needs validation, see %(details_url)s" msgstr "подпиÑка Ñохранена, %(email)s требует проверки, Ñм. %(details_url)s" -#: views/commands.py:313 +#: views/commands.py:296 msgid "email update frequency has been set to daily" msgstr "чаÑтота обновлений по email была уÑтановлена в ежедневную" -#: views/commands.py:371 -msgid "Bad request" -msgstr "неверный запроÑ" +#: views/commands.py:401 +#, python-format +msgid "Tag subscription was canceled (<a href=\"%(url)s\">undo</a>)." +msgstr "" + +#: views/commands.py:410 +#, fuzzy, python-format +msgid "Please sign in to subscribe for: %(tags)s" +msgstr "ПожалуйÑта, войдите здеÑÑŒ:" -#: views/meta.py:59 +#: views/meta.py:65 msgid "Q&A forum feedback" msgstr "ÐžÐ±Ñ€Ð°Ñ‚Ð½Ð°Ñ ÑвÑзь" -#: views/meta.py:60 +#: views/meta.py:66 msgid "Thanks for the feedback!" msgstr "СпаÑибо за отзыв!" -#: views/meta.py:70 +#: views/meta.py:74 msgid "We look forward to hearing your feedback! Please, give it next time :)" msgstr "Мы Ñ Ð½ÐµÑ‚ÐµÑ€Ð¿ÐµÐ½Ð¸ÐµÐ¼ ждем ваших отзывов!" -#: views/readers.py:188 +#: views/readers.py:166 #, python-format msgid "%(badge_count)d %(badge_level)s badge" msgid_plural "%(badge_count)d %(badge_level)s badges" @@ -5430,88 +5789,88 @@ msgstr[0] "%(badge_count)d %(badge_level)s медаль" msgstr[1] "%(badge_count)d %(badge_level)s медали" msgstr[2] "%(badge_count)d %(badge_level)s медалей" -#: views/readers.py:425 +#: views/readers.py:390 msgid "" "Sorry, the comment you are looking for has been deleted and is no longer " "accessible" msgstr "Извините, но запрашиваемый комментарий был удалён" -#: views/users.py:217 +#: views/users.py:215 msgid "moderate user" msgstr "модерировать пользователÑ" -#: views/users.py:376 +#: views/users.py:380 msgid "user profile" msgstr "профиль пользователÑ" -#: views/users.py:377 +#: views/users.py:381 msgid "user profile overview" msgstr "обзор Ð¿Ñ€Ð¾Ñ„Ð¸Ð»Ñ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ" -#: views/users.py:661 +#: views/users.py:664 msgid "recent user activity" msgstr "поÑледние данные по активноÑти пользователÑ" -#: views/users.py:662 +#: views/users.py:665 msgid "profile - recent activity" msgstr "профиль - поÑледние данные по активноÑти" -#: views/users.py:730 +#: views/users.py:732 msgid "profile - responses" msgstr "профиль - ответы" -#: views/users.py:795 +#: views/users.py:796 msgid "profile - votes" msgstr "профиль - голоÑа" -#: views/users.py:833 +#: views/users.py:831 msgid "user reputation in the community" msgstr "карма Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ Ð² ÑообщеÑтве" -#: views/users.py:834 +#: views/users.py:832 msgid "profile - user reputation" msgstr "профиль - карма пользователÑ" -#: views/users.py:862 +#: views/users.py:859 msgid "users favorite questions" msgstr "избранные вопроÑÑ‹ пользователей" -#: views/users.py:863 +#: views/users.py:860 msgid "profile - favorite questions" msgstr "профиль - избранные вопроÑÑ‹" -#: views/users.py:883 views/users.py:887 +#: views/users.py:880 views/users.py:884 msgid "changes saved" msgstr "Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ñохранены" -#: views/users.py:893 +#: views/users.py:890 msgid "email updates canceled" msgstr "Ð¾Ð±Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ Ð¿Ð¾ email отменены" -#: views/users.py:905 +#: views/users.py:902 msgid "profile - email subscriptions" msgstr "профиль - email подпиÑки" -#: views/writers.py:56 +#: views/writers.py:57 msgid "Sorry, anonymous users cannot upload files" msgstr "неавторизированные пользователи не могут загружать файлы" -#: views/writers.py:65 +#: views/writers.py:67 #, python-format msgid "allowed file types are '%(file_types)s'" msgstr "допуÑтимые типы файлов: '%(file_types)s'" -#: views/writers.py:88 +#: views/writers.py:90 #, python-format msgid "maximum upload file size is %(file_size)sK" msgstr "макÑимальный размер загружаемого файла - %(file_size)s K" -#: views/writers.py:96 +#: views/writers.py:98 msgid "Error uploading file. Please contact the site administrator. Thank you." msgstr "" "Ошибка при загрузке файла. ПожалуйÑта, ÑвÑжитеÑÑŒ Ñ Ð°Ð´Ð¼Ð¸Ð½Ð¸Ñтрацией Ñайта." -#: views/writers.py:452 +#: views/writers.py:563 #, python-format msgid "" "Sorry, you appear to be logged out and cannot post comments. Please <a href=" @@ -5520,11 +5879,11 @@ msgstr "" "Извините, вы не вошли, поÑтому не можете оÑтавлÑÑ‚ÑŒ комментарии. <a href=\"%" "(sign_in_url)s\">Войдите</a>." -#: views/writers.py:497 +#: views/writers.py:608 msgid "Sorry, anonymous users cannot edit comments" msgstr "неавторизированные пользователи не могут иÑправлÑÑ‚ÑŒ комментарии" -#: views/writers.py:505 +#: views/writers.py:616 #, python-format msgid "" "Sorry, you appear to be logged out and cannot delete comments. Please <a " @@ -5533,10 +5892,262 @@ msgstr "" "Извините, вы не вошли, поÑтому не можете удалÑÑ‚ÑŒ комментарии. <a href=\"%" "(sign_in_url)s\">Войдите</a>." -#: views/writers.py:526 +#: views/writers.py:637 msgid "sorry, we seem to have some technical difficulties" msgstr "Извините, у Ð½Ð°Ñ Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»Ñ‘Ð½Ð½Ñ‹Ðµ техничеÑкие проблемы." +#~ msgid "community wiki" +#~ msgstr "вики ÑообщеÑтва" + +#~ msgid "Location" +#~ msgstr "МеÑтоположение" + +#~ msgid "command/" +#~ msgstr "komanda/" + +#~ msgid "search/" +#~ msgstr "poisk/" + +#~ msgid "Check if you want to show the footer on each forum page" +#~ msgstr "" +#~ "Отметьте, еÑли вы хотите, чтобы подвал отображалÑÑ Ð½Ð° каждой Ñтранице " +#~ "форума" + +#~ msgid "allow only selected tags" +#~ msgstr "включить только выбранные Ñ‚Ñги" + +#~ msgid "less answers" +#~ msgstr "меньше ответов" + +#~ msgid "more answers" +#~ msgstr "кол-ву ответов" + +#~ msgid "unpopular" +#~ msgstr "непопулÑрный" + +#~ msgid "popular" +#~ msgstr "популÑрные" + +#~ msgid "MyOpenid user name" +#~ msgstr "Ð˜Ð¼Ñ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ Ð² MyOpenid" + +#~ msgid "Email verification subject line" +#~ msgstr "Тема ÑÐ¾Ð¾Ð±Ñ‰ÐµÐ½Ð¸Ñ Ð´Ð»Ñ Ð²ÐµÑ€Ð¸Ñ„Ð¸ÐºÐ°Ñ†Ð¸Ð¸ email" + +#~ msgid "Posted 10 comments" +#~ msgstr "РазмеÑтил 10 комментариев" + +#~ msgid "About" +#~ msgstr "О наÑ" + +#~ msgid "" +#~ "must have valid %(email)s to post, \n" +#~ " see %(email_validation_faq_url)s\n" +#~ " " +#~ msgstr "" +#~ "Ð´Ð»Ñ Ð¿ÑƒÐ±Ð»Ð¸ÐºÐ°Ñ†Ð¸Ð¸ %(email)s должен быть дейÑтвительным, Ñм. %" +#~ "(email_validation_faq_url)s" + +#~ msgid "how to validate email title" +#~ msgstr "как проверить заголовок Ñлектронного ÑообщениÑ" + +#~ msgid "" +#~ "how to validate email info with %(send_email_key_url)s %(gravatar_faq_url)" +#~ "s" +#~ msgstr "" +#~ "как проверить Ñлектронную почту Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ %(send_email_key_url)s %" +#~ "(gravatar_faq_url)s" + +#~ msgid "." +#~ msgstr "." + +#~ msgid "" +#~ "As a registered user you can login with your OpenID, log out of the site " +#~ "or permanently remove your account." +#~ msgstr "" +#~ "Как зарегиÑтрированный пользователь Ð’Ñ‹ можете Войти Ñ OpenID, выйти из " +#~ "Ñайта или удалить Ñвой аккаунт." + +#~ msgid "Logout now" +#~ msgstr "Выйти ÑейчаÑ" + +#~ msgid "see questions tagged '%(tag_name)s'" +#~ msgstr "Ñм. вопроÑÑ‹ Ñ Ñ‚ÐµÐ³Ð°Ð¼Ð¸ '%(tag_name)s'" + +#~ msgid "" +#~ "\n" +#~ " %(q_num)s question\n" +#~ " " +#~ msgid_plural "" +#~ "\n" +#~ " %(q_num)s questions\n" +#~ " " +#~ msgstr[0] "" +#~ "\n" +#~ "%(q_num)s ответ:" +#~ msgstr[1] "" +#~ "\n" +#~ "%(q_num)s ответа:" +#~ msgstr[2] "" +#~ "\n" +#~ "%(q_num)s ответов:" + +#~ msgid "tagged" +#~ msgstr "помеченный" + +#~ msgid "remove '%(tag_name)s' from the list of interesting tags" +#~ msgstr "удалить '%(tag_name)s' из ÑпиÑка интереÑных тегов" + +#~ msgid "remove '%(tag_name)s' from the list of ignored tags" +#~ msgstr "удалить '%(tag_name)s' из ÑпиÑка игнорируемых тегов" + +#~ msgid "keep ignored questions hidden" +#~ msgstr "Ñкрыть игнорируемые вопроÑÑ‹" + +#~ msgid "" +#~ "see other questions with %(view_user)s's contributions tagged '%(tag_name)" +#~ "s' " +#~ msgstr "" +#~ "Ñм. другие вопроÑÑ‹, в которых еÑÑ‚ÑŒ вклад от %(view_user)s, отмеченные " +#~ "тегом '%(tag_name)s'" + +#~ msgid "home" +#~ msgstr "ГлавнаÑ" + +#~ msgid "Please prove that you are a Human Being" +#~ msgstr "Подтвердите что вы человек" + +#~ msgid "I am a Human Being" +#~ msgstr "Я - Человек!" + +#~ msgid "Please decide if you like this question or not by voting" +#~ msgstr "" +#~ "ПожалуйÑта, решите, еÑли вам нравитÑÑ Ñтот Ð²Ð¾Ð¿Ñ€Ð¾Ñ Ð¸Ð»Ð¸ нет путем " +#~ "голоÑованиÑ" + +#~ msgid "" +#~ "\n" +#~ " vote\n" +#~ " " +#~ msgid_plural "" +#~ "\n" +#~ " votes\n" +#~ " " +#~ msgstr[0] "" +#~ "\n" +#~ "голоÑ\n" +#~ " " +#~ msgstr[1] "" +#~ "\n" +#~ "голоÑа" +#~ msgstr[2] "" +#~ "\n" +#~ "голоÑов" + +#~ msgid "this answer has been accepted to be correct" +#~ msgstr "ответ был принÑÑ‚ как правильный" + +#~ msgid "" +#~ "\n" +#~ " answer \n" +#~ " " +#~ msgid_plural "" +#~ "\n" +#~ " answers \n" +#~ " " +#~ msgstr[0] "" +#~ "\n" +#~ "ответ\n" +#~ " " +#~ msgstr[1] "" +#~ "\n" +#~ "ответа" +#~ msgstr[2] "" +#~ "\n" +#~ "ответов" + +#~ msgid "" +#~ "\n" +#~ " view\n" +#~ " " +#~ msgid_plural "" +#~ "\n" +#~ " views\n" +#~ " " +#~ msgstr[0] "" +#~ "\n" +#~ "проÑмотр\n" +#~ " " +#~ msgstr[1] "" +#~ "\n" +#~ "проÑмотра" +#~ msgstr[2] "" +#~ "\n" +#~ "проÑмотров" + +#~ msgid "" +#~ "\n" +#~ " vote\n" +#~ " " +#~ msgid_plural "" +#~ "\n" +#~ " votes\n" +#~ " " +#~ msgstr[0] "" +#~ "\n" +#~ "голоÑ\n" +#~ " " +#~ msgstr[1] "" +#~ "\n" +#~ "голоÑа" +#~ msgstr[2] "" +#~ "\n" +#~ "голоÑов" + +#~ msgid "" +#~ "\n" +#~ " answer \n" +#~ " " +#~ msgid_plural "" +#~ "\n" +#~ " answers \n" +#~ " " +#~ msgstr[0] "" +#~ "\n" +#~ "ответ\n" +#~ " " +#~ msgstr[1] "" +#~ "\n" +#~ "ответа" +#~ msgstr[2] "" +#~ "\n" +#~ "ответов" + +#~ msgid "" +#~ "\n" +#~ " view\n" +#~ " " +#~ msgid_plural "" +#~ "\n" +#~ " views\n" +#~ " " +#~ msgstr[0] "" +#~ "\n" +#~ "проÑмотр\n" +#~ " " +#~ msgstr[1] "" +#~ "\n" +#~ "проÑмотра" +#~ msgstr[2] "" +#~ "\n" +#~ "проÑмотров" + +#~ msgid "views" +#~ msgstr "проÑмотров" + +#~ msgid "Bad request" +#~ msgstr "неверный запроÑ" + #~ msgid "disciplined" #~ msgstr "диÑциплина" @@ -5707,15 +6318,9 @@ msgstr "Извините, у Ð½Ð°Ñ Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»Ñ‘Ð½Ð½Ñ‹Ðµ техничеÑкР#~ msgid "Active in many different tags" #~ msgstr "ÐктивноÑÑ‚ÑŒ в различных тегах" -#~ msgid "Expert" -#~ msgstr "ÐкÑперт" - #~ msgid "expert" #~ msgstr "ÑкÑперт" -#~ msgid "Very active in one tag" -#~ msgstr "Очень активны в одном теге" - #~ msgid "Yearling" #~ msgstr "Годовщина" @@ -5759,21 +6364,12 @@ msgstr "Извините, у Ð½Ð°Ñ Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»Ñ‘Ð½Ð½Ñ‹Ðµ техничеÑкР#~ msgid "Answered a question more than 60 days later with at least 5 votes" #~ msgstr "Ответ на Ð²Ð¾Ð¿Ñ€Ð¾Ñ Ð±Ð¾Ð»ÐµÐµ чем 60 дней ÑпуÑÑ‚Ñ Ñ Ð¼Ð¸Ð½Ð¸Ð¼ÑƒÐ¼ 5 голоÑами" -#~ msgid "Taxonomist" -#~ msgstr "ТакÑономиÑÑ‚" - #~ msgid "taxonomist" #~ msgstr "такÑономиÑÑ‚" -#~ msgid "Created a tag used by 50 questions" -#~ msgstr "Создал тег, иÑпользованный в 50 вопроÑах" - #~ msgid "Askbot" #~ msgstr "Askbot" -#~ msgid "Please, sign in or Join askbot!" -#~ msgstr "ПожалуйÑта, войдите здеÑÑŒ:" - #~ msgid "reputation points" #~ msgstr "очки кармы" @@ -5938,28 +6534,12 @@ msgstr "Извините, у Ð½Ð°Ñ Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»Ñ‘Ð½Ð½Ñ‹Ðµ техничеÑкР#~ msgid "Change openid associated to your account" #~ msgstr "Изменить OpenID ÑвÑзанный Ñ Ð²Ð°ÑˆÐ¸Ð¼ аккаунтом" -#~ msgid "Delete account" -#~ msgstr "Удалить аккаунт" - #~ msgid "Erase your username and all your data from website" #~ msgstr "Удалить Ваше Ð¸Ð¼Ñ Ð¸ вÑе данные о Ð’Ð°Ñ Ð½Ð° Ñайте" #~ msgid "toggle preview" #~ msgstr "включить/выключить предварительный проÑмотр" -#~ msgid "" -#~ "must have valid %(email)s to post, \n" -#~ " see %(email_validation_faq_url)s\n" -#~ " " -#~ msgstr "" -#~ "<span class=\"big strong\">Похоже на то что Ð°Ð´Ñ€ÐµÑ Ð’Ð°ÑˆÐµÐ¹ Ñлектронной " -#~ "почты, %(email)s еще не был проверен.</span> Чтобы публиковать ÑÐ¾Ð¾Ð±Ñ‰ÐµÐ½Ð¸Ñ " -#~ "на форуме Ñначала пожалуйÑта продемонÑтрируйте что Ваша ÑÐ»ÐµÐºÑ‚Ñ€Ð¾Ð½Ð½Ð°Ñ Ð¿Ð¾Ñ‡Ñ‚Ð° " -#~ "работает, Ð´Ð¾Ð¿Ð¾Ð»Ð½Ð¸Ñ‚ÐµÐ»ÑŒÐ½Ð°Ñ Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð¾Ð± етом <a href=\"%" -#~ "(email_validation_faq_url)s\">здеÑÑŒ</a>.<br/> Ваш Ð²Ð¾Ð¿Ñ€Ð¾Ñ Ð±ÑƒÐ´ÐµÑ‚ " -#~ "опубликован Ñразу поÑле того как ваш Ð°Ð´Ñ€ÐµÑ Ð±ÑƒÐ´ÐµÑ‚ проверен, а до тех пор " -#~ "Ð²Ð¾Ð¿Ð¾Ñ Ð±ÑƒÐ´ÐµÑ‚ Ñохранён в базе данных." - #~ msgid "reading channel" #~ msgstr "чтение каналов" @@ -6077,9 +6657,6 @@ msgstr "Извините, у Ð½Ð°Ñ Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»Ñ‘Ð½Ð½Ñ‹Ðµ техничеÑкР#~ msgid "Open the previously closed question" #~ msgstr "Открыть ранее закрытый вопроÑ" -#~ msgid "The question was closed for the following reason " -#~ msgstr "Ð’Ð¾Ð¿Ñ€Ð¾Ñ Ð±Ñ‹Ð» закрыт по Ñледующим причинам" - #~ msgid "reason - leave blank in english" #~ msgstr "причина - оÑтавить пуÑтым на английÑком Ñзыке" diff --git a/askbot/management/__init__.py b/askbot/management/__init__.py index 1e2b2aaf..6dc50083 100644 --- a/askbot/management/__init__.py +++ b/askbot/management/__init__.py @@ -61,6 +61,7 @@ class NoArgsJob(NoArgsCommand): total_count = batch['query_set'].count() if total_count == 0: + transaction.commit() return for item in batch['query_set'].all(): diff --git a/askbot/management/commands/fix_inbox_counts.py b/askbot/management/commands/fix_inbox_counts.py index c2ffffdc..fc1a37d1 100644 --- a/askbot/management/commands/fix_inbox_counts.py +++ b/askbot/management/commands/fix_inbox_counts.py @@ -1,35 +1,22 @@ from askbot.management import NoArgsJob from askbot import models -from askbot import const - -ACTIVITY_TYPES = const.RESPONSE_ACTIVITY_TYPES_FOR_DISPLAY -ACTIVITY_TYPES += (const.TYPE_ACTIVITY_MENTION,) def fix_inbox_counts(user): + """a unit of job - returns True if change was made + and False otherwise + """ old_new_count = user.new_response_count old_seen_count = user.seen_response_count - new_new_count = models.ActivityAuditStatus.objects.filter( - user = user, - status = models.ActivityAuditStatus.STATUS_NEW, - activity__activity_type__in = ACTIVITY_TYPES - ).count() - new_seen_count = models.ActivityAuditStatus.objects.filter( - user = user, - status = models.ActivityAuditStatus.STATUS_SEEN, - activity__activity_type__in = ACTIVITY_TYPES - ).count() + + user.update_response_counts() (changed1, changed2) = (False, False) - if new_new_count != old_new_count: - user.new_response_count = new_new_count + if user.new_response_count != old_new_count: changed1 = True - if new_seen_count != old_seen_count: - user.seen_response_count = new_seen_count + if user.seen_response_count != old_seen_count: changed2 = True - if changed1 or changed2: - user.save() - return True - return False + + return (changed1 or changed2) class Command(NoArgsJob): """definition of the job that fixes response counts diff --git a/askbot/management/commands/initialize_ldap_logins.py b/askbot/management/commands/initialize_ldap_logins.py new file mode 100644 index 00000000..96ee74e5 --- /dev/null +++ b/askbot/management/commands/initialize_ldap_logins.py @@ -0,0 +1,68 @@ +"""Management command to create LDAP login method for all users. +Please see description of the command in its ``help_text``. +""" +import datetime +from django.core.management.base import CommandError +from django.utils.translation import ugettext as _ +from askbot.management import NoArgsJob +from askbot import models +from askbot.deps.django_authopenid.models import UserAssociation +from askbot.conf import settings as askbot_settings + +def create_ldap_login_for_user(user): + """a unit job that creates LDAP account record for + the user, assuming that his or her LDAP user name + is the same as the user name on the forum site. + If the record already exists, LDAP provider name + will be updated according to the live setting, + otherwise a new record will be created. + Always returns ``True``. + """ + ldap_url = askbot_settings.LDAP_URL + ldap_provider_name = askbot_settings.LDAP_PROVIDER_NAME + if '' in (ldap_url, ldap_provider_name): + raise CommandError( + 'Please, first set up LDAP settings ' + 'at url /settings/EXTERNAL_KEYS,' + 'relative to the base url of your forum site' + ) + try: + assoc = UserAssociation.objects.get( + openid_url = user.username, + user = user + ) + except UserAssociation.DoesNotExist: + assoc = UserAssociation( + openid_url = user.username, + user = user + ) + assoc.provider_name = ldap_provider_name + assoc.last_used_timestamp = datetime.datetime.now() + assoc.save() + return True + +class Command(NoArgsJob): + """definition of the job that + runs through all users and creates LDAP login + methods, assuming that LDAP user ID's are the same + as values ``~askbot.User.username`` + """ + help = _( + 'This command may help you migrate to LDAP ' + 'password authentication by creating a record ' + 'for LDAP association with each user account. ' + 'There is an assumption that ldap user id\'s are ' + 'the same as user names registered at the site. ' + 'Before running this command it is necessary to ' + 'set up LDAP parameters in the "External keys" section ' + 'of the site settings.' + ) + def __init__(self, *args, **kwargs): + self.batches = ({ + 'title': 'Initializing LDAP logins for all users: ', + 'query_set': models.User.objects.all(), + 'function': create_ldap_login_for_user, + 'changed_count_message': 'Created LDAP logins for %d users', + 'nothing_changed_message': 'All users already have LDAP login methods' + },) + super(Command, self).__init__(*args, **kwargs) diff --git a/askbot/management/commands/send_unanswered_question_reminders.py b/askbot/management/commands/send_unanswered_question_reminders.py index 50ae6451..41fa8569 100644 --- a/askbot/management/commands/send_unanswered_question_reminders.py +++ b/askbot/management/commands/send_unanswered_question_reminders.py @@ -20,14 +20,22 @@ class Command(NoArgsCommand): wait_period = datetime.timedelta( askbot_settings.DAYS_BEFORE_SENDING_UNANSWERED_REMINDER ) - cutoff_date = datetime.datetime.now() + wait_period + start_cutoff_date = datetime.datetime.now() - wait_period + + recurrence_delay = datetime.timedelta( + askbot_settings.UNANSWERED_REMINDER_FREQUENCY + ) + max_emails = askbot_settings.MAX_UNANSWERED_REMINDERS + end_cutoff_date = start_cutoff_date - (max_emails - 1)*recurrence_delay questions = models.Question.objects.exclude( closed = True ).exclude( deleted = True ).filter( - added_at__lt = cutoff_date + added_at__lt = start_cutoff_date + ).exclude( + added_at__lt = end_cutoff_date ).filter( answer_count = 0 ).order_by('-added_at') @@ -50,9 +58,6 @@ class Command(NoArgsCommand): activity_type = activity_type ) now = datetime.datetime.now() - recurrence_delay = datetime.timedelta( - askbot_settings.UNANSWERED_REMINDER_FREQUENCY - ) if now < activity.active_at + recurrence_delay: continue except models.Activity.DoesNotExist: @@ -70,7 +75,7 @@ class Command(NoArgsCommand): if question_count == 0: continue - tag_summary = get_tag_summary_from_questions(user_questions) + tag_summary = get_tag_summary_from_questions(final_question_list) subject_line = ungettext( '%(question_count)d unanswered question about %(topics)s', '%(question_count)d unanswered questions about %(topics)s', @@ -90,8 +95,12 @@ class Command(NoArgsCommand): ) body_text += '</ul>' - mail.send_mail( - subject_line = subject_line, - body_text = body_text, - recipient_list = (user.email,) - ) + if DEBUG_THIS_COMMAND: + print "User: %s<br>\nSubject:%s<br>\nText: %s<br>\n" % \ + (user.email, subject_line, body_text) + else: + mail.send_mail( + subject_line = subject_line, + body_text = body_text, + recipient_list = (user.email,) + ) diff --git a/askbot/middleware/view_log.py b/askbot/middleware/view_log.py index 8f036077..a1a32010 100644 --- a/askbot/middleware/view_log.py +++ b/askbot/middleware/view_log.py @@ -10,7 +10,7 @@ from django.views.static import serve from django.views.i18n import javascript_catalog from askbot.models import signals from askbot.views.readers import questions as questions_view -from askbot.views.commands import vote +from askbot.views.commands import vote, get_tag_list from askbot.views.writers import delete_comment, post_comments, retag_question from askbot.views.readers import revisions from askbot.views.meta import media @@ -18,8 +18,11 @@ from askbot.search.state_manager import ViewLog #todo: the list is getting bigger and bigger - maybe there is a better way to #trigger reset of sarch state? -IGNORED_VIEWS = (serve, vote, media, delete_comment, post_comments, - retag_question, revisions, javascript_catalog) +IGNORED_VIEWS = ( + serve, vote, media, delete_comment, post_comments, + retag_question, revisions, javascript_catalog, + get_tag_list +) class ViewLogMiddleware(object): diff --git a/askbot/migrations/0004_install_full_text_indexes_for_mysql.py b/askbot/migrations/0004_install_full_text_indexes_for_mysql.py index 72b7e8f5..ac8448e5 100644 --- a/askbot/migrations/0004_install_full_text_indexes_for_mysql.py +++ b/askbot/migrations/0004_install_full_text_indexes_for_mysql.py @@ -4,10 +4,21 @@ import datetime from south.db import db from south.v2 import DataMigration from django.db import models +from askbot.utils import mysql Q_INDEX_NAME = 'askbot_question_full_text_index' A_INDEX_NAME = 'askbot_answer_full_text_index' +NO_FTS_WARNING = """ +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +!! !! +!! WARNING: Your database engine does not support !! +!! full text search. Please switch to PostgresQL !! +!! or select MyISAM engine for MySQL !! +!! !! +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +""" + def get_create_full_text_index_sql(index_name, table_name, column_list): column_sql = '(%s)' % ','.join(column_list) sql = 'CREATE FULLTEXT INDEX %s on %s %s' % (index_name, table_name, column_sql) @@ -24,24 +35,27 @@ class Migration(DataMigration): and will probably fail otherwise """ if db.backend_name == 'mysql': - #todo: extract column names by introspection - question_index_sql = get_create_full_text_index_sql( - Q_INDEX_NAME, - orm.Question._meta.db_table, - ('title','text','tagnames',) - ) - db.execute(question_index_sql) + if mysql.supports_full_text_search(): + #todo: extract column names by introspection + question_index_sql = get_create_full_text_index_sql( + Q_INDEX_NAME, + orm.Question._meta.db_table, + ('title','text','tagnames',) + ) + db.execute(question_index_sql) - answer_index_sql = get_create_full_text_index_sql( - A_INDEX_NAME, - orm.Answer._meta.db_table, - ('text',) - ) - db.execute(answer_index_sql) + answer_index_sql = get_create_full_text_index_sql( + A_INDEX_NAME, + orm.Answer._meta.db_table, + ('text',) + ) + db.execute(answer_index_sql) + else: + print NO_FTS_WARNING def backwards(self, orm): "code for removal of full text indices in mysql" - if db.backend_name == 'mysql': + if db.backend_name == 'mysql' and mysql.supports_full_text_search(): db.execute( get_drop_index_sql( Q_INDEX_NAME, diff --git a/askbot/migrations/0022_init_postgresql_full_text_search.py b/askbot/migrations/0022_init_postgresql_full_text_search.py index 173c1f21..b01c1285 100644 --- a/askbot/migrations/0022_init_postgresql_full_text_search.py +++ b/askbot/migrations/0022_init_postgresql_full_text_search.py @@ -1,5 +1,6 @@ # encoding: utf-8 import datetime +import askbot from south.db import db from south.v2 import DataMigration from django.db import models @@ -10,7 +11,7 @@ class Migration(DataMigration): def forwards(self, orm): "Write your forwards methods here." - if settings.DATABASE_ENGINE == 'postgresql_psycopg2': + if 'postgresql_psycopg2' in askbot.get_database_engine_name(): management.call_command('init_postgresql_full_text_search') def backwards(self, orm): diff --git a/askbot/models/__init__.py b/askbot/models/__init__.py index 7c5f4ea7..42690512 100644 --- a/askbot/models/__init__.py +++ b/askbot/models/__init__.py @@ -876,8 +876,9 @@ def user_mark_tags( * ``action`` - eitrer "add" or "remove" """ cleaned_wildcards = list() - assert(reason in ('good', 'bad')) assert(action in ('add', 'remove')) + if action == 'add': + assert(reason in ('good', 'bad')) if wildcards: cleaned_wildcards = self.update_wildcard_tag_selections( action = action, @@ -1283,8 +1284,7 @@ def user_visit_question(self, question = None, timestamp = None): status=ActivityAuditStatus.STATUS_SEEN ) if cleared_record_count > 0: - self.decrement_response_count(cleared_record_count) - self.save() + self.update_response_counts() #finally, mark admin memo objects if applicable #the admin response counts are not denormalized b/c they are easy to obtain @@ -1770,35 +1770,24 @@ def user_get_flags_for_post(self, post): flags = self.get_flags() return flags.filter(content_type = post_content_type, object_id=post.id) -def user_increment_response_count(user): - """increment response counter for user - by one +def user_update_response_counts(user): + """Recount number of responses to the user. """ - user.new_response_count += 1 + ACTIVITY_TYPES = const.RESPONSE_ACTIVITY_TYPES_FOR_DISPLAY + ACTIVITY_TYPES += (const.TYPE_ACTIVITY_MENTION,) + + user.new_response_count = ActivityAuditStatus.objects.filter( + user = user, + status = ActivityAuditStatus.STATUS_NEW, + activity__activity_type__in = ACTIVITY_TYPES + ).count() + user.seen_response_count = ActivityAuditStatus.objects.filter( + user = user, + status = ActivityAuditStatus.STATUS_SEEN, + activity__activity_type__in = ACTIVITY_TYPES + ).count() + user.save() -def user_decrement_response_count(user, amount=1): - """decrement response count for the user - by one, log critical error if count would go below zero - but limit decrementation at zero exactly - """ - assert(amount > 0) - user.seen_response_count += amount - if user.new_response_count >= amount: - user.new_response_count -= amount - user.clean_response_counts() - -def user_clean_response_counts(user): - "" - if user.new_response_count < 0: - user.new_response_count = 0 - logging.critical( - 'new response count wanted to go below zero for %s' % user.username - ) - if user.seen_response_count < 0: - user.seen_response_count = 0 - logging.critical( - 'seen response count wanted to go below zero form %s' % user.username - ) def user_receive_reputation(self, num_points): new_points = self.reputation + num_points @@ -1882,9 +1871,7 @@ User.add_to_class('follow_question', user_follow_question) User.add_to_class('unfollow_question', user_unfollow_question) User.add_to_class('is_following_question', user_is_following_question) User.add_to_class('mark_tags', user_mark_tags) -User.add_to_class('decrement_response_count', user_decrement_response_count) -User.add_to_class('increment_response_count', user_increment_response_count) -User.add_to_class('clean_response_counts', user_clean_response_counts) +User.add_to_class('update_response_counts', user_update_response_counts) User.add_to_class('can_have_strong_url', user_can_have_strong_url) User.add_to_class('is_administrator', user_is_administrator) User.add_to_class('set_admin_status', user_set_admin_status) diff --git a/askbot/models/meta.py b/askbot/models/meta.py index 290f5ef0..db92b4cd 100644 --- a/askbot/models/meta.py +++ b/askbot/models/meta.py @@ -260,7 +260,6 @@ class Comment(base.MetaContent, base.UserContent): comment_content_type = ContentType.objects.get_for_model(self) comment_id = self.id - #on these activities decrement response counter #todo: implement a custom delete method on these #all this should pack into Activity.responses.filter( somehow ).delete() activity_types = const.RESPONSE_ACTIVITY_TYPES_FOR_DISPLAY @@ -273,16 +272,19 @@ class Comment(base.MetaContent, base.UserContent): object_id = comment_id, activity_type__in = activity_types ) + + recipients = set() for activity in activities: for user in activity.recipients.all(): - user.decrement_response_count() - user.save() + recipients.add(user) + + #activities need to be deleted before the response + #counts are updated activities.delete() - #mentions - simply delete - mentions = Activity.objects.get_mentions(mentioned_in = self) - mentions.delete() - + for user in recipients: + user.update_response_counts() + super(Comment,self).delete(**kwargs) def get_absolute_url(self): diff --git a/askbot/models/question.py b/askbot/models/question.py index 5ad64a32..41579c11 100644 --- a/askbot/models/question.py +++ b/askbot/models/question.py @@ -26,6 +26,7 @@ from askbot.utils.lists import LazyList from askbot.utils.slug import slugify from askbot.utils import markup from askbot.utils.html import sanitize_html +from askbot.utils import mysql #todo: too bad keys are duplicated see const sort methods QUESTION_ORDER_BY_MAP = { @@ -128,17 +129,17 @@ class QuestionQuerySet(models.query.QuerySet): """returns a query set of questions, matching the full text query """ - if settings.DATABASE_ENGINE == 'mysql': + if settings.DATABASE_ENGINE == 'mysql' and mysql.supports_full_text_search(): return self.filter( models.Q(title__search = search_query) \ | models.Q(text__search = search_query) \ | models.Q(tagnames__search = search_query) \ | models.Q(answers__text__search = search_query) ) - elif settings.DATABASE_ENGINE == 'postgresql_psycopg2': + elif 'postgresql_psycopg2' in askbot.get_database_engine_name(): rank_clause = "ts_rank(question.text_search_vector, to_tsquery(%s))"; search_query = '&'.join(search_query.split()) - extra_params = ("'" + search_query + "'",) + extra_params = (search_query,) extra_kwargs = { 'select': {'relevance': rank_clause}, 'where': ['text_search_vector @@ to_tsquery(%s)'], @@ -200,6 +201,7 @@ class QuestionQuerySet(models.query.QuerySet): from askbot.conf import settings as askbot_settings if scope_selector: if scope_selector == 'unanswered': + qs = qs.filter(closed = False)#do not show closed questions in unanswered section if askbot_settings.UNANSWERED_QUESTION_MEANING == 'NO_ANSWERS': qs = qs.filter(answer_count=0)#todo: expand for different meanings of this elif askbot_settings.UNANSWERED_QUESTION_MEANING == 'NO_ACCEPTED_ANSWERS': diff --git a/askbot/models/signals.py b/askbot/models/signals.py index d28cd4a5..8802fcf7 100644 --- a/askbot/models/signals.py +++ b/askbot/models/signals.py @@ -73,7 +73,7 @@ def pop_all_db_signal_receivers(): post_syncdb, ) if 'm2m_changed' in globals(): - signals += m2m_changed + signals += (m2m_changed, ) receiver_data = dict() for signal in signals: diff --git a/askbot/models/user.py b/askbot/models/user.py index 09e7ebee..621a2bb8 100644 --- a/askbot/models/user.py +++ b/askbot/models/user.py @@ -77,8 +77,7 @@ class ActivityManager(models.Manager): if mentioned_whom: assert(isinstance(mentioned_whom, User)) mention_activity.add_recipients([mentioned_whom]) - mentioned_whom.increment_response_count() - mentioned_whom.save() + mentioned_whom.update_response_counts() return mention_activity diff --git a/askbot/search/state_manager.py b/askbot/search/state_manager.py index f45f4bcc..9392190a 100644 --- a/askbot/search/state_manager.py +++ b/askbot/search/state_manager.py @@ -237,7 +237,6 @@ class ViewLog(object): def should_reset_search_state(self): """return True if user stepped too far from the home page and False otherwise""" - return False if self.get_previous(1) != 'questions': if self.get_previous(2) != 'questions': return True diff --git a/askbot/setup_templates/settings.py b/askbot/setup_templates/settings.py index 4a556bc2..65007676 100644 --- a/askbot/setup_templates/settings.py +++ b/askbot/setup_templates/settings.py @@ -139,6 +139,7 @@ TEMPLATE_CONTEXT_PROCESSORS = ( #'django.core.context_processors.i18n', 'askbot.user_messages.context_processors.user_messages',#must be before auth 'django.core.context_processors.auth', #this is required for admin + 'django.core.context_processors.csrf', #necessary for csrf protection ) diff --git a/askbot/skins/default/media/js/live_search.js b/askbot/skins/default/media/js/live_search.js index 0f6b79c3..39ed2d14 100644 --- a/askbot/skins/default/media/js/live_search.js +++ b/askbot/skins/default/media/js/live_search.js @@ -493,6 +493,7 @@ var liveSearch = function(){ return { refresh: function(){ + query = $('input#keywords'); refresh_main_page(); }, init: function(mode){ diff --git a/askbot/skins/default/media/style/style.css b/askbot/skins/default/media/style/style.css index a4e7d581..24b01672 100755 --- a/askbot/skins/default/media/style/style.css +++ b/askbot/skins/default/media/style/style.css @@ -106,11 +106,11 @@ pre { font-family: Consolas, Monaco, Liberation Mono, Lucida Console, Monospace; font-size: 100%; margin-bottom: 10px; - overflow: auto; + /*overflow: auto;*/ background-color: #F5F5F5; padding-left: 5px; padding-top: 5px; - width: 671px; + /*width: 671px;*/ padding-bottom: 20px ! ie7; } @@ -469,6 +469,12 @@ span.delete-icon:hover { font-family: sans-serif; } +.badges .tag-number { + float: none; + display: inline; + padding-right: 15px; +} + ul#search-tags { padding-top: 3px; } @@ -589,6 +595,7 @@ ul#search-tags { .answer-table { border-bottom: 1px solid #bbb; + clear: both; } .evenMore { @@ -838,6 +845,8 @@ a:hover.medal { .question-body, .answer-body { min-height: 39px; line-height: 20px; + overflow: auto; + width: 660px; } .question-body IMG, .answer-body IMG { @@ -1197,6 +1206,7 @@ span.form-error { width: 691px; background-color: #F5F5F5; min-height: 20px; + overflow: auto; } .wmd-preview pre { @@ -1747,6 +1757,8 @@ button::-moz-focus-inner { margin: 0; color: #444; padding: 2px 3px 5px 3px; + width: 670px; + overflow: auto; } /* these need to go */ diff --git a/askbot/skins/default/templates/answer_edit.html b/askbot/skins/default/templates/answer_edit.html index 0d8b40da..e8cbc7ae 100644 --- a/askbot/skins/default/templates/answer_edit.html +++ b/askbot/skins/default/templates/answer_edit.html @@ -10,23 +10,21 @@ {% trans %}Edit answer{% endtrans %} [<a href="{{ answer.question.get_absolute_url() }}#{{ answer.id }}">{% trans %}back{% endtrans %}</a>] </h1> <div id="main-body" class="ask-body"> - <div id="askform"> - <form id="fmedit" action="{% url edit_answer answer.id %}" method="post" >{% csrf_token %} - <label for="id_revision" ><strong>{% trans %}revision{% endtrans %}:</strong></label> <br/> - {% if revision_form.revision.errors %}{{ revision_form.revision.errors.as_ul() }}{% endif %} - <div style="vertical-align:middle"> - {{ revision_form.revision }} <input type="submit" style="display:none" id="select_revision" name="select_revision" value="{% trans %}select revision{% endtrans %}"> - </div> - {{ macros.edit_post(form) }} - <div class="after-editor"> - <input type="submit" value="{% trans %}Save edit{% endtrans %}" class="submit" /> - <input type="button" value="{% trans %}Cancel{% endtrans %}" class="submit" onclick="history.back(-1);" /> - </div> - {% if settings.WIKI_ON and answer.wiki == False %} - {{ macros.checkbox_in_div(form.wiki) }} - {% endif %} - </form> - </div> + <form id="fmedit" action="{% url edit_answer answer.id %}" method="post" >{% csrf_token %} + <label for="id_revision" ><strong>{% trans %}revision{% endtrans %}:</strong></label> <br/> + {% if revision_form.revision.errors %}{{ revision_form.revision.errors.as_ul() }}{% endif %} + <div style="vertical-align:middle"> + {{ revision_form.revision }} <input type="submit" style="display:none" id="select_revision" name="select_revision" value="{% trans %}select revision{% endtrans %}"> + </div> + {{ macros.edit_post(form) }} + <div class="after-editor"> + <input type="submit" value="{% trans %}Save edit{% endtrans %}" class="submit" /> + <input type="button" value="{% trans %}Cancel{% endtrans %}" class="submit" onclick="history.back(-1);" /> + </div> + {% if settings.WIKI_ON and answer.wiki == False %} + {{ macros.checkbox_in_div(form.wiki) }} + {% endif %} + </form> </div> {% endblock %} diff --git a/askbot/skins/default/templates/authopenid/macros.html b/askbot/skins/default/templates/authopenid/macros.html index 534fb42f..33ef793b 100644 --- a/askbot/skins/default/templates/authopenid/macros.html +++ b/askbot/skins/default/templates/authopenid/macros.html @@ -17,14 +17,12 @@ settings = None ) %} - {{login_form.login_provider_name}} - {{ login_form.next }} <div id="login-icons"> <ul class="login-icons large"> {% for login_provider in major_login_providers %} {% if login_provider.name == 'local' and hide_local_login == True %} {# do nothing here, left if statement this way for simplicity #} - {% elif settings['SIGNIN_' + login_provider.name.upper() + '_ENABLED'] == True %} + {% else %} <li> {{ login_provider_input(login_provider) }} </li> @@ -33,11 +31,9 @@ </ul> <ul class="login-icons small"> {% for login_provider in minor_login_providers %} - {% if settings['SIGNIN_' + login_provider.name.upper() + '_ENABLED'] == True %} <li> {{ login_provider_input(login_provider) }} </li> - {% endif %} {% endfor %} </ul> </div> diff --git a/askbot/skins/default/templates/authopenid/signin.html b/askbot/skins/default/templates/authopenid/signin.html index 9316255a..9133fa9c 100644 --- a/askbot/skins/default/templates/authopenid/signin.html +++ b/askbot/skins/default/templates/authopenid/signin.html @@ -6,7 +6,9 @@ <link rel="stylesheet" type="text/css" media="screen" href="{{"/jquery-openid/openid.css"|media}}"/>
{% endblock %}
{% block content %}
-<h1>{{page_title}}</h1>
+{% if have_buttons or view_subtype == 'email_sent' %}
+ <h1>{{page_title}}</h1>
+{% endif %}
{% if answer %}
<div class="message">
{% trans title=answer.question.title, summary=answer.summary %}
@@ -22,15 +24,15 @@ </div>
{% endif %}
<p id='login-intro'>
- {% if view_subtype == 'default' %}
+ {% if view_subtype == 'default' and have_buttons %}
{% trans %}Take a pick of your favorite service below to sign in using secure OpenID or similar technology. Your external service password always stays confidential and you don't have to rememeber or create another one.{% endtrans %}
- {% elif view_subtype == 'add_openid' %}
+ {% elif view_subtype == 'add_openid' and have_buttons %}
{% if existing_login_methods %}
{% trans %}It's a good idea to make sure that your existing login methods still work, or add a new one. Please click any of the icons below to check/change or add new login methods.{% endtrans %}
{% else %}
{% trans %}Please add a more permanent login method by clicking one of the icons below, to avoid logging in via email each time.{% endtrans %}
{% endif %}
- {% elif view_subtype == 'change_openid' %}
+ {% elif view_subtype == 'change_openid' and have_buttons %}
{% if existing_login_methods %}
{% trans %}Click on one of the icons below to add a new login method or re-validate an existing one.{% endtrans %}
{% else %}
@@ -50,6 +52,8 @@ wants to always show the password login form - then
the button is useless.
#}
+ {{ login_form.login_provider_name }}
+ {{ login_form.next }}
{{
login_macros.provider_buttons(
login_form = login_form,
@@ -81,7 +85,9 @@ <h2 id="password-heading">
{% trans %}Please enter your <span>user name and password</span>, then sign in{% endtrans %}
</h2>
- <p class="hint">{% trans %}(or select another login method above){% endtrans %}</p>
+ {% if have_buttons %}
+ <p class="hint">{% trans %}(or select another login method above){% endtrans %}</p>
+ {% endif %}
{% if login_form.password_login_failed %}
<p class="error">{% trans %}Login failed, please try again{% endtrans %}</p>
{% endif %}
@@ -156,7 +162,7 @@ </form>
{% endif %}
{% if view_subtype != 'email_sent' or view_subtype == 'bad_key' %}
- {% if user.is_anonymous() %}
+ {% if user.is_anonymous() and settings.ALLOW_ACCOUNT_RECOVERY_BY_EMAIL %}
<form id="account-recovery-form" action="{% url user_account_recover %}" method="post">{% csrf_token %}
{% if view_subtype != 'bad_key' %}
<h2 id='account-recovery-heading'>{% trans %}Still have trouble signing in?{% endtrans %}</h2>
@@ -192,27 +198,29 @@ {% endblock %}
{% block sidebar %}
-<div class="boxC">
- <h2>{% trans %}Why use OpenID?{% endtrans %}</h2>
- <ul>
- <li>
- {% trans %}with openid it is easier{% endtrans %}
- </li>
- <li>
- {% trans %}reuse openid{% endtrans %}
- </li>
- <li>
- {% trans %}openid is widely adopted{% endtrans %}
- </li>
- <li>
- {% trans %}openid is supported open standard{% endtrans %}
- </li>
- </ul>
- <p class="info-box-follow-up-links">
- <a href="http://openid.net/what/" target="_blank">{% trans %}Find out more{% endtrans %} »</a><br/>
- <a href="http://openid.net/get/" target="_blank">{% trans %}Get OpenID{% endtrans %} »</a>
- </p>
-</div>
+ {% if have_buttons %}
+ <div class="boxC">
+ <h2>{% trans %}Why use OpenID?{% endtrans %}</h2>
+ <ul>
+ <li>
+ {% trans %}with openid it is easier{% endtrans %}
+ </li>
+ <li>
+ {% trans %}reuse openid{% endtrans %}
+ </li>
+ <li>
+ {% trans %}openid is widely adopted{% endtrans %}
+ </li>
+ <li>
+ {% trans %}openid is supported open standard{% endtrans %}
+ </li>
+ </ul>
+ <p class="info-box-follow-up-links">
+ <a href="http://openid.net/what/" target="_blank">{% trans %}Find out more{% endtrans %} »</a><br/>
+ <a href="http://openid.net/get/" target="_blank">{% trans %}Get OpenID{% endtrans %} »</a>
+ </p>
+ </div>
+ {% endif %}
{% endblock%}
{%block endjs%}
{%include "authopenid/providers_javascript.html" %}
diff --git a/askbot/skins/default/templates/blocks/ask_form.html b/askbot/skins/default/templates/blocks/ask_form.html index 9b61c7ce..24196bb6 100644 --- a/askbot/skins/default/templates/blocks/ask_form.html +++ b/askbot/skins/default/templates/blocks/ask_form.html @@ -1,41 +1,39 @@ {% import "macros.html" as macros %} -<div id="askform"> - <form id="fmask" action="" method="post" >{% csrf_token %} - <div class="form-item"> - <div id="askFormBar"> - {% if not request.user.is_authenticated() %} - <p>{% trans %}login to post question info{% endtrans %}</p> - {% else %} - {% if settings.EMAIL_VALIDATION %} - {% if not request.user.email_isvalid %} - {% trans email=request.user.email %}must have valid {{email}} to post, - see {{email_validation_faq_url}} - {% endtrans %} - {% endif %} +<form id="fmask" action="" method="post" >{% csrf_token %} + <div class="form-item"> + <div id="askFormBar"> + {% if not request.user.is_authenticated() %} + <p>{% trans %}login to post question info{% endtrans %}</p> + {% else %} + {% if settings.EMAIL_VALIDATION %} + {% if not request.user.email_isvalid %} + {% trans email=request.user.email %}must have valid {{email}} to post, + see {{email_validation_faq_url}} + {% endtrans %} {% endif %} {% endif %} - <input id="id_title" class="questionTitleInput" name="title" autocomplete="off" - value="{% if form.initial.title %}{{form.initial.title}}{% endif %}"/> - <span class="form-error">{{ form.title.errors }}</span> - </div> - <div class="title-desc"> - {{ form.title.help_text }} - </div> - </div> - <div id='question-list'></div> - {{macros.edit_post(form, post_type='question', edit_title=False)}} - {% if not request.user.is_authenticated() %} - <input type="submit" name="post_anon" value="{% trans %}Login/signup to post your question{% endtrans %}" class="submit" /> - {% else %} - <input type="submit" name="post" value="{% trans %}Ask your question{% endtrans %}" class="submit" /> - {% endif %} - <div class="question-options"> - {% if settings.WIKI_ON %} - {{ macros.checkbox_in_div(form.wiki) }} - {% endif %} - {% if settings.ALLOW_ASK_ANONYMOUSLY %} - {{ macros.checkbox_in_div(form.ask_anonymously) }} {% endif %} + <input id="id_title" class="questionTitleInput" name="title" autocomplete="off" + value="{% if form.initial.title %}{{form.initial.title}}{% endif %}"/> + <span class="form-error">{{ form.title.errors }}</span> </div> - </form> -</div> + <div class="title-desc"> + {{ form.title.help_text }} + </div> + </div> + <div id='question-list'></div> + {{macros.edit_post(form, post_type='question', edit_title=False)}} + {% if not request.user.is_authenticated() %} + <input type="submit" name="post_anon" value="{% trans %}Login/signup to post your question{% endtrans %}" class="submit" /> + {% else %} + <input type="submit" name="post" value="{% trans %}Ask your question{% endtrans %}" class="submit" /> + {% endif %} + <div class="question-options"> + {% if settings.WIKI_ON %} + {{ macros.checkbox_in_div(form.wiki) }} + {% endif %} + {% if settings.ALLOW_ASK_ANONYMOUSLY %} + {{ macros.checkbox_in_div(form.ask_anonymously) }} + {% endif %} + </div> +</form> diff --git a/askbot/skins/default/templates/question.html b/askbot/skins/default/templates/question.html index ffab9bd1..250a6962 100644 --- a/askbot/skins/default/templates/question.html +++ b/askbot/skins/default/templates/question.html @@ -12,298 +12,297 @@ {% endblock %} {% block content %} <h1><a href="{{ question.get_absolute_url() }}">{{ question.get_question_title() }}</a></h1> -<div id="askform"> - <table style="width:100%;" id="question-table" {% if question.deleted %}class="deleted"{%endif%}> - <tr> - <td style="width:30px;vertical-align:top"> - <div class="vote-buttons"> - {% if question_vote %} - <img id="question-img-upvote-{{ question.id }}" class="question-img-upvote" - {% if question_vote.is_upvote() %} - src="{{"/images/vote-arrow-up-on.png"|media}}" - {% else %} - src="{{"/images/vote-arrow-up.png"|media}}" - {% endif %} - alt="{% trans %}i like this post (click again to cancel){% endtrans %}" - title="{% trans %}i like this post (click again to cancel){% endtrans %}" /> - <div id="question-vote-number-{{ question.id }}" class="vote-number" - title="{% trans %}current number of votes{% endtrans %}"> - {{ question.score }} - </div> - <img id="question-img-downvote-{{ question.id }}" class="question-img-downvote" - {% if question_vote.is_downvote() %} - src="{{"/images/vote-arrow-down-on.png"|media}}" - {% else %} - src="{{"/images/vote-arrow-down.png"|media}}" - {% endif %} - alt="{% trans %}i dont like this post (click again to cancel){% endtrans %}" - title="{% trans %}i dont like this post (click again to cancel){% endtrans %}" /> +<table style="width:100%;" id="question-table" {% if question.deleted %}class="deleted"{%endif%}> + <tr> + <td style="width:30px;vertical-align:top"> + <div class="vote-buttons"> + {% if question_vote %} + <img id="question-img-upvote-{{ question.id }}" class="question-img-upvote" + {% if question_vote.is_upvote() %} + src="{{"/images/vote-arrow-up-on.png"|media}}" {% else %} - <img id="question-img-upvote-{{ question.id }}" class="question-img-upvote" - alt="{% trans %}i like this post (click again to cancel){% endtrans %}" src="{{"/images/vote-arrow-up.png"|media}}" - title="{% trans %}i like this post (click again to cancel){% endtrans %}" /> - <div id="question-vote-number-{{ question.id }}" class="vote-number" - title="{% trans %}current number of votes{% endtrans %}"> - {{ question.score }} - </div> - <img id="question-img-downvote-{{ question.id }}" class="question-img-downvote" - src="{{"/images/vote-arrow-down.png"|media}}" - alt="{% trans %}i dont like this post (click again to cancel){% endtrans %}" - title="{% trans %}i dont like this post (click again to cancel){% endtrans %}" /> {% endif %} - {% if favorited %} - <img class="question-img-favorite" src="{{"/images/vote-favorite-on.png"|media}}" - alt="{% trans %}mark this question as favorite (click again to cancel){% endtrans %}" - title="{% trans %}mark this question as favorite (click again to cancel){% endtrans %}" /> - <div id="favorite-number" class="favorite-number my-favorite-number"> - {{ question.favourite_count }} - </div> + alt="{% trans %}i like this post (click again to cancel){% endtrans %}" + title="{% trans %}i like this post (click again to cancel){% endtrans %}" /> + <div id="question-vote-number-{{ question.id }}" class="vote-number" + title="{% trans %}current number of votes{% endtrans %}"> + {{ question.score }} + </div> + <img id="question-img-downvote-{{ question.id }}" class="question-img-downvote" + {% if question_vote.is_downvote() %} + src="{{"/images/vote-arrow-down-on.png"|media}}" {% else %} - <img class="question-img-favorite" src="{{"/images/vote-favorite-off.png"|media}}" - alt="{% trans %}remove favorite mark from this question (click again to restore mark){% endtrans %}" - title="{% trans %}remove favorite mark from this question (click again to restore mark){% endtrans %}" /> - <div id="favorite-number" class="favorite-number"> - {% if question.favourite_count != 0 %}{{ question.favourite_count }}{% endif %} - </div> - {% endif %} - {% if settings.ENABLE_SOCIAL_SHARING %} - <a class="twitter-share" alt="{% trans %}Share this question on twitter{% endtrans %}"></a> - <a class="fb-share" alt="{% trans %}Share this question on facebook{% endtrans %}"></a> + src="{{"/images/vote-arrow-down.png"|media}}" {% endif %} + alt="{% trans %}i dont like this post (click again to cancel){% endtrans %}" + title="{% trans %}i dont like this post (click again to cancel){% endtrans %}" /> + {% else %} + <img id="question-img-upvote-{{ question.id }}" class="question-img-upvote" + alt="{% trans %}i like this post (click again to cancel){% endtrans %}" + src="{{"/images/vote-arrow-up.png"|media}}" + title="{% trans %}i like this post (click again to cancel){% endtrans %}" /> + <div id="question-vote-number-{{ question.id }}" class="vote-number" + title="{% trans %}current number of votes{% endtrans %}"> + {{ question.score }} </div> - </td> - <td> - <div class="question-body"> - {{question.html}} + <img id="question-img-downvote-{{ question.id }}" class="question-img-downvote" + src="{{"/images/vote-arrow-down.png"|media}}" + alt="{% trans %}i dont like this post (click again to cancel){% endtrans %}" + title="{% trans %}i dont like this post (click again to cancel){% endtrans %}" /> + {% endif %} + {% if favorited %} + <img class="question-img-favorite" src="{{"/images/vote-favorite-on.png"|media}}" + alt="{% trans %}mark this question as favorite (click again to cancel){% endtrans %}" + title="{% trans %}mark this question as favorite (click again to cancel){% endtrans %}" /> + <div id="favorite-number" class="favorite-number my-favorite-number"> + {{ question.favourite_count }} </div> - <ul id="question-tags" class="post-tags tags"> - {% for tag in question.get_tag_names() %} - {{ macros.tag_widget( - tag, - css_class = 'post-tag', - html_tag = 'li' - ) - }} - {% endfor %} - </ul> - <div id="question-controls" class="post-controls"> - {% set pipe=joiner('<span class="sep">|</span>') %} - {% if request.user|can_edit_post(question) %}{{ pipe() }} - <a href="{% url edit_question question.id %}">{% trans %}edit{% endtrans %}</a> - {% endif %} - {% if request.user|can_retag_question(question) %}{{ pipe() }} - <a id="retag" href="{% url retag_question question.id %}">{% trans %}retag{% endtrans %}</a> - <script type="text/javascript"> - var retagUrl = "{% url retag_question question.id %}"; - </script> - {% endif %} - {% if question.closed %} - {% if request.user|can_reopen_question(question) %}{{ pipe() }} - <a href="{% url reopen question.id %}">{% trans %}reopen{% endtrans %}</a> - {% endif %} - {% else %} - {% if request.user|can_close_question(question) %}{{ pipe() }} - <a href="{% url close question.id %}">{% trans %}close{% endtrans %}</a> - {% endif %} + {% else %} + <img class="question-img-favorite" src="{{"/images/vote-favorite-off.png"|media}}" + alt="{% trans %}remove favorite mark from this question (click again to restore mark){% endtrans %}" + title="{% trans %}remove favorite mark from this question (click again to restore mark){% endtrans %}" /> + <div id="favorite-number" class="favorite-number"> + {% if question.favourite_count != 0 %}{{ question.favourite_count }}{% endif %} + </div> + {% endif %} + {% if settings.ENABLE_SOCIAL_SHARING %} + <a class="twitter-share" alt="{% trans %}Share this question on twitter{% endtrans %}"></a> + <a class="fb-share" alt="{% trans %}Share this question on facebook{% endtrans %}"></a> + {% endif %} + </div> + </td> + <td> + <div class="question-body"> + {{question.html}} + </div> + <ul id="question-tags" class="post-tags tags"> + {% for tag in question.get_tag_names() %} + {{ macros.tag_widget( + tag, + css_class = 'post-tag', + html_tag = 'li' + ) + }} + {% endfor %} + </ul> + <div id="question-controls" class="post-controls"> + {% set pipe=joiner('<span class="sep">|</span>') %} + {% if request.user|can_edit_post(question) %}{{ pipe() }} + <a href="{% url edit_question question.id %}">{% trans %}edit{% endtrans %}</a> + {% endif %} + {% if request.user|can_retag_question(question) %}{{ pipe() }} + <a id="retag" href="{% url retag_question question.id %}">{% trans %}retag{% endtrans %}</a> + <script type="text/javascript"> + var retagUrl = "{% url retag_question question.id %}"; + </script> + {% endif %} + {% if question.closed %} + {% if request.user|can_reopen_question(question) %}{{ pipe() }} + <a href="{% url reopen question.id %}">{% trans %}reopen{% endtrans %}</a> {% endif %} - {% if request.user|can_flag_offensive(question) %}{{ pipe() }} - <span id="question-offensive-flag-{{ question.id }}" class="offensive-flag" - title="{% trans %}report as offensive (i.e containing spam, advertising, malicious text, etc.){% endtrans %}"> - <a>{% trans %}flag offensive{% endtrans %}</a> - {% if request.user|can_see_offensive_flags(question) %} - <span class="darkred">{% if question.offensive_flag_count > 0 %}({{ question.offensive_flag_count }}){% endif %}</span> - {% endif %} - </span> + {% else %} + {% if request.user|can_close_question(question) %}{{ pipe() }} + <a href="{% url close question.id %}">{% trans %}close{% endtrans %}</a> {% endif %} - {% if request.user|can_delete_post(question) %}{{ pipe() }} - <a id="question-delete-link-{{question.id}}">{% if question.deleted %}{% trans %}undelete{% endtrans %}{% else %}{% trans %}delete{% endtrans %}{% endif %}</a> + {% endif %} + {% if request.user|can_flag_offensive(question) %}{{ pipe() }} + <span id="question-offensive-flag-{{ question.id }}" class="offensive-flag" + title="{% trans %}report as offensive (i.e containing spam, advertising, malicious text, etc.){% endtrans %}"> + <a>{% trans %}flag offensive{% endtrans %}</a> + {% if request.user|can_see_offensive_flags(question) %} + <span class="darkred">{% if question.offensive_flag_count > 0 %}({{ question.offensive_flag_count }}){% endif %}</span> {% endif %} - </div> - <div class="post-update-info-container"> - {{ - macros.post_contributor_info( - question, - "original_author", - question.wiki, - settings.MIN_REP_TO_EDIT_WIKI - ) - }} - {{ - macros.post_contributor_info( - question, - "last_updater", - question.wiki, - settings.MIN_REP_TO_EDIT_WIKI, - ) - }} - </div> - {{ - macros.post_comments_widget( - post = question, - show_post = show_post, - show_comment = show_comment, - comment_order_number = comment_order_number, - user = request.user, - max_comments = settings.MAX_COMMENTS_TO_SHOW - ) - }} - <!--/div--> - </td> - </tr> - </table> - {% if question.closed %} - <div class="question-status" style="margin-bottom:15px"> - <h3>{% trans close_reason=question.get_close_reason_display() %}The question has been closed for the following reason "{{ close_reason }}" by{% endtrans %} - <a href="{{ question.closed_by.get_profile_url() }}">{{ question.closed_by.username }}</a> - {% trans closed_at=question.closed_at %}close date {{closed_at}}{% endtrans %}</h3> - </div> - {% endif %} - {% if answers %} - <div class="tabBar"> - <h2 id="sort-top"> - {% trans counter=answers|length %} - {{counter}} Answer: - {% pluralize %} - {{counter}} Answers: - {% endtrans %} - </h2> - <div class="tabsA"> - <a id="oldest" href="{{ question.get_absolute_url() }}?sort=oldest#sort-top" - title="{% trans %}oldest answers will be shown first{% endtrans %}" - ><span>{% trans %}oldest answers{% endtrans %}</span></a> - <a id="latest" href="{{ question.get_absolute_url() }}?sort=latest#sort-top" - title="{% trans %}newest answers will be shown first{% endtrans %}" - ><span>{% trans %}newest answers{% endtrans %}</span></a> - <a id="votes" href="{{ question.get_absolute_url() }}?sort=votes#sort-top" - title="{% trans %}most voted answers will be shown first{% endtrans %}" - ><span>{% trans %}popular answers{% endtrans %}</span></a> + </span> + {% endif %} + {% if request.user|can_delete_post(question) %}{{ pipe() }} + <a id="question-delete-link-{{question.id}}">{% if question.deleted %}{% trans %}undelete{% endtrans %}{% else %}{% trans %}delete{% endtrans %}{% endif %}</a> + {% endif %} </div> + <div class="post-update-info-container"> + {{ + macros.post_contributor_info( + question, + "original_author", + question.wiki, + settings.MIN_REP_TO_EDIT_WIKI + ) + }} + {{ + macros.post_contributor_info( + question, + "last_updater", + question.wiki, + settings.MIN_REP_TO_EDIT_WIKI, + ) + }} + </div> + {{ + macros.post_comments_widget( + post = question, + show_post = show_post, + show_comment = show_comment, + comment_order_number = comment_order_number, + user = request.user, + max_comments = settings.MAX_COMMENTS_TO_SHOW + ) + }} + <!--/div--> + </td> + </tr> +</table> +{% if question.closed %} +<div class="question-status" style="margin-bottom:15px"> +<h3>{% trans close_reason=question.get_close_reason_display() %}The question has been closed for the following reason "{{ close_reason }}" by{% endtrans %} +<a href="{{ question.closed_by.get_profile_url() }}">{{ question.closed_by.username }}</a> +{% trans closed_at=question.closed_at %}close date {{closed_at}}{% endtrans %}</h3> +</div> +{% endif %} +{% if answers %} + <div class="tabBar"> + <h2 id="sort-top"> + {% trans counter=answers|length %} + {{counter}} Answer: + {% pluralize %} + {{counter}} Answers: + {% endtrans %} + </h2> + <div class="tabsA"> + <a id="oldest" href="{{ question.get_absolute_url() }}?sort=oldest#sort-top" + title="{% trans %}oldest answers will be shown first{% endtrans %}" + ><span>{% trans %}oldest answers{% endtrans %}</span></a> + <a id="latest" href="{{ question.get_absolute_url() }}?sort=latest#sort-top" + title="{% trans %}newest answers will be shown first{% endtrans %}" + ><span>{% trans %}newest answers{% endtrans %}</span></a> + <a id="votes" href="{{ question.get_absolute_url() }}?sort=votes#sort-top" + title="{% trans %}most voted answers will be shown first{% endtrans %}" + ><span>{% trans %}popular answers{% endtrans %}</span></a> </div> - {{ macros.paginator(paginator_context) }} + </div> + {{ macros.paginator(paginator_context) }} - {% for answer in answers %} - <a name="{{ answer.id }}"></a> - <div id="answer-container-{{ answer.id }}" class="answer {% if answer.accepted %}accepted-answer{% endif %} {% if answer.author_id==question.author_id %} answered-by-owner{% endif %} {% if answer.deleted %}deleted{% endif %}"> - <table style="width:100%;" class="answer-table"> - <tr> - <td style="width:30px;vertical-align:top"> - <div class="vote-buttons"> - <img id="answer-img-upvote-{{ answer.id }}" class="answer-img-upvote" - {% if user_answer_votes[answer.id] == 1 %} - src="{{"/images/vote-arrow-up-on.png"|media}}" - {% else %} - src="{{"/images/vote-arrow-up.png"|media}}" - {% endif %} - alt="{% trans %}i like this answer (click again to cancel){% endtrans %}" - title="{% trans %}i like this answer (click again to cancel){% endtrans %}"/> - <div id="answer-vote-number-{{ answer.id }}" class="vote-number" title="{% trans %}current number of votes{% endtrans %}"> - {{ answer.score }} - </div> - <img id="answer-img-downvote-{{ answer.id }}" class="answer-img-downvote" - {% if user_answer_votes[answer.id] == -1 %} - src="{{"/images/vote-arrow-down-on.png"|media}}" - {% else %} - src="{{"/images/vote-arrow-down.png"|media}}" - {% endif %} - alt="{% trans %}i dont like this answer (click again to cancel){% endtrans %}" - title="{% trans %}i dont like this answer (click again to cancel){% endtrans %}" /> - {% if request.user == question.author %} + {% for answer in answers %} + <a name="{{ answer.id }}"></a> + <div id="answer-container-{{ answer.id }}" class="answer {% if answer.accepted %}accepted-answer{% endif %} {% if answer.author_id==question.author_id %} answered-by-owner{% endif %} {% if answer.deleted %}deleted{% endif %}"> + <table style="width:100%;" class="answer-table"> + <tr> + <td style="width:30px;vertical-align:top"> + <div class="vote-buttons"> + <img id="answer-img-upvote-{{ answer.id }}" class="answer-img-upvote" + {% if user_answer_votes[answer.id] == 1 %} + src="{{"/images/vote-arrow-up-on.png"|media}}" + {% else %} + src="{{"/images/vote-arrow-up.png"|media}}" + {% endif %} + alt="{% trans %}i like this answer (click again to cancel){% endtrans %}" + title="{% trans %}i like this answer (click again to cancel){% endtrans %}"/> + <div id="answer-vote-number-{{ answer.id }}" class="vote-number" title="{% trans %}current number of votes{% endtrans %}"> + {{ answer.score }} + </div> + <img id="answer-img-downvote-{{ answer.id }}" class="answer-img-downvote" + {% if user_answer_votes[answer.id] == -1 %} + src="{{"/images/vote-arrow-down-on.png"|media}}" + {% else %} + src="{{"/images/vote-arrow-down.png"|media}}" + {% endif %} + alt="{% trans %}i dont like this answer (click again to cancel){% endtrans %}" + title="{% trans %}i dont like this answer (click again to cancel){% endtrans %}" /> + {% if request.user == question.author %} + <img id="answer-img-accept-{{ answer.id }}" class="answer-img-accept" + {% if answer.accepted %} + src="{{"/images/vote-accepted-on.png"|media}}" + {% else %} + src="{{"/images/vote-accepted.png"|media}}" + {% endif %} + alt="{% trans %}mark this answer as favorite (click again to undo){% endtrans %}" + title="{% trans %}mark this answer as favorite (click again to undo){% endtrans %}" /> + {% else %} + {% if answer.accepted %} <img id="answer-img-accept-{{ answer.id }}" class="answer-img-accept" {% if answer.accepted %} src="{{"/images/vote-accepted-on.png"|media}}" {% else %} - src="{{"/images/vote-accepted.png"|media}}" - {% endif %} - alt="{% trans %}mark this answer as favorite (click again to undo){% endtrans %}" - title="{% trans %}mark this answer as favorite (click again to undo){% endtrans %}" /> - {% else %} - {% if answer.accepted %} - <img id="answer-img-accept-{{ answer.id }}" class="answer-img-accept" - {% if answer.accepted %} - src="{{"/images/vote-accepted-on.png"|media}}" - {% else %} - src="{{"/images/vote-accepted.png"|media}}" - {% endif %} - alt="{% trans question_author=question.author.username %}{{question_author}} has selected this answer as correct{% endtrans %}" - title="{% trans questsion_author=question.author.username%}{{question_author}} has selected this answer as correct{% endtrans %}" + src="{{"/images/vote-accepted.png"|media}}" {% endif %} + alt="{% trans question_author=question.author.username %}{{question_author}} has selected this answer as correct{% endtrans %}" + title="{% trans questsion_author=question.author.username%}{{question_author}} has selected this answer as correct{% endtrans %}" {% endif %} + {% endif %} + </div> + </td> + <td> + <div class="item-right"> + <div class="answer-body"> + {{ answer.html }} </div> - </td> - <td> - <div class="item-right"> - <div class="answer-body"> - {{ answer.html }} - </div> - <div class="answer-controls post-controls"> - {% set pipe=joiner('<span class="sep">|</span>') %} - <span class="linksopt">{{ pipe() }} - <a - href="{{ answer.get_absolute_url() }}" - title="{% trans %}answer permanent link{% endtrans %}"> - {% trans %}permanent link{% endtrans %} - </a> - </span> - {% if request.user|can_edit_post(answer) %}{{ pipe() }} - <span class="action-link"><a href="{% url edit_answer answer.id %}">{% trans %}edit{% endtrans %}</a></span> + <div class="answer-controls post-controls"> + {% set pipe=joiner('<span class="sep">|</span>') %} + <span class="linksopt">{{ pipe() }} + <a + href="{{ answer.get_absolute_url() }}" + title="{% trans %}answer permanent link{% endtrans %}"> + {% trans %}permanent link{% endtrans %} + </a> + </span> + {% if request.user|can_edit_post(answer) %}{{ pipe() }} + <span class="action-link"><a href="{% url edit_answer answer.id %}">{% trans %}edit{% endtrans %}</a></span> + {% endif %} + {% if request.user|can_flag_offensive(answer) %}{{ pipe() }} + <span id="answer-offensive-flag-{{ answer.id }}" class="offensive-flag" + title="{% trans %}report as offensive (i.e containing spam, advertising, malicious text, etc.){% endtrans %}"> + <a>{% trans %}flag offensive{% endtrans %}</a> + {% if request.user|can_see_offensive_flags(answer) %} + <span class="darkred">{% if answer.offensive_flag_count > 0 %}({{ answer.offensive_flag_count }}){% endif %}</span> {% endif %} - {% if request.user|can_flag_offensive(answer) %}{{ pipe() }} - <span id="answer-offensive-flag-{{ answer.id }}" class="offensive-flag" - title="{% trans %}report as offensive (i.e containing spam, advertising, malicious text, etc.){% endtrans %}"> - <a>{% trans %}flag offensive{% endtrans %}</a> - {% if request.user|can_see_offensive_flags(answer) %} - <span class="darkred">{% if answer.offensive_flag_count > 0 %}({{ answer.offensive_flag_count }}){% endif %}</span> - {% endif %} + </span> + {% endif %} + {% if request.user|can_delete_post(answer) %}{{ pipe() }} + {% spaceless %} + <span class="action-link"> + <a id="answer-delete-link-{{answer.id}}"> + {% if answer.deleted %}{% trans %}undelete{% endtrans %}{% else %}{% trans %}delete{% endtrans %}{% endif %}</a> </span> - {% endif %} - {% if request.user|can_delete_post(answer) %}{{ pipe() }} - {% spaceless %} - <span class="action-link"> - <a id="answer-delete-link-{{answer.id}}"> - {% if answer.deleted %}{% trans %}undelete{% endtrans %}{% else %}{% trans %}delete{% endtrans %}{% endif %}</a> - </span> - {% endspaceless %} - {% endif %} - </div> - <div class="post-update-info-container"> - {{ - macros.post_contributor_info( - answer, - "original_author", - answer.wiki, - settings.MIN_REP_TO_EDIT_WIKI - ) - }} - {{ - macros.post_contributor_info( - answer, - "last_updater", - answer.wiki, - settings.MIN_REP_TO_EDIT_WIKI - ) - }} - </div> - {{ - macros.post_comments_widget( - post = answer, - show_post = show_post, - show_comment = show_comment, - comment_order_number = comment_order_number, - user = request.user, - max_comments = settings.MAX_COMMENTS_TO_SHOW + {% endspaceless %} + {% endif %} + </div> + <div class="post-update-info-container"> + {{ + macros.post_contributor_info( + answer, + "original_author", + answer.wiki, + settings.MIN_REP_TO_EDIT_WIKI ) - }} + }} + {{ + macros.post_contributor_info( + answer, + "last_updater", + answer.wiki, + settings.MIN_REP_TO_EDIT_WIKI + ) + }} </div> - </td> - </tr> - </table> - </div> - {% endfor %} - <div class="paginator-container-left"> - {{ macros.paginator(paginator_context) }} - </div><br/> - {% endif %} + {{ + macros.post_comments_widget( + post = answer, + show_post = show_post, + show_comment = show_comment, + comment_order_number = comment_order_number, + user = request.user, + max_comments = settings.MAX_COMMENTS_TO_SHOW + ) + }} + </div> + </td> + </tr> + </table> + </div> + {% endfor %} + <div class="paginator-container-left"> + {{ macros.paginator(paginator_context) }} + </div><br/> +{% endif %} <form id="fmanswer" action="{% url answer question.id %}" method="post">{% csrf_token %} {% if request.user.is_authenticated() %} <p style="padding-left:3px"> @@ -370,7 +369,6 @@ {% endif %} {% endif %} </form> -</div> {% endblock %} {% block sidebar %} diff --git a/askbot/skins/default/templates/question_retag.html b/askbot/skins/default/templates/question_retag.html index 79cbbbff..883dc3aa 100644 --- a/askbot/skins/default/templates/question_retag.html +++ b/askbot/skins/default/templates/question_retag.html @@ -3,26 +3,24 @@ {% block title %}{% spaceless %}{% trans %}Change tags{% endtrans %}{% endspaceless %}{% endblock %} {% block content %} <h1>{% trans %}Change tags{% endtrans %} [<a href="{{ question.get_absolute_url() }}">{% trans %}back{% endtrans %}</a>]</h1> -<div id="askform"> - <form id="fmretag" action="{% url retag_question question.id %}" method="post" >{% csrf_token %} - <h2> - {{ question.get_question_title() }} - </h2> - <div id="description" class="edit-content-html"> - {{ question.html }} +<form id="fmretag" action="{% url retag_question question.id %}" method="post" >{% csrf_token %} + <h2> + {{ question.get_question_title() }} + </h2> + <div id="description" class="edit-content-html"> + {{ question.html }} + </div> + <div class="form-item"> + <strong>{{ form.tags.label_tag() }}:</strong> <span class="form-error"></span><br/> + {{ form.tags }} {{ form.tags.errors }} + <div class="title-desc"> + {{ form.tags.help_text }} </div> - <div class="form-item"> - <strong>{{ form.tags.label_tag() }}:</strong> <span class="form-error"></span><br/> - {{ form.tags }} {{ form.tags.errors }} - <div class="title-desc"> - {{ form.tags.help_text }} - </div> - </div> - <div class="error" ></div> - <input type="submit" value="{% trans %}Retag{% endtrans %}" class="submit" /> - <input type="button" value="{% trans %}Cancel{% endtrans %}" class="submit" onclick="history.back(-1);" /> - </form> -</div> + </div> + <div class="error" ></div> + <input type="submit" value="{% trans %}Retag{% endtrans %}" class="submit" /> + <input type="button" value="{% trans %}Cancel{% endtrans %}" class="submit" onclick="history.back(-1);" /> +</form> {% endblock %} {% block sidebar %} diff --git a/askbot/skins/default/templates/user_profile/user_edit.html b/askbot/skins/default/templates/user_profile/user_edit.html index fe4ea35f..1e2fa2d6 100644 --- a/askbot/skins/default/templates/user_profile/user_edit.html +++ b/askbot/skins/default/templates/user_profile/user_edit.html @@ -16,7 +16,7 @@ {% endif %} <h1><a href="{% url faq %}#gravatar">{% trans %}change picture{% endtrans %}</a><h1> </div> - <div id="askform" style="float:right;width:750px;text-align:left;"> + <div style="float:right;width:750px;text-align:left;"> <h2>{% trans %}Registered user{% endtrans %}</h2> <table class="user-details"> <tr> diff --git a/askbot/skins/default/templates/user_profile/user_stats.html b/askbot/skins/default/templates/user_profile/user_stats.html index 02849df1..81ea448f 100644 --- a/askbot/skins/default/templates/user_profile/user_stats.html +++ b/askbot/skins/default/templates/user_profile/user_stats.html @@ -98,15 +98,15 @@ {% spaceless %} <h2>{% trans counter=total_awards %}<span class="count">{{counter}}</span> Badge{% pluralize %}<span class="count">{{counter}}</span> Badges{% endtrans %}</h2> {% endspaceless %} - <div class="user-stats-table"> + <div class="user-stats-table badges"> <table> <tr> - <td width="180" style="line-height:35px"> + <td style="line-height:35px"> {% for badge in badges %}{# todo: translate badge name properly #} - <a href="{{badge.get_absolute_url()}}" title="{% trans description=badge.description %}{{description}}{% endtrans %}" class="medal"><span class="{{ badge.css_class }}">●</span> {% trans name=badge.name %}{{name}}{% endtrans %}</a><span class="tag-number"> × {{ awarded_badge_counts[badge.id]|intcomma }}</span><br/> + <a href="{{badge.get_absolute_url()}}" title="{% trans description=badge.description %}{{description}}{% endtrans %}" class="medal"><span class="{{ badge.css_class }}">●</span> {% trans name=badge.name %}{{name}}{% endtrans %}</a><span class="tag-number"> × {{ awarded_badge_counts[badge.id]|intcomma }}</span> {% if loop.index is divisibleby 3 %} - </td> - <td width="180" style="line-height:35px"> + </td></tr> + <tr><td style="line-height:35px"> {% endif %} {% endfor %} </td> diff --git a/askbot/tasks.py b/askbot/tasks.py index 8dfea5b4..caa33c64 100644 --- a/askbot/tasks.py +++ b/askbot/tasks.py @@ -93,9 +93,8 @@ def record_post_update( assert(updated_by not in recipients) - for user in set(recipients) | set(newly_mentioned_users): - user.increment_response_count() - user.save() + for user in (set(recipients) | set(newly_mentioned_users)): + user.update_response_counts() #todo: weird thing is that only comments need the recipients #todo: debug these calls and then uncomment in the repo diff --git a/askbot/tests/db_api_tests.py b/askbot/tests/db_api_tests.py index 66fb9f9d..6473845f 100644 --- a/askbot/tests/db_api_tests.py +++ b/askbot/tests/db_api_tests.py @@ -143,6 +143,14 @@ class DBApiTests(AskbotTestCase): count = models.Tag.objects.filter(name='one-tag').count() self.assertEquals(count, 0) + def test_search_with_apostrophe_works(self): + self.post_question( + user = self.user, + body_text = "ahahahahahahah database'" + ) + matches = models.Question.objects.get_by_text_query("database'") + self.assertTrue(len(matches) == 1) + class UserLikeTests(AskbotTestCase): def setUp(self): self.create_user() diff --git a/askbot/tests/email_alert_tests.py b/askbot/tests/email_alert_tests.py index 7f086152..071aa5ad 100644 --- a/askbot/tests/email_alert_tests.py +++ b/askbot/tests/email_alert_tests.py @@ -27,7 +27,10 @@ def email_alert_test(test_func): func_name = test_func.__name__ if func_name.startswith('test_'): test_name = func_name.replace('test_', '', 1) + #run the main codo of the test function test_func(test_object) + #if visit_timestamp is set, + #target user will visit the question at that time test_object.maybe_visit_question() test_object.send_alerts() test_object.check_results(test_name) @@ -283,11 +286,14 @@ class EmailAlertTests(TestCase): self.__class__.__name__, test_key, ) + #compares number of emails in the outbox and + #the expected message count for the current test self.assertEqual(len(outbox), expected['message_count'], error_message) if expected['message_count'] > 0: if len(outbox) > 0: error_message = 'expected recipient %s found %s' % \ (self.target_user.email, outbox[0].recipients()[0]) + #verify that target user receives the email self.assertEqual( outbox[0].recipients()[0], self.target_user.email, @@ -805,17 +811,58 @@ class UnansweredReminderTests(utils.AskbotTestCase): def setUp(self): self.u1 = self.create_user(username = 'user1') self.u2 = self.create_user(username = 'user2') - - def test_reminder_simple(self): - """a positive test - user must receive a reminder - """ askbot_settings.update('ENABLE_UNANSWERED_REMINDERS', True) - days_ago = 5*askbot_settings.DAYS_BEFORE_SENDING_UNANSWERED_REMINDER - long_ago = datetime.datetime.now() - datetime.timedelta(days_ago) + askbot_settings.update('MAX_UNANSWERED_REMINDERS', 5) + askbot_settings.update('UNANSWERED_REMINDER_FREQUENCY', 1) + askbot_settings.update('DAYS_BEFORE_SENDING_UNANSWERED_REMINDER', 2) + + self.wait_days = askbot_settings.DAYS_BEFORE_SENDING_UNANSWERED_REMINDER + self.recurrence_days = askbot_settings.UNANSWERED_REMINDER_FREQUENCY + self.max_emails = askbot_settings.MAX_UNANSWERED_REMINDERS + + + def assert_have_emails(self, email_count = None): + management.call_command('send_unanswered_question_reminders') + outbox = django.core.mail.outbox + self.assertEqual(len(outbox), email_count) + + def do_post(self, timestamp): self.post_question( user = self.u1, - timestamp = long_ago + timestamp = timestamp ) - management.call_command('send_unanswered_question_reminders') - outbox = django.core.mail.outbox - self.assertEqual(len(outbox), 1) + + def test_reminder_positive_wait(self): + """a positive test - user must receive a reminder + """ + days_ago = self.wait_days + timestamp = datetime.datetime.now() - datetime.timedelta(days_ago, 3600) + self.do_post(timestamp) + self.assert_have_emails(1) + + def test_reminder_negative_wait(self): + """a positive test - user must receive a reminder + """ + days_ago = self.wait_days - 1 + timestamp = datetime.datetime.now() - datetime.timedelta(days_ago, 3600) + self.do_post(timestamp) + self.assert_have_emails(0) + + def test_reminder_cutoff_positive(self): + """send a reminder a slightly before the last reminder + date passes""" + days_ago = self.wait_days + (self.max_emails - 1)*self.recurrence_days - 1 + timestamp = datetime.datetime.now() - datetime.timedelta(days_ago, 3600) + self.do_post(timestamp) + self.assert_have_emails(1) + + + def test_reminder_cutoff_negative(self): + """no reminder after the time for the last reminder passes + """ + days_ago = self.wait_days + (self.max_emails - 1)*self.recurrence_days + timestamp = datetime.datetime.now() - datetime.timedelta(days_ago, 3600) + self.do_post(timestamp) + self.assert_have_emails(0) + + diff --git a/askbot/tests/search_state_tests.py b/askbot/tests/search_state_tests.py index bb1423ca..b4b66a65 100644 --- a/askbot/tests/search_state_tests.py +++ b/askbot/tests/search_state_tests.py @@ -49,10 +49,17 @@ class SearchStateTests(TestCase): self.add_tag('tag1') self.assertEquals(self.state.query, 'hahaha') self.assert_tags_are('tag1') - self.update({'reset_query':True}) + self.update({'reset_query': True}) self.assertEquals(self.state.query, None) self.assert_tags_are('tag1') + def test_start_over(self): + self.update({'query': 'hahaha'}) + self.add_tag('tag1') + self.update({'start_over': True}) + self.assertEquals(self.state.query, None) + self.assertEquals(self.state.tags, None) + def test_auto_reset_sort(self): self.update({'sort': 'age-asc'}) self.assertEquals(self.state.sort, 'age-asc') diff --git a/askbot/utils/html.py b/askbot/utils/html.py index 25a74a4a..aa8e24d8 100644 --- a/askbot/utils/html.py +++ b/askbot/utils/html.py @@ -9,11 +9,11 @@ class HTMLSanitizerMixin(sanitizer.HTMLSanitizerMixin): 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'hr', 'i', 'img', 'ins', 'kbd', 'li', 'ol', 'p', 'pre', 'q', 's', 'samp', 'small', 'span', 'strike', 'strong', 'sub', 'sup', 'table', 'tbody', 'td', 'tfoot', 'th', 'thead', - 'tr', 'tt', 'u', 'ul', 'var') + 'tr', 'tt', 'u', 'ul', 'var', 'object', 'param') acceptable_attributes = ('abbr', 'align', 'alt', 'axis', 'border', 'cellpadding', 'cellspacing', 'char', 'charoff', 'charset', 'cite', - 'cols', 'colspan', 'datetime', 'dir', 'frame', 'headers', 'height', + 'cols', 'colspan', 'data', 'datetime', 'dir', 'frame', 'headers', 'height', 'href', 'hreflang', 'hspace', 'lang', 'longdesc', 'name', 'nohref', 'noshade', 'nowrap', 'rel', 'rev', 'rows', 'rowspan', 'rules', 'scope', 'span', 'src', 'start', 'summary', 'title', 'type', 'valign', 'vspace', diff --git a/askbot/utils/markup.py b/askbot/utils/markup.py index 0caf6848..16e45f87 100644 --- a/askbot/utils/markup.py +++ b/askbot/utils/markup.py @@ -4,18 +4,24 @@ from askbot.conf import settings as askbot_settings from markdown2 import Markdown #url taken from http://regexlib.com/REDetails.aspx?regexp_id=501 by Brian Bothwell -URL_RE = re.compile("((?<!(href|.src)=['\"])((http|https|ftp)\://([a-zA-Z0-9\.\-]+(\:[a-zA-Z0-9\.&%\$\-]+)*@)*((25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9])\.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9]|0)\.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9]|0)\.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[0-9])|localhost|([a-zA-Z0-9\-]+\.)*[a-zA-Z0-9\-]+\.(com|edu|gov|int|mil|net|org|biz|arpa|info|name|pro|aero|coop|museum|[a-zA-Z]{2}))(\:[0-9]+)*(/($|[a-zA-Z0-9\.\,\?\'\\\+&%\$#\=~_\-]+))*))") +URL_RE = re.compile("((?<!(href|.src|data)=['\"])((http|https|ftp)\://([a-zA-Z0-9\.\-]+(\:[a-zA-Z0-9\.&%\$\-]+)*@)*((25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9])\.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9]|0)\.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9]|0)\.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[0-9])|localhost|([a-zA-Z0-9\-]+\.)*[a-zA-Z0-9\-]+\.(com|edu|gov|int|mil|net|org|biz|arpa|info|name|pro|aero|coop|museum|[a-zA-Z]{2}))(\:[0-9]+)*(/($|[a-zA-Z0-9\.\,\?\'\\\+&%\$#\=~_\-]+))*))") LINK_PATTERNS = [ (URL_RE, r'\1'), ] def get_parser(): - extras = ['link-patterns',] + extras = ['link-patterns', 'video'] if askbot_settings.ENABLE_MATHJAX or \ askbot_settings.MARKUP_CODE_FRIENDLY: extras.append('code-friendly') + if askbot_settings.ENABLE_VIDEO_EMBEDDING: + #note: this requires a forked version of markdown2 module + #pip uninstall markdown2 + #pip install -e git+git://github.com/andryuha/python-markdown2.git + extras.append('video') + return Markdown( html4tags=True, extras=extras, diff --git a/askbot/utils/mysql.py b/askbot/utils/mysql.py new file mode 100644 index 00000000..cf073010 --- /dev/null +++ b/askbot/utils/mysql.py @@ -0,0 +1,20 @@ +"""Utilities for the MySQL backend""" +from django.db import connection + +#in-memory cached variable +SUPPORTS_FTS = None + +def supports_full_text_search(): + """True if the database engine is MyISAM""" + from askbot.models import Question + global SUPPORTS_FTS + if SUPPORTS_FTS is None: + cursor = connection.cursor() + table_name = Question._meta.db_table + cursor.execute("SHOW CREATE TABLE %s" % table_name); + data = cursor.fetchone() + if 'ENGINE=MyISAM' in data[1]: + SUPPORTS_FTS = True + else: + SUPPORTS_FTS = False + return SUPPORTS_FTS diff --git a/askbot/views/commands.py b/askbot/views/commands.py index 809d4249..e2293262 100644 --- a/askbot/views/commands.py +++ b/askbot/views/commands.py @@ -99,35 +99,21 @@ def manage_inbox(request): activity__activity_type__in = activity_types, user = user ) + action_type = post_data['action_type'] - seen_memos = memo_set.filter( - status=models.ActivityAuditStatus.STATUS_SEEN - ) - new_memos = memo_set.filter( - status=models.ActivityAuditStatus.STATUS_NEW - ) if action_type == 'delete': - user.new_response_count -= new_memos.count() - user.seen_response_count -= seen_memos.count() - user.clean_response_counts() - user.save() memo_set.delete() elif action_type == 'mark_new': - user.new_response_count += seen_memos.count() - user.seen_response_count -= seen_memos.count() - user.clean_response_counts() - user.save() memo_set.update(status = models.ActivityAuditStatus.STATUS_NEW) elif action_type == 'mark_seen': - user.new_response_count -= new_memos.count() - user.seen_response_count += new_memos.count() - user.clean_response_counts() - user.save() memo_set.update(status = models.ActivityAuditStatus.STATUS_SEEN) else: raise exceptions.PermissionDenied( _('Oops, apologies - there was some error') ) + + user.update_response_counts() + response_data['success'] = True data = simplejson.dumps(response_data) return HttpResponse(data, mimetype="application/json") diff --git a/askbot/views/writers.py b/askbot/views/writers.py index d103c776..d1f115dc 100644 --- a/askbot/views/writers.py +++ b/askbot/views/writers.py @@ -262,7 +262,7 @@ def ask(request):#view used to ask a new question return render_into_skin('ask.html', data, request) @login_required -@csrf.csrf_protect +#@csrf.csrf_protect remove for ajax def retag_question(request, id): """retag question view """ diff --git a/follower/TODO.rst b/follower/TODO.rst deleted file mode 100644 index b71b92ae..00000000 --- a/follower/TODO.rst +++ /dev/null @@ -1,3 +0,0 @@ -* create tests & test runner script -* create doc pages -* publish on pypi diff --git a/follower/__init__.py b/follower/__init__.py deleted file mode 100644 index 20d8fee9..00000000 --- a/follower/__init__.py +++ /dev/null @@ -1,147 +0,0 @@ -"""A Django App allowing :class:`~django.contrib.auth.models.User` to -follow instances of any other django models, including other users - -To use this module: -* add "follower" to the ``INSTALLED_APPS`` in your ``settings.py`` -* in your app's ``models.py`` add: - - import follower - follower.register(Thing) - -* run ``python manage.py syncdb`` -* then anywhere in your code you can do the following: - - user.follow(some_thing_instance) - user.unfollow(some_thing_instance) - - user.get_followed_things() #note that "things" is from the name of class Thing - some_thing.get_followers() - -Copyright 2011 Evgeny Fadeev evgeny.fadeev@gmail.com -""" -from django.contrib.auth.models import User -from django.db.models.fields.related import ManyToManyField, ForeignKey - -REGISTRY = [] - -def get_model_name(model): - return model._meta.module_name - - -def get_bridge_class_name(model): - return 'Follow' + get_model_name(model) - - -def get_bridge_model_for_object(obj): - """returns bridge model used to follow items - like the ``obj`` - """ - bridge_model_name = get_bridge_class_name(obj.__class__) - from django.db import models as django_models - return django_models.get_model('follower', bridge_model_name) - - -def get_object_followers(obj): - """returns query set of users following the object""" - bridge_lookup_field = get_bridge_class_name(obj.__class__).lower() - obj_model_name = get_model_name(obj.__class__) - filter_criterion = 'followed_' + obj_model_name + '_records__followed' - filter = {filter_criterion: obj} - return User.objects.filter(**filter) - - -def make_followed_objects_getter(model): - """returns query set of objects of a class ``model`` - that are followed by a user""" - - #something like followX_set__user - def followed_objects_getter(user): - filter = {'follower_records__follower': user} - return model.objects.filter(**filter) - - return followed_objects_getter - - -def make_follow_method(model): - """returns a method that adds a FollowX record - for an object - """ - def follow_method(user, obj): - """returns ``True`` if follow operation created a new record""" - bridge_model = get_bridge_model_for_object(obj) - bridge, created = bridge_model.objects.get_or_create(follower = user, followed = obj) - return created - return follow_method - - -def make_unfollow_method(model): - """returns a method that allows to unfollow an item - """ - def unfollow_method(user, obj): - """attempts to find an item and delete it, no - exstence checking - """ - bridge_model = get_bridge_model_for_object(obj) - objects = bridge_model.objects.get(follower = user, followed = obj) - objects.delete() - return unfollow_method - - -def register(model): - """returns model class that connects - User with the followed object - - ``model`` - is the model class to follow - - The ``model`` class gets new method - ``get_followers`` - and the User class - a method - ``get_followed_Xs``, where - the ``X`` is the name of the model - - Note, that proper pluralization of the model name is not supported, - just "s" is added - """ - from follower import models as follower_models - from django.db import models as django_models - - model_name = get_model_name(model) - if model in REGISTRY: - return - - #1) - create a new class FollowX - class Meta(object): - app_label = 'follower' - - fields = { - 'follower': ForeignKey( - User, - related_name = 'followed_' + model_name + '_records' - ), - 'followed': ForeignKey( - model, - related_name = 'follower_records' - ), - '__module__': follower_models.__name__, - 'Meta': Meta - } - - - #create the bridge model class - bridge_class_name = get_bridge_class_name(model) - bridge_model = type(bridge_class_name, (django_models.Model,), fields) - setattr(follower_models, bridge_class_name, bridge_model) - - #2) patch ``model`` with method ``get_followers()`` - model.add_to_class('get_followers', get_object_followers) - - #3) patch ``User`` with method ``get_followed_Xs`` - method_name = 'get_followed_' + model_name + 's' - getter_method = make_followed_objects_getter(model) - User.add_to_class(method_name, getter_method) - - #4) patch ``User`` with method ``follow_X`` - follow_method = make_follow_method(model) - User.add_to_class('follow_' + model_name, follow_method) - - #5) patch ``User`` with method ``unfollow_X`` - unfollow_method = make_unfollow_method(model) - User.add_to_class('unfollow_' + model_name, unfollow_method) diff --git a/follower/models.py b/follower/models.py deleted file mode 100644 index 71a83623..00000000 --- a/follower/models.py +++ /dev/null @@ -1,3 +0,0 @@ -from django.db import models - -# Create your models here. diff --git a/follower/tests.py b/follower/tests.py deleted file mode 100644 index 806b2f2b..00000000 --- a/follower/tests.py +++ /dev/null @@ -1,39 +0,0 @@ -""" -Test cases for the follower module -""" -from django.db import models, transaction -from django.contrib.contenttypes.management import update_contenttypes -from django.core.management.commands import syncdb -from django.test import TestCase - -import follower - -class SomeJunk(models.Model): - yeah = models.BooleanField(default = True) - -class SomeTrash(models.Model): - yeah = models.BooleanField(default = True) - -class FollowerTests(TestCase): - """idea taken from Dan Rosemans blog - http://blog.roseman.org.uk/2010/04/13/temporary-models-django/ - create a temp model in setUp(), run tests on it, then destroy it in dearDown() - """ - - def setUp(self): - models.register_models('followertests', SomeJunk) - models.signals.post_syncdb.disconnect(update_contenttypes) - - def test_register_fk_follow(self): - follower.register(SomeJunk) - #call_command('syncdb') - cmd = syncdb.Command()#south messes up here - call django's command directly - cmd.execute() - transaction.commit() - #test that table `follower_followsomejunk` exists - model = models.get_model('follower', 'FollowSomeJunk') - self.assertEquals(model.objects.count(), 0) - - #def tearDown(self): - # cursor = connection.cursor() - # cursor.execute('DROP TABLE `followertests_somejunk`') diff --git a/follower/views.py b/follower/views.py deleted file mode 100644 index 60f00ef0..00000000 --- a/follower/views.py +++ /dev/null @@ -1 +0,0 @@ -# Create your views here. @@ -33,9 +33,11 @@ WIN_PLATFORMS = ('win32', 'cygwin',) if sys.platform not in WIN_PLATFORMS: install_requires.append('mysql-python') +import askbot + setup( name = "askbot", - version = '0.6.77',#remember to manually set this correctly + version = askbot.get_version(),#remember to manually set this correctly description = 'Question and Answer forum, like StackOverflow, written in python and Django', packages = find_packages(), author = 'Evgeny.Fadeev', |