summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.gitignore2
-rw-r--r--context.py1
-rw-r--r--django_authopenid/urls.py6
-rw-r--r--django_authopenid/views.py1
-rw-r--r--forum/models.py12
-rw-r--r--forum/views.py59
-rw-r--r--locale/en/LC_MESSAGES/django.mobin14218 -> 14334 bytes
-rw-r--r--locale/en/LC_MESSAGES/django.po606
-rw-r--r--locale/es/LC_MESSAGES/django.mobin43234 -> 49734 bytes
-rw-r--r--locale/es/LC_MESSAGES/django.po954
-rw-r--r--settings_local.py47
-rw-r--r--settings_local.py.dist2
-rw-r--r--templates/404.html8
-rw-r--r--templates/500.html4
-rw-r--r--templates/answer_edit_tips.html2
-rw-r--r--templates/badge.html2
-rw-r--r--templates/book.html4
-rw-r--r--templates/content/js/com.cnprog.i18n.js2
-rw-r--r--templates/content/js/com.cnprog.post.js2
-rw-r--r--templates/content/style/style.css2
-rw-r--r--templates/faq.html14
-rw-r--r--templates/footer.html8
-rw-r--r--templates/header.html30
-rw-r--r--templates/index.html24
-rw-r--r--templates/question.html18
-rw-r--r--templates/question_edit_tips.html3
-rw-r--r--templates/revisions_answer.html2
-rw-r--r--templates/revisions_question.html2
-rw-r--r--templates/tags.html4
-rw-r--r--templates/user_info.html2
-rw-r--r--templates/user_reputation.html2
-rw-r--r--templates/user_stats.html84
-rw-r--r--templates/user_tabs.html14
-rw-r--r--templates/user_votes.html4
-rw-r--r--templates/users_questions.html36
-rw-r--r--urls.py85
36 files changed, 1065 insertions, 983 deletions
diff --git a/.gitignore b/.gitignore
index 4f83efab..b217d5cc 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,3 +1,5 @@
*.pyc
*.swp
+*.log
+settings_local.py
nbproject
diff --git a/context.py b/context.py
index c068332c..3da69f7b 100644
--- a/context.py
+++ b/context.py
@@ -10,6 +10,7 @@ def application_settings(context):
'LANGUAGE_CODE': settings.LANGUAGE_CODE,
'GOOGLE_SITEMAP_CODE':settings.GOOGLE_SITEMAP_CODE,
'GOOGLE_ANALYTICS_KEY':settings.GOOGLE_ANALYTICS_KEY,
+ 'BOOKS_ON':settings.BOOKS_ON,
}
return {'settings':my_settings}
diff --git a/django_authopenid/urls.py b/django_authopenid/urls.py
index 6843e5c0..9c0887d8 100644
--- a/django_authopenid/urls.py
+++ b/django_authopenid/urls.py
@@ -21,10 +21,10 @@ urlpatterns = patterns('django_authopenid.views',
# name='user_confirmchangepw'),
# manage account settings
- #url(r'^$', 'account_settings', name='user_account_settings'),
+ #url(r'^$', _('account_settings'), name='user_account_settings'),
#url(r'^%s$' % _('password/'), 'changepw', name='user_changepw'),
- url(r'^%s$' % 'email/', 'changeemail', name='user_changeemail',kwargs = {'action':'change'}),
- url(r'^%s%s$' % ('email/','validate/'), 'changeemail', name='user_changeemail',kwargs = {'action':'validate'}),
+ url(r'^%s$' % _('email/'), 'changeemail', name='user_changeemail',kwargs = {'action':'change'}),
+ url(r'^%s%s$' % (_('email/'),_('validate/')), 'changeemail', name='user_changeemail',kwargs = {'action':'validate'}),
#url(r'^%s$' % _('openid/'), 'changeopenid', name='user_changeopenid'),
url(r'^%s$' % _('delete/'), 'delete', name='user_delete'),
)
diff --git a/django_authopenid/views.py b/django_authopenid/views.py
index 1cb8928b..218a31a2 100644
--- a/django_authopenid/views.py
+++ b/django_authopenid/views.py
@@ -358,6 +358,7 @@ def register(request):
'flickr':'<font color="#0063dc">flick</font><font color="#ff0084">r</font>&trade;',
'google':'Google&trade;',
'aol':'<font color="#31658e">AOL</font>',
+ 'myopenid':'MyOpenID',
}
if provider_name not in providers:
provider_logo = provider_name
diff --git a/forum/models.py b/forum/models.py
index 9510476a..f647ba12 100644
--- a/forum/models.py
+++ b/forum/models.py
@@ -180,10 +180,10 @@ class Question(models.Model):
return [name for name in self.tagnames.split(u' ')]
def tagname_meta_generator(self):
- return ','.join([str(tag) for tag in self.tagname_list()])
+ return u','.join([unicode(tag) for tag in self.tagname_list()])
def get_absolute_url(self):
- return '%s%s' % (reverse('question', args=[self.id]), self.title.replace(' ', '-'))
+ return '%s%s' % (reverse('question', args=[self.id]), slugify(self.title))
def has_favorite_by_user(self, user):
if not user.is_authenticated():
@@ -303,7 +303,7 @@ class QuestionRevision(models.Model):
return self.question.title
def get_absolute_url(self):
- return '/questions/%s/revisions' % (self.question.id)
+ return '/%s%s/%s' % (_('questions/'),self.question.id,_('revisions'))
def save(self, **kwargs):
"""Looks up the next available revision number."""
@@ -415,7 +415,7 @@ class AnswerRevision(models.Model):
text = models.TextField()
def get_absolute_url(self):
- return '/answers/%s/revisions' % (self.answer.id)
+ return '/%s%s/%s' % (_('answers/'),self.answer.id,_('revisions'))
def get_question_title(self):
return self.answer.question.title
@@ -587,7 +587,7 @@ QUESTIONS_PER_PAGE_CHOICES = (
)
User.add_to_class('email_isvalid', models.BooleanField(default=False))
-User.add_to_class('email_key', models.CharField(max_length=16, null=True))
+User.add_to_class('email_key', models.CharField(max_length=32, null=True))
User.add_to_class('reputation', models.PositiveIntegerField(default=1))
User.add_to_class('gravatar', models.CharField(max_length=32))
User.add_to_class('email_feeds', generic.GenericRelation(EmailFeed))
@@ -629,7 +629,7 @@ def delete_messages(self):
def get_profile_url(self):
"""Returns the URL for this User's profile."""
- return '%s%s/' % (reverse('user', args=[self.id]), self.username)
+ return '%s%s/' % (reverse('user', args=[self.id]), slugify(self.username))
User.add_to_class('get_profile_url', get_profile_url)
User.add_to_class('get_messages', get_messages)
User.add_to_class('delete_messages', delete_messages)
diff --git a/forum/views.py b/forum/views.py
index 4dc56946..d663a4cb 100644
--- a/forum/views.py
+++ b/forum/views.py
@@ -16,6 +16,7 @@ from django.core import serializers
from django.db import transaction
from django.contrib.contenttypes.models import ContentType
from django.utils.translation import ugettext as _
+from django.template.defaultfilters import slugify
from utils.html import sanitize_html
from markdown2 import Markdown
@@ -301,7 +302,7 @@ def ask(request):
ip_addr = request.META['REMOTE_ADDR'],
)
question.save()
- return HttpResponseRedirect('%s%s%s' % ( _('/account/'),_('signin/'),('newquestion/')))
+ return HttpResponseRedirect('/%s%s%s' % ( _('account/'),_('signin/'),_('newquestion/')))
else:
form = AskForm()
@@ -332,7 +333,7 @@ def question(request, id):
answers = answers.select_related(depth=1)
favorited = question.has_favorite_by_user(request.user)
- if not request.user.is_anonymous():
+ if request.user.is_authenticated():
question_vote = question.votes.select_related().filter(user=request.user)
else:
question_vote = None #is this correct?
@@ -695,7 +696,8 @@ def answer(request, id):
ip_addr = request.META['REMOTE_ADDR'],
)
anon.save()
- return HttpResponseRedirect('/account/signin/newanswer')
+ return HttpResponseRedirect('/%s%s%s' % ( _('account/'),
+ _('signin/'),_('newquestion/')))
return HttpResponseRedirect(question.get_absolute_url())
@@ -736,7 +738,7 @@ def tags(request):
'has_next': tags.has_next(),
'previous': tags.previous_page_number(),
'next': tags.next_page_number(),
- 'base_url' : '/tags/?sort=%s&' % sortby
+ 'base_url' : '/%s?sort=%s&' % (_('tags/'), sortby)
}
}, context_instance=RequestContext(request))
@@ -989,11 +991,11 @@ def users(request):
# default
else:
objects_list = Paginator(User.objects.all().order_by('-reputation'), USERS_PAGE_SIZE)
- base_url = '/users/?sort=%s&' % sortby
+ base_url = '/%s?sort=%s&' % (_('users/'), sortby)
else:
sortby = "reputation"
objects_list = Paginator(User.objects.extra(where=['username like %s'], params=['%' + suser + '%']).order_by('-reputation'), USERS_PAGE_SIZE)
- base_url = '/users/?name=%s&sort=%s&' % (suser, sortby)
+ base_url = '/%s?name=%s&sort=%s&' % (_('users/'), suser, sortby)
try:
users = objects_list.page(page)
@@ -1128,15 +1130,27 @@ def user_stats(request, user_id, user_view):
votes_today = Vote.objects.get_votes_count_today_from_user(user)
votes_total = VOTE_RULES['scope_votes_per_user_per_day']
tags = user.created_tags.all().order_by('-used_count')[:50]
- awards = Award.objects.extra(
- select={'id': 'badge.id', 'count': 'count(badge_id)', 'name':'badge.name', 'description': 'badge.description', 'type': 'badge.type'},
- tables=['award', 'badge'],
- order_by=['-awarded_at'],
- where=['user_id=%s AND badge_id=badge.id'],
- params=[user.id]
- ).values('id', 'count', 'name', 'description', 'type')
- total_awards = awards.count()
- awards.query.group_by = ['badge_id']
+ if settings.DJANGO_VERSION < 1.1:
+ awards = Award.objects.extra(
+ select={'id': 'badge.id', 'count': 'count(badge_id)', 'name':'badge.name', 'description': 'badge.description', 'type': 'badge.type'},
+ tables=['award', 'badge'],
+ order_by=['-awarded_at'],
+ where=['user_id=%s AND badge_id=badge.id'],
+ params=[user.id]
+ ).values('id', 'count', 'name', 'description', 'type')
+ total_awards = awards.count()
+ awards.query.group_by = ['badge_id']
+ else:
+ awards = Award.objects.extra(
+ select={'id': 'badge.id', 'name':'badge.name', 'description': 'badge.description', 'type': 'badge.type'},
+ tables=['award', 'badge'],
+ order_by=['-awarded_at'],
+ where=['user_id=%s AND badge_id=badge.id'],
+ params=[user.id]
+ ).values('id', 'name', 'description', 'type')
+ total_awards = awards.count()
+ from django.db.models import Count
+ awards = awards.annotate(count = Count('badge__id'))
return render_to_response(user_view.template_file,{
"tab_name" : user_view.id,
@@ -1169,10 +1183,11 @@ def user_recent(request, user_id, user_view):
self.type_id = type
self.title = title
self.summary = summary
+ slug_title = slugify(title)
if int(answer_id) > 0:
- self.title_link = u'/questions/%s/%s#%s' %(question_id, title, answer_id)
+ self.title_link = u'/%s%s/%s#%s' %(_('questions/'),question_id, slug_title, answer_id)
else:
- self.title_link = u'/questions/%s/%s' %(question_id, title)
+ self.title_link = u'/%s%s/%s' %(_('questions/'),question_id, slug_title)
class AwardEvent:
def __init__(self, time, type, id):
@@ -1412,9 +1427,9 @@ def user_responses(request, user_id, user_view):
def __init__(self, type, title, question_id, answer_id, time, username, user_id, content):
self.type = type
self.title = title
- self.titlelink = u'/questions/%s/%s#%s' % (question_id, title, answer_id)
+ self.titlelink = u'/%s%s/%s#%s' % (_('questions/'), question_id, title, answer_id)
self.time = time
- self.userlink = u'/users/%s/%s/' % (user_id, username)
+ self.userlink = u'/%s%s/%s/' % (_('users/'), user_id, username)
self.username = username
self.content = u'%s ...' % strip_tags(content)[:300]
@@ -1747,7 +1762,7 @@ def __generate_comments_json(obj, type, user):
"add_date" : comment.added_at.strftime('%Y-%m-%d'),
"text" : comment.comment,
"user_display_name" : comment_user.username,
- "user_url" : "/users/%s/%s" % (comment_user.id, comment_user.username),
+ "user_url" : "/%s%s/%s" % (_('users/'), comment_user.id, comment_user.username),
"delete_url" : delete_url
})
@@ -2009,9 +2024,9 @@ def search(request):
if keywords is None:
return HttpResponseRedirect('/')
if search_type == 'tag':
- return HttpResponseRedirect('/tags/?q=%s&page=%s' % (keywords.strip(), page))
+ return HttpResponseRedirect('/%s?q=%s&page=%s' % (_('tags/'), keywords.strip(), page))
elif search_type == "user":
- return HttpResponseRedirect('/users/?q=%s&page=%s' % (keywords.strip(), page))
+ return HttpResponseRedirect('/%s?q=%s&page=%s' % (_('users/'), keywords.strip(), page))
elif search_type == "question":
template_file = "questions.html"
diff --git a/locale/en/LC_MESSAGES/django.mo b/locale/en/LC_MESSAGES/django.mo
index d7523d09..447afac4 100644
--- a/locale/en/LC_MESSAGES/django.mo
+++ b/locale/en/LC_MESSAGES/django.mo
Binary files differ
diff --git a/locale/en/LC_MESSAGES/django.po b/locale/en/LC_MESSAGES/django.po
index 07532566..ff280947 100644
--- a/locale/en/LC_MESSAGES/django.po
+++ b/locale/en/LC_MESSAGES/django.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-08-05 22:26-0400\n"
+"POT-Creation-Date: 2009-08-12 15:41+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -16,16 +16,145 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-#: settings.py:12
+#: settings.py:12 urls.py:25 forum/views.py:304 forum/views.py:698
msgid "account/"
msgstr ""
-#: settings.py:12 django_authopenid/urls.py:9 django_authopenid/urls.py:10
-#: django_authopenid/urls.py:11 django_authopenid/urls.py:13
-#: forum/views.py:304 templates/authopenid/confirm_email.txt:10
+#: settings.py:12 urls.py:26 django_authopenid/urls.py:9
+#: django_authopenid/urls.py:10 django_authopenid/urls.py:11
+#: django_authopenid/urls.py:13 forum/views.py:304 forum/views.py:699
+#: templates/authopenid/confirm_email.txt:10
msgid "signin/"
msgstr ""
+#: urls.py:22
+msgid "upfiles/"
+msgstr ""
+
+#: urls.py:27 urls.py:28 urls.py:29 django_authopenid/urls.py:26
+#: django_authopenid/urls.py:27
+msgid "email/"
+msgstr ""
+
+#: urls.py:27
+msgid "change/"
+msgstr ""
+
+#: urls.py:28
+msgid "sendkey/"
+msgstr ""
+
+#: urls.py:29
+msgid "verify/"
+msgstr ""
+
+#: urls.py:30
+msgid "about/"
+msgstr ""
+
+#: urls.py:31
+msgid "faq/"
+msgstr ""
+
+#: urls.py:32
+msgid "privacy/"
+msgstr ""
+
+#: urls.py:33
+msgid "logout/"
+msgstr ""
+
+#: urls.py:34 urls.py:35 urls.py:36 urls.py:48 forum/models.py:418
+msgid "answers/"
+msgstr ""
+
+#: urls.py:34 urls.py:46
+msgid "comments/"
+msgstr ""
+
+#: urls.py:35 urls.py:40 urls.py:54 templates/user_info.html:34
+msgid "edit/"
+msgstr ""
+
+#: urls.py:36 urls.py:45
+msgid "revisions/"
+msgstr ""
+
+#: urls.py:37 urls.py:38 urls.py:39 urls.py:40 urls.py:41 urls.py:42
+#: urls.py:43 urls.py:44 urls.py:45 urls.py:46 urls.py:47 forum/feed.py:19
+#: forum/models.py:306 forum/views.py:1416
+msgid "questions/"
+msgstr ""
+
+#: urls.py:38 urls.py:64
+msgid "ask/"
+msgstr ""
+
+#: urls.py:39
+msgid "unanswered/"
+msgstr ""
+
+#: urls.py:41
+msgid "close/"
+msgstr ""
+
+#: urls.py:42
+msgid "reopen/"
+msgstr ""
+
+#: urls.py:43
+msgid "answer/"
+msgstr ""
+
+#: urls.py:44
+msgid "vote/"
+msgstr ""
+
+#: urls.py:47 urls.py:48 django_authopenid/urls.py:29
+msgid "delete/"
+msgstr ""
+
+#: urls.py:50
+msgid "question/"
+msgstr ""
+
+#: urls.py:51 urls.py:52 forum/views.py:740 forum/views.py:2013
+msgid "tags/"
+msgstr ""
+
+#: urls.py:53 urls.py:54 urls.py:55 forum/views.py:993 forum/views.py:997
+#: forum/views.py:1418 forum/views.py:1751 forum/views.py:2015
+msgid "users/"
+msgstr ""
+
+#: urls.py:56 urls.py:57
+msgid "badges/"
+msgstr ""
+
+#: urls.py:58
+msgid "messages/"
+msgstr ""
+
+#: urls.py:58
+msgid "markread/"
+msgstr ""
+
+#: urls.py:60
+msgid "nimda/"
+msgstr ""
+
+#: urls.py:62
+msgid "upload/"
+msgstr ""
+
+#: urls.py:63 urls.py:64 urls.py:65
+msgid "books/"
+msgstr ""
+
+#: urls.py:66
+msgid "search/"
+msgstr ""
+
#: django_authopenid/forms.py:67 django_authopenid/views.py:102
msgid "i-names are not supported"
msgstr ""
@@ -109,7 +238,7 @@ msgstr ""
msgid "Incorrect username."
msgstr ""
-#: django_authopenid/urls.py:10
+#: django_authopenid/urls.py:10 forum/views.py:304 forum/views.py:699
msgid "newquestion/"
msgstr ""
@@ -137,8 +266,8 @@ msgstr ""
msgid "sendpw/"
msgstr ""
-#: django_authopenid/urls.py:29
-msgid "delete/"
+#: django_authopenid/urls.py:27
+msgid "validate/"
msgstr ""
#: django_authopenid/views.py:108
@@ -146,69 +275,69 @@ msgstr ""
msgid "OpenID %(openid_url)s is invalid"
msgstr ""
-#: django_authopenid/views.py:417 django_authopenid/views.py:544
+#: django_authopenid/views.py:418 django_authopenid/views.py:545
msgid "Welcome"
msgstr "Verification Email from Q&amp;A forum"
-#: django_authopenid/views.py:507
+#: django_authopenid/views.py:508
msgid "Password changed."
msgstr ""
-#: django_authopenid/views.py:519 django_authopenid/views.py:524
+#: django_authopenid/views.py:520 django_authopenid/views.py:525
msgid "your email needs to be validated"
msgstr ""
"Your email needs to be validated. Please see details <a "
"id='validate_email_alert' href=\"/faq#validate\">here</a>."
-#: django_authopenid/views.py:681 django_authopenid/views.py:833
+#: django_authopenid/views.py:682 django_authopenid/views.py:834
#, python-format
msgid "No OpenID %s found associated in our database"
msgstr ""
-#: django_authopenid/views.py:685 django_authopenid/views.py:840
+#: django_authopenid/views.py:686 django_authopenid/views.py:841
#, python-format
msgid "The OpenID %s isn't associated to current user logged in"
msgstr ""
-#: django_authopenid/views.py:693
+#: django_authopenid/views.py:694
msgid "Email Changed."
msgstr ""
-#: django_authopenid/views.py:768
+#: django_authopenid/views.py:769
msgid "This OpenID is already associated with another account."
msgstr ""
-#: django_authopenid/views.py:773
+#: django_authopenid/views.py:774
#, python-format
msgid "OpenID %s is now associated with your account."
msgstr ""
-#: django_authopenid/views.py:843
+#: django_authopenid/views.py:844
msgid "Account deleted."
msgstr ""
-#: django_authopenid/views.py:883
+#: django_authopenid/views.py:884
msgid "Request for new password"
msgstr ""
-#: django_authopenid/views.py:896
+#: django_authopenid/views.py:897
msgid "A new password has been sent to your email address."
msgstr ""
-#: django_authopenid/views.py:926
+#: django_authopenid/views.py:927
#, python-format
msgid ""
"Could not change password. Confirmation key '%s' is not "
"registered."
msgstr ""
-#: django_authopenid/views.py:935
+#: django_authopenid/views.py:936
msgid ""
"Can not change password. User don't exist anymore in our "
"database."
msgstr ""
-#: django_authopenid/views.py:944
+#: django_authopenid/views.py:945
#, python-format
msgid "Password changed for %s. You may now sign in."
msgstr ""
@@ -337,12 +466,8 @@ msgstr ""
msgid "latest questions"
msgstr ""
-#: forum/feed.py:19
-msgid "questions/"
-msgstr ""
-
-#: forum/forms.py:14 templates/answer_edit_tips.html:34
-#: templates/answer_edit_tips.html.py:38 templates/question_edit_tips.html:31
+#: forum/forms.py:14 templates/answer_edit_tips.html:33
+#: templates/answer_edit_tips.html.py:37 templates/question_edit_tips.html:31
#: templates/question_edit_tips.html:36
msgid "title"
msgstr ""
@@ -363,7 +488,7 @@ msgstr ""
msgid "question content must be > 10 characters"
msgstr ""
-#: forum/forms.py:45 templates/header.html:30 templates/header.html.py:61
+#: forum/forms.py:45 templates/header.html:30 templates/header.html.py:64
msgid "tags"
msgstr ""
@@ -390,8 +515,8 @@ msgid ""
"characters '.-_#'"
msgstr ""
-#: forum/forms.py:75 templates/index.html:57 templates/question.html:199
-#: templates/question.html.py:380 templates/questions.html:58
+#: forum/forms.py:75 templates/index.html:57 templates/question.html:209
+#: templates/question.html.py:395 templates/questions.html:58
#: templates/questions.html.py:70 templates/unanswered.html:48
#: templates/unanswered.html.py:60
msgid "community wiki"
@@ -445,40 +570,44 @@ msgstr ""
msgid "this email has already been registered, please use another one"
msgstr ""
-#: forum/models.py:238
+#: forum/models.py:246
#, python-format
msgid "%(author)s modified the question"
msgstr ""
-#: forum/models.py:242
+#: forum/models.py:250
#, python-format
msgid "%(people)s posted %(new_answer_count)s new answers"
msgstr ""
-#: forum/models.py:247
+#: forum/models.py:255
#, python-format
msgid "%(people)s commented the question"
msgstr ""
-#: forum/models.py:252
+#: forum/models.py:260
#, python-format
msgid "%(people)s commented answers"
msgstr ""
-#: forum/models.py:254
+#: forum/models.py:262
#, python-format
-msgid "%(people)s commented the answer"
+msgid "%(people)s commented an answer"
msgstr ""
-#: forum/models.py:433 templates/badges.html:52
+#: forum/models.py:306 forum/models.py:418
+msgid "revisions"
+msgstr ""
+
+#: forum/models.py:441 templates/badges.html:51
msgid "gold"
msgstr ""
-#: forum/models.py:434 templates/badges.html:60
+#: forum/models.py:442 templates/badges.html:59
msgid "silver"
msgstr ""
-#: forum/models.py:435 templates/badges.html:67
+#: forum/models.py:443 templates/badges.html:66
msgid "bronze"
msgstr ""
@@ -566,31 +695,27 @@ msgstr ""
msgid "profile - user preferences"
msgstr ""
-#: forum/views.py:304
-msgid "/account/"
-msgstr ""
-
-#: forum/views.py:943
+#: forum/views.py:947
#, python-format
msgid "subscription saved, %(email)s needs validation"
msgstr ""
"Your subscription is saved, but email address %(email)s needs to be "
"validated, please see <a href='/faq#validate'>more details here</a>"
-#: forum/views.py:1853
+#: forum/views.py:1860
msgid "uploading images is limited to users with >60 reputation points"
msgstr ""
-#: forum/views.py:1855
+#: forum/views.py:1862
msgid "allowed file types are 'jpg', 'jpeg', 'gif', 'bmp', 'png', 'tiff'"
msgstr ""
-#: forum/views.py:1857
+#: forum/views.py:1864
#, python-format
msgid "maximum upload file size is %sK"
msgstr ""
-#: forum/views.py:1859
+#: forum/views.py:1866
#, python-format
msgid ""
"Error uploading file. Please contact the site administrator. Thank you. %s"
@@ -600,16 +725,16 @@ msgstr ""
msgid "updates from website"
msgstr ""
-#: forum/templatetags/extra_tags.py:139 forum/templatetags/extra_tags.py:168
-#: templates/header.html:33
+#: forum/templatetags/extra_tags.py:143 forum/templatetags/extra_tags.py:172
+#: templates/header.html:35
msgid "badges"
msgstr ""
-#: forum/templatetags/extra_tags.py:140 forum/templatetags/extra_tags.py:167
+#: forum/templatetags/extra_tags.py:144 forum/templatetags/extra_tags.py:171
msgid "reputation points"
msgstr ""
-#: forum/templatetags/extra_tags.py:221
+#: forum/templatetags/extra_tags.py:225
msgid " ago"
msgstr ""
@@ -684,13 +809,13 @@ msgid "Edit answer"
msgstr ""
#: templates/answer_edit.html:24 templates/answer_edit.html.py:27
-#: templates/ask.html:25 templates/ask.html.py:28 templates/question.html:40
-#: templates/question.html.py:43 templates/question_edit.html:27
+#: templates/ask.html:25 templates/ask.html.py:28 templates/question.html:43
+#: templates/question.html.py:46 templates/question_edit.html:27
msgid "hide preview"
msgstr ""
#: templates/answer_edit.html:27 templates/ask.html:28
-#: templates/question.html:43 templates/question_edit.html:27
+#: templates/question.html:46 templates/question_edit.html:27
msgid "show preview"
msgstr ""
@@ -710,22 +835,22 @@ msgid "select revision"
msgstr ""
#: templates/answer_edit.html:62 templates/ask.html:94
-#: templates/question.html:452 templates/question_edit.html:91
+#: templates/question.html:467 templates/question_edit.html:91
msgid "Toggle the real time Markdown editor preview"
msgstr ""
#: templates/answer_edit.html:62 templates/ask.html:94
-#: templates/question.html:452 templates/question_edit.html:91
+#: templates/question.html:467 templates/question_edit.html:91
msgid "toggle preview"
msgstr ""
-#: templates/answer_edit.html:73 templates/question_edit.html:119
-#: templates/question_retag.html:75
+#: templates/answer_edit.html:71 templates/question_edit.html:115
+#: templates/question_retag.html:73
msgid "Save edit"
msgstr ""
-#: templates/answer_edit.html:74 templates/close.html:29
-#: templates/question_edit.html:120 templates/question_retag.html:76
+#: templates/answer_edit.html:72 templates/close.html:29
+#: templates/question_edit.html:116 templates/question_retag.html:74
#: templates/reopen.html:30 templates/user_edit.html:83
#: templates/authopenid/changeemail.html:34
msgid "Cancel"
@@ -755,40 +880,40 @@ msgstr ""
msgid "see frequently asked questions"
msgstr ""
-#: templates/answer_edit_tips.html:25 templates/question_edit_tips.html:22
+#: templates/answer_edit_tips.html:24 templates/question_edit_tips.html:22
msgid "Markdown tips"
msgstr "Markdown basics"
-#: templates/answer_edit_tips.html:28 templates/question_edit_tips.html:25
+#: templates/answer_edit_tips.html:27 templates/question_edit_tips.html:25
msgid "*italic* or __italic__"
msgstr ""
-#: templates/answer_edit_tips.html:31 templates/question_edit_tips.html:28
+#: templates/answer_edit_tips.html:30 templates/question_edit_tips.html:28
msgid "**bold** or __bold__"
msgstr ""
-#: templates/answer_edit_tips.html:34 templates/question_edit_tips.html:31
+#: templates/answer_edit_tips.html:33 templates/question_edit_tips.html:31
msgid "link"
msgstr ""
-#: templates/answer_edit_tips.html:34 templates/answer_edit_tips.html.py:38
+#: templates/answer_edit_tips.html:33 templates/answer_edit_tips.html.py:37
#: templates/question_edit_tips.html:31 templates/question_edit_tips.html:36
msgid "text"
msgstr ""
-#: templates/answer_edit_tips.html:38 templates/question_edit_tips.html:36
+#: templates/answer_edit_tips.html:37 templates/question_edit_tips.html:36
msgid "image"
msgstr ""
-#: templates/answer_edit_tips.html:42 templates/question_edit_tips.html:40
+#: templates/answer_edit_tips.html:41 templates/question_edit_tips.html:40
msgid "numbered list:"
msgstr ""
-#: templates/answer_edit_tips.html:47 templates/question_edit_tips.html:45
+#: templates/answer_edit_tips.html:46 templates/question_edit_tips.html:45
msgid "basic HTML tags are also supported"
msgstr ""
-#: templates/answer_edit_tips.html:50 templates/question_edit_tips.html:48
+#: templates/answer_edit_tips.html:49 templates/question_edit_tips.html:48
msgid "learn more about Markdown"
msgstr ""
@@ -816,15 +941,15 @@ msgstr ""
"your question now and validate email after that. Your question will saved as "
"pending meanwhile. "
-#: templates/ask.html:108
+#: templates/ask.html:107
msgid "(required)"
msgstr ""
-#: templates/ask.html:115
+#: templates/ask.html:114
msgid "Login/signup to post your question"
msgstr "Login/Signup to Post"
-#: templates/ask.html:117
+#: templates/ask.html:116
msgid "Ask your question"
msgstr "Ask Your Question"
@@ -840,7 +965,7 @@ msgstr ""
msgid "Badges summary"
msgstr ""
-#: templates/badges.html:17 templates/user_stats.html:113
+#: templates/badges.html:17 templates/user_stats.html:115
msgid "Badges"
msgstr ""
@@ -862,27 +987,27 @@ msgstr ""
"a></strong> - what kinds of badges would you like to see and suggest the "
"activity for which those badges might be awarded."
-#: templates/badges.html:49
+#: templates/badges.html:48
msgid "Community badges"
msgstr "Badge levels"
-#: templates/badges.html:55
+#: templates/badges.html:54
msgid "gold badge description"
msgstr ""
"Gold badge is the highest award in this community. To obtain it have to show "
"profound knowledge and ability in addition to your active participation."
-#: templates/badges.html:63
+#: templates/badges.html:62
msgid "silver badge description"
msgstr ""
"Obtaining silver badge requires significant patience. If you have received "
"one, that means you have greatly contributed to this community."
-#: templates/badges.html:66
+#: templates/badges.html:65
msgid "bronze badge: often given as a special honor"
msgstr ""
-#: templates/badges.html:70
+#: templates/badges.html:69
msgid "bronze badge description"
msgstr ""
"If you are an active participant in this community, you will be recognized "
@@ -968,11 +1093,10 @@ msgstr ""
msgid "views"
msgstr ""
-#: templates/book.html:125 templates/index.html:69 templates/question.html:115
-#: templates/question.html.py:486 templates/questions.html:84
-#: templates/questions.html.py:156 templates/tags.html:47
-#: templates/unanswered.html:75 templates/unanswered.html.py:109
-#: templates/users_questions.html:52
+#: templates/book.html:125 templates/index.html:69 templates/question.html:499
+#: templates/questions.html:84 templates/questions.html.py:156
+#: templates/tags.html:49 templates/unanswered.html:75
+#: templates/unanswered.html.py:106 templates/users_questions.html:52
msgid "using tags"
msgstr ""
@@ -980,7 +1104,7 @@ msgstr ""
msgid "subscribe to book RSS feed"
msgstr ""
-#: templates/book.html:147 templates/index.html:116
+#: templates/book.html:147 templates/index.html:118
msgid "subscribe to the questions feed"
msgstr ""
@@ -1036,10 +1160,6 @@ msgstr ""
msgid "What should I avoid in my answers?"
msgstr ""
-#: templates/faq.html:28 templates/faq.html.py:132
-msgid "site title"
-msgstr ""
-
#: templates/faq.html:28
msgid ""
"is a Q&A site, not a discussion group. Therefore - please avoid having "
@@ -1081,61 +1201,72 @@ msgstr ""
"rough measure of the community trust to him/her. Various moderation tasks "
"are gradually assigned to the users based on those points."
-#: templates/faq.html:59 templates/user_votes.html:14
+#: templates/faq.html:42
+msgid ""
+"For example, if you ask an interesting question or give a helpful answer, "
+"your input will be upvoted. On the other hand if the answer is misleading - "
+"it will be downvoted. Each vote in favor will generate <strong>10</strong> "
+"points, each vote against will subtract <strong>2</strong> points. There is "
+"a limit of <strong>200</strong> points that can be accumulated per question "
+"or answer. The table below explains reputation point requirements for each "
+"type of moderation task."
+msgstr ""
+
+#: templates/faq.html:53 templates/user_votes.html:14
msgid "upvote"
msgstr ""
-#: templates/faq.html:63
+#: templates/faq.html:57
msgid "use tags"
msgstr ""
-#: templates/faq.html:68
+#: templates/faq.html:62
msgid "add comments"
msgstr ""
-#: templates/faq.html:72 templates/user_votes.html:16
+#: templates/faq.html:66 templates/user_votes.html:16
msgid "downvote"
msgstr ""
-#: templates/faq.html:75
+#: templates/faq.html:69
msgid "open and close own questions"
msgstr ""
-#: templates/faq.html:79
+#: templates/faq.html:73
msgid "retag questions"
msgstr ""
-#: templates/faq.html:83
+#: templates/faq.html:77
msgid "edit community wiki questions"
msgstr ""
-#: templates/faq.html:87
+#: templates/faq.html:81
msgid "edit any answer"
msgstr ""
-#: templates/faq.html:91
+#: templates/faq.html:85
msgid "open any closed question"
msgstr ""
-#: templates/faq.html:95
+#: templates/faq.html:89
msgid "delete any comment"
msgstr ""
-#: templates/faq.html:99
+#: templates/faq.html:93
msgid "delete any questions and answers and perform other moderation tasks"
msgstr ""
-#: templates/faq.html:106
+#: templates/faq.html:100
msgid "how to validate email title"
msgstr "How to validate email and why?"
-#: templates/faq.html:108
+#: templates/faq.html:102
msgid "how to validate email info"
msgstr ""
"<form style='margin:0;padding:0;' action='/email/sendkey/'><p><span class="
"\"bigger strong\">How?</span> If you have just set or changed your email "
-"address - <strong>check your email and click the included link</strong>."
-"<br/>The link contains a key generated specifically for you. You can also "
+"address - <strong>check your email and click the included link</strong>.<br/"
+">The link contains a key generated specifically for you. You can also "
"<button style='display:inline' type='submit'><strong>get a new key</strong></"
"button> and check your email again.</p></form><span class=\"bigger strong"
"\">Why?</span> Email validation is required to make sure that <strong>only "
@@ -1145,11 +1276,11 @@ msgstr ""
"- create a unique <a href='/faq#gravatar'><strong>gravatar</strong></a> "
"personal image.</p>"
-#: templates/faq.html:112
+#: templates/faq.html:106
msgid "what is gravatar"
msgstr "What is gravatar?"
-#: templates/faq.html:113
+#: templates/faq.html:107
msgid "gravatar faq info"
msgstr ""
"<strong>Gravatar</strong> means <strong>g</strong>lobally <strong>r</"
@@ -1160,54 +1291,54 @@ msgstr ""
"your image</strong> at <a href='http://gravatar.com'><strong>gravatar.com</"
"strong></a>"
-#: templates/faq.html:116
+#: templates/faq.html:110
msgid "To register, do I need to create new password?"
msgstr ""
-#: templates/faq.html:117
+#: templates/faq.html:111
msgid ""
"No, you don't have to. You can login through any service that supports "
"OpenID, e.g. Google, Yahoo, AOL, etc."
msgstr ""
-#: templates/faq.html:118
+#: templates/faq.html:112
msgid "Login now!"
msgstr ""
-#: templates/faq.html:123
+#: templates/faq.html:117
msgid "Why other people can edit my questions/answers?"
msgstr ""
-#: templates/faq.html:124
+#: templates/faq.html:118
msgid "Goal of this site is..."
msgstr ""
-#: templates/faq.html:124
+#: templates/faq.html:118
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 "
"content."
msgstr ""
-#: templates/faq.html:125
+#: templates/faq.html:119
msgid "If this approach is not for you, we respect your choice."
msgstr ""
-#: templates/faq.html:129
+#: templates/faq.html:123
msgid "Still have questions?"
msgstr ""
-#: templates/faq.html:130
+#: templates/faq.html:124
msgid "Please ask your question, help make our community better!"
msgstr ""
"Please <a href=\"/questions/ask\">ask</a> your question, help make our "
"community better!"
-#: templates/faq.html:132 templates/header.html:29 templates/header.html.py:60
+#: templates/faq.html:126 templates/header.html:29 templates/header.html.py:63
msgid "questions"
msgstr ""
-#: templates/faq.html:132 templates/index.html:121
+#: templates/faq.html:126 templates/index.html:123
msgid "."
msgstr ""
@@ -1216,6 +1347,7 @@ msgid "about"
msgstr ""
#: templates/footer.html:8 templates/header.html:15 templates/index.html:84
+#: templates/question_edit_tips.html:16
msgid "faq"
msgstr ""
@@ -1251,27 +1383,27 @@ msgstr ""
msgid "back to home page"
msgstr ""
-#: templates/header.html:31 templates/header.html.py:62
+#: templates/header.html:31 templates/header.html.py:65
msgid "users"
msgstr ""
-#: templates/header.html:32
+#: templates/header.html:33
msgid "books"
msgstr ""
-#: templates/header.html:34
+#: templates/header.html:36
msgid "unanswered questions"
msgstr "unanswered"
-#: templates/header.html:38
+#: templates/header.html:40
msgid "my profile"
msgstr ""
-#: templates/header.html:42
+#: templates/header.html:44
msgid "ask a question"
msgstr ""
-#: templates/header.html:57
+#: templates/header.html:59
msgid "search"
msgstr ""
@@ -1317,11 +1449,10 @@ msgstr ""
msgid "answers"
msgstr ""
-#: templates/index.html:69 templates/question.html:115
-#: templates/question.html.py:486 templates/questions.html:84
-#: templates/questions.html.py:156 templates/tags.html:47
-#: templates/unanswered.html:75 templates/unanswered.html.py:109
-#: templates/users_questions.html:52
+#: templates/index.html:69 templates/question.html:499
+#: templates/questions.html:84 templates/questions.html.py:156
+#: templates/tags.html:49 templates/unanswered.html:75
+#: templates/unanswered.html.py:106 templates/users_questions.html:52
msgid "see questions tagged"
msgstr ""
@@ -1333,48 +1464,48 @@ msgstr ""
msgid "Recent tags"
msgstr ""
-#: templates/index.html:94
+#: templates/index.html:94 templates/question.html:125
#, python-format
msgid "see questions tagged '%(tagname)s'"
msgstr ""
-#: templates/index.html:97 templates/index.html.py:121
+#: templates/index.html:97 templates/index.html.py:123
msgid "popular tags"
msgstr "tags"
-#: templates/index.html:101
+#: templates/index.html:102
msgid "Recent awards"
msgstr "Recent badges"
-#: templates/index.html:107
+#: templates/index.html:108
msgid "given to"
msgstr ""
-#: templates/index.html:112
+#: templates/index.html:113
msgid "all awards"
msgstr "all badges"
-#: templates/index.html:116
+#: templates/index.html:118
msgid "subscribe to last 30 questions by RSS"
msgstr ""
-#: templates/index.html:121
+#: templates/index.html:123
msgid "Still looking for more? See"
msgstr ""
-#: templates/index.html:121
+#: templates/index.html:123
msgid "complete list of questions"
msgstr "list of all questions"
-#: templates/index.html:121
+#: templates/index.html:123
msgid "or"
msgstr ""
-#: templates/index.html:121
+#: templates/index.html:123
msgid "Please help us answer"
msgstr ""
-#: templates/index.html:121
+#: templates/index.html:123
msgid "list of unanswered questions"
msgstr "unanswered questions"
@@ -1460,187 +1591,189 @@ msgstr ""
msgid "how privacy policies can be changed"
msgstr ""
-#: templates/question.html:69 templates/question.html.py:81
+#: templates/question.html:72 templates/question.html.py:73
+#: templates/question.html:85 templates/question.html.py:87
msgid "i like this post (click again to cancel)"
msgstr ""
-#: templates/question.html:71 templates/question.html.py:83
-#: templates/question.html:276
+#: templates/question.html:75 templates/question.html.py:89
+#: templates/question.html:289
msgid "current number of votes"
msgstr ""
-#: templates/question.html:76 templates/question.html.py:87
+#: templates/question.html:80 templates/question.html.py:81
+#: templates/question.html:94 templates/question.html.py:95
msgid "i dont like this post (click again to cancel)"
msgstr ""
-#: templates/question.html:93
+#: templates/question.html:100 templates/question.html.py:101
msgid "mark this question as favorite (click again to cancel)"
msgstr ""
-#: templates/question.html:99
+#: templates/question.html:107 templates/question.html.py:108
msgid "remove favorite mark from this question (click again to restore mark)"
msgstr ""
-#: templates/question.html:124 templates/question.html.py:307
+#: templates/question.html:134 templates/question.html.py:322
#: templates/revisions_answer.html:53 templates/revisions_question.html:53
msgid "edit"
msgstr ""
-#: templates/question.html:128 templates/question.html.py:317
+#: templates/question.html:138 templates/question.html.py:332
msgid "delete"
msgstr ""
-#: templates/question.html:133
+#: templates/question.html:143
msgid "reopen"
msgstr ""
-#: templates/question.html:138
+#: templates/question.html:148
msgid "close"
msgstr ""
-#: templates/question.html:144 templates/question.html.py:330
+#: templates/question.html:154 templates/question.html.py:345
msgid ""
"report as offensive (i.e containing spam, advertising, malicious text, etc.)"
msgstr ""
-#: templates/question.html:145 templates/question.html.py:331
+#: templates/question.html:155 templates/question.html.py:346
msgid "flag offensive"
msgstr ""
-#: templates/question.html:157 templates/question.html.py:340
+#: templates/question.html:167 templates/question.html.py:355
#: templates/revisions_answer.html:65 templates/revisions_question.html:65
msgid "updated"
msgstr ""
-#: templates/question.html:206 templates/question.html.py:387
+#: templates/question.html:216 templates/question.html.py:402
#: templates/revisions_answer.html:63 templates/revisions_question.html:63
msgid "asked"
msgstr ""
-#: templates/question.html:236 templates/question.html.py:414
+#: templates/question.html:246 templates/question.html.py:429
msgid "comments"
msgstr ""
-#: templates/question.html:237 templates/question.html.py:415
+#: templates/question.html:247 templates/question.html.py:430
msgid "add comment"
msgstr ""
-#: templates/question.html:250
+#: templates/question.html:260
#, python-format
msgid ""
"The question has been closed for the following reason \"%(question."
"get_close_reason_display)s\" by"
msgstr ""
-#: templates/question.html:252
+#: templates/question.html:262
#, python-format
msgid "close date %(question.closed_at)s"
msgstr ""
-#: templates/question.html:259 templates/user_stats.html:28
+#: templates/question.html:269 templates/user_stats.html:28
msgid "Answers"
msgstr " Answers"
-#: templates/question.html:261
+#: templates/question.html:271
msgid "oldest answers will be shown first"
msgstr ""
-#: templates/question.html:261
+#: templates/question.html:271
msgid "oldest answers"
msgstr "oldest"
-#: templates/question.html:262
+#: templates/question.html:272
msgid "newest answers will be shown first"
msgstr ""
-#: templates/question.html:262
+#: templates/question.html:272
msgid "newest answers"
msgstr "newest"
-#: templates/question.html:263
+#: templates/question.html:273
msgid "most voted answers will be shown first"
msgstr ""
-#: templates/question.html:263
+#: templates/question.html:273
msgid "popular answers"
msgstr "most voted"
-#: templates/question.html:275
+#: templates/question.html:287 templates/question.html.py:288
msgid "i like this answer (click again to cancel)"
msgstr ""
-#: templates/question.html:281
+#: templates/question.html:294 templates/question.html.py:295
msgid "i dont like this answer (click again to cancel)"
msgstr ""
-#: templates/question.html:287
+#: templates/question.html:300 templates/question.html.py:301
msgid "mark this answer as favorite (click again to undo)"
msgstr ""
-#: templates/question.html:292
+#: templates/question.html:306 templates/question.html.py:307
msgid "the author of the question has selected this answer as correct"
msgstr ""
-#: templates/question.html:314
+#: templates/question.html:329
msgid "undelete"
msgstr ""
-#: templates/question.html:324
+#: templates/question.html:339
msgid "answer permanent link"
msgstr ""
-#: templates/question.html:325
+#: templates/question.html:340
msgid "permanent link"
msgstr ""
-#: templates/question.html:438
+#: templates/question.html:453
msgid "Your answer"
msgstr ""
-#: templates/question.html:441
+#: templates/question.html:456
msgid "you can answer anonymously and then login"
msgstr ""
"<span class='strong big'>You are now not logged in</span> but you can answer "
"first and then login"
-#: templates/question.html:465
+#: templates/question.html:479
msgid "Answer the question"
msgstr ""
-#: templates/question.html:467
+#: templates/question.html:481
msgid "Notify me daily if there are any new answers."
msgstr ""
-#: templates/question.html:469
+#: templates/question.html:483
msgid "once you sign in you will be able to subscribe for any updates here"
msgstr "Here logged in users can sign up for the question updates."
-#: templates/question.html:481
+#: templates/question.html:494
msgid "Question tags"
msgstr "Tags"
-#: templates/question.html:491
+#: templates/question.html:504
msgid "question asked"
msgstr "Asked"
-#: templates/question.html:491 templates/question.html.py:497
+#: templates/question.html:504 templates/question.html.py:510
#: templates/user_info.html:51
msgid "ago"
msgstr ""
-#: templates/question.html:494
+#: templates/question.html:507
msgid "question was seen"
msgstr "Seen"
-#: templates/question.html:494
+#: templates/question.html:507
msgid "times"
msgstr ""
-#: templates/question.html:497
+#: templates/question.html:510
msgid "last updated"
msgstr "Last updated"
-#: templates/question.html:502
+#: templates/question.html:515
msgid "Related questions"
msgstr ""
@@ -1668,15 +1801,15 @@ msgstr ""
msgid "up to 5 tags, less than 20 characters each"
msgstr ""
-#: templates/question_retag.html:86
+#: templates/question_retag.html:82
msgid "Why use and modify tags?"
msgstr ""
-#: templates/question_retag.html:89
+#: templates/question_retag.html:85
msgid "tags help us keep Questions organized"
msgstr ""
-#: templates/question_retag.html:95
+#: templates/question_retag.html:91
msgid "tag editors receive special awards from the community"
msgstr ""
@@ -1720,8 +1853,8 @@ msgstr[0] ""
"class=\"tag\">%(tagname)s</span>"
msgstr[1] ""
"\n"
-"<span class=\"questions-count\">%(q_num)s</span><br/>questions tagged "
-"<span class=\"tag\">%(tagname)s</span>"
+"<span class=\"questions-count\">%(q_num)s</span><br/>questions tagged <span "
+"class=\"tag\">%(tagname)s</span>"
#: templates/questions.html:116
#, python-format
@@ -1787,7 +1920,7 @@ msgstr ""
msgid "Most voted questions are shown first."
msgstr ""
-#: templates/questions.html:153 templates/unanswered.html:105
+#: templates/questions.html:153 templates/unanswered.html:102
msgid "Related tags"
msgstr "Tags"
@@ -1824,35 +1957,35 @@ msgstr ""
msgid "Revision history"
msgstr ""
-#: templates/tags.html:6 templates/tags.html.py:29
+#: templates/tags.html:6 templates/tags.html.py:30
msgid "Tag list"
msgstr ""
-#: templates/tags.html:31
+#: templates/tags.html:32
msgid "sorted alphabetically"
msgstr ""
-#: templates/tags.html:31
+#: templates/tags.html:32
msgid "by name"
msgstr ""
-#: templates/tags.html:32
+#: templates/tags.html:33
msgid "sorted by frequency of tag use"
msgstr ""
-#: templates/tags.html:32
+#: templates/tags.html:33
msgid "by popularity"
msgstr ""
-#: templates/tags.html:38
+#: templates/tags.html:39
msgid "All tags matching query"
msgstr ""
-#: templates/tags.html:38
+#: templates/tags.html:39
msgid "all tags - make this empty in english"
msgstr ""
-#: templates/tags.html:41
+#: templates/tags.html:42
msgid "Nothing found"
msgstr ""
@@ -1864,12 +1997,8 @@ msgstr ""
#, python-format
msgid "have %(num_q)s unanswered questions"
msgstr ""
-"<span class=\"questions-count\">%(num_q)s</span><br/><strong>unanswered</strong> "
-"questions"
-
-#: templates/unanswered.html:99
-msgid "Have a total of"
-msgstr ""
+"<span class=\"questions-count\">%(num_q)s</span><br/> questions with "
+"<strong>no accepted answers</strong>"
#: templates/user_edit.html:6
msgid "Edit user profile"
@@ -1939,61 +2068,61 @@ msgstr ""
msgid "Connect with Twitter"
msgstr ""
-#: templates/user_preferences.html:12
+#: templates/user_preferences.html:13
msgid "Twitter account name:"
msgstr ""
-#: templates/user_preferences.html:14
+#: templates/user_preferences.html:15
msgid "Twitter password:"
msgstr ""
-#: templates/user_preferences.html:16
+#: templates/user_preferences.html:17
msgid "Send my Questions to Twitter"
msgstr ""
-#: templates/user_preferences.html:17
+#: templates/user_preferences.html:18
msgid "Send my Answers to Twitter"
msgstr ""
-#: templates/user_preferences.html:18
+#: templates/user_preferences.html:19
msgid "Save"
msgstr ""
-#: templates/user_stats.html:15
+#: templates/user_stats.html:16
msgid "User questions"
msgstr ""
-#: templates/user_stats.html:37
+#: templates/user_stats.html:38
#, python-format
msgid "the answer has been voted for %(vote_count)s times"
msgstr ""
-#: templates/user_stats.html:37
+#: templates/user_stats.html:38
msgid "this answer has been selected as correct"
msgstr ""
-#: templates/user_stats.html:43
+#: templates/user_stats.html:46
#, python-format
-msgid "the answer has been commented %(answered_question.comment_count)s times"
-msgstr ""
+msgid "the answer has been commented %(comment_count)s times"
+msgstr "(%(comment_count)s comment(s))"
-#: templates/user_stats.html:56
+#: templates/user_stats.html:60
msgid "votes total"
msgstr "Votes"
-#: templates/user_stats.html:65
+#: templates/user_stats.html:69
msgid "user has voted up this many times"
msgstr ""
-#: templates/user_stats.html:70
+#: templates/user_stats.html:74
msgid "user voted down this many times"
msgstr ""
-#: templates/user_stats.html:84
+#: templates/user_stats.html:87
msgid "Tags"
msgstr ""
-#: templates/user_stats.html:94
+#: templates/user_stats.html:97
#, python-format
msgid "see other questions tagged '%(tag)s' "
msgstr ""
@@ -2078,7 +2207,7 @@ msgstr ""
"anyone, must be valid)"
#: templates/authopenid/changeemail.html:31
-#: templates/authopenid/signin.html:138
+#: templates/authopenid/signin.html:136
msgid "Password"
msgstr ""
@@ -2207,7 +2336,7 @@ msgid "This account already exists, please use another."
msgstr ""
#: templates/authopenid/complete.html:19 templates/authopenid/complete.html:32
-#: templates/authopenid/signin.html:121
+#: templates/authopenid/signin.html:120
msgid "Sorry, looks like we have some errors:"
msgstr ""
@@ -2241,7 +2370,7 @@ msgstr ""
msgid "Register"
msgstr ""
-#: templates/authopenid/complete.html:62 templates/authopenid/signin.html:140
+#: templates/authopenid/complete.html:62 templates/authopenid/signin.html:138
msgid "Forgot your password?"
msgstr ""
@@ -2432,8 +2561,9 @@ msgid "Click to sign in through any of these services."
msgstr ""
"<p><span class=\"big strong\">We accept <a href=\"http://openid.net"
"\">OpenID</a> login.</span> <font color=\"gray\">Instead of creating a new "
-"password - log in through any of the services below.</font></p><p><span class=\"big "
-"strong\">1. Select the login service by clicking one of the icons</span></p>"
+"password - log in through any of the services below.</font></p><p><span "
+"class=\"big strong\">1. Select the login service by clicking one of the "
+"icons</span></p>"
#: templates/authopenid/signin.html:103
msgid "Enter your <span id=\"enter_your_what\">Provider user name</span>"
@@ -2451,7 +2581,7 @@ msgstr ""
"\"http://openid.net\">OpenID</a> web address</span><br/>(or choose specific "
"provider by clicking on one of the icons above)"
-#: templates/authopenid/signin.html:112 templates/authopenid/signin.html:139
+#: templates/authopenid/signin.html:112 templates/authopenid/signin.html:137
msgid "Login"
msgstr ""
@@ -2461,45 +2591,45 @@ msgstr ""
"You can log in either through one of these services or traditionally - using "
"local username/password."
-#: templates/authopenid/signin.html:136
+#: templates/authopenid/signin.html:134
msgid "Use login name and password"
msgstr ""
-#: templates/authopenid/signin.html:137
+#: templates/authopenid/signin.html:135
msgid "Login name"
msgstr ""
-#: templates/authopenid/signin.html:141
+#: templates/authopenid/signin.html:139
msgid "Create new account"
msgstr ""
-#: templates/authopenid/signin.html:150
+#: templates/authopenid/signin.html:148
msgid "Why use OpenID?"
msgstr ""
-#: templates/authopenid/signin.html:154
+#: templates/authopenid/signin.html:151
msgid "with openid it is easier"
msgstr "With the OpenID you don't need to create new username and password."
-#: templates/authopenid/signin.html:157
+#: templates/authopenid/signin.html:154
msgid "reuse openid"
msgstr "You can safely re-use the same login for all OpenID-enabled websites."
-#: templates/authopenid/signin.html:160
+#: templates/authopenid/signin.html:157
msgid "openid is widely adopted"
msgstr ""
"There are > 160,000,000 OpenID account in use. Over 10,000 sites are OpenID-"
"enabled."
-#: templates/authopenid/signin.html:163
+#: templates/authopenid/signin.html:160
msgid "openid is supported open standard"
msgstr "OpenID is based on an open standard, supported by many organizations."
-#: templates/authopenid/signin.html:167
+#: templates/authopenid/signin.html:165
msgid "Find out more"
msgstr ""
-#: templates/authopenid/signin.html:168
+#: templates/authopenid/signin.html:166
msgid "Get OpenID"
msgstr ""
@@ -2533,11 +2663,11 @@ msgstr ""
msgid "back to login"
msgstr ""
-#: templates/authopenid/signup.html:48
+#: templates/authopenid/signup.html:46
msgid "Register with your OpenID"
msgstr ""
-#: templates/authopenid/signup.html:51
+#: templates/authopenid/signup.html:49
msgid "Login with your OpenID"
msgstr ""
diff --git a/locale/es/LC_MESSAGES/django.mo b/locale/es/LC_MESSAGES/django.mo
index 4a60a0d7..bdd1b3b2 100644
--- a/locale/es/LC_MESSAGES/django.mo
+++ b/locale/es/LC_MESSAGES/django.mo
Binary files differ
diff --git a/locale/es/LC_MESSAGES/django.po b/locale/es/LC_MESSAGES/django.po
index ebba8c8d..b7324b7f 100644
--- a/locale/es/LC_MESSAGES/django.po
+++ b/locale/es/LC_MESSAGES/django.po
@@ -1,30 +1,154 @@
-# SOME DESCRIPTIVE TITLE.
-# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
-# This file is distributed under the same license as the PACKAGE package.
-# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
-#
msgid ""
msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
+"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-08-05 22:28-0400\n"
-"PO-Revision-Date: 2009-08-12 11:04-0600\n"
-"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"POT-Creation-Date: 2009-08-12 15:53+0000\n"
+"PO-Revision-Date: 2009-08-16 17:05-0600\n"
+"Last-Translator: Bruno Sarlo <bsarlo@gmail.com>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-#: settings.py:12
+#: settings.py:12 urls.py:25 forum/views.py:304 forum/views.py:698
msgid "account/"
msgstr "cuenta/"
-#: settings.py:12 django_authopenid/urls.py:9 django_authopenid/urls.py:10
-#: django_authopenid/urls.py:11 django_authopenid/urls.py:13
-#: forum/views.py:304 templates/authopenid/confirm_email.txt:10
+#: settings.py:12 urls.py:26 django_authopenid/urls.py:9
+#: django_authopenid/urls.py:10 django_authopenid/urls.py:11
+#: django_authopenid/urls.py:13 forum/views.py:304 forum/views.py:699
+#: templates/authopenid/confirm_email.txt:10
msgid "signin/"
msgstr "ingresar/"
+#: urls.py:22
+msgid "upfiles/"
+msgstr "archivossubidos/"
+
+#: urls.py:27 urls.py:28 urls.py:29 django_authopenid/urls.py:26
+#: django_authopenid/urls.py:27
+msgid "email/"
+msgstr "email/"
+
+#: urls.py:27
+msgid "change/"
+msgstr "cambiar/"
+
+#: urls.py:28
+msgid "sendkey/"
+msgstr "enviarclave/"
+
+#: urls.py:29
+msgid "verify/"
+msgstr "verificar/"
+
+#: urls.py:30
+msgid "about/"
+msgstr "acercadenosotros/"
+
+#: urls.py:31
+msgid "faq/"
+msgstr "preguntasfrecuentes/"
+
+#: urls.py:32
+msgid "privacy/"
+msgstr "códigodeprivacidad/"
+
+#: urls.py:33
+msgid "logout/"
+msgstr "cerrarsesion/"
+
+#: urls.py:34 urls.py:35 urls.py:36 urls.py:48 forum/models.py:418
+msgid "answers/"
+msgstr "respuestas/"
+
+#: urls.py:34 urls.py:46
+msgid "comments/"
+msgstr "comentarios/"
+
+#: urls.py:35 urls.py:40 urls.py:54 templates/user_info.html:34
+msgid "edit/"
+msgstr "editar/"
+
+#: urls.py:36 urls.py:45
+msgid "revisions/"
+msgstr "revisiones/"
+
+#: urls.py:37 urls.py:38 urls.py:39 urls.py:40 urls.py:41 urls.py:42
+#: urls.py:43 urls.py:44 urls.py:45 urls.py:46 urls.py:47 forum/feed.py:19
+#: forum/models.py:306 forum/views.py:1416
+msgid "questions/"
+msgstr "preguntas/"
+
+#: urls.py:38 urls.py:64
+msgid "ask/"
+msgstr "preguntar/"
+
+#: urls.py:39
+msgid "unanswered/"
+msgstr "sinrespuesta/"
+
+#: urls.py:41
+msgid "close/"
+msgstr "cerrar/"
+
+#: urls.py:42
+msgid "reopen/"
+msgstr "reabrir/"
+
+#: urls.py:43
+msgid "answer/"
+msgstr "respuesta/"
+
+#: urls.py:44
+msgid "vote/"
+msgstr "votar/"
+
+#: urls.py:47 urls.py:48 django_authopenid/urls.py:29
+msgid "delete/"
+msgstr "borrar/"
+
+#: urls.py:50
+msgid "question/"
+msgstr "pregunta/"
+
+#: urls.py:51 urls.py:52 forum/views.py:740 forum/views.py:2013
+msgid "tags/"
+msgstr "etiquetas/"
+
+#: urls.py:53 urls.py:54 urls.py:55 forum/views.py:993 forum/views.py:997
+#: forum/views.py:1418 forum/views.py:1751 forum/views.py:2015
+msgid "users/"
+msgstr "usuarios/"
+
+#: urls.py:56 urls.py:57
+msgid "badges/"
+msgstr "distinciones/"
+
+#: urls.py:58
+msgid "messages/"
+msgstr "mensajes/"
+
+#: urls.py:58
+msgid "markread/"
+msgstr "marcarleido/"
+
+#: urls.py:60
+msgid "nimda/"
+msgstr "administrador/"
+
+#: urls.py:62
+msgid "upload/"
+msgstr "subir/"
+
+#: urls.py:63 urls.py:64 urls.py:65
+msgid "books/"
+msgstr "libros/"
+
+#: urls.py:66
+msgid "search/"
+msgstr "buscar/"
+
#: django_authopenid/forms.py:67 django_authopenid/views.py:102
msgid "i-names are not supported"
msgstr "i-names no son soportados"
@@ -116,9 +240,9 @@ msgstr "la nueva contraseña no coincide"
msgid "Incorrect username."
msgstr "Nombre de usuario incorrecto"
-#: django_authopenid/urls.py:10
+#: django_authopenid/urls.py:10 forum/views.py:304 forum/views.py:699
msgid "newquestion/"
-msgstr "nueva-pregunta/"
+msgstr "nuevapregunta/"
#: django_authopenid/urls.py:11
msgid "newanswer/"
@@ -144,63 +268,63 @@ msgstr "registrarse/"
msgid "sendpw/"
msgstr "enviarcontrasena/"
-#: django_authopenid/urls.py:29
-msgid "delete/"
-msgstr "borrar/"
+#: django_authopenid/urls.py:27
+msgid "validate/"
+msgstr ""
#: django_authopenid/views.py:108
#, python-format
msgid "OpenID %(openid_url)s is invalid"
-msgstr ""
+msgstr "El OpenID %(openid_url)s no es valido"
-#: django_authopenid/views.py:417 django_authopenid/views.py:544
+#: django_authopenid/views.py:418 django_authopenid/views.py:545
msgid "Welcome"
msgstr "Bienvenido"
-#: django_authopenid/views.py:507
+#: django_authopenid/views.py:508
msgid "Password changed."
msgstr "Contraseña modificada"
-#: django_authopenid/views.py:519 django_authopenid/views.py:524
+#: django_authopenid/views.py:520 django_authopenid/views.py:525
msgid "your email needs to be validated"
msgstr "su correo electrónico necesita ser validado"
-#: django_authopenid/views.py:681 django_authopenid/views.py:833
+#: django_authopenid/views.py:682 django_authopenid/views.py:834
#, python-format
msgid "No OpenID %s found associated in our database"
msgstr "El OpenID %s no esta asociada en nuestra base de datos"
-#: django_authopenid/views.py:685 django_authopenid/views.py:840
+#: django_authopenid/views.py:686 django_authopenid/views.py:841
#, python-format
msgid "The OpenID %s isn't associated to current user logged in"
msgstr "El OpenID %s no esta asociada al usuario actualmente autenticado"
-#: django_authopenid/views.py:693
+#: django_authopenid/views.py:694
msgid "Email Changed."
msgstr "Email modificado"
-#: django_authopenid/views.py:768
+#: django_authopenid/views.py:769
msgid "This OpenID is already associated with another account."
msgstr "Este OpenID ya está asociada a otra cuenta."
-#: django_authopenid/views.py:773
+#: django_authopenid/views.py:774
#, python-format
msgid "OpenID %s is now associated with your account."
msgstr "El OpenID %s está ahora asociada con tu cuenta."
-#: django_authopenid/views.py:843
+#: django_authopenid/views.py:844
msgid "Account deleted."
msgstr "Cuenta borrada."
-#: django_authopenid/views.py:883
+#: django_authopenid/views.py:884
msgid "Request for new password"
msgstr "Pedir nueva contraseña"
-#: django_authopenid/views.py:896
+#: django_authopenid/views.py:897
msgid "A new password has been sent to your email address."
msgstr "Una nueva contraseña ha sido enviada a tu cuenta de Email."
-#: django_authopenid/views.py:926
+#: django_authopenid/views.py:927
#, python-format
msgid ""
"Could not change password. Confirmation key '%s' is not "
@@ -209,7 +333,7 @@ msgstr ""
"No se ha podido modificar la contraseña. La clave de confirmación '%s' no "
"está registrada"
-#: django_authopenid/views.py:935
+#: django_authopenid/views.py:936
msgid ""
"Can not change password. User don't exist anymore in our "
"database."
@@ -217,7 +341,7 @@ msgstr ""
"No se puede cambiar la contraseña. El usuario no existe más en nuestra base "
"de datos."
-#: django_authopenid/views.py:944
+#: django_authopenid/views.py:945
#, python-format
msgid "Password changed for %s. You may now sign in."
msgstr "Contraseña cambiada por %s. Ahora puedes ingresar."
@@ -260,7 +384,7 @@ msgstr "pregunta"
#: forum/const.py:57 templates/book.html:110
msgid "answer"
-msgstr "resputa"
+msgstr "respuesta"
#: forum/const.py:58
msgid "commented question"
@@ -346,12 +470,8 @@ msgstr " - "
msgid "latest questions"
msgstr "últimas preguntas"
-#: forum/feed.py:19
-msgid "questions/"
-msgstr "preguntas/"
-
-#: forum/forms.py:14 templates/answer_edit_tips.html:34
-#: templates/answer_edit_tips.html.py:38 templates/question_edit_tips.html:31
+#: forum/forms.py:14 templates/answer_edit_tips.html:33
+#: templates/answer_edit_tips.html.py:37 templates/question_edit_tips.html:31
#: templates/question_edit_tips.html:36
msgid "title"
msgstr "título"
@@ -372,7 +492,7 @@ msgstr "contenido"
msgid "question content must be > 10 characters"
msgstr "el contenido de la pregunta debe ser al menos de 10 caracteres"
-#: forum/forms.py:45 templates/header.html:30 templates/header.html.py:61
+#: forum/forms.py:45 templates/header.html:30 templates/header.html.py:64
msgid "tags"
msgstr "etiquetas"
@@ -380,6 +500,8 @@ msgstr "etiquetas"
msgid ""
"Tags are short keywords, with no spaces within. Up to five tags can be used."
msgstr ""
+"por favor utilice espacio para separar las etiquetas (esto habilitael auto-"
+"completado)"
#: forum/forms.py:54 templates/question_retag.html:38
msgid "tags are required"
@@ -401,8 +523,8 @@ msgstr ""
"por favor use solo los siguientes caracteres en los nombres de etiquetas: "
"letras 'a-z', números y caracteres '.-_#'"
-#: forum/forms.py:75 templates/index.html:57 templates/question.html:199
-#: templates/question.html.py:380 templates/questions.html:58
+#: forum/forms.py:75 templates/index.html:57 templates/question.html:209
+#: templates/question.html.py:395 templates/questions.html:58
#: templates/questions.html.py:70 templates/unanswered.html:48
#: templates/unanswered.html.py:60
msgid "community wiki"
@@ -460,42 +582,45 @@ msgstr "Perfil"
msgid "this email has already been registered, please use another one"
msgstr "este email ya ha sido registrado, por favor use otro"
-#: forum/models.py:238
-#, fuzzy, python-format
+#: forum/models.py:246
msgid "%(author)s modified the question"
-msgstr "%(author) modificó la pregunta"
+msgstr "%(author)s modificó la pregunta"
-#: forum/models.py:242
+#: forum/models.py:250
#, python-format
msgid "%(people)s posted %(new_answer_count)s new answers"
msgstr "%(people)s publicaron %(new_answer_count)s nuevas respuestas"
-#: forum/models.py:247
+#: forum/models.py:255
#, python-format
msgid "%(people)s commented the question"
msgstr "%(people)s comentarion la pregunta"
-#: forum/models.py:252
+#: forum/models.py:260
#, python-format
msgid "%(people)s commented answers"
msgstr "%(people)s comentaron la respuesta"
-#: forum/models.py:254
+#: forum/models.py:262
#, python-format
-msgid "%(people)s commented the answer"
-msgstr "%(people)s comentaron la respuestas"
+msgid "%(people)s commented an answer"
+msgstr "%(people)s comentaron la respuesta"
-#: forum/models.py:433 templates/badges.html:52
+#: forum/models.py:306 forum/models.py:418
+msgid "revisions"
+msgstr "revisiones/"
+
+#: forum/models.py:441 templates/badges.html:51
msgid "gold"
msgstr "oro"
-#: forum/models.py:434 templates/badges.html:60
+#: forum/models.py:442 templates/badges.html:59
msgid "silver"
msgstr "plata"
-#: forum/models.py:435 templates/badges.html:67
+#: forum/models.py:443 templates/badges.html:66
msgid "bronze"
-msgstr "bronze"
+msgstr "bronce"
#: forum/user.py:16 templates/user_tabs.html:7
msgid "overview"
@@ -551,7 +676,7 @@ msgstr "preguntas favoritas"
#: forum/user.py:51
msgid "users favorite questions"
-msgstr "preguntas favoritas del usuario"
+msgstr "preguntas favoritas de los usuarios"
#: forum/user.py:52
msgid "profile - favorite questions"
@@ -581,31 +706,27 @@ msgstr "preferencias del usuario"
msgid "profile - user preferences"
msgstr "perfil - preferencia de "
-#: forum/views.py:304
-msgid "/account/"
-msgstr "/cuenta/"
-
-#: forum/views.py:943
+#: forum/views.py:947
#, python-format
msgid "subscription saved, %(email)s needs validation"
msgstr "subscripción guardada, %(email)s necesita validación"
-#: forum/views.py:1853
+#: forum/views.py:1860
msgid "uploading images is limited to users with >60 reputation points"
msgstr "para subir imagenes debes tener más de 60 puntos de reputación"
-#: forum/views.py:1855
+#: forum/views.py:1862
msgid "allowed file types are 'jpg', 'jpeg', 'gif', 'bmp', 'png', 'tiff'"
msgstr ""
"los tipos de archivos permitidos son 'jpg', 'jpeg', 'gif', 'bmp', 'png', "
"'tiff'"
-#: forum/views.py:1857
+#: forum/views.py:1864
#, python-format
msgid "maximum upload file size is %sK"
msgstr "tamaño máximo permitido es archivo %sK"
-#: forum/views.py:1859
+#: forum/views.py:1866
#, python-format
msgid ""
"Error uploading file. Please contact the site administrator. Thank you. %s"
@@ -616,16 +737,16 @@ msgstr ""
msgid "updates from website"
msgstr "actualizaciones del sitio"
-#: forum/templatetags/extra_tags.py:139 forum/templatetags/extra_tags.py:168
-#: templates/header.html:33
+#: forum/templatetags/extra_tags.py:143 forum/templatetags/extra_tags.py:172
+#: templates/header.html:35
msgid "badges"
msgstr "distinciones"
-#: forum/templatetags/extra_tags.py:140 forum/templatetags/extra_tags.py:167
+#: forum/templatetags/extra_tags.py:144 forum/templatetags/extra_tags.py:171
msgid "reputation points"
msgstr "puntos de reputación"
-#: forum/templatetags/extra_tags.py:221
+#: forum/templatetags/extra_tags.py:225
msgid " ago"
msgstr " atras"
@@ -675,7 +796,7 @@ msgstr "ver todas las tags"
#: templates/500.html:22
msgid "sorry, system error"
-msgstr ""
+msgstr "lo sentimos, ha habido un error del sistema"
#: templates/500.html:24
msgid "system error log is recorded, error will be fixed as soon as possible"
@@ -703,13 +824,13 @@ msgid "Edit answer"
msgstr "Editar respuesta"
#: templates/answer_edit.html:24 templates/answer_edit.html.py:27
-#: templates/ask.html:25 templates/ask.html.py:28 templates/question.html:40
-#: templates/question.html.py:43 templates/question_edit.html:27
+#: templates/ask.html:25 templates/ask.html.py:28 templates/question.html:43
+#: templates/question.html.py:46 templates/question_edit.html:27
msgid "hide preview"
msgstr "ocultar previsualización"
#: templates/answer_edit.html:27 templates/ask.html:28
-#: templates/question.html:43 templates/question_edit.html:27
+#: templates/question.html:46 templates/question_edit.html:27
msgid "show preview"
msgstr "ver previsualización"
@@ -729,22 +850,22 @@ msgid "select revision"
msgstr "seleccionar revisión"
#: templates/answer_edit.html:62 templates/ask.html:94
-#: templates/question.html:452 templates/question_edit.html:91
+#: templates/question.html:467 templates/question_edit.html:91
msgid "Toggle the real time Markdown editor preview"
msgstr "Activar la visualización en tiempo real de Markdown"
#: templates/answer_edit.html:62 templates/ask.html:94
-#: templates/question.html:452 templates/question_edit.html:91
+#: templates/question.html:467 templates/question_edit.html:91
msgid "toggle preview"
msgstr "Activar previsualización"
-#: templates/answer_edit.html:73 templates/question_edit.html:119
-#: templates/question_retag.html:75
+#: templates/answer_edit.html:71 templates/question_edit.html:115
+#: templates/question_retag.html:73
msgid "Save edit"
msgstr "Guardar la edición"
-#: templates/answer_edit.html:74 templates/close.html:29
-#: templates/question_edit.html:120 templates/question_retag.html:76
+#: templates/answer_edit.html:72 templates/close.html:29
+#: templates/question_edit.html:116 templates/question_retag.html:74
#: templates/reopen.html:30 templates/user_edit.html:83
#: templates/authopenid/changeemail.html:34
msgid "Cancel"
@@ -774,65 +895,76 @@ msgstr "ser claro y conciso"
msgid "see frequently asked questions"
msgstr "ver preguntas frecuentes"
-#: templates/answer_edit_tips.html:25 templates/question_edit_tips.html:22
+#: templates/answer_edit_tips.html:24 templates/question_edit_tips.html:22
msgid "Markdown tips"
msgstr "sugerencias de Markdown"
-#: templates/answer_edit_tips.html:28 templates/question_edit_tips.html:25
+#: templates/answer_edit_tips.html:27 templates/question_edit_tips.html:25
msgid "*italic* or __italic__"
msgstr "*itálica* o __itálica__"
-#: templates/answer_edit_tips.html:31 templates/question_edit_tips.html:28
+#: templates/answer_edit_tips.html:30 templates/question_edit_tips.html:28
msgid "**bold** or __bold__"
msgstr "**negrita** o __negrita__"
-#: templates/answer_edit_tips.html:34 templates/question_edit_tips.html:31
+#: templates/answer_edit_tips.html:33 templates/question_edit_tips.html:31
msgid "link"
msgstr "enlace"
-#: templates/answer_edit_tips.html:34 templates/answer_edit_tips.html.py:38
+#: templates/answer_edit_tips.html:33 templates/answer_edit_tips.html.py:37
#: templates/question_edit_tips.html:31 templates/question_edit_tips.html:36
msgid "text"
msgstr "texto"
-#: templates/answer_edit_tips.html:38 templates/question_edit_tips.html:36
+#: templates/answer_edit_tips.html:37 templates/question_edit_tips.html:36
msgid "image"
msgstr "imagen"
-#: templates/answer_edit_tips.html:42 templates/question_edit_tips.html:40
+#: templates/answer_edit_tips.html:41 templates/question_edit_tips.html:40
msgid "numbered list:"
msgstr "lista numerada"
-#: templates/answer_edit_tips.html:47 templates/question_edit_tips.html:45
+#: templates/answer_edit_tips.html:46 templates/question_edit_tips.html:45
msgid "basic HTML tags are also supported"
msgstr "etiquetas básicas de HTML permitidas"
-#: templates/answer_edit_tips.html:50 templates/question_edit_tips.html:48
+#: templates/answer_edit_tips.html:49 templates/question_edit_tips.html:48
msgid "learn more about Markdown"
msgstr "aprender mas sobre Markdown"
#: templates/ask.html:4 templates/ask.html.py:60
msgid "Ask a question"
-msgstr "Preguntar"
+msgstr "Hacer una pregunta"
#: templates/ask.html:67
msgid "login to post question info"
-msgstr "Inicie sesión para publicar pregunta."
+msgstr ""
+"<span class='strong big'>Puedes comenzar a realizar tu pregunta de forma "
+"anonima</span> - actualmente no te encuentras Ingresado. Cuando envíes tu "
+"pregunta, serás redireccionado a la página de Ingreso/registro. Tu pregunta "
+"será guardada temporalemente y será enviada cuando ingreses. El proceso de "
+"Ingreso/Registro es muy simple. Ingresar lleva unos 30 segundos, registrarse "
+"por primera vez lleva un minuto."
#: templates/ask.html:73
#, python-format
msgid "must have valid %(email)s to post"
-msgstr "debe de tener un %(email)s válido para publicar"
+msgstr ""
+"<span class='strong big'>Parece ser que tu dirección de email, %(email)s no "
+"ha sido validada aún.</span> Para enviar mensajes debes verificar tu "
+"dirección de email, puedes ver <a href='/faq#validate'>más detalles aquí</"
+"a>. <br/> Puedes enviar tu pregunta ahora y validar tu email luego. Tu "
+"pregunta será guardada mientras tanto y publicada cuando valides tu email."
-#: templates/ask.html:108
+#: templates/ask.html:107
msgid "(required)"
msgstr "(requerido)"
-#: templates/ask.html:115
+#: templates/ask.html:114
msgid "Login/signup to post your question"
msgstr "Iniciar sesión/registrarse para publicar su pregunta"
-#: templates/ask.html:117
+#: templates/ask.html:116
msgid "Ask your question"
msgstr "Haz tu pregunta"
@@ -848,7 +980,7 @@ msgstr "Usuarios han sido galardonados con distinciones:"
msgid "Badges summary"
msgstr "Resumen de distinciones"
-#: templates/badges.html:17 templates/user_stats.html:113
+#: templates/badges.html:17 templates/user_stats.html:115
msgid "Badges"
msgstr "Distinciones"
@@ -861,32 +993,32 @@ msgid ""
"Below is the list of available badges and number of times each type of badge "
"has been awarded."
msgstr ""
-"Debajo esta la lista de las distinciones disponibles y la cantidad de "
-"veces que han sido asignadas."
+"Debajo esta la lista de las distinciones disponibles y la cantidad de veces "
+"que han sido asignadas."
-#: templates/badges.html:49
+#: templates/badges.html:48
msgid "Community badges"
msgstr "Distinciones de la comunidad"
-#: templates/badges.html:55
+#: templates/badges.html:54
msgid "gold badge description"
msgstr ""
"Las distinciones de Oro son excepcionales. Para obtenerla debes demostrar un "
"profundo conocimiento y habilidad además de participar activamente en la "
"comunidad. La distinción de Oro es la condecoración máxima en esta comunidad"
-#: templates/badges.html:63
+#: templates/badges.html:62
msgid "silver badge description"
msgstr ""
"Obtener una distinción de Plata requiere de paciencia. Si has logrado una, "
"quiere decir que haz significativamente aportado a esta comunidad."
-#: templates/badges.html:66
+#: templates/badges.html:65
msgid "bronze badge: often given as a special honor"
msgstr ""
"distinción de bronce: con frecuencia entregada como reconocimiento especial."
-#: templates/badges.html:70
+#: templates/badges.html:69
msgid "bronze badge description"
msgstr ""
"Si eres un usuario activo de esta comunidad, recibirás esta distinción - de "
@@ -972,11 +1104,10 @@ msgstr "la respuesta ha sido aceptada como correcta"
msgid "views"
msgstr "vistas"
-#: templates/book.html:125 templates/index.html:69 templates/question.html:115
-#: templates/question.html.py:486 templates/questions.html:84
-#: templates/questions.html.py:156 templates/tags.html:47
-#: templates/unanswered.html:75 templates/unanswered.html.py:109
-#: templates/users_questions.html:52
+#: templates/book.html:125 templates/index.html:69 templates/question.html:499
+#: templates/questions.html:84 templates/questions.html.py:156
+#: templates/tags.html:49 templates/unanswered.html:75
+#: templates/unanswered.html.py:106 templates/users_questions.html:52
msgid "using tags"
msgstr "usando etiquetas"
@@ -984,7 +1115,7 @@ msgstr "usando etiquetas"
msgid "subscribe to book RSS feed"
msgstr "suscribirse al RSS del libro"
-#: templates/book.html:147 templates/index.html:116
+#: templates/book.html:147 templates/index.html:118
msgid "subscribe to the questions feed"
msgstr "suscribirse al agregado de noticias"
@@ -1044,10 +1175,6 @@ msgstr ""
msgid "What should I avoid in my answers?"
msgstr "¿Que debo evitar en mis respuestas?"
-#: templates/faq.html:28 templates/faq.html.py:132
-msgid "site title"
-msgstr "título del sitio"
-
#: templates/faq.html:28
msgid ""
"is a Q&A site, not a discussion group. Therefore - please avoid having "
@@ -1084,75 +1211,118 @@ msgstr "¿Cómo funciona el sistema de reputación?"
#: templates/faq.html:41
msgid "Rep system summary"
-msgstr "resumen del sistema de reputación"
+msgstr ""
+"Cuando una pregunta o respuesta es votada positivamente, el usuario que la "
+"realizo ganará algunos puntos, que llamamos \"puntos de reputación\". Estos "
+"puntos sirven a groso modo para medir la confianza que la comunidad le "
+"tiene. Diversas tareas de moderación son gradualmente asignadas a los "
+"usuarios basado en estos puntos de reputación."
-#: templates/faq.html:59 templates/user_votes.html:14
+#: templates/faq.html:42
+msgid ""
+"For example, if you ask an interesting question or give a helpful answer, "
+"your input will be upvoted. On the other hand if the answer is misleading - "
+"it will be downvoted. Each vote in favor will generate <strong>10</strong> "
+"points, each vote against will subtract <strong>2</strong> points. There is "
+"a limit of <strong>200</strong> points that can be accumulated per question "
+"or answer. The table below explains reputation point requirements for each "
+"type of moderation task."
+msgstr ""
+"Por ejemplo, si haces una pregunta interesante o das una respuesta útil, tu "
+"adición será votada positivamente. Por otro lado, si la respuesta es fuera "
+"de lugar - será votada negativamente. Cada voto a favor genera <strong>10</"
+"strong> puntos, cada voto en contra restará <strong>2</strong> puntos. Hay "
+"un limite de <strong>200</strong> puntos que puedes acumular por pregunta o "
+"respuesta. La tabla debajo explica los puntos de reputación requeridos para "
+"cada tarea de moderación."
+
+#: templates/faq.html:53 templates/user_votes.html:14
msgid "upvote"
msgstr "votar positivo"
-#: templates/faq.html:63
+#: templates/faq.html:57
msgid "use tags"
msgstr "etiquetas usadas"
-#: templates/faq.html:68
+#: templates/faq.html:62
msgid "add comments"
msgstr "agregar comentarios"
-#: templates/faq.html:72 templates/user_votes.html:16
+#: templates/faq.html:66 templates/user_votes.html:16
msgid "downvote"
msgstr "votar negativo"
-#: templates/faq.html:75
+#: templates/faq.html:69
msgid "open and close own questions"
msgstr "abrir y cerrar sus propias preguntas"
-#: templates/faq.html:79
+#: templates/faq.html:73
msgid "retag questions"
msgstr "re-etiquetar preguntas"
-#: templates/faq.html:83
+#: templates/faq.html:77
msgid "edit community wiki questions"
msgstr "editar preguntas de la wiki comunitaria"
-#: templates/faq.html:87
+#: templates/faq.html:81
msgid "edit any answer"
msgstr "editar cualquier pregunta"
-#: templates/faq.html:91
+#: templates/faq.html:85
msgid "open any closed question"
msgstr "abrir cualquier pregunta cerrada"
-#: templates/faq.html:95
+#: templates/faq.html:89
msgid "delete any comment"
msgstr "borrar cualquier comentario"
-#: templates/faq.html:99
+#: templates/faq.html:93
msgid "delete any questions and answers and perform other moderation tasks"
msgstr ""
"borrar cualquier pregunta o respuesta y realizar otras tareas de "
"administración."
-#: templates/faq.html:106
+#: templates/faq.html:100
msgid "how to validate email title"
-msgstr "como validar el título del correo"
+msgstr "¿Cómo validar mi correo electrónico?"
-#: templates/faq.html:108
+#: templates/faq.html:102
msgid "how to validate email info"
-msgstr "como validar la información del correo"
+msgstr ""
+"<form style='margin:0;padding:0;' action='/email/sendkey/'><p><span class="
+"\"bigger strong\">¿Cómo?</span> Si acabas de asignar o cambiar tu correo "
+"electrónico - <strong>verifica tu casilla de mensajes y clickea en el link "
+"incluido</strong>. <br/> El link contiene una clave generada especificamente "
+"para ti. <button style='display:inline' type='submit'><strong>get a new key</"
+"strong></button> y vuelve a revisar tu casilla de mensajes.</p></form><span "
+"class=\"bigger strong\">¿Porqué?</span> La validación del email es requerida "
+"para estar seguros the que <strong>solo tu puedes enviar mensajes</strong> "
+"bajo tu concentimiento y para <strong>minimizar el spam</strong>.<br/> Con "
+"tu email podrás <strong>suscribirte a actualizaciones</strong> en las "
+"preguntas mas interesantes. También, cuando te registras por primera vez - "
+"se crea un imagen personal única de <a href='/"
+"faq#gravatar'><strong>gravatar</strong></a>."
-#: templates/faq.html:112
+#: templates/faq.html:106
msgid "what is gravatar"
-msgstr "qué es gravatar"
+msgstr "¿Qué es gravatar?"
-#: templates/faq.html:113
+#: templates/faq.html:107
msgid "gravatar faq info"
-msgstr "preguntas frecuentes sobre gravatar"
+msgstr ""
+"<strong>Gravatar</strong> significa <strong>g</strong>lobalmente <strong>r</"
+"strong>econocido <strong>avatar</strong> - tu imagen única asociada a tu "
+"email. Es simplemente una imagen que se muestra junto con tus mensajes en "
+"sitios que soportan gravatar. Por defecto gravatar aparece como un cuadrado "
+"rellenado con figuras parecidas a copos de nieve. Puedes <strong>seleccionar "
+"tu imagen</strong> en <a href='http://gravatar.com'><strong>gravatar.com</"
+"strong></a>"
-#: templates/faq.html:116
+#: templates/faq.html:110
msgid "To register, do I need to create new password?"
msgstr "¿Para registrarme, debo crearme una cuenta?"
-#: templates/faq.html:117
+#: templates/faq.html:111
msgid ""
"No, you don't have to. You can login through any service that supports "
"OpenID, e.g. Google, Yahoo, AOL, etc."
@@ -1160,19 +1330,21 @@ msgstr ""
"No tienes porqué. Puedes ingresar usando cualquiera de los servicios que "
"soportan OpenID, ej. Google, Yahoo, AOL, MyOpenID, etc."
-#: templates/faq.html:118
+#: templates/faq.html:112
msgid "Login now!"
msgstr "Ingresa ahora!"
-#: templates/faq.html:123
+#: templates/faq.html:117
msgid "Why other people can edit my questions/answers?"
msgstr "¿Porqué otras personas pueden editar mis preguntas y respuestas?"
-#: templates/faq.html:124
+#: templates/faq.html:118
msgid "Goal of this site is..."
-msgstr "El objetivo de este sitio es..."
+msgstr ""
+"El objetivo de este sitio es generar contenido valioso mediante preguntas y "
+"respuestas, de forma colaborativa. "
-#: templates/faq.html:124
+#: templates/faq.html:118
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 "
@@ -1180,34 +1352,35 @@ msgid ""
msgstr ""
"Entonces, las preguntas y respuestas pueden ser editadas como wiki por "
"usuarios con experiencia, y esto mejora la calidad general del conocimiento "
-"guardado."
+"acumulado."
-#: templates/faq.html:125
+#: templates/faq.html:119
msgid "If this approach is not for you, we respect your choice."
msgstr ""
"Si esta forma de funcionamiento no es de tu agrado, respetamos tu elección."
-#: templates/faq.html:129
+#: templates/faq.html:123
msgid "Still have questions?"
msgstr "¿Aún tienes preguntas?"
-#: templates/faq.html:130
+#: templates/faq.html:124
msgid "Please ask your question, help make our community better!"
msgstr "Por favor haz tu pregunta, ¡ayudanos a mejorar nuestra comunidad!"
-#: templates/faq.html:132 templates/header.html:29 templates/header.html.py:60
+#: templates/faq.html:126 templates/header.html:29 templates/header.html.py:63
msgid "questions"
msgstr "preguntas"
-#: templates/faq.html:132 templates/index.html:121
+#: templates/faq.html:126 templates/index.html:123
msgid "."
msgstr "."
#: templates/footer.html:7 templates/header.html:14 templates/index.html:83
msgid "about"
-msgstr "acerca de"
+msgstr "acerca de nosotros"
#: templates/footer.html:8 templates/header.html:15 templates/index.html:84
+#: templates/question_edit_tips.html:16
msgid "faq"
msgstr "preguntas frecuentes"
@@ -1241,29 +1414,29 @@ msgstr "entrar"
#: templates/header.html:23
msgid "back to home page"
-msgstr "volver al inicio"
+msgstr "volver página principal"
-#: templates/header.html:31 templates/header.html.py:62
+#: templates/header.html:31 templates/header.html.py:65
msgid "users"
msgstr "usuarios"
-#: templates/header.html:32
+#: templates/header.html:33
msgid "books"
msgstr "libros"
-#: templates/header.html:34
+#: templates/header.html:36
msgid "unanswered questions"
msgstr "sin respuesta"
-#: templates/header.html:38
+#: templates/header.html:40
msgid "my profile"
msgstr "mi perfil"
-#: templates/header.html:42
+#: templates/header.html:44
msgid "ask a question"
msgstr "hacer una pregunta"
-#: templates/header.html:57
+#: templates/header.html:59
msgid "search"
msgstr "buscar"
@@ -1286,7 +1459,7 @@ msgstr "más nuevas"
#: templates/index.html:25 templates/questions.html:27
msgid "hottest questions"
-msgstr "preguntas más calientes"
+msgstr "preguntas calientes"
#: templates/index.html:25 templates/questions.html:27
msgid "hottest"
@@ -1309,11 +1482,10 @@ msgstr "todas las preguntas"
msgid "answers"
msgstr "respuestas"
-#: templates/index.html:69 templates/question.html:115
-#: templates/question.html.py:486 templates/questions.html:84
-#: templates/questions.html.py:156 templates/tags.html:47
-#: templates/unanswered.html:75 templates/unanswered.html.py:109
-#: templates/users_questions.html:52
+#: templates/index.html:69 templates/question.html:499
+#: templates/questions.html:84 templates/questions.html.py:156
+#: templates/tags.html:49 templates/unanswered.html:75
+#: templates/unanswered.html.py:106 templates/users_questions.html:52
msgid "see questions tagged"
msgstr "ver preguntas etiquetadas"
@@ -1325,48 +1497,48 @@ msgstr "bienvenido a sitio"
msgid "Recent tags"
msgstr "Etiquetas recientes"
-#: templates/index.html:94
+#: templates/index.html:94 templates/question.html:125
#, python-format
msgid "see questions tagged '%(tagname)s'"
msgstr "ver preguntas etiquetadas '%(tagname)s'"
-#: templates/index.html:97 templates/index.html.py:121
+#: templates/index.html:97 templates/index.html.py:123
msgid "popular tags"
msgstr "etiquetas populares"
-#: templates/index.html:101
+#: templates/index.html:102
msgid "Recent awards"
msgstr "Reconocimientos recientes"
-#: templates/index.html:107
+#: templates/index.html:108
msgid "given to"
msgstr "dados a"
-#: templates/index.html:112
+#: templates/index.html:113
msgid "all awards"
msgstr "todos los reconocimientos"
-#: templates/index.html:116
+#: templates/index.html:118
msgid "subscribe to last 30 questions by RSS"
msgstr "suscribirse a las últimas 30 preguntas por RSS"
-#: templates/index.html:121
+#: templates/index.html:123
msgid "Still looking for more? See"
msgstr "¿Aún sigues buscando más? Ver"
-#: templates/index.html:121
+#: templates/index.html:123
msgid "complete list of questions"
msgstr "lista completa de preguntas"
-#: templates/index.html:121
+#: templates/index.html:123
msgid "or"
msgstr "ó"
-#: templates/index.html:121
+#: templates/index.html:123
msgid "Please help us answer"
msgstr "Ayudanos a responder"
-#: templates/index.html:121
+#: templates/index.html:123
msgid "list of unanswered questions"
msgstr "lista de preguntas sin respuesta"
@@ -1412,7 +1584,7 @@ msgstr "próxima página"
#: templates/privacy.html:6 templates/privacy.html.py:11
msgid "Privacy policy"
-msgstr "Código de Privacidad"
+msgstr "Privacidad"
#: templates/privacy.html:15
msgid "general message about privacy"
@@ -1454,75 +1626,77 @@ msgstr "Cambios de Códigos"
msgid "how privacy policies can be changed"
msgstr "como pueden ser cambiados los códigos de privacidad"
-#: templates/question.html:69 templates/question.html.py:81
+#: templates/question.html:72 templates/question.html.py:73
+#: templates/question.html:85 templates/question.html.py:87
msgid "i like this post (click again to cancel)"
msgstr "Me gusta esta entrada (clickear devuelta para cancelar)"
-#: templates/question.html:71 templates/question.html.py:83
-#: templates/question.html:276
+#: templates/question.html:75 templates/question.html.py:89
+#: templates/question.html:289
msgid "current number of votes"
msgstr "número actual de votos"
-#: templates/question.html:76 templates/question.html.py:87
+#: templates/question.html:80 templates/question.html.py:81
+#: templates/question.html:94 templates/question.html.py:95
msgid "i dont like this post (click again to cancel)"
msgstr "No me gusta esta entrada (clickear devuelta para cancelar)"
-#: templates/question.html:93
+#: templates/question.html:100 templates/question.html.py:101
msgid "mark this question as favorite (click again to cancel)"
msgstr "marcar esta pregunta como favorita (clickear devuelta para cancelar)"
-#: templates/question.html:99
+#: templates/question.html:107 templates/question.html.py:108
msgid "remove favorite mark from this question (click again to restore mark)"
msgstr ""
"remover marca de favorito a esta pregunta (clickear devuelta para volver a "
"marcar)"
-#: templates/question.html:124 templates/question.html.py:307
+#: templates/question.html:134 templates/question.html.py:322
#: templates/revisions_answer.html:53 templates/revisions_question.html:53
msgid "edit"
msgstr "editar"
-#: templates/question.html:128 templates/question.html.py:317
+#: templates/question.html:138 templates/question.html.py:332
msgid "delete"
msgstr "borrar"
-#: templates/question.html:133
+#: templates/question.html:143
msgid "reopen"
msgstr "re-abrir"
-#: templates/question.html:138
+#: templates/question.html:148
msgid "close"
msgstr "cerrar"
-#: templates/question.html:144 templates/question.html.py:330
+#: templates/question.html:154 templates/question.html.py:345
msgid ""
"report as offensive (i.e containing spam, advertising, malicious text, etc.)"
msgstr ""
"reportar como ofensivo (ej. contiene spam, publicidad, texto malicioso, etc.)"
-#: templates/question.html:145 templates/question.html.py:331
+#: templates/question.html:155 templates/question.html.py:346
msgid "flag offensive"
msgstr "marcar como ofensivo"
-#: templates/question.html:157 templates/question.html.py:340
+#: templates/question.html:167 templates/question.html.py:355
#: templates/revisions_answer.html:65 templates/revisions_question.html:65
msgid "updated"
msgstr "actualizado"
-#: templates/question.html:206 templates/question.html.py:387
+#: templates/question.html:216 templates/question.html.py:402
#: templates/revisions_answer.html:63 templates/revisions_question.html:63
msgid "asked"
msgstr "preguntado"
-#: templates/question.html:236 templates/question.html.py:414
+#: templates/question.html:246 templates/question.html.py:429
msgid "comments"
msgstr "comentarios"
-#: templates/question.html:237 templates/question.html.py:415
+#: templates/question.html:247 templates/question.html.py:430
msgid "add comment"
msgstr "agregar comentario"
-#: templates/question.html:250
+#: templates/question.html:260
#, python-format
msgid ""
"The question has been closed for the following reason \"%(question."
@@ -1531,113 +1705,115 @@ msgstr ""
"La pregunta ha sido cerrada por el siguiente motivo \"%(question."
"get_close_reason_display)s\" por"
-#: templates/question.html:252
+#: templates/question.html:262
#, python-format
msgid "close date %(question.closed_at)s"
msgstr "fecha de cerrada %(question.closed_at)s"
-#: templates/question.html:259 templates/user_stats.html:28
+#: templates/question.html:269 templates/user_stats.html:28
msgid "Answers"
msgstr "Respuestas"
-#: templates/question.html:261
+#: templates/question.html:271
msgid "oldest answers will be shown first"
msgstr "la respuesta mas vieja será mostrada primero"
-#: templates/question.html:261
+#: templates/question.html:271
msgid "oldest answers"
msgstr "pregunta más vieja"
-#: templates/question.html:262
+#: templates/question.html:272
msgid "newest answers will be shown first"
msgstr "preguntas más nuevas serán mostradas primero"
-#: templates/question.html:262
+#: templates/question.html:272
msgid "newest answers"
msgstr "más nuevas"
-#: templates/question.html:263
+#: templates/question.html:273
msgid "most voted answers will be shown first"
msgstr "las preguntas más votadas serán mostradas primero"
-#: templates/question.html:263
+#: templates/question.html:273
msgid "popular answers"
-msgstr "respuestas populares serán mostradas primero"
+msgstr "respuestas populares"
-#: templates/question.html:275
+#: templates/question.html:287 templates/question.html.py:288
msgid "i like this answer (click again to cancel)"
msgstr "me gusta esta respuesta (clickear devuelta para cancelar)"
-#: templates/question.html:281
+#: templates/question.html:294 templates/question.html.py:295
msgid "i dont like this answer (click again to cancel)"
msgstr "no me gusta esta respuesta (clickear devuelta para cancelar)"
-#: templates/question.html:287
+#: templates/question.html:300 templates/question.html.py:301
msgid "mark this answer as favorite (click again to undo)"
msgstr "marcar esta respuesta como favorita (clickear devuelta para deshacer)"
-#: templates/question.html:292
+#: templates/question.html:306 templates/question.html.py:307
msgid "the author of the question has selected this answer as correct"
msgstr "el autor de esta pregunta ha seleccionado esta respuesta como correcta"
-#: templates/question.html:314
+#: templates/question.html:329
msgid "undelete"
msgstr "deshacer eliminar"
-#: templates/question.html:324
+#: templates/question.html:339
msgid "answer permanent link"
msgstr "enlace permanente a respuesta"
-#: templates/question.html:325
+#: templates/question.html:340
msgid "permanent link"
msgstr "enlace permanente"
-#: templates/question.html:438
+#: templates/question.html:453
msgid "Your answer"
msgstr "Tu respuesta"
-#: templates/question.html:441
+#: templates/question.html:456
msgid "you can answer anonymously and then login"
-msgstr ""
+msgstr "puedes responder de forma anónima y luego ingresar"
-#: templates/question.html:465
+#: templates/question.html:479
msgid "Answer the question"
msgstr "Responde la pregunta"
-#: templates/question.html:467
+#: templates/question.html:481
msgid "Notify me daily if there are any new answers."
-msgstr "Notificarme diariamente si hay nuevas respuestas"
+msgstr "Notificarme diariamente si hay nuevas respuestas."
-#: templates/question.html:469
+#: templates/question.html:483
msgid "once you sign in you will be able to subscribe for any updates here"
-msgstr "Una vez que inicie sesión se podrá suscribir a cualquier actualización aquí"
+msgstr ""
+"una vez que hayas ingresado podrás suscribirte a cualquiera de las "
+"actualizaciones aquí."
-#: templates/question.html:481
+#: templates/question.html:494
msgid "Question tags"
-msgstr "Etiquetas de la pregunta"
+msgstr "Tags de la pregunta"
-#: templates/question.html:491
+#: templates/question.html:504
msgid "question asked"
msgstr "pregunta preguntada"
-#: templates/question.html:491 templates/question.html.py:497
+#: templates/question.html:504 templates/question.html.py:510
#: templates/user_info.html:51
msgid "ago"
-msgstr "atrás"
+msgstr " atras"
-#: templates/question.html:494
+#: templates/question.html:507
msgid "question was seen"
msgstr "la pregunta fue vista"
-#: templates/question.html:494
+#: templates/question.html:507
msgid "times"
msgstr "veces"
-#: templates/question.html:497
+#: templates/question.html:510
msgid "last updated"
msgstr "última vez actualizada"
-#: templates/question.html:502
+#: templates/question.html:515
msgid "Related questions"
msgstr "Preguntas relacionadas"
@@ -1665,15 +1841,15 @@ msgstr "Cambiar etiquetas"
msgid "up to 5 tags, less than 20 characters each"
msgstr "hasta 5 etiquetas, menos de 20 caracteres cada una"
-#: templates/question_retag.html:86
+#: templates/question_retag.html:82
msgid "Why use and modify tags?"
msgstr "¿Porqué usar y modificar etiquetas?"
-#: templates/question_retag.html:89
+#: templates/question_retag.html:85
msgid "tags help us keep Questions organized"
-msgstr "las etiquetas nos ayudan a mantener las preguntar organizadas"
+msgstr "las etiquetas nos permiten mantener las Preguntas organizadas"
-#: templates/question_retag.html:95
+#: templates/question_retag.html:91
msgid "tag editors receive special awards from the community"
msgstr ""
"los editores de etiquetas reciben distinciones especiales de la comunidad"
@@ -1712,15 +1888,17 @@ msgid_plural ""
"\n"
"\t\t\thave total %(q_num)s questions tagged %(tagname)s\n"
"\t\t\t"
-msgstr[0] "\n"
+msgstr[0] ""
+"\n"
"\t\t\ttiene un total de %(q_num)s preguntas etiquetadas con %(tagname)s\n"
"\t\t\t"
-msgstr[1] "\n"
+msgstr[1] ""
+"\n"
"\t\t\ttiene un total de %(q_num)s preguntas etiquetadas con %(tagname)s\n"
"\t\t\t"
#: templates/questions.html:116
-#, fuzzy, python-format
+#, python-format
msgid ""
"\n"
"\t\t\t\thave total %(q_num)s questions containing %(searchtitle)s\n"
@@ -1780,7 +1958,7 @@ msgstr "Las preguntas son ordenadas por el <strong>número de votos</strong>."
msgid "Most voted questions are shown first."
msgstr "Las preguntas más votadas son mostradas primero."
-#: templates/questions.html:153 templates/unanswered.html:105
+#: templates/questions.html:153 templates/unanswered.html:102
msgid "Related tags"
msgstr "Etiquetas relacionadas"
@@ -1817,35 +1995,35 @@ msgstr "Re-abrir esta pregunta"
msgid "Revision history"
msgstr "Historial de revisiones"
-#: templates/tags.html:6 templates/tags.html.py:29
+#: templates/tags.html:6 templates/tags.html.py:30
msgid "Tag list"
msgstr "Lista de etiquetas"
-#: templates/tags.html:31
+#: templates/tags.html:32
msgid "sorted alphabetically"
msgstr "ordenar alfabéticamente"
-#: templates/tags.html:31
+#: templates/tags.html:32
msgid "by name"
msgstr "por nombre"
-#: templates/tags.html:32
+#: templates/tags.html:33
msgid "sorted by frequency of tag use"
msgstr "ordenar por frecuencia de uso de la etiqueta"
-#: templates/tags.html:32
+#: templates/tags.html:33
msgid "by popularity"
msgstr "por popularidad"
-#: templates/tags.html:38
+#: templates/tags.html:39
msgid "All tags matching query"
msgstr "Todas las etiquetas que coincidan con la busqueda"
-#: templates/tags.html:38
+#: templates/tags.html:39
msgid "all tags - make this empty in english"
msgstr "todas las tags"
-#: templates/tags.html:41
+#: templates/tags.html:42
msgid "Nothing found"
msgstr "Nada encontrado"
@@ -1860,10 +2038,6 @@ msgstr ""
"<div class=\"questions-count\">%(num_q)s</div> preguntas <strong>sin "
"respuesta</strong> "
-#: templates/unanswered.html:99
-msgid "Have a total of"
-msgstr "Hay un total de"
-
#: templates/user_edit.html:6
msgid "Edit user profile"
msgstr "Editar perfil de usuario"
@@ -1890,7 +2064,7 @@ msgstr "Actualización"
#: templates/user_info.html:34
msgid "update profile"
-msgstr ""
+msgstr "actualizar perfil de usuario"
#: templates/user_info.html:40
msgid "real name"
@@ -1930,64 +2104,63 @@ msgstr "votos restantes"
#: templates/user_preferences.html:10
msgid "Connect with Twitter"
-msgstr ""
+msgstr "Conectar con Twitter"
-#: templates/user_preferences.html:12
+#: templates/user_preferences.html:13
msgid "Twitter account name:"
msgstr "Nombre de usuario en Twitter:"
-#: templates/user_preferences.html:14
+#: templates/user_preferences.html:15
msgid "Twitter password:"
msgstr "Contraseña de Twitter:"
-#: templates/user_preferences.html:16
+#: templates/user_preferences.html:17
msgid "Send my Questions to Twitter"
msgstr "Enviar mis preguntas a Twitter"
-#: templates/user_preferences.html:17
+#: templates/user_preferences.html:18
msgid "Send my Answers to Twitter"
msgstr "Enviar mis respuestas a Twitter"
-#: templates/user_preferences.html:18
+#: templates/user_preferences.html:19
msgid "Save"
msgstr "Guardar"
-#: templates/user_stats.html:15
+#: templates/user_stats.html:16
msgid "User questions"
msgstr "Preguntas del usuario"
-#: templates/user_stats.html:37
+#: templates/user_stats.html:38
#, python-format
msgid "the answer has been voted for %(vote_count)s times"
msgstr "la respuesta ha sido votada %(vote_count)s veces"
-#: templates/user_stats.html:37
+#: templates/user_stats.html:38
msgid "this answer has been selected as correct"
msgstr "esta respuesta ha sido seleccionada como correcta"
-#: templates/user_stats.html:43
+#: templates/user_stats.html:46
#, python-format
-msgid "the answer has been commented %(answered_question.comment_count)s times"
-msgstr ""
-"la respuesta ha sido comentada %(answered_question.comment_count)s veces"
+msgid "the answer has been commented %(comment_count)s times"
+msgstr "la respuesta ha sido comentada %(comment_count)s veces"
-#: templates/user_stats.html:56
+#: templates/user_stats.html:60
msgid "votes total"
msgstr "votos totales"
-#: templates/user_stats.html:65
+#: templates/user_stats.html:69
msgid "user has voted up this many times"
msgstr "el usuario ha votado positivo esta cantidad de veces"
-#: templates/user_stats.html:70
+#: templates/user_stats.html:74
msgid "user voted down this many times"
msgstr "el usuario voto negativo esta cantidad de veces"
-#: templates/user_stats.html:84
+#: templates/user_stats.html:87
msgid "Tags"
msgstr "Etiquetas"
-#: templates/user_stats.html:94
+#: templates/user_stats.html:97
#, python-format
msgid "see other questions tagged '%(tag)s' "
msgstr "ver otras preguntas etiqueteadas '%(tag)s'"
@@ -2051,9 +2224,9 @@ msgid "Change email"
msgstr "Cambiar dirección email"
#: templates/authopenid/changeemail.html:10
-#, fuzzy, python-format
+#, python-format
msgid "change %(email)s info"
-msgstr "Cambiar información del correo electrónico "
+msgstr "Cambiar información del correo electrónico %(email)s"
#: templates/authopenid/changeemail.html:13
#: templates/authopenid/changeopenid.html:14
@@ -2064,10 +2237,10 @@ msgstr "Por favor corrija los errores debajo: "
#: templates/authopenid/changeemail.html:30
msgid "Your new Email"
-msgstr ""
+msgstr "Tu nuevo Email"
#: templates/authopenid/changeemail.html:31
-#: templates/authopenid/signin.html:138
+#: templates/authopenid/signin.html:136
msgid "Password"
msgstr "Contraseña"
@@ -2079,7 +2252,7 @@ msgstr "Cambiar dirección email"
#: templates/authopenid/changeemail.html:45
#, python-format
msgid "validate %(email)s info"
-msgstr ""
+msgstr "validar información de %(email)s "
#: templates/authopenid/changeemail.html:50
msgid "Email not changed"
@@ -2088,7 +2261,7 @@ msgstr "Email no modificado."
#: templates/authopenid/changeemail.html:53
#, python-format
msgid "old %(email)s kept"
-msgstr ""
+msgstr "se ha conservado el viejo email %(email)s "
#: templates/authopenid/changeemail.html:58
msgid "Email changed"
@@ -2097,7 +2270,7 @@ msgstr "Email modificado."
#: templates/authopenid/changeemail.html:61
#, python-format
msgid "your current %(email)s can be used for this"
-msgstr ""
+msgstr "tu email actual %(email)s puede ser usado para esto"
#: templates/authopenid/changeemail.html:66
msgid "Email verified"
@@ -2114,7 +2287,7 @@ msgstr "llave de correo no enviada"
#: templates/authopenid/changeemail.html:77
#, python-format
msgid "email key not sent %(email)s change email here %(change_link)s"
-msgstr ""
+msgstr "email no enviado %(email)s cambiar email aquí %(change_link)s"
#: templates/authopenid/changeopenid.html:8
msgid "Account: change OpenID URL"
@@ -2168,24 +2341,24 @@ msgstr "Vincular tu OpenID con tu cuenta en este sitio"
#: templates/authopenid/complete.html:12
#, python-format
msgid "register new %(provider)s account info"
-msgstr ""
+msgstr "Registrar una nueva cuenta %(provider)s."
#: templates/authopenid/complete.html:14
msgid "This account already exists, please use another."
msgstr "Esta cuenta ya existe, por favor usar otra."
#: templates/authopenid/complete.html:19 templates/authopenid/complete.html:32
-#: templates/authopenid/signin.html:121
+#: templates/authopenid/signin.html:120
msgid "Sorry, looks like we have some errors:"
msgstr "Ups, parece que hay errores:"
#: templates/authopenid/complete.html:47
msgid "Screen name label"
-msgstr ""
+msgstr "Nombre de Usuario"
#: templates/authopenid/complete.html:48
msgid "Email address label"
-msgstr "su email (correo electrónico)"
+msgstr "Su email (correo electrónico)"
#: templates/authopenid/complete.html:49
msgid "create account"
@@ -2207,7 +2380,7 @@ msgstr "contraseña"
msgid "Register"
msgstr "Registrarse"
-#: templates/authopenid/complete.html:62 templates/authopenid/signin.html:140
+#: templates/authopenid/complete.html:62 templates/authopenid/signin.html:138
msgid "Forgot your password?"
msgstr "¿Olvidaste tu contraseña?"
@@ -2217,12 +2390,12 @@ msgstr ""
#: templates/authopenid/confirm_email.txt:4
msgid "Your account details are:"
-msgstr "Los detalles de su cuenta son:"
+msgstr ""
#: templates/authopenid/confirm_email.txt:6
#: templates/authopenid/sendpw_email.txt:7
msgid "Username:"
-msgstr "Nombre de usuario"
+msgstr "Nombre de usuario:"
#: templates/authopenid/confirm_email.txt:7
#: templates/authopenid/delete.html:20
@@ -2231,7 +2404,7 @@ msgstr "Contraseña"
#: templates/authopenid/confirm_email.txt:9
msgid "Please sign in here:"
-msgstr "Por favor inicie sesión aquí:"
+msgstr ""
#: templates/authopenid/confirm_email.txt:12
#: templates/authopenid/email_validation.txt:14
@@ -2250,7 +2423,7 @@ msgid ""
"Note: After deleting your account, anyone will be able to register this "
"username."
msgstr ""
-"Nota: Luego de borrar tu cuenta, cualquiera podrá registrarse con este "
+"Nota: Luego de borrar tu cuenta, cualquiera va a poder registrarse con este "
"nombre de usuario."
#: templates/authopenid/delete.html:17
@@ -2279,11 +2452,11 @@ msgstr ""
#: templates/authopenid/email_validation.txt:4
msgid "To make use of the Forum, please follow the link below:"
-msgstr "Para usar el Foro, siga el siguiente enlace:"
+msgstr ""
#: templates/authopenid/email_validation.txt:8
msgid "Following the link above will help us verify your email address."
-msgstr "El siguiente enlace nos ayudará a verificar su correo electrónico."
+msgstr ""
#: templates/authopenid/email_validation.txt:10
msgid ""
@@ -2340,8 +2513,9 @@ msgid "Your new account details are:"
msgstr ""
#: templates/authopenid/sendpw_email.txt:8
+#, fuzzy
msgid "New password:"
-msgstr "Nueva contraseña"
+msgstr "Nueva contraseña:"
#: templates/authopenid/sendpw_email.txt:10
msgid "To confirm that you wanted to reset your password please visit:"
@@ -2383,6 +2557,10 @@ msgid ""
"log in\n"
" "
msgstr ""
+"\n"
+" Tu respuesta a %(title)s %(summary)s será publicada una vez "
+"que ingreses \n"
+" "
#: templates/authopenid/signin.html:35
#, python-format
@@ -2391,73 +2569,76 @@ msgid ""
" %(title)s %(summary)s will be posted once you log in\n"
" "
msgstr ""
+"Tu pregunta \n"
+" %(title)s %(summary)s será publicada una vez que ingreses\n"
+" "
#: templates/authopenid/signin.html:40
msgid "Click to sign in through any of these services."
-msgstr ""
+msgstr "Clickea para entrar por cualquiera de estos servicios."
#: templates/authopenid/signin.html:103
msgid "Enter your <span id=\"enter_your_what\">Provider user name</span>"
-msgstr ""
+msgstr "Ingresa tu <span id=\"enter_your_what\">nombre de usuario</span>"
#: templates/authopenid/signin.html:110
msgid ""
"Enter your <a class=\"openid_logo\" href=\"http://openid.net\">OpenID</a> "
"web address"
msgstr ""
+"Ingresa tu dirección (URL) de <a class=\"openid_logo\" href=\"http://openid."
+"net\">OpenID</a>"
-#: templates/authopenid/signin.html:112 templates/authopenid/signin.html:139
+#: templates/authopenid/signin.html:112 templates/authopenid/signin.html:137
msgid "Login"
msgstr "Ingresar"
#: templates/authopenid/signin.html:116
msgid "we support two login modes"
-msgstr ""
-"Puedes ingresar por cualquiera de los siguientes servicios, o "
-"tradicionalmente- usando nombre de usuario y contraseña locales"
+msgstr "soportamos dos tipos de ingreso"
-#: templates/authopenid/signin.html:136
+#: templates/authopenid/signin.html:134
msgid "Use login name and password"
msgstr "Nombre de usuario y contraseña"
-#: templates/authopenid/signin.html:137
+#: templates/authopenid/signin.html:135
msgid "Login name"
msgstr "Nombre de usuario"
-#: templates/authopenid/signin.html:141
+#: templates/authopenid/signin.html:139
msgid "Create new account"
msgstr "Crear cuenta nueva"
-#: templates/authopenid/signin.html:150
+#: templates/authopenid/signin.html:148
msgid "Why use OpenID?"
msgstr "¿Porqué usar OpenID?"
-#: templates/authopenid/signin.html:154
+#: templates/authopenid/signin.html:151
msgid "with openid it is easier"
msgstr "Con OpenID no necesitas crear un nuevo nombre de usuario y contraseña."
-#: templates/authopenid/signin.html:157
+#: templates/authopenid/signin.html:154
msgid "reuse openid"
msgstr ""
"Puedes de forma segura re-usar el mismo nombre de usuario para todos los "
"sitios que acepten OpenID."
-#: templates/authopenid/signin.html:160
+#: templates/authopenid/signin.html:157
msgid "openid is widely adopted"
msgstr ""
"OpenID es extensamente usado. Hay más de 160,000,000 cuentas de OpenID en "
"uso en el mundo. Mas de 10,000 sitios aceptan OpenID."
-#: templates/authopenid/signin.html:163
+#: templates/authopenid/signin.html:160
msgid "openid is supported open standard"
msgstr ""
"OpenID es basado en un standard abierto, apoyado por muchas organizaciones."
-#: templates/authopenid/signin.html:167
+#: templates/authopenid/signin.html:165
msgid "Find out more"
msgstr "Averigua más"
-#: templates/authopenid/signin.html:168
+#: templates/authopenid/signin.html:166
msgid "Get OpenID"
msgstr "Adquiere una OpenID"
@@ -2493,181 +2674,22 @@ msgstr "elije un nombre de usuario"
msgid "back to login"
msgstr "volver al ingreso de usuario"
-#: templates/authopenid/signup.html:48
+#: templates/authopenid/signup.html:46
msgid "Register with your OpenID"
msgstr "Registrate con tu OpenID"
-#: templates/authopenid/signup.html:51
+#: templates/authopenid/signup.html:49
msgid "Login with your OpenID"
msgstr "Ingresar con tu OpenID"
-#~ msgid "site slogan"
-#~ msgstr " slogan del sitio"
+#~ msgid "site title"
+#~ msgstr "Preguntalo.com.uy"
-#~ msgid "meta site content"
-#~ msgstr "meta descripción"
+#~ msgid "Have a total of"
+#~ msgstr "Hay un total de"
-#~ msgid "copyright message"
-#~ msgstr "mensaje de copyright"
+#~ msgid "/account/"
+#~ msgstr "/cuenta/"
-#~ msgid ""
-#~ "please use space to separate tags (this enables autocomplete feature)"
-#~ msgstr ""
-#~ "por favor utilice espacio para separar las etiquetas (esto habilitael "
-#~ "auto-completado)"
-
-#~ msgid "Use"
-#~ msgstr "Usar"
-
-#~ msgid "learn more about OpenID"
-#~ msgstr "aprender mas sobre OpenID"
-
-#~ msgid "Get your own "
-#~ msgstr "Obtiene tu propio "
-
-#~ msgid "Email: (won't be shown to anyone)"
-#~ msgstr "Email: (no será mostrado a nadie)"
-
-#, fuzzy
-#~ msgid "Congratulations! You have new badges: "
-#~ msgstr "felicitaciones, la comunidad te ha otorgado una distinción"
-
-#, fuzzy
-#~ msgid "go to see"
-#~ msgstr "OK para cerrar"
-
-#~ msgid "congratulations, community gave you a badge"
-#~ msgstr "felicitaciones, la comunidad te ha otorgado una distinción"
-
-#~ msgid "see"
-#~ msgstr "ver"
-
-#~ msgid "profile"
-#~ msgstr "perfil"
-
-#~ msgid ""
-#~ "Anyone can ask questions and give answers, points are not necessary for "
-#~ "that."
-#~ msgstr ""
-#~ "Cualquier usuario puede hacer preguntas y dar respuestas, no es necesario "
-#~ "tener reputación para ello."
-
-#~ msgid ""
-#~ "As we've said before, users help running this site. Point system helps "
-#~ "select users who can administer this community."
-#~ msgstr ""
-#~ "Como dijimos antes, los usuarios ayudan a crear este sitio. El sistema de "
-#~ "reputación permite seleccionar usuarios que pueden moderar esta comunidad."
-
-#~ msgid ""
-#~ "Reputation points roughly measure how community trusts you. These points "
-#~ "are given to you directly by other members of the community."
-#~ msgstr ""
-#~ "Los puntos de reputación miden a groso modo que tan respetado eres en la "
-#~ "comunidad. Los puntos son dados a ti directamente por otros miembros de "
-#~ "la comunidad"
-
-#~ msgid ""
-#~ "For example, if you ask an interesting question or give a helpful answer, "
-#~ "your input will be upvoted and you will gain more trust in the community."
-#~ msgstr ""
-#~ "Por ejemplo, si haces una pregunta interesante, o das una respuesta "
-#~ "valiosa, tu entrada va a ser votada positivamente y tu ganarás confianza "
-#~ "en la comunidad."
-
-#~ msgid ""
-#~ "If on the other hand someone gives a misleading answer, the answer will "
-#~ "be voted down and he/she loses some points."
-#~ msgstr ""
-#~ "Si por el contrario, alguien da una respuesta que no corresponde, la "
-#~ "respuesta será votada negativamente y el usuario perderá puntos."
-
-#~ msgid ""
-#~ "Each vote in favor will generate <strong>10</strong> points, each vote "
-#~ "against will subtract <strong>2</strong> points."
-#~ msgstr ""
-#~ "Cada voto a favor generará <strong>10</strong> puntos, cada voto negativo "
-#~ "restará <strong>2</strong> puntos."
-
-#~ msgid ""
-#~ "Through the votes of other people you can accumulate a maximum of "
-#~ "<strong>200</strong> points."
-#~ msgstr ""
-#~ "A través del voto de otras personas puedes acumular un máximo de "
-#~ "<strong>200</strong> puntos."
-
-#~ msgid "After accumulating certain number of points, you can do more:"
-#~ msgstr ""
-#~ "Luego de haber acumulado cierta cantidad de puntos, puedes hacer más:"
-
-#~ msgid "meta site keywords, comma separated"
-#~ msgstr "palabras claves"
-
-#~ msgid "what is this website"
-#~ msgstr "que es este sitio"
-
-#~ msgid "what can one do on this website"
-#~ msgstr "que puede uno hacer en este sitio"
-
-#~ msgid "Login to answer"
-#~ msgstr "Ingresa para responder"
-
-#~ msgid "Account: change email"
-#~ msgstr "Cuenta: cambiar el email"
-
-#~ msgid ""
-#~ "This is where you can change the email address associated with your "
-#~ "account. Please keep this email address up to date so we can send you a "
-#~ "password-reset email if you request one."
-#~ msgstr ""
-#~ "Aquí es donde puedes cambiar el email asociado a tu cuenta de usuario.Por "
-#~ "favor manten esta dirección de correo al día de forma que podamos "
-#~ "mandarte un cambio de contraseña si tu así lo requieres."
-
-#~ msgid "Email"
-#~ msgstr "Email"
-
-#~ msgid ""
-#~ "Your OpenID is accepted. Please complete this to finish registration."
-#~ msgstr ""
-#~ "Tu OpenID es aceptada. Por favor completa lo siguiente para finalizar el "
-#~ "registro."
-
-#~ msgid "New account"
-#~ msgstr "Nueva cuenta"
-
-#~ msgid "User name (<i>will be shown to others, cannot be modified</i>)"
-#~ msgstr ""
-#~ "Nombre de usuario (<i>será mostrado a otros, no puede ser modificado</i>)"
-
-#~ msgid "Email (<i>not shared with anyone</i>)"
-#~ msgstr "Email (<i>no será compartido con nadie</i>)"
-
-#~ msgid "select openid provider"
-#~ msgstr "1) Selecciona tu proveedor de OpenID"
-
-#~ msgid "verify openid link and login"
-#~ msgstr ""
-#~ "2) Varifica la URL de tu OpenID (escribe tu nombre de usuario donde dice "
-#~ "{nombre de usuario} si lo ves) y luego clickea 'ingresar'"
-
-#~ msgid "Revise tags"
-#~ msgstr "Revisar etiquetas"
-
-#~ msgid "tags are requried"
-#~ msgstr "las etiquetas son requeridas"
-
-#~ msgid "Change now"
-#~ msgstr "Cambiar ahora"
-
-#~ msgid "number of <strong>unanswered</strong> questions"
-#~ msgstr "número de respuestas <strong>sin responder</strong>"
-
-#
-#~ msgid "editing tips"
-#~ msgstr "Tips"
-
-#~ msgid "Newest questions shown first."
-#~ msgstr ""
-#~ "Questions are sorted by <strong>entry date</strong>.Newest questions "
-#~ "shown first."
+#~ msgid "content/"
+#~ msgstr "contenido/"
diff --git a/settings_local.py b/settings_local.py
deleted file mode 100644
index c0483ffc..00000000
--- a/settings_local.py
+++ /dev/null
@@ -1,47 +0,0 @@
-# encoding:utf-8
-import os.path
-
-SITE_SRC_ROOT = os.path.dirname(__file__)
-LOG_FILENAME = 'django.lanai.log'
-
-#for logging
-import logging
-logging.basicConfig(filename=os.path.join(SITE_SRC_ROOT, 'log', LOG_FILENAME), level=logging.DEBUG,)
-
-DATABASE_NAME = 'cnprog.sqlite3' # Or path to database file if using sqlite3.
-DATABASE_USER = '' # Not used with sqlite3.
-DATABASE_PASSWORD = '' # Not used with sqlite3.
-DATABASE_ENGINE = 'sqlite3' #mysql, etc
-
-#Moved from settings.py for better organization. (please check it up to clean up settings.py)
-
-#email server settings
-SERVER_EMAIL = ''
-DEFAULT_FROM_EMAIL = 'team@cnprog.com'
-EMAIL_HOST_USER = ''
-EMAIL_HOST_PASSWORD = ''
-EMAIL_SUBJECT_PREFIX = '[cnprog.com]'
-EMAIL_HOST='smtp.gmail.com'
-EMAIL_PORT='587'
-EMAIL_USE_TLS=True
-
-#LOCALIZATIONS
-TIME_ZONE = 'Asia/Chongqing Asia/Chungking'
-# LANGUAGE_CODE = 'en-us'
-
-#OTHER SETTINGS
-APP_TITLE = u'CNProg.com 程序员问答社区'
-APP_KEYWORDS = u'技术问答社区,中国程序员,编程技术社区,程序员社区,程序员论坛,程序员wiki,程序员博客'
-APP_DESCRIPTION = u'中国程序员的编程技术问答社区。我们做专业的、可协作编辑的技术问答社区。'
-APP_INTRO = u' <p>CNProg是一个<strong>面向程序员</strong>的可协作编辑的<strong>开放源代码问答社区</strong>。</p><p> 您可以在这里提问各类<strong>程序技术问题</strong> - 问题不分语言和平台。 同时也希望您对力所能及的问题,给予您的宝贵答案。</p>'
-APP_COPYRIGHT = 'Copyright CNPROG.COM 2009'
-
-USE_I18N = True
-LANGUAGE_CODE = 'en'
-EMAIL_VALIDATION = 'off'
-MIN_USERNAME_LENGTH = 1
-EMAIL_UNIQUE = False
-APP_URL = 'http://server.com' #used by email notif system and RSS
-GOOGLE_SITEMAP_CODE = '55uGNnQVJW8p1bbXeF/Xbh9I7nZBM/wLhRz6N/I1kkA='
-GOOGLE_ANALYTICS_KEY = ''
-
diff --git a/settings_local.py.dist b/settings_local.py.dist
index d6273070..48d7b567 100644
--- a/settings_local.py.dist
+++ b/settings_local.py.dist
@@ -44,4 +44,4 @@ EMAIL_UNIQUE = False
APP_URL = 'http://server.com' #used by email notif system and RSS
GOOGLE_SITEMAP_CODE = '55uGNnQVJW8p1bbXeF/Xbh9I7nZBM/wLhRz6N/I1kkA='
GOOGLE_ANALYTICS_KEY = ''
-
+BOOKS_ON = True
diff --git a/templates/404.html b/templates/404.html
index 7090156b..2fa38f99 100644
--- a/templates/404.html
+++ b/templates/404.html
@@ -27,7 +27,7 @@
<ul>
<li>{% trans "this question or answer has been deleted;" %}</li>
<li>{% trans "url has error - please check it;" %}</li>
- <li>{% trans "the page you tried to visit is protected or you don't have sufficient points, see" %} <a href="/faq"> faq</a>;</li>
+ <li>{% trans "the page you tried to visit is protected or you don't have sufficient points, see" %} <a href="{% url faq %}"> faq</a>;</li>
<li>{% trans "if you believe this error 404 should not have occured, please" %}
<a href="{{feedback_site_url}}" target="_blank">{% trans "report this problem" %}</a></li>
</u>
@@ -38,9 +38,9 @@
</script>
<script type="text/javascript" src="http://linkhelp.clients.google.com/tbproxy/lh/wm/fixurl.js"></script>
<ul>
- <li><a href="#" id="linkPrevious">{% trans "back to previous page" %} » </li>
- <li><a href="/questions">{% trans "see all questions" %} » </a></li>
- <li><a href="/tags/">{% trans "see all tags" %} » </a></li>
+ <li><a href="#" id="linkPrevious">{% trans "back to previous page" %} »</li>
+ <li><a href="{% url questions %}">{% trans "see all questions" %} »</a></li>
+ <li><a href="{% url tags %}">{% trans "see all tags" %} »</a></li>
</u>
</div>
diff --git a/templates/500.html b/templates/500.html
index 313150fb..51e73178 100644
--- a/templates/500.html
+++ b/templates/500.html
@@ -25,8 +25,8 @@
{% trans "please report the error to the site administrators if you wish" %}
<ul>
<li><a href="#" id="linkPrevious">{% trans "back to previous page" %}</li>
- <li><a href="/questions">{% trans "see latest questions" %}</a></li>
- <li><a href="/tags/">{% trans "see tags" %}</a></li>
+ <li><a href="{% url questions %}">{% trans "see latest questions" %}</a></li>
+ <li><a href="{% url tags %}">{% trans "see tags" %}</a></li>
</u>
</div>
diff --git a/templates/answer_edit_tips.html b/templates/answer_edit_tips.html
index bf1cd516..33e4e242 100644
--- a/templates/answer_edit_tips.html
+++ b/templates/answer_edit_tips.html
@@ -16,7 +16,7 @@
{% trans "be clear and concise" %}
</li>
</ul>
- <a href="/faq/" target="_blank" title="{% trans "see frequently asked questions" %}" style="float:right;position:relative">faq »</a>
+ <a href="{% url faq %}" target="_blank" title="{% trans "see frequently asked questions" %}" style="float:right;position:relative">faq »</a>
</div>
</div>
diff --git a/templates/badge.html b/templates/badge.html
index 029ba0d9..73cba4ba 100644
--- a/templates/badge.html
+++ b/templates/badge.html
@@ -28,7 +28,7 @@
</div>
<div id="award-list" style="clear:both;margin-left:20px;line-height:25px;">
{% for award in awards %}
- <p style="width:185px;float:left"><a href="/users/{{ award.id }}/{{ award.name }}">{{ award.name }}</a> {% get_score_badge_by_details award.rep award.gold award.silver award.bronze %}</p>
+ <p style="width:185px;float:left"><a href="{% url users %}{{ award.id }}/{{ award.name }}">{{ award.name }}</a> {% get_score_badge_by_details award.rep award.gold award.silver award.bronze %}</p>
{% endfor %}
</div>
diff --git a/templates/book.html b/templates/book.html
index 23166cb7..cc6fc77b 100644
--- a/templates/book.html
+++ b/templates/book.html
@@ -98,7 +98,7 @@
<div class="favorites-empty"> </div>
{% endif %}
<div id="question-summary-{{question.id}}" class="question-summary narrow">
- <a style="text-decoration: none;" href="/questions/{{question.id}}/{{question.get_question_title}}">
+ <a style="text-decoration: none;" href="{% url questions %}{{question.id}}/{{question.get_question_title}}">
<div class="stats">
<div class="votes">
<div class="vote-count-post">{{question.score|intcomma}}</div>
@@ -118,7 +118,7 @@
</a>
<div class="bookQuestionItem">
<h3>
- <a title="{{question.summary|collapse}}" href="/questions/{{question.id}}/{{question.title}}">{{question.title}}</a>
+ <a title="{{question.summary|collapse}}" href="{% url questions %}{{question.id}}/{{question.title}}">{{question.title}}</a>
</h3>
<div class="tags">
{% for tag in question.tagname_list %}
diff --git a/templates/content/js/com.cnprog.i18n.js b/templates/content/js/com.cnprog.i18n.js
index 848ad59e..6ba8b59d 100644
--- a/templates/content/js/com.cnprog.i18n.js
+++ b/templates/content/js/com.cnprog.i18n.js
@@ -140,6 +140,8 @@ var i18nEs = {
'enter image url':'introduzca la URL de la imagen, por ejemplo:<br />http://www.example.com/image.jpg \"titulo de imagen\"',
'enter url':'introduzca direcciones web, ejemplo:<br />http://www.cnprog.com/ \"titulo del enlace\"</p>"',
'upload image':'cargar imagen:',
+ 'questions/' : 'preguntas/',
+ 'vote/' : 'votar/',
};
var i18n = {
diff --git a/templates/content/js/com.cnprog.post.js b/templates/content/js/com.cnprog.post.js
index 546cf101..aa6c51b6 100644
--- a/templates/content/js/com.cnprog.post.js
+++ b/templates/content/js/com.cnprog.post.js
@@ -243,7 +243,7 @@ var Vote = function(){
type: "POST",
cache: false,
dataType: "json",
- url: "/questions/" + questionId + "/vote/",
+ url: "/" + $.i18n._("questions/") + questionId + "/" + $.i18n._("vote/"),
data: { "type": voteType, "postId": postId },
error: handleFail,
success: function(data){callback(object, voteType, data)}});
diff --git a/templates/content/style/style.css b/templates/content/style/style.css
index e353dd47..6d48198b 100644
--- a/templates/content/style/style.css
+++ b/templates/content/style/style.css
@@ -745,7 +745,7 @@ background-color: #97ff97;
}
/*用户资料页面*/
-.count {font-family:Arial;font-size:200%;font-weight:700;color:#777}
+.count {font-family:Arial;font-size:24px;font-weight:700;color:#777}
.scoreNumber{font-family:Arial;font-size:35px;font-weight:800;color:#777;line-height:40px;
/*letter-spacing:0px*/
}
diff --git a/templates/faq.html b/templates/faq.html
index 7e99ae7f..aec37a56 100644
--- a/templates/faq.html
+++ b/templates/faq.html
@@ -25,7 +25,7 @@
<div>
<h3 class="subtitle">{% trans "What should I avoid in my answers?" %}</h3>
- <p>{% trans "site title" %} {% trans "is a Q&A site, not a discussion group. Therefore - please avoid having discussions in your answers, comment facility allows some space for brief discussions." %}</p>
+ <p>{{ settings.APP_TITLE }} {% trans "is a Q&A site, not a discussion group. Therefore - please avoid having discussions in your answers, comment facility allows some space for brief discussions." %}</p>
</div>
<div>
@@ -39,13 +39,7 @@
<div>
<h3 class="subtitle">{% trans "How does reputation system work?" %}</h3>
<p>{% trans "Rep system summary" %}</p>
- <p>
- For example, if you ask an interesting question or give a helpful answer, your input will be upvoted.
- On the other hand if the answer is misleading - it will be downvoted.
- Each vote in favor will generate <strong>10</strong> points, each vote against will subtract <strong>2</strong> points.
- There is a limit of <strong>200</strong> points that can be accumulated per question or answer.
-
- The table below explains reputation point requirements for each type of moderation task.
+ <p>{% blocktrans %}For example, if you ask an interesting question or give a helpful answer, your input will be upvoted. On the other hand if the answer is misleading - it will be downvoted. Each vote in favor will generate <strong>10</strong> points, each vote against will subtract <strong>2</strong> points. There is a limit of <strong>200</strong> points that can be accumulated per question or answer. The table below explains reputation point requirements for each type of moderation task.{% endblocktrans %}
</p>
<table style="font-family:arial;" cellspacing="3" cellpadding="3">
@@ -115,7 +109,7 @@
<div>
<h3 class="subtitle">{% trans "To register, do I need to create new password?" %}</h3>
<p>{% trans "No, you don't have to. You can login through any service that supports OpenID, e.g. Google, Yahoo, AOL, etc." %}
- <strong><a href="/account/signin">{% trans "Login now!" %}</a> »</strong>
+ <strong><a href="{% url user_signin %}">{% trans "Login now!" %}</a> »</strong>
</p>
</div>
@@ -129,7 +123,7 @@
<h3 class="subtitle">{% trans "Still have questions?" %}</h3>
<p>{% trans "Please ask your question, help make our community better!" %}
<!--
- <a href="/tags/faq" class="big">{% trans "site title" %} {% trans "questions" %}</a>{% trans "." %}
+ <a href="{% url tags %}faq" class="big">{{ settings.APP_TITLE }} {% trans "questions" %}</a>{% trans "." %}
-->
</p>
</div>
diff --git a/templates/footer.html b/templates/footer.html
index c291c328..9e877b42 100644
--- a/templates/footer.html
+++ b/templates/footer.html
@@ -4,11 +4,11 @@
<!-- 页面底部开始: -->
<div id="ground">
<div class="footerLinks" >
- <a href="/about">{% trans "about" %}</a><span class="link-separator"> |</span>
- <a href="/faq">{% trans "faq" %}</a><span class="link-separator"> |</span>
+ <a href="{% url about %}">{% trans "about" %}</a><span class="link-separator"> |</span>
+ <a href="{% url faq %}">{% trans "faq" %}</a><span class="link-separator"> |</span>
<a href="{{ blog_url }}">{% trans "blog" %}</a><span class="link-separator"> |</span>
<a href="{{ webmaster_email }}">{% trans "contact us" %}</a><span class="link-separator"> |</span>
- <a href="/privacy">{% trans "privacy policy" %}</a><span class="link-separator"> |</span>
+ <a href="{% url privacy %}">{% trans "privacy policy" %}</a><span class="link-separator"> |</span>
<a href="{{ feedback_url }}" target="_blank">{% trans "give feedback" %}</a>
</div>
<p style="margin-top:10px;">
@@ -27,7 +27,7 @@
</script>
<script type="text/javascript">
try {
- var pageTracker = _gat._getTracker({{ settings.GOOGLE_ANALYTICS_KEY }});
+ var pageTracker = _gat._getTracker("{{ settings.GOOGLE_ANALYTICS_KEY }}");
pageTracker._trackPageview();
} catch(err) {}
</script>
diff --git a/templates/header.html b/templates/header.html
index d606e9e7..e1097802 100644
--- a/templates/header.html
+++ b/templates/header.html
@@ -6,13 +6,13 @@
<div id="top">
<!--<div id="header">-->
{% if request.user.is_authenticated %}
- <a href="/users/{{ request.user.id }}/{{ request.user.username }}/">{{ request.user.username }}</a> {% get_score_badge request.user %}
- <a href="/logout/">{% trans "logout" %}</a>
+ <a href="{% url users %}{{ request.user.id }}/{{ request.user.username }}/">{{ request.user.username }}</a> {% get_score_badge request.user %}
+ <a href="{% url logout %}">{% trans "logout" %}</a>
{% else %}
- <a href="/account/signin">{% trans "login" %}</a>
+ <a href="{% url user_signin %}">{% trans "login" %}</a>
{% endif %}
- <a href="/about">{% trans "about" %}</a>
- <a href="/faq">{% trans "faq" %}</a>
+ <a href="{% url about %}">{% trans "about" %}</a>
+ <a href="{% url faq %}">{% trans "faq" %}</a>
<!--</div>-->
</div>
<table width="100%" border="0" cellspacing="0" cellpadding="0">
@@ -26,20 +26,22 @@
</td>
<td width="77%" valign="bottom">
<div class="nav">
- <a id="nav_questions" href="/questions/" >{% trans "questions" %}</a>
- <a id="nav_tags" href="/tags/">{% trans "tags" %}</a>
- <a id="nav_users" href="/users/">{% trans "users" %}</a>
- <!--<a id="nav_books" href="/books/">{% trans "books" %}</a>-->
- <a id="nav_badges" href="/badges/">{% trans "badges" %}</a>
- <a id="nav_unanswered" href="/questions/unanswered/">{% trans "unanswered questions" %}</a>
+ <a id="nav_questions" href="{% url questions %}" >{% trans "questions" %}</a>
+ <a id="nav_tags" href="{% url tags %}">{% trans "tags" %}</a>
+ <a id="nav_users" href="{% url users %}">{% trans "users" %}</a>
+ {% if settings.BOOKS_ON %}
+ <a id="nav_books" href="{% url books %}">{% trans "books" %}</a>
+ {% endif %}
+ <a id="nav_badges" href="{% url badges %}">{% trans "badges" %}</a>
+ <a id="nav_unanswered" href="{% url unanswered %}">{% trans "unanswered questions" %}</a>
{% comment %}<!-- i think this needs to be removed -e.f. -->
{% if request.user.is_authenticated %}
- <a id="nav_profile" href="/users/{{ request.user.id }}/{{ request.user.username }}/">{% trans "my profile" %}</a>
+ <a id="nav_profile" href="{% url user %}{{ request.user.id }}/{{ request.user.username }}/">{% trans "my profile" %}</a>
{% endif %}
{% endcomment %}
<div class="focus">
- <a id="nav_ask" href="/questions/ask/" class="special">{% trans "ask a question" %}</a>
+ <a id="nav_ask" href="{% url ask %}" class="special">{% trans "ask a question" %}</a>
</div>
</div>
@@ -51,7 +53,7 @@
<table width="100%" border="0" cellpadding="0" cellspacing="0" class="content">
<tr>
<td align="center" valign="middle">
- <form action="/search/" method="get">
+ <form action="{% url search %}" method="get">
<div>
<input type="text" class="searchInput" value="{{ keywords }}" name="q" id="keywords" />
<input type="submit" name="Submit" value="{% trans "search" %}" class="searchBtn" />
diff --git a/templates/index.html b/templates/index.html
index 964721f7..104b24d0 100644
--- a/templates/index.html
+++ b/templates/index.html
@@ -21,10 +21,10 @@
<div class="tabBar">
<div class="headQuestions">{% trans "Questions" %}</div>
<div class="tabsA">
- <a id="latest" href="?sort=latest" title="{% trans "last updated questions" %}" >{% trans "newest" %}</a>
- <a id="hottest" href="?sort=hottest" title="{% trans "hottest questions" %}" >{% trans "hottest" %}</a>
- <a id="mostvoted" href="?sort=mostvoted" title="{% trans "most voted questions" %}" >{% trans "most voted" %}</a>
- <a id="all" href="/questions/" title="{% trans "all questions" %}" >{% trans "all questions" %}</a>
+ <a id="latest" href="{% url questions %}?sort=latest" title="{% trans "last updated questions" %}" >{% trans "newest" %}</a>
+ <a id="hottest" href="{% url questions %}?sort=hottest" title="{% trans "hottest questions" %}" >{% trans "hottest" %}</a>
+ <a id="mostvoted" href="{% url questions %}?sort=mostvoted" title="{% trans "most voted questions" %}" >{% trans "most voted" %}</a>
+ <a id="all" href="{% url questions %}" title="{% trans "all questions" %}" >{% trans "all questions" %}</a>
</div>
</div>
<!-- 问题列表 -->
@@ -79,9 +79,9 @@
<div class="boxA">
<h3>{% trans "welcome to website" %}</h3>
<div class="body">
- {{settings.APP_INTRO|safe}}
- <div class="more"><a href="/about">{% trans "about" %} »</a></div>
- <div class="more"><a href="/faq">{% trans "faq" %} »</a></div>
+ {{ settings.APP_INTRO|safe }}
+ <div class="more"><a href="{% url about %}">{% trans "about" %} »</a></div>
+ <div class="more"><a href="{% url faq %}">{% trans "faq" %} »</a></div>
</div>
</div>
{% endif %}
@@ -94,7 +94,7 @@
title="{% blocktrans with tag.name as tagname %}see questions tagged '{{tagname}}'{% endblocktrans %}" href="{% url forum.views.tag tag.name|urlencode %}">{{ tag.name }}</a>
{% endfor %}
</div>
- <div class="more"><a href="/tags">{% trans "popular tags" %} »</a> </div>
+ <div class="more"><a href="{% url tags %}">{% trans "popular tags" %} »</a> </div>
</div>
</div>
{% if awards %}
@@ -104,13 +104,13 @@
<ul class="badge-list">
{% for award in awards %}
<li>
- <a href="/badges/{{award.badge_id}}/{{award.badge_name}}" title="{{ award.badge_description }}" class="medal">
+ <a href="{% url badges %}{{award.badge_id}}/{{award.badge_name}}" title="{{ award.badge_description }}" class="medal">
<span class="badge{{ award.badge_type }}">&#9679;</span>&nbsp;{{ award.badge_name }}</a> {% trans "given to" %}
- <a href="/users/{{award.user_id}}/{{award.user_name}}">{{ award.user_name }}</a>
+ <a href="{% url users %}{{award.user_id}}/{{award.user_name}}">{{ award.user_name }}</a>
</li>
{% endfor %}
</ul>
- <div class="more"><a href="/badges/">{% trans "all awards" %} »</a> </div>
+ <div class="more"><a href="{% url badges %}">{% trans "all awards" %} »</a> </div>
</div>
</div>
{% endif %}
@@ -120,7 +120,7 @@
{% endblock %}
{% block tail %}
<div style="padding:5px 0 5px 5px;">
-<span class="evenMore">{% trans "Still looking for more? See" %} <a href="/questions/">{% trans "complete list of questions" %}</a> {% trans "or" %} <a href="/tags/">{% trans "popular tags" %}</a>{% trans "." %} {% trans "Please help us answer" %} <a href="/questions/unanswered">{% trans "list of unanswered questions" %}</a>{% trans "." %}</span>
+<span class="evenMore">{% trans "Still looking for more? See" %} <a href="{% url questions %}">{% trans "complete list of questions" %}</a> {% trans "or" %} <a href="/tags/">{% trans "popular tags" %}</a>{% trans "." %} {% trans "Please help us answer" %} <a href="{% url questions %}unanswered">{% trans "list of unanswered questions" %}</a>{% trans "." %}</span>
</div>
{% endblock %}
<!-- index.html -->
diff --git a/templates/question.html b/templates/question.html
index 74bc014b..66713342 100644
--- a/templates/question.html
+++ b/templates/question.html
@@ -30,7 +30,7 @@
{% if not question.closed and request.user.is_authenticated %}initEditor();{% endif %}
lanai.highlightSyntax();
- $('#btLogin').bind('click', function(){window.location.href='/account/signin/'; } )
+ $('#btLogin').bind('click', function(){window.location.href='{% url user_signin %}'; } )
});
function initEditor(){
@@ -122,7 +122,7 @@
<div id="question-tags" class="tags" >
{% for tag in question.tagname_list %}
<a href="{% url forum.views.tag tag|urlencode %}" class="post-tag"
- title="{% trans "see questions tagged" %}'{{ tag }}'{% trans "using tags" %}" rel="tag">{{ tag }}</a>
+ title="{% blocktrans with tag as tagname %}see questions tagged '{{ tagname }}'{% endblocktrans %}" rel="tag">{{ tag }}</a>
{% endfor %}
</div>
<div id="question-controls" style="clear:both;">
@@ -174,7 +174,7 @@
{% gravatar question.last_edited_by 32 %}
</td>
<td style="width:160px; vertical-align:top">
- <a href="/users/{{ question.last_edited_by.id }}/{{ question.last_edited_by.username }}">{{ question.last_edited_by.username }}</a>
+ <a href="{% url users %}{{ question.last_edited_by.id }}/{{ question.last_edited_by.username }}">{{ question.last_edited_by.username }}</a>
</td>
</tr>
{% else %}
@@ -189,7 +189,7 @@
{% gravatar question.last_edited_by 32 %}
</td>
<td style="width:160px; vertical-align:top">
- <div><a href="/users/{{ question.last_edited_by.id }}/{{ question.last_edited_by.username }}">{{ question.last_edited_by.username }}</a></div>
+ <div><a href="{% url users %}{{ question.last_edited_by.id }}/{{ question.last_edited_by.username }}">{{ question.last_edited_by.username }}</a></div>
<div>
{% get_score_badge question.last_edited_by %}
@@ -223,7 +223,7 @@
{% gravatar question.author 32 %}
</td>
<td align="left" style="width:160px;vertical-align:top">
- <div><a href="/users/{{ question.author.id }}/{{ question.author }}">{{ question.author }}</a></div>
+ <div><a href="{% url users %}{{ question.author.id }}/{{ question.author }}">{{ question.author }}</a></div>
<div>
{% get_score_badge question.author %}
</div>
@@ -361,7 +361,7 @@
{% gravatar answer.last_edited_by 32 %}
</td>
<td style="width:160px; vertical-align:top">
- <div><a href="/users/{{ answer.last_edited_by.id }}/{{ answer.last_edited_by.username }}">{{ answer.last_edited_by.username }}</a></div>
+ <div><a href="{% url users %}{{ answer.last_edited_by.id }}/{{ answer.last_edited_by.username }}">{{ answer.last_edited_by.username }}</a></div>
</td>
</tr>
@@ -377,7 +377,7 @@
{% gravatar answer.last_edited_by 32 %}
</td>
<td style="width:160px; vertical-align:top">
- <div><a href="/users/{{ answer.last_edited_by.id }}/{{ answer.last_edited_by.username }}">{{ answer.last_edited_by.username }}</a></div>
+ <div><a href="{% url users %}{{ answer.last_edited_by.id }}/{{ answer.last_edited_by.username }}">{{ answer.last_edited_by.username }}</a></div>
<div>
{% get_score_badge answer.last_edited_by %}
</div>
@@ -407,7 +407,7 @@
{% gravatar answer.author 32 %}
</td>
<td style="width:160px; vertical-align:top">
- <div><a href="/users/{{ answer.author.id }}/{{ answer.author.username }}">{{ answer.author }}</a></div>
+ <div><a href="{% url users %}{{ answer.author.id }}/{{ answer.author.username }}">{{ answer.author }}</a></div>
<div>
{% get_score_badge answer.author %}
</div>
@@ -516,7 +516,7 @@
<div class="questions-related">
{% for question in similar_questions %}
<p>
- <a href="/questions/{{question.id}}/{{ question.get_question_title }}">{{ question.get_question_title }}</a>
+ <a href="{% url questions %}{{question.id}}/{{ question.get_question_title }}">{{ question.get_question_title }}</a>
</p>
{% endfor %}
</div>
diff --git a/templates/question_edit_tips.html b/templates/question_edit_tips.html
index ef6dca15..85614595 100644
--- a/templates/question_edit_tips.html
+++ b/templates/question_edit_tips.html
@@ -13,7 +13,8 @@
{% trans "be clear and concise" %}
</li>
</ul>
- <a href="/faq/" target="_blank" title="{% trans "see frequently asked questions" %}" style="float:right;position:relative">faq »</a>
+ <a href="{% url faq %}" target="_blank" title="{% trans "see frequently asked questions" %}" style="float:right;position:relative">{% trans "faq" %} »</a>
+ <br>
</div>
</div>
diff --git a/templates/revisions_answer.html b/templates/revisions_answer.html
index 9c2e53eb..23606dc9 100644
--- a/templates/revisions_answer.html
+++ b/templates/revisions_answer.html
@@ -73,7 +73,7 @@
</td>
<td style="width:120px; vertical-align:top">
<div style="height:18px">
- <a href="/users/{{ revision.author.id }}/{{ revision.author.username }}">{{ revision.author.username }}</a></div>
+ <a href="{% url users %}{{ revision.author.id }}/{{ revision.author.username }}">{{ revision.author.username }}</a></div>
<div>
{% get_score_badge revision.author %}
</div>
diff --git a/templates/revisions_question.html b/templates/revisions_question.html
index 7ada3e74..b76ced24 100644
--- a/templates/revisions_question.html
+++ b/templates/revisions_question.html
@@ -73,7 +73,7 @@
</td>
<td style="width:120px; vertical-align:top">
<div style="height:18px">
- <a href="/users/{{ revision.author.id }}/{{ revision.author.username }}">{{ revision.author.username }}</a></div>
+ <a href="{% url users %}{{ revision.author.id }}/{{ revision.author.username }}">{{ revision.author.username }}</a></div>
<div>
{% get_score_badge revision.author %}
</div>
diff --git a/templates/tags.html b/templates/tags.html
index 65a7e4dd..f558594a 100644
--- a/templates/tags.html
+++ b/templates/tags.html
@@ -29,8 +29,8 @@
<div class="tabBar">
<div class="headQuestions">{% trans "Tag list" %}</div>
<div class="tabsA">
- <a id="sort_name" href="/tags/?sort=name" class="off" title="{% trans "sorted alphabetically" %}">{% trans "by name" %}</a>
- <a id="sort_used" href="/tags/?sort=used" class="off" title="{% trans "sorted by frequency of tag use" %}">{% trans "by popularity" %}</a>
+ <a id="sort_name" href="{% url tags %}?sort=name" class="off" title="{% trans "sorted alphabetically" %}">{% trans "by name" %}</a>
+ <a id="sort_used" href="{% url tags %}?sort=used" class="off" title="{% trans "sorted by frequency of tag use" %}">{% trans "by popularity" %}</a>
</div>
</div>
<div id="searchtags">
diff --git a/templates/user_info.html b/templates/user_info.html
index 86e36023..e56fb143 100644
--- a/templates/user_info.html
+++ b/templates/user_info.html
@@ -31,7 +31,7 @@
<th width="130" align="left"><strong>{% trans "Registered user" %}</strong></th>
<th width="230" align="right">
{% if request.user|can_view_user_edit:view_user %}
- <span class="user-edit-link"><a href="/users/{{ view_user.id }}/edit/">{% trans "update profile" %}</a></span>
+ <span class="user-edit-link"><a href="{% url users %}{{ view_user.id }}/{% trans "edit/" %}">{% trans "update profile" %}</a></span>
{% endif %}
</th>
</tr>
diff --git a/templates/user_reputation.html b/templates/user_reputation.html
index bb7200de..270bb37d 100644
--- a/templates/user_reputation.html
+++ b/templates/user_reputation.html
@@ -33,7 +33,7 @@
<div style="float:left;width:20px;color:red">{{ rep.negative }}</div>
</div>
- <a href="/questions/{{ rep.question_id }}/{{ rep.title }}">{{ rep.title }}</a> <span class="small">({{ rep.reputed_at }})</span>
+ <a href="{% url questions %}{{ rep.question_id }}/{{ rep.title }}">{{ rep.title }}</a> <span class="small">({{ rep.reputed_at }})</span>
</p>
{% endfor %}
</div>
diff --git a/templates/user_stats.html b/templates/user_stats.html
index 2c2a7a72..07578cb7 100644
--- a/templates/user_stats.html
+++ b/templates/user_stats.html
@@ -7,85 +7,51 @@
{% block usercontent %}
<a name="questions"></a>
- <table>
- <tr>
- <td>
- <div style="text-align: right;" class="count">{{questions|length}}</div>
- </td>
- <td>
- <h2>{% trans "User questions" %}</h2>
- </td>
- </tr>
- </table>
+ <h2><span class="count">{{questions|length}}</span> {% trans "User questions" %}</h2>
{% include "users_questions.html" %}
- <p>&nbsp;</p>
<a name="answers"></a>
- <table>
- <tr>
- <td>
- <div style="text-align: right;" class="count">{{answered_questions|length}}</div>
- </td>
- <td >
- <h2>{% trans "Answers" %}</h2>
- </td>
- </tr>
- </table>
+ <h2><span class="count">{{answered_questions|length}}</span> {% trans "Answers" %}</h2>
<div class="user-stats-table">
{% for answered_question in answered_questions %}
<div class="answer-summary">
- <a title="{{answered_question.summary|collapse}}" href="/questions/{{answered_question.id}}/{{answered_question.title}}#{{answered_question.answer_id}}">
- <div class="answer-votes {% if answered_question.accepted %}answered-accepted{% endif %}"
- title="{% blocktrans with answered_question.vote_count as vote_count %}the answer has been voted for {{ vote_count }} times{% endblocktrans %}&#13;{% if answered_question.accepted %}{% trans "this answer has been selected as correct" %}{%endif%}">
+ <a title="{{answered_question.summary|collapse}}"
+ href="{% url questions %}{{answered_question.id}}/{{answered_question.title}}#{{answered_question.answer_id}}">
+ <span class="answer-votes {% if answered_question.accepted %}answered-accepted{% endif %}"
+ title="{% blocktrans with answered_question.vote_count as vote_count %}the answer has been voted for {{ vote_count }} times{% endblocktrans %} {% if answered_question.accepted %}{% trans "this answer has been selected as correct" %}{%endif%}">
{{ answered_question.vote_count }}
- </div>
+ </span>
</a>
<div class="answer-link">
- <a href="/questions/{{answered_question.id}}/{{answered_question.title}}#{{answered_question.answer_id}}">{{answered_question.title}}</a> {% if answered_question.comment_count %}<span
- title="{% blocktrans with answered_question.comment_count as comment_count %}the answer has been commented {{ comment_count }} times{% endblocktrans %}">({{answered_question.comment_count}})</span>{% endif %}
+ <a href="{% url questions %}{{answered_question.id}}/{{answered_question.title}}#{{answered_question.answer_id}}">{{answered_question.title}}</a>
+ {% if answered_question.comment_count %}
+ <span>
+ {% blocktrans with answered_question.comment_count as comment_count %}the answer has been commented {{ comment_count }} times{% endblocktrans %}
+ </span>
+ {% endif %}
</div>
</div>
{% endfor %}
</div>
- <p>&nbsp;</p>
<a name="votes"></a>
- <table>
- <tr>
- <td>
- <div style="text-align: right;" class="count">{{total_votes}}</div>
- </td>
- <td >
- <h2>{% trans "votes total" %}</h2>
- </td>
- </tr>
- </table>
+ <h2><span class="count">{{total_votes}}</span> {% trans "Votes" %}</h2>
<div class="user-stats-table">
- <table height="50px">
+ <table>
<tr>
<td width="60">
- <img style="cursor: default;" align="absmiddle" src="/content/images/vote-arrow-up-on.png"/>
+ <img style="cursor: default;" src="/content/images/vote-arrow-up-on.png" alt="{% trans "thumb up" %}" />
<span title="{% trans "user has voted up this many times" %}" class="vote-count">{{up_votes}}</span>
</td>
<td width="60">
- <img style="cursor: default;" align="absmiddle" src="/content/images/vote-arrow-down-on.png"/>
+ <img style="cursor: default;" src="/content/images/vote-arrow-down-on.png" alt="{% trans "thumb down" %}" />
<span title="{% trans "user voted down this many times" %}" class="vote-count">{{down_votes}}</span>
</td>
</tr>
</table>
</div>
- <p>&nbsp;</p>
<a name="tags"></a>
- <table>
- <tr>
- <td>
- <div style="text-align: right;" class="count">{{tags|length}}</div>
- </td>
- <td >
- <h2>{% trans "Tags" %}</h2>
- </td>
- </tr>
- </table>
+ <h2><span class="count">{{tags|length}}</span> {% trans "Tags" %}</h2>
<div class="user-stats-table">
<table class="tags">
<tr>
@@ -103,24 +69,14 @@
</tr>
</table>
</div>
- <p>&nbsp;</p>
<a name="badges"></a>
- <table>
- <tr>
- <td>
- <div style="text-align: right;" class="count">{{total_awards}}</div>
- </td>
- <td >
- <h2>{% trans "Badges" %}</h2>
- </td>
- </tr>
- </table>
+ <h2><span class="count">{{total_awards}}</span> {% trans "Badges" %}</h2>
<div class="user-stats-table">
<table>
<tr>
<td width="180" style="line-height:35px">
{% for award in awards %}
- <a href="/badges/{{award.id}}/{{award.name}}" title="{{ award.description }}" class="medal"><span class="badge{{ award.type }}">&#9679;</span>&nbsp;{{ award.name }}</a><span class="tag-number"> × {{ award.count|intcomma }}</span><br/>
+ <a href="{% url badges %}{{award.id}}/{{award.name}}" title="{{ award.description }}" class="medal"><span class="badge{{ award.type }}">&#9679;</span>&nbsp;{{ award.name }}</a><span class="tag-number"> &#x2715; {{ award.count|intcomma }}</span><br/>
{% if forloop.counter|divisibleby:"6" %}
</td>
<td width="180" style="line-height:35px">
diff --git a/templates/user_tabs.html b/templates/user_tabs.html
index 7800eb00..cb7e1d2f 100644
--- a/templates/user_tabs.html
+++ b/templates/user_tabs.html
@@ -4,28 +4,28 @@
<div class="tabBar">
<div class="tabsA">
<a id="stats" {% ifequal tab_name "stats" %}class="on"{% endifequal %}
- title="{% trans "User profile" %}" href="/users/{{view_user.id}}/{{view_user.username}}?sort=stats">{% trans "overview" %}</a>
+ title="{% trans "User profile" %}" href="{% url users %}{{view_user.id}}/{{view_user.username}}?sort=stats">{% trans "overview" %}</a>
<a id="recent" {% ifequal tab_name "recent" %}class="on"{% endifequal %}
- title="{% trans "recent activity" %}" href="/users/{{view_user.id}}/{{view_user.username}}?sort=recent">{% trans "recent activity" %}</a>
+ title="{% trans "recent activity" %}" href="{% url users %}{{view_user.id}}/{{view_user.username}}?sort=recent">{% trans "recent activity" %}</a>
{% if request.user|is_user_self:view_user %}
<a id="responses" {% ifequal tab_name "responses" %}class="on"{% endifequal %}
title="{% trans "comments and answers to others questions" %}"
- href="/users/{{view_user.id}}/{{view_user.username}}?sort=responses">{% trans "responses" %}</a>
+ href="{% url users %}{{view_user.id}}/{{view_user.username}}?sort=responses">{% trans "responses" %}</a>
{% endif %}
<a id="reputation" {% ifequal tab_name "reputation" %}class="on"{% endifequal %}
title="{% trans "graph of user reputation" %}"
- href="/users/{{view_user.id}}/{{view_user.username}}?sort=reputation">{% trans "reputation history" %}</a>
+ href="{% url users %}{{view_user.id}}/{{view_user.username}}?sort=reputation">{% trans "reputation history" %}</a>
{% if request.user|can_view_user_votes:view_user %}
<a id="votes" {% ifequal tab_name "votes" %}class="on"{% endifequal %}
- title="{% trans "user vote record" %}" href="/users/{{view_user.id}}/{{view_user.username}}?sort=votes">{% trans "casted votes" %}</a>
+ title="{% trans "user vote record" %}" href="{% url users %}{{view_user.id}}/{{view_user.username}}?sort=votes">{% trans "casted votes" %}</a>
{% endif %}
<a id="favorites" {% ifequal tab_name "favorites" %}class="on"{% endifequal %}
title="{% trans "questions that user selected as his/her favorite" %}"
- href="/users/{{view_user.id}}/{{view_user.username}}?sort=favorites">{% trans "favorites" %}</a>
+ href="{% url users %}{{view_user.id}}/{{view_user.username}}?sort=favorites">{% trans "favorites" %}</a>
{% if request.user|can_view_user_preferences:view_user %}
<a id="preferences" {% ifequal tab_name "preferences" %}class="on"{% endifequal %}
title="{% trans "user preference settings" %}"
- href="/users/{{view_user.id}}/{{view_user.username}}?sort=preferences">{% trans "settings" %}</a>
+ href="{% url users %}{{view_user.id}}/{{view_user.username}}?sort=preferences">{% trans "settings" %}</a>
{% endif %}
</div>
</div>
diff --git a/templates/user_votes.html b/templates/user_votes.html
index 80fa27ee..45134ac9 100644
--- a/templates/user_votes.html
+++ b/templates/user_votes.html
@@ -18,9 +18,9 @@
</div>
<div style="float:left;overflow:hidden;width:750px">
{% ifequal vote.answer_id 0 %}
- <span class="question-title-link"><a href="/questions/{{ vote.question_id }}/{{ vote.title }}">{{ vote.title }}</a></span>
+ <span class="question-title-link"><a href="{% url questions %}{{ vote.question_id }}/{{ vote.title }}">{{ vote.title }}</a></span>
{% else %}
- <span class="answer-title-link" ><a href="/questions/{{ vote.question_id }}/{{ vote.title }}#{{ vote.answer_id }}">{{ vote.title }}</a></span>
+ <span class="answer-title-link" ><a href="{% url questions %}{{ vote.question_id }}/{{ vote.title }}#{{ vote.answer_id }}">{{ vote.title }}</a></span>
{% endifequal %}
<div style="height:5px"></div>
</div>
diff --git a/templates/users_questions.html b/templates/users_questions.html
index 7b00fd3f..9907885e 100644
--- a/templates/users_questions.html
+++ b/templates/users_questions.html
@@ -9,13 +9,15 @@
{% if question.favorited_myself %}
<div class="favorites-count">
<img title="{% trans "this questions was selected as favorite" %} {{question.favourite_count}} {% trans "number of times" %}"
- src="/content/images/vote-favorite-on.png">
+ alt="{% trans "thumb-up on" %}"
+ src="/content/images/vote-favorite-on.png"/>
<div><b>{{question.favourite_count|intcomma}}</b></div>
</div>
{% else %}
<div class="favorites-count-off">
<img title="{% trans "this question was selected as favorite" %}{{question.favourite_count}} {% trans "number of times" %}"
- src="/content/images/vote-favorite-off.png">
+ alt="{% trans "thumb-up off" %}"
+ src="/content/images/vote-favorite-off.png"/>
<div><b>{{question.favourite_count|intcomma}}</b></div>
</div>
{% endif %}
@@ -23,27 +25,27 @@
<div class="favorites-empty"> </div>
{% endif %}
<div id="question-summary-{{question.id}}" class="question-summary narrow">
- <a style="text-decoration: none;" href="/questions/{{question.id}}/{{question.get_question_title}}">
- <div class="stats">
- <div class="votes">
- <div class="vote-count-post">{{question.vote_count|intcomma}}</div>
+ <a style="text-decoration: none;" href="{% url questions %}{{question.id}}/{{question.get_question_title}}">
+ <span class="stats">
+ <span class="votes">
+ <span class="vote-count-post">{{question.vote_count|intcomma}}</span>
{% trans "votes" %}
- </div>
- <div title="{% if question.answer_accepted %}{% trans "this answer has been accepted to be correct" %}{% endif %}" class="status {% if question.answer_accepted %}answered-accepted{% endif %} {% ifequal question.answer_count 0 %}unanswered{% endifequal %}{% ifnotequal question.answer_count 0 %}answered{% endifnotequal %}">
- <div class="answer-count-post">{{question.answer_count|intcomma}}</div>
+ </span>
+ <span title="{% if question.answer_accepted %}{% trans "this answer has been accepted to be correct" %}{% endif %}" class="status {% if question.answer_accepted %}answered-accepted{% endif %} {% ifequal question.answer_count 0 %}unanswered{% endifequal %}{% ifnotequal question.answer_count 0 %}answered{% endifnotequal %}">
+ <span class="answer-count-post">{{question.answer_count|intcomma}}</span>
{% trans "answers" %}
- </div>
- <div class="views">
- <div class="views-count-post">{{question.view_count|cnprog_intword|safe}}</div>
+ </span>
+ <span class="views">
+ <span class="views-count-post">{{question.view_count|cnprog_intword|safe}}</span>
{% trans "views" %}
- </div>
- </div>
+ </span>
+ </span>
</a>
<div class="summary">
<h3>
- <a title="{{question.summary|collapse}}" href="/questions/{{question.id}}/{{question.title}}">{{question.title}}</a>
+ <a title="{{question.summary}}" href="{% url questions %}{{question.id}}/{{question.title}}">{{question.title}}</a>
</h3>
<div class="tags">
{% convert2tagname_list question %}
@@ -55,12 +57,12 @@
<div class="started">
<span class="relativetime" title="{{question.last_activity_at}}">{% diff_date question.last_activity_at %}</span>
{% if question.la_username %}
- <a href="/users/{{question.la_user_id}}/{{question.la_username}}">{{question.la_username}}</a> {% get_score_badge_by_details question.la_user_reputation question.la_user_gold question.la_user_silver question.la_user_bronze%}
+ <a href="{% url users %}{{question.la_user_id}}/{{question.la_username}}">{{question.la_username}}</a> {% get_score_badge_by_details question.la_user_reputation question.la_user_gold question.la_user_silver question.la_user_bronze%}
{% endif %}
</div>
</div>
</div>
- <br clear="both"/>
+ <br clear="all"/>
{% endfor %}
</div>
<!-- end users_questions.html -->
diff --git a/urls.py b/urls.py
index eb28cf69..cce4969e 100644
--- a/urls.py
+++ b/urls.py
@@ -4,6 +4,7 @@ from django.contrib import admin
from forum.views import index
from forum import views as app
from forum.feed import RssLastestQuestionsFeed
+from django.utils.translation import ugettext as _
admin.autodiscover()
feeds = {
@@ -18,50 +19,50 @@ urlpatterns = patterns('',
(r'^content/(?P<path>.*)$', 'django.views.static.serve',
{'document_root': os.path.join(APP_PATH, 'templates/content').replace('\\','/')}
),
- (r'^upfiles/(?P<path>.*)$', 'django.views.static.serve',
+ (r'^%s(?P<path>.*)$' % _('upfiles/'), 'django.views.static.serve',
{'document_root': os.path.join(APP_PATH, 'templates/upfiles').replace('\\','/')}
),
- (r'^account/', include('django_authopenid.urls')),
- (r'^signin/$', 'django_authopenid.views.signin'),
- url(r'^email/change/$', 'django_authopenid.views.changeemail', name='user_changeemail'),
- url(r'^email/sendkey/$', 'django_authopenid.views.send_email_key'),
- url(r'^email/verify/(?P<id>\d+)/(?P<key>[\dabcdef]{32})/$', 'django_authopenid.views.verifyemail', name='user_verifyemail'),
- url(r'^about/$', app.about, name='about'),
- url(r'^faq/$', app.faq, name='faq'),
- url(r'^privacy/$', app.privacy, name='privacy'),
- url(r'^logout/$', app.logout, name='logout'),
- url(r'^answers/(?P<id>\d+)/comments/$', app.answer_comments, name='answer_comments'),
- url(r'^answers/(?P<id>\d+)/edit/$', app.edit_answer, name='edit_answer'),
- url(r'^answers/(?P<id>\d+)/revisions/$', app.answer_revisions, name='answer_revisions'),
- url(r'^questions/$', app.questions, name='questions'),
- url(r'^questions/ask/$', app.ask, name='ask'),
- url(r'^questions/unanswered/$', app.unanswered, name='unanswered'),
- url(r'^questions/(?P<id>\d+)/edit/$', app.edit_question, name='edit_question'),
- url(r'^questions/(?P<id>\d+)/close/$', app.close, name='close'),
- url(r'^questions/(?P<id>\d+)/reopen/$', app.reopen, name='reopen'),
- url(r'^questions/(?P<id>\d+)/answer/$', app.answer, name='answer'),
- url(r'^questions/(?P<id>\d+)/vote/$', app.vote, name='vote'),
- url(r'^questions/(?P<id>\d+)/revisions/$', app.question_revisions, name='question_revisions'),
- url(r'^questions/(?P<id>\d+)/comments/$', app.question_comments, name='question_comments'),
- url(r'^questions/(?P<question_id>\d+)/comments/(?P<comment_id>\d+)/delete/$', app.delete_question_comment, name='delete_question_comment'),
- url(r'^answers/(?P<answer_id>\d+)/comments/(?P<comment_id>\d+)/delete/$', app.delete_answer_comment, name='delete_answer_comment'),
+ (r'^%s' % _('account/'), include('django_authopenid.urls')),
+ (r'^%s/$' % _('signin/'), 'django_authopenid.views.signin'),
+ url(r'^%s%s$' % (_('email/'), _('change/')), 'django_authopenid.views.changeemail', name='user_changeemail'),
+ url(r'^%s%s$' % (_('email/'), _('sendkey/')), 'django_authopenid.views.send_email_key'),
+ url(r'^%s%s(?P<id>\d+)/(?P<key>[\dabcdef]{32})/$' % (_('email/'), _('verify/')), 'django_authopenid.views.verifyemail', name='user_verifyemail'),
+ url(r'^%s$' % _('about/'), app.about, name='about'),
+ url(r'^%s$' % _('faq/'), app.faq, name='faq'),
+ url(r'^%s$' % _('privacy/'), app.privacy, name='privacy'),
+ url(r'^%s$' % _('logout/'), app.logout, name='logout'),
+ url(r'^%s(?P<id>\d+)/%s$' % (_('answers/'), _('comments/')), app.answer_comments, name='answer_comments'),
+ url(r'^%s(?P<id>\d+)/%s$' % (_('answers/'), _('edit/')), app.edit_answer, name='edit_answer'),
+ url(r'^%s(?P<id>\d+)/%s$' % (_('answers/'), _('revisions/')), app.answer_revisions, name='answer_revisions'),
+ url(r'^%s$' % _('questions/'), app.questions, name='questions'),
+ url(r'^%s%s$' % (_('questions/'), _('ask/')), app.ask, name='ask'),
+ url(r'^%s%s$' % (_('questions/'), _('unanswered/')), app.unanswered, name='unanswered'),
+ url(r'^%s(?P<id>\d+)/%s$' % (_('questions/'), _('edit/')), app.edit_question, name='edit_question'),
+ url(r'^%s(?P<id>\d+)/%s$' % (_('questions/'), _('close/')), app.close, name='close'),
+ url(r'^%s(?P<id>\d+)/%s$' % (_('questions/'), _('reopen/')), app.reopen, name='reopen'),
+ url(r'^%s(?P<id>\d+)/%s$' % (_('questions/'), _('answer/')), app.answer, name='answer'),
+ url(r'^%s(?P<id>\d+)/%s$' % (_('questions/'), _('vote/')), app.vote, name='vote'),
+ url(r'^%s(?P<id>\d+)/%s$' % (_('questions/'), _('revisions/')), app.question_revisions, name='question_revisions'),
+ url(r'^%s(?P<id>\d+)/%s$' % (_('questions/'), _('comments/')), app.question_comments, name='question_comments'),
+ url(r'^%s(?P<question_id>\d+)/%s(?P<comment_id>\d+)/%s$' % (_('questions/'), _('questions/'),_('delete/')), app.delete_question_comment, name='delete_question_comment'),
+ url(r'^%s(?P<answer_id>\d+)/%s(?P<comment_id>\d+)/%s$' % (_('answers/'), _('answers/'),_('delete/')), app.delete_answer_comment, name='delete_answer_comment'),
#place general question item in the end of other operations
- url(r'^questions/(?P<id>\d+)//*', app.question, name='question'),
- (r'^tags/$', app.tags),
- (r'^tags/(?P<tag>[^/]+)/$', app.tag),
- (r'^users/$',app.users),
- url(r'^users/(?P<id>\d+)/edit/$', app.edit_user, name='edit_user'),
- url(r'^users/(?P<id>\d+)//*', app.user, name='user'),
- url(r'^badges/$',app.badges, name='badges'),
- url(r'^badges/(?P<id>\d+)//*', app.badge, name='badge'),
- url(r'^messages/markread/$',app.read_message, name='read_message'),
- # (r'^admin/doc/', include('django.contrib.admindocs.urls')),
- (r'^nimda/(.*)', admin.site.root),
- (r'^feeds/(?P<url>.*)/$', 'django.contrib.syndication.views.feed', {'feed_dict': feeds}),
- (r'^upload/$', app.upload),
- url(r'^books/$', app.books, name='books'),
- url(r'^books/ask/(?P<short_name>[^/]+)/$', app.ask_book, name='ask_book'),
- url(r'^books/(?P<short_name>[^/]+)/$', app.book, name='book'),
- url(r'^search/$', app.search, name='search'),
+ url(r'^%s(?P<id>\d+)//*' % _('question/'), app.question, name='question'),
+ url(r'^%s$' % _('tags/'), app.tags, name='tags'),
+ url(r'^%s(?P<tag>[^/]+)/$' % _('tags/'), app.tag),
+ url(r'^%s$' % _('users/'),app.users, name='users'),
+ url(r'^%s(?P<id>\d+)/%s$' % (_('users/'), _('edit/')), app.edit_user, name='edit_user'),
+ url(r'^%s(?P<id>\d+)//*' % _('users/'), app.user, name='user'),
+ url(r'^%s$' % _('badges/'),app.badges, name='badges'),
+ url(r'^%s(?P<id>\d+)//*' % _('badges/'), app.badge, name='badge'),
+ url(r'^%s%s$' % (_('messages/'), _('markread/')),app.read_message, name='read_message'),
+ # (r'^admin/doc/' % _('admin/doc'), include('django.contrib.admindocs.urls')),
+ (r'^%s(.*)' % _('nimda/'), admin.site.root),
+ url(r'^feeds/(?P<url>.*)/$', 'django.contrib.syndication.views.feed', {'feed_dict': feeds}),
+ (r'^%s$' % _('upload/'), app.upload),
+ url(r'^%s$' % _('books/'), app.books, name='books'),
+ url(r'^%s%s(?P<short_name>[^/]+)/$' % (_('books/'), _('ask/')), app.ask_book, name='ask_book'),
+ url(r'^%s(?P<short_name>[^/]+)/$' % _('books/'), app.book, name='book'),
+ url(r'^%s$' % _('search/'), app.search, name='search'),
(r'^i18n/', include('django.conf.urls.i18n')),
)