summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--forum/forms.py5
-rw-r--r--forum/models.py2
-rw-r--r--forum/views.py10
-rw-r--r--locale/es/LC_MESSAGES/django.mobin42843 -> 42056 bytes
-rw-r--r--locale/es/LC_MESSAGES/django.po375
-rw-r--r--templates/ask.html7
-rw-r--r--templates/question.html1
-rw-r--r--templates/question.html~518
-rw-r--r--templates/question_edit.html5
-rw-r--r--templates/questions.html1
10 files changed, 731 insertions, 193 deletions
diff --git a/forum/forms.py b/forum/forms.py
index 59d0d620..127210c5 100644
--- a/forum/forms.py
+++ b/forum/forms.py
@@ -95,6 +95,8 @@ class AskForm(forms.Form):
tags = TagNamesField()
wiki = WikiField()
+ categories = forms.ModelChoiceField(help_text=_('please choice a category'),
+ queryset=Category.objects.all(), label=_('Category'))
openid = forms.CharField(required=False, max_length=255, widget=forms.TextInput(attrs={'size' : 40, 'class':'openid-input'}))
user = forms.CharField(required=False, max_length=255, widget=forms.TextInput(attrs={'size' : 35}))
email = forms.CharField(required=False, max_length=255, widget=forms.TextInput(attrs={'size' : 35}))
@@ -154,6 +156,9 @@ class EditQuestionForm(forms.Form):
tags = TagNamesField()
summary = SummaryField()
+ categories = forms.ModelChoiceField(help_text=_('please choice a category'),
+ queryset=Category.objects.all(), label=_('Category'))
+
def __init__(self, question, revision, *args, **kwargs):
super(EditQuestionForm, self).__init__(*args, **kwargs)
self.fields['title'].initial = revision.title
diff --git a/forum/models.py b/forum/models.py
index 7f51d2d2..8c87363a 100644
--- a/forum/models.py
+++ b/forum/models.py
@@ -22,8 +22,6 @@ class Category(models.Model):
def __unicode__(self):
return self.name
-
- #TODO: url
class EmailFeed(models.Model):
#subscription key for unsubscribe by visiting emailed link
diff --git a/forum/views.py b/forum/views.py
index 19d1e327..760e723c 100644
--- a/forum/views.py
+++ b/forum/views.py
@@ -224,7 +224,7 @@ def create_new_answer( question=None, author=None,\
def create_new_question(title=None,author=None,added_at=None,
wiki=False,tagnames=None,summary=None,
- text=None):
+ text=None, category=None):
"""this is not a view
and maybe should become one of the methods on Question object?
"""
@@ -238,7 +238,8 @@ def create_new_question(title=None,author=None,added_at=None,
wiki = wiki,
tagnames = tagnames,
html = html,
- summary = summary
+ summary = summary,
+ category = category
)
if question.wiki:
question.last_edited_by = question.author
@@ -274,6 +275,7 @@ def ask(request):
text = form.cleaned_data['text']
html = sanitize_html(markdowner.convert(text))
summary = strip_tags(html)[:120]
+ category = form.cleaned_data['categories']
if request.user.is_authenticated():
author = request.user
@@ -285,7 +287,8 @@ def ask(request):
wiki = wiki,
tagnames = tagnames,
summary = summary,
- text = text
+ text = text,
+ category = category
)
return HttpResponseRedirect(question.get_absolute_url())
@@ -514,6 +517,7 @@ def _edit_question(request, question):
'tagnames': form.cleaned_data['tags'],
'summary': strip_tags(html)[:120],
'html': html,
+ 'category': form.cleaned_data['categories']
}
# only save when it's checked
diff --git a/locale/es/LC_MESSAGES/django.mo b/locale/es/LC_MESSAGES/django.mo
index a2a27c2f..dec5aa7f 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 b209c72c..baf7cc6e 100644
--- a/locale/es/LC_MESSAGES/django.po
+++ b/locale/es/LC_MESSAGES/django.po
@@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-08-05 22:28-0400\n"
-"PO-Revision-Date: 2009-08-07 11:21-0600\n"
+"POT-Creation-Date: 2009-08-09 20:15+0000\n"
+"PO-Revision-Date: 2009-08-09 14:16-0600\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"MIME-Version: 1.0\n"
@@ -21,7 +21,7 @@ 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
+#: forum/views.py:309
msgid "signin/"
msgstr "ingresar/"
@@ -401,8 +401,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:200
+#: templates/question.html.py:381 templates/questions.html:58
#: templates/questions.html.py:70 templates/unanswered.html:48
#: templates/unanswered.html.py:60
msgid "community wiki"
@@ -428,72 +428,80 @@ msgstr ""
"ingresa un breve resumen de tu revisión (ej. error ortográfico, gramática, "
"mejoras de estilo. Este campo es opcional."
-#: forum/forms.py:175
+#: forum/forms.py:98 forum/forms.py:159
+msgid "please choice a category"
+msgstr "por favor escoja una categoría"
+
+#: forum/forms.py:99 forum/forms.py:160
+msgid "Category"
+msgstr "Categoría"
+
+#: forum/forms.py:180
msgid "this email does not have to be linked to gravatar"
msgstr "este email no tiene porque estar asociado a un Gravatar"
-#: forum/forms.py:176
+#: forum/forms.py:181
msgid "Real name"
msgstr "Nombre real"
-#: forum/forms.py:177
+#: forum/forms.py:182
msgid "Website"
msgstr "Sitio Web"
-#: forum/forms.py:178
+#: forum/forms.py:183
msgid "Location"
msgstr "Ubicación"
-#: forum/forms.py:179
+#: forum/forms.py:184
msgid "Date of birth"
msgstr "Fecha de nacimiento"
-#: forum/forms.py:179
+#: forum/forms.py:184
msgid "will not be shown, used to calculate age, format: YYYY-MM-DD"
msgstr "no será mostrado, usado para calcular la edad. Formato: YYY-MM-DD"
-#: forum/forms.py:180 templates/authopenid/settings.html:21
+#: forum/forms.py:185 templates/authopenid/settings.html:21
msgid "Profile"
msgstr "Perfil"
-#: forum/forms.py:207 forum/forms.py:208
+#: forum/forms.py:212 forum/forms.py:213
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
+#: forum/models.py:250
#, fuzzy, python-format
msgid "%(author)s modified the question"
msgstr "%(author) modificó la pregunta"
-#: forum/models.py:242
+#: forum/models.py:254
#, 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:259
#, python-format
msgid "%(people)s commented the question"
msgstr "%(people)s comentarion la pregunta"
-#: forum/models.py:252
+#: forum/models.py:264
#, python-format
msgid "%(people)s commented answers"
msgstr "%(people)s comentaron la respuesta"
-#: forum/models.py:254
-#, python-format
-msgid "%(people)s commented the answer"
-msgstr "%(people)s comentaron la respuestas"
+#: forum/models.py:266
+#, fuzzy, python-format
+msgid "%(people)s commented an answer"
+msgstr "%(people)s comentaron la respuesta"
-#: forum/models.py:433 templates/badges.html:52
+#: forum/models.py:445 templates/badges.html:52
msgid "gold"
msgstr "oro"
-#: forum/models.py:434 templates/badges.html:60
+#: forum/models.py:446 templates/badges.html:60
msgid "silver"
msgstr "plata"
-#: forum/models.py:435 templates/badges.html:67
+#: forum/models.py:447 templates/badges.html:67
msgid "bronze"
msgstr "bronze"
@@ -581,31 +589,31 @@ msgstr "preferencias del usuario"
msgid "profile - user preferences"
msgstr "perfil - preferencia de "
-#: forum/views.py:304
+#: forum/views.py:309
msgid "/account/"
msgstr "/cuenta/"
-#: forum/views.py:943
+#: forum/views.py:986
#, 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:1896
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:1898
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:1900
#, 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:1902
#, python-format
msgid ""
"Error uploading file. Please contact the site administrator. Thank you. %s"
@@ -729,22 +737,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:453 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:453 templates/question_edit.html:91
msgid "toggle preview"
msgstr "Activar previsualización"
-#: templates/answer_edit.html:73 templates/question_edit.html:119
+#: templates/answer_edit.html:73 templates/question_edit.html:124
#: templates/question_retag.html:75
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/question_edit.html:125 templates/question_retag.html:76
#: templates/reopen.html:30 templates/user_edit.html:83
#: templates/authopenid/changeemail.html:34
msgid "Cancel"
@@ -824,15 +832,16 @@ msgstr "Inicie sesión para publicar pregunta."
msgid "must have valid %(email)s to post"
msgstr "debe de tener un %(email)s válido para publicar"
-#: templates/ask.html:108
+#: templates/ask.html:108 templates/ask.html.py:115
+#: templates/question_edit.html:119
msgid "(required)"
msgstr "(requerido)"
-#: templates/ask.html:115
+#: templates/ask.html:122
msgid "Login/signup to post your question"
msgstr "Iniciar sesión/registrarse para publicar su pregunta"
-#: templates/ask.html:117
+#: templates/ask.html:124
msgid "Ask your question"
msgstr "Haz tu pregunta"
@@ -861,8 +870,8 @@ 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
msgid "Community badges"
@@ -973,8 +982,8 @@ 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/question.html.py:487 templates/questions.html:84
+#: templates/questions.html.py:157 templates/tags.html:47
#: templates/unanswered.html:75 templates/unanswered.html.py:109
#: templates/users_questions.html:52
msgid "using tags"
@@ -988,6 +997,24 @@ msgstr "suscribirse al RSS del libro"
msgid "subscribe to the questions feed"
msgstr "suscribirse al agregado de noticias"
+#: templates/categories.html:6 templates/categories.html.py:29
+#, fuzzy
+msgid "Category list"
+msgstr "Lista de etiquetas"
+
+#: templates/categories.html:34 templates/tags.html:41
+msgid "Nothing found"
+msgstr "Nada encontrado"
+
+#: templates/categories.html:40
+#, fuzzy
+msgid "see questions that matches"
+msgstr "ver preguntas etiquetadas"
+
+#: templates/categories.html:40
+msgid "category "
+msgstr "categoría"
+
#: templates/close.html:6 templates/close.html.py:16
msgid "Close question"
msgstr "Cerrar pregunta"
@@ -1203,42 +1230,46 @@ msgstr "preguntas"
msgid "."
msgstr "."
-#: templates/footer.html:7 templates/header.html:14 templates/index.html:83
-msgid "about"
-msgstr "acerca de"
+#: templates/footer.html:7
+#, fuzzy
+msgid "About us"
+msgstr "Acerca de"
-#: templates/footer.html:8 templates/header.html:15 templates/index.html:84
+#: templates/footer.html:8 templates/header.html:13 templates/index.html:84
msgid "faq"
msgstr "preguntas frecuentes"
-#: templates/footer.html:9
-msgid "blog"
-msgstr "blog"
-
#: templates/footer.html:10
-msgid "contact us"
+#, fuzzy
+msgid "Contact"
msgstr "contactenos"
#: templates/footer.html:11
-msgid "privacy policy"
-msgstr "código de privacidad"
+#, fuzzy
+msgid "Privacy"
+msgstr "Código de Privacidad"
#: templates/footer.html:12
-msgid "give feedback"
-msgstr "envía comentarios"
+#, fuzzy
+msgid "Feedback"
+msgstr "volver"
#: templates/footer.html:18
msgid "current revision"
msgstr "revisión actual"
-#: templates/header.html:10
+#: templates/header.html:8
msgid "logout"
msgstr "salir"
-#: templates/header.html:12 templates/authopenid/signup.html:41
+#: templates/header.html:10 templates/authopenid/signup.html:41
msgid "login"
msgstr "entrar"
+#: templates/header.html:12 templates/index.html:83
+msgid "about"
+msgstr "acerca de"
+
#: templates/header.html:23
msgid "back to home page"
msgstr "volver al inicio"
@@ -1251,7 +1282,7 @@ msgstr "usuarios"
msgid "books"
msgstr "libros"
-#: templates/header.html:34
+#: templates/header.html:34 templates/index.html:121
msgid "unanswered questions"
msgstr "sin respuesta"
@@ -1310,8 +1341,8 @@ 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/question.html.py:487 templates/questions.html:84
+#: templates/questions.html.py:157 templates/tags.html:47
#: templates/unanswered.html:75 templates/unanswered.html.py:109
#: templates/users_questions.html:52
msgid "see questions tagged"
@@ -1355,7 +1386,8 @@ msgid "Still looking for more? See"
msgstr "¿Aún sigues buscando más? Ver"
#: templates/index.html:121
-msgid "complete list of questions"
+#, fuzzy
+msgid "complete list of quesionts"
msgstr "lista completa de preguntas"
#: templates/index.html:121
@@ -1366,10 +1398,6 @@ msgstr "ó"
msgid "Please help us answer"
msgstr "Ayudanos a responder"
-#: templates/index.html:121
-msgid "list of unanswered questions"
-msgstr "lista de preguntas sin respuesta"
-
#: templates/logout.html:6 templates/logout.html.py:17
msgid "Logout"
msgstr "Salir"
@@ -1459,7 +1487,7 @@ 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:277
msgid "current number of votes"
msgstr "número actual de votos"
@@ -1477,52 +1505,56 @@ 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:118 templates/questions.html:87
+msgid "Category: "
+msgstr "Categoría: "
+
+#: templates/question.html:125 templates/question.html.py:308
#: 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:129 templates/question.html.py:318
msgid "delete"
msgstr "borrar"
-#: templates/question.html:133
+#: templates/question.html:134
msgid "reopen"
msgstr "re-abrir"
-#: templates/question.html:138
+#: templates/question.html:139
msgid "close"
msgstr "cerrar"
-#: templates/question.html:144 templates/question.html.py:330
+#: templates/question.html:145 templates/question.html.py:331
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:146 templates/question.html.py:332
msgid "flag offensive"
msgstr "marcar como ofensivo"
-#: templates/question.html:157 templates/question.html.py:340
+#: templates/question.html:158 templates/question.html.py:341
#: 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:207 templates/question.html.py:388
#: 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:237 templates/question.html.py:415
msgid "comments"
msgstr "comentarios"
-#: templates/question.html:237 templates/question.html.py:415
+#: templates/question.html:238 templates/question.html.py:416
msgid "add comment"
msgstr "agregar comentario"
-#: templates/question.html:250
+#: templates/question.html:251
#, python-format
msgid ""
"The question has been closed for the following reason \"%(question."
@@ -1531,113 +1563,113 @@ msgstr ""
"La pregunta ha sido cerrada por el siguiente motivo \"%(question."
"get_close_reason_display)s\" por"
-#: templates/question.html:252
+#: templates/question.html:253
#, 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:260 templates/user_stats.html:28
msgid "Answers"
msgstr "Respuestas"
-#: templates/question.html:261
+#: templates/question.html:262
msgid "oldest answers will be shown first"
msgstr "la respuesta mas vieja será mostrada primero"
-#: templates/question.html:261
+#: templates/question.html:262
msgid "oldest answers"
msgstr "pregunta más vieja"
-#: templates/question.html:262
+#: templates/question.html:263
msgid "newest answers will be shown first"
msgstr "preguntas más nuevas serán mostradas primero"
-#: templates/question.html:262
+#: templates/question.html:263
msgid "newest answers"
msgstr "más nuevas"
-#: templates/question.html:263
+#: templates/question.html:264
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:264
msgid "popular answers"
msgstr "respuestas populares serán mostradas primero"
-#: templates/question.html:275
+#: templates/question.html:276
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:282
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:288
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:293
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:315
msgid "undelete"
msgstr "deshacer eliminar"
-#: templates/question.html:324
+#: templates/question.html:325
msgid "answer permanent link"
msgstr "enlace permanente a respuesta"
-#: templates/question.html:325
+#: templates/question.html:326
msgid "permanent link"
msgstr "enlace permanente"
-#: templates/question.html:438
+#: templates/question.html:439
msgid "Your answer"
msgstr "Tu respuesta"
-#: templates/question.html:441
+#: templates/question.html:442
msgid "you can answer anonymously and then login"
msgstr ""
-#: templates/question.html:465
+#: templates/question.html:466
msgid "Answer the question"
msgstr "Responde la pregunta"
-#: templates/question.html:467
+#: templates/question.html:468
msgid "Notify me daily if there are any new answers."
msgstr ""
-#: templates/question.html:469
+#: templates/question.html:470
msgid "once you sign in you will be able to subscribe for any updates here"
msgstr ""
-#: templates/question.html:481
+#: templates/question.html:482
msgid "Question tags"
msgstr "Etiquetas de la pregunta"
-#: templates/question.html:491
+#: templates/question.html:492
msgid "question asked"
msgstr "pregunta preguntada"
-#: templates/question.html:491 templates/question.html.py:497
+#: templates/question.html:492 templates/question.html.py:498
#: templates/user_info.html:51
msgid "ago"
msgstr "atrás"
-#: templates/question.html:494
+#: templates/question.html:495
msgid "question was seen"
msgstr "la pregunta fue vista"
-#: templates/question.html:494
+#: templates/question.html:495
msgid "times"
msgstr "veces"
-#: templates/question.html:497
+#: templates/question.html:498
msgid "last updated"
msgstr "última vez actualizada"
-#: templates/question.html:502
+#: templates/question.html:503
msgid "Related questions"
msgstr "Preguntas relacionadas"
@@ -1702,7 +1734,7 @@ msgstr "preguntas actualizadas más recientemente"
msgid "active"
msgstr "actividad"
-#: templates/questions.html:109
+#: templates/questions.html:110
#, python-format
msgid ""
"\n"
@@ -1712,14 +1744,16 @@ 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
+#: templates/questions.html:117
#, fuzzy, python-format
msgid ""
"\n"
@@ -1738,7 +1772,7 @@ msgstr[1] ""
"\t\t\thay un total de %(q_num)s pregunta que contiene %(searchtitle)s\n"
"\t\t\t"
-#: templates/questions.html:122
+#: templates/questions.html:123
#, fuzzy, python-format
msgid ""
"\n"
@@ -1751,36 +1785,36 @@ msgid_plural ""
msgstr[0] "ver preguntas etiquetadas '%(tagname)s'"
msgstr[1] "ver pregunta etiquetada '%(tagname)s'"
-#: templates/questions.html:131
+#: templates/questions.html:132
msgid "latest questions info"
msgstr "<strong>Más recientes</strong> preguntas son mostradas primero."
-#: templates/questions.html:135
+#: templates/questions.html:136
msgid "Questions are sorted by the <strong>time of last update</strong>."
msgstr ""
"Las preguntas estan ordenadas por <strong>fecha de último update</strong>."
-#: templates/questions.html:136
+#: templates/questions.html:137
msgid "Most recently answered ones are shown first."
msgstr "Las más recientemente respondidas son mostradas primero."
-#: templates/questions.html:140
+#: templates/questions.html:141
msgid "Questions sorted by <strong>number of responses</strong>."
msgstr "Preguntas ordenadas por <strong>número de respuestas</strong>."
-#: templates/questions.html:141
+#: templates/questions.html:142
msgid "Most answered questions are shown first."
msgstr "Preguntas más respondidas aparecen primero."
-#: templates/questions.html:145
+#: templates/questions.html:146
msgid "Questions are sorted by the <strong>number of votes</strong>."
msgstr "Las preguntas son ordenadas por el <strong>número de votos</strong>."
-#: templates/questions.html:146
+#: templates/questions.html:147
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:154 templates/unanswered.html:105
msgid "Related tags"
msgstr "Etiquetas relacionadas"
@@ -1845,10 +1879,6 @@ msgstr "Todas las etiquetas que coincidan con la busqueda"
msgid "all tags - make this empty in english"
msgstr "todas las tags"
-#: templates/tags.html:41
-msgid "Nothing found"
-msgstr "Nada encontrado"
-
#: templates/unanswered.html:7 templates/unanswered.html.py:18
msgid "Unanswered questions"
msgstr "Preguntas sin respuesta"
@@ -2211,36 +2241,6 @@ msgstr "Registrarse"
msgid "Forgot your password?"
msgstr "¿Olvidaste tu contraseña?"
-#: templates/authopenid/confirm_email.txt:2
-msgid "Thank you for registering at our Q&A forum!"
-msgstr ""
-
-#: templates/authopenid/confirm_email.txt:4
-msgid "Your account details are:"
-msgstr "Los detalles de su cuenta son:"
-
-#: templates/authopenid/confirm_email.txt:6
-#: templates/authopenid/sendpw_email.txt:7
-msgid "Username:"
-msgstr "Nombre de usuario"
-
-#: templates/authopenid/confirm_email.txt:7
-#: templates/authopenid/delete.html:20
-msgid "Password:"
-msgstr "Contraseña"
-
-#: templates/authopenid/confirm_email.txt:9
-msgid "Please sign in here:"
-msgstr "Por favor inicie sesión aquí:"
-
-#: templates/authopenid/confirm_email.txt:12
-#: templates/authopenid/email_validation.txt:14
-#: templates/authopenid/sendpw_email.txt:13
-msgid ""
-"Sincerely,\n"
-"Forum Administrator"
-msgstr ""
-
#: templates/authopenid/delete.html:9
msgid "Account: delete account"
msgstr "Cuenta: borrar cuenta"
@@ -2257,6 +2257,10 @@ msgstr ""
msgid "Check confirm box, if you want delete your account."
msgstr "Marca caja de confirmación, si deseas borrar tu cuenta."
+#: templates/authopenid/delete.html:20
+msgid "Password:"
+msgstr "Contraseña"
+
#: templates/authopenid/delete.html:32
msgid "I am sure I want to delete my account."
msgstr "Estoy seguro que quiero borrar mi cuenta."
@@ -2273,25 +2277,6 @@ msgstr "(requerido por tu seguridad)"
msgid "Delete account permanently"
msgstr "Borrar la cuenta de forma permanente"
-#: templates/authopenid/email_validation.txt:2
-msgid "Greetings from the Q&A forum"
-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:"
-
-#: 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."
-
-#: templates/authopenid/email_validation.txt:10
-msgid ""
-"If you beleive that this message was sent in mistake - \n"
-"no further action is needed. Just ingore this email, we apologize\n"
-"for any inconvenience"
-msgstr ""
-
#: templates/authopenid/sendpw.html:4 templates/authopenid/sendpw.html.py:8
msgid "Send new password"
msgstr "Enviar nueva contraseña"
@@ -2328,25 +2313,6 @@ msgstr ""
"Nota: tu nueva contraseña solo será activada luego de que hagas click en el "
"link de activación en el email enviado."
-#: templates/authopenid/sendpw_email.txt:2
-#, python-format
-msgid ""
-"Someone has requested to reset your password on %(site_url)s.\n"
-"If it were not you, it is safe to ignore this email."
-msgstr ""
-
-#: templates/authopenid/sendpw_email.txt:5
-msgid "Your new account details are:"
-msgstr ""
-
-#: templates/authopenid/sendpw_email.txt:8
-msgid "New password:"
-msgstr "Nueva contraseña"
-
-#: templates/authopenid/sendpw_email.txt:10
-msgid "To confirm that you wanted to reset your password please visit:"
-msgstr ""
-
#: templates/authopenid/settings.html:30
msgid "Give your account a new password."
msgstr "Crea una nueva contraseña para tu cuenta."
@@ -2501,6 +2467,39 @@ msgstr "Registrate con tu OpenID"
msgid "Login with your OpenID"
msgstr "Ingresar con tu OpenID"
+#~ msgid "%(people)s commented the answer"
+#~ msgstr "%(people)s comentaron la respuestas"
+
+#~ msgid "blog"
+#~ msgstr "blog"
+
+#~ msgid "privacy policy"
+#~ msgstr "código de privacidad"
+
+#~ msgid "give feedback"
+#~ msgstr "envía comentarios"
+
+#~ msgid "list of unanswered questions"
+#~ msgstr "lista de preguntas sin respuesta"
+
+#~ msgid "Your account details are:"
+#~ msgstr "Los detalles de su cuenta son:"
+
+#~ msgid "Username:"
+#~ msgstr "Nombre de usuario"
+
+#~ msgid "Please sign in here:"
+#~ msgstr "Por favor inicie sesión aquí:"
+
+#~ msgid "To make use of the Forum, please follow the link below:"
+#~ msgstr "Para usar el Foro, siga el siguiente enlace:"
+
+#~ msgid "Following the link above will help us verify your email address."
+#~ msgstr "El siguiente enlace nos ayudará a verificar su correo electrónico."
+
+#~ msgid "New password:"
+#~ msgstr "Nueva contraseña"
+
#~ msgid "site slogan"
#~ msgstr " slogan del sitio"
diff --git a/templates/ask.html b/templates/ask.html
index 4aa18dd5..afef182b 100644
--- a/templates/ask.html
+++ b/templates/ask.html
@@ -111,6 +111,13 @@
<p class="title-desc">
{{ form.tags.help_text }}
</p>
+ <p class="form-item">
+ <strong>{{ form.categories.label_tag }}:</strong> {% trans "(required)" %} <span class="form-error"></span><br>
+ {{ form.categories }} {{ form.categories.errors }}
+ </p>
+ <p class="title-desc">
+ {{ form.categories.help_text }}
+ </p>
{% if not request.user.is_authenticated %}
<input type="submit" value="{% trans "Login/signup to post your question" %}" class="submit" />
{% else %}
diff --git a/templates/question.html b/templates/question.html
index eaff9da3..a56a3f24 100644
--- a/templates/question.html
+++ b/templates/question.html
@@ -115,6 +115,7 @@
title="{% trans "see questions tagged" %}'{{ tag }}'{% trans "using tags" %}" rel="tag">{{ tag }}</a>
{% endfor %}
</div>
+ {% trans "Category: " %} <a href="{% url forum.views.category question.category|urlencode %}">{{question.category}}</a>
<div id="question-controls" style="clear:both;">
<table width="100%">
<tr>
diff --git a/templates/question.html~ b/templates/question.html~
new file mode 100644
index 00000000..d8fd72b9
--- /dev/null
+++ b/templates/question.html~
@@ -0,0 +1,518 @@
+{% extends "base.html" %}
+<!-- question.html -->
+{% load extra_tags %}
+{% load extra_filters %}
+{% load humanize %}
+{% load i18n %}
+{% block title %}{% spaceless %}{{ question.get_question_title }}{% endspaceless %}{% endblock %}
+{% block forejs %}
+ {% if not question.closed and request.user.is_authenticated %}
+ <script type='text/javascript' src='/content/js/com.cnprog.editor.js'></script>
+ <script type='text/javascript' src='/content/js/wmd/showdown.js'></script>
+ <script type='text/javascript' src='/content/js/wmd/wmd.js'></script>
+ <link rel="stylesheet" type="text/css" href="/content/js/wmd/wmd.css" />
+ {% endif %}
+ <script type='text/javascript' src='/content/js/com.cnprog.post.js'></script>
+ <script type='text/javascript' src='/content/js/jquery.validate.pack.js'></script>
+ <script type="text/javascript">
+ // define reputation needs for comments
+ var repNeededForComments = 50;
+ $().ready(function(){
+ $("#nav_questions").attr('className',"on");
+ var answer_sort_tab = "{{ tab_id }}";
+ $("#" + answer_sort_tab).attr('className',"on");
+
+ Vote.init({{ question.id }}, '{{ question.author.id }}','{{ request.user.id }}');
+
+ {% if not question.closed and request.user.is_authenticated %}initEditor();{% endif %}
+
+ lanai.highlightSyntax();
+ $('#btLogin').bind('click', function(){window.location.href='/account/signin/'; } )
+ });
+
+ function initEditor(){
+ $('#editor').TextAreaResizer();
+ //highlight code synctax when editor has new text
+ $("#editor").typeWatch({highlight: false, wait: 3000,
+ captureLength: 5, callback: lanai.highlightSyntax});
+
+ var display = true;
+ var txt = "[{% trans "hide preview" %}]";
+ $('#pre-collapse').text(txt);
+ $('#pre-collapse').bind('click', function(){
+ txt = display ? "[{% trans "show preview" %}]" : "[{% trans "hide preview" %}]";
+ display = !display;
+ $('#previewer').toggle();
+ $('#pre-collapse').text(txt);
+ });
+
+ setupFormValidation("#fmanswer", CPValidator.getQuestionFormRules(), CPValidator.getQuestionFormMessages());
+ }
+
+ </script>
+{% endblock %}
+
+{% block content %}
+<div class="headNormal">
+ <a href="{{ question.get_absolute_url }}">{{ question.get_question_title }}</a>
+</div>
+<div id="main-body" class="">
+ <div id="askform">
+ <form id="fmanswer" action="{% url answer question.id %}" method="post">
+ <table style="width:100%;" id="question-table" {% if question.deleted %}class="deleted"{%endif%}>
+ <tr>
+ <td style="width:30px;vertical-align:top">
+ <div class="vote-buttons">
+ {% if question_vote %}
+ <img id="question-img-upvote-{{ question.id }}" class="question-img-upvote"
+ src="/content/images/vote-arrow-up{% if question_vote.is_upvote %}-on{% endif %}.png"
+ title="{% trans "i like this post (click again to cancel)" %}" >
+ <div id="question-vote-number-{{ question.id }}" class="vote-number"
+ title="{% trans "current number of votes" %}">
+ {{ question.score }}
+ </div>
+ <img id="question-img-downvote-{{ question.id }}" class="question-img-downvote"
+ src="/content/images/vote-arrow-down{% if question_vote.is_downvote %}-on{% endif %}.png"
+ title="{% trans "i dont like this post (click again to cancel)" %}" >
+
+ {% else %}
+ <img id="question-img-upvote-{{ question.id }}" class="question-img-upvote"
+ src="/content/images/vote-arrow-up.png"
+ title="{% trans "i like this post (click again to cancel)" %}" >
+ <div id="question-vote-number-{{ question.id }}" class="vote-number"
+ title="{% trans "current number of votes" %}">
+ {{ question.score }}
+ </div>
+ <img id="question-img-downvote-{{ question.id }}" class="question-img-downvote"
+ src="/content/images/vote-arrow-down.png" title="{% trans "i dont like this post (click again to cancel)" %}" >
+
+ {% endif %}
+ <br><br>
+ {% if favorited %}
+ <img class="question-img-favorite" src="/content/images/vote-favorite-on.png"
+ title="{% trans "mark this question as favorite (click again to cancel)" %}" >
+ <div id="favorite-number" class="favorite-number my-favorite-number">
+ {{ question.favourite_count }}
+ </div>
+ {% else %}
+ <img class="question-img-favorite" src="/content/images/vote-favorite-off.png"
+ title="{% trans "remove favorite mark from this question (click again to restore mark)" %}" >
+ <div id="favorite-number" class="favorite-number">{% ifnotequal question.favourite_count 0 %}{{ question.favourite_count }}{% endifnotequal %}
+ </div>
+
+ {% endif %}
+
+ </div>
+ </td>
+ <td>
+ <div id="item-right">
+ <div class="question-body">
+ {{ question.html|safe }}
+ </div>
+ <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>
+ {% endfor %}
+ </div>
+ {% trans "Category: "} <a href="{% url forum.views.category question.category|urlencode %}">{{question.category}}</a>
+ <div id="question-controls" style="clear:both;">
+ <table width="100%">
+ <tr>
+ <td width="210px" style="vertical-align:top">
+
+ {% if request.user|can_edit_post:question %}
+ <span class="action-link"><a href="{% url edit_question question.id %}">{% trans 'edit' %}</a></span>
+ <span class="action-link-separator">|</span>
+ {% endif %}
+ {% if request.user|can_delete_post:question %}
+ <span class="action-link"><a id="question-delete-link-{{question.id}}">{% trans "delete" %}</a></span>
+ <span class="action-link-separator">|</span>
+ {% endif %}
+ {% if question.closed %}
+ {% if request.user|can_reopen_question:question %}
+ <span class="action-link"><a href="{% url reopen question.id %}">{% trans "reopen" %}</a></span>
+ <span class="action-link-separator">|</span>
+ {% endif %}
+ {% else %}
+ {% if request.user|can_close_question:question %}
+ <span class="action-link"><a href="{% url close question.id %}">{% trans "close" %}</a></span>
+ <span class="action-link-separator">|</span>
+ {% endif %}
+ {% endif %}
+
+ <span id="question-offensive-flag-{{ question.id }}" class="offensive-flag"
+ title="{% trans "report as offensive (i.e containing spam, advertising, malicious text, etc.)" %}">
+ <a>{% trans "flag offensive" %}</a>
+ <span class="darkred">{% if request.user|can_view_offensive_flags %}
+ {% if question.offensive_flag_count %}({{ question.offensive_flag_count }}){% endif %}{% endif %}</span>
+ </span>
+
+ </td>
+ <td width="210px" style="vertical-align:top">
+ {% if question.last_edited_by %}
+ <div class="question-edit" >
+ <table width="200px" >
+ <tr>
+ <td colspan="2">
+ {% trans "updated" %} <a href="{% url question_revisions question.id %}"><strong title="{{question.last_edited_at }}">{% diff_date question.last_edited_at %}</strong></a>
+ </td>
+
+ </tr>
+ {% if question.wiki %}
+ <tr>
+ <td style="width:40px;vertical-align:bottom">
+ {% 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>
+ </td>
+ </tr>
+ {% else %}
+ {% ifequal question.last_edited_by question.author %}
+ <tr>
+ <td> </td>
+ <td> </td>
+ </tr>
+ {% else %}
+ <tr>
+ <td style="width:40px;vertical-align:bottom">
+ {% 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>
+ {% get_score_badge question.last_edited_by %}
+ </div>
+
+ </td>
+ </tr>
+ {% endifequal %}
+ {% endif %}
+ </table>
+ </div>
+ {% endif %}
+
+ </td>
+ <td style="vertical-align:top">
+ {% if question.wiki %}
+ <span class="wiki-category">{% trans "community wiki" %}</span>
+ <div style="margin-bottom:10px"></div>
+ {% else %}
+ <div class="question-mark">
+ <table width="200px">
+ <tr>
+ <td colspan="2">
+ {% trans "asked" %} <strong title="{{ question.added_at }}">{% diff_date question.added_at %}</strong>
+ </td>
+
+ </tr>
+
+ <tr>
+ <td style="width:40px; vertical-align:bottom">
+ {% 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>
+ {% get_score_badge question.author %}
+ </div>
+ </td>
+ </tr>
+
+ </table>
+ </div>
+ {% endif %}
+
+ </td>
+ </tr>
+ </table>
+
+ </div>
+
+ <div class="post-comments" style="margin-bottom:20px">
+ <input id="can-post-comments-question-{{question.id}}" type="hidden" value="{{ request.user|can_add_comments }}"/>
+ <a id="comments-link-question-{{question.id}}" class="comments-link">
+ {% if question.comment_count %}{% trans "comments" %} <strong>({{question.comment_count}})</strong>
+ {% else %}{% trans "add comment" %}
+ {% endif %}</a>
+ <div id="comments-question-{{question.id}}" class="comments-container">
+ <div class="comments"/></div>
+ </div>
+
+ </div>
+
+ </td>
+ </tr>
+ </table>
+ {% if question.closed %}
+ <div class="question-status" style="margin-bottom:15px">
+ <h3>{% blocktrans %}The question has been closed for the following reason "{{ question.get_close_reason_display }}" by{% endblocktrans %}
+ <a href="{{ question.closed_by.get_profile_url }}">{{ question.closed_by.username }}</a>
+ {% blocktrans %}close date {{question.closed_at}}{% endblocktrans %}</h3>
+ </div>
+ {% endif %}
+
+ {% ifnotequal answers.length 0 %}
+ <div class="tabBar">
+ <a name="sort-top"></a>
+ <div class="headQuestions">{{ answers|length }}{% trans "Answers" %}:</div>
+ <div class="tabsA">
+ <a id="oldest" href="?sort=oldest#sort-top" title="{% trans "oldest answers will be shown first" %}">{% trans "oldest answers" %}</a>
+ <a id="latest" href="?sort=latest#sort-top" title="{% trans "newest answers will be shown first" %}">{% trans "newest answers" %}</a>
+ <a id="votes" href="?sort=votes#sort-top" title="{% trans "most voted answers will be shown first" %}">{% trans "popular answers" %}</a>
+ </div>
+ </div>
+ {% cnprog_paginator context %}
+
+ {% for answer in answers %}
+ <a name="{{ answer.id }}"></a>
+ <div id="answer-container-{{ answer.id }}" class="answer {% if answer.accepted %}accepted-answer{% endif %} {% ifequal answer.author_id question.author_id %} answered-by-owner{% endifequal %} {% if answer.deleted %}deleted{% endif %}">
+ <table style="width:100%;">
+ <tr>
+ <td style="width:30px;vertical-align:top">
+ <div class="vote-buttons">
+ <img id="answer-img-upvote-{{ answer.id }}" class="answer-img-upvote" src="/content/images/vote-arrow-up{% get_user_vote_image user_answer_votes answer.id 1 %}.png" title="{% trans "i like this answer (click again to cancel)" %}">
+ <div id="answer-vote-number-{{ answer.id }}" class="vote-number" title="{% trans "current number of votes" %}">
+ {{ answer.score }}
+ </div>
+ <img id="answer-img-downvote-{{ answer.id }}" class="answer-img-downvote"
+ src="/content/images/vote-arrow-down{% get_user_vote_image user_answer_votes answer.id -1 %}.png"
+ title="{% trans "i dont like this answer (click again to cancel)" %}" >
+
+ <br><br>
+ {% ifequal request.user question.author %}
+ <img id="answer-img-accept-{{ answer.id }}" class="answer-img-accept"
+ src="/content/images/vote-accepted{% if answer.accepted %}-on{% endif %}.png"
+ title="{% trans "mark this answer as favorite (click again to undo)" %}" >
+ {% else %}
+ {% if answer.accepted %}
+ <img id="answer-img-accept-{{ answer.id }}" class="answer-img-accept"
+ src="/content/images/vote-accepted{% if answer.accepted %}-on{% endif %}.png"
+ title="{% trans "the author of the question has selected this answer as correct" %}" >
+ {% endif %}
+ {% endifequal %}
+ </div>
+ </td>
+ <td>
+ <div class="item-right">
+ <div class="answer-body">
+ {{ answer.html|safe }}
+ </div>
+ <div class="answer-controls" style="clear:both;">
+ <table width="100%">
+ <tr>
+ <td width="400px" style="vertical-align:top">
+ {% if request.user|can_edit_post:answer %}
+ <span class="action-link"><a href="{% url edit_answer answer.id %}">{% trans "edit" %}</a></span>
+ <span class="action-link-separator">|</span>
+ {% endif %}
+ {% if request.user|can_delete_post:answer %}
+ <span class="action-link">
+ <a id="answer-delete-link-{{answer.id}}">
+ {% if answer.deleted %}
+ {% trans "undelete" %}
+ {% endif %}
+ {% if not answer.deleted %}
+ {% trans "delete" %}
+ {% endif %}
+ </a>
+ </span>
+ <span class="action-link-separator">|</span>
+ {% endif %}
+ <span class="linksopt">
+ <a href="#{{ answer.id }}" title="{% trans "answer permanent link" %}">
+ {% trans "permanent link" %}
+ </a>
+ </span>
+ <span class="action-link-separator">|</span>
+ <span id="answer-offensive-flag-{{ answer.id }}" class="offensive-flag"
+ title="{% trans "report as offensive (i.e containing spam, advertising, malicious text, etc.)" %}">
+ <a>{% trans "flag offensive" %}</a>
+ <span class="darkred">{% if request.user|can_view_offensive_flags %}{% if answer.offensive_flag_count %}({{ answer.offensive_flag_count }}){% endif %}{% endif %}</span></span>
+ </td>
+ <td width="110px" style="vertical-align:top">
+ {% if answer.last_edited_by %}
+ <div class="question-edit" >
+ <table width="200px" >
+ <tr>
+ <td colspan="2">
+ {% trans "updated" %}<a href="{% url answer_revisions answer.id %}"><strong title="{{answer.last_edited_at }}">{% diff_date answer.last_edited_at %}</strong></a>
+ </td>
+ </tr>
+ {% if answer.wiki %}
+ <tr>
+ <td width="40px" style="vertical-align:bottom">
+ {% 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>
+
+ </td>
+ </tr>
+ {% else %}
+ {% ifequal answer.last_edited_by answer.author %}
+ <tr>
+ <td> </td>
+ <td> </td>
+ </tr>
+ {% else %}
+ <tr>
+ <td width="40px" style="vertical-align:bottom">
+ {% 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>
+ {% get_score_badge answer.last_edited_by %}
+ </div>
+ </td>
+ </tr>
+ {% endifequal %}
+ {% endif %}
+ </table>
+ </div>
+ {% endif %}
+
+ </td>
+ <td style="vertical-align:top">
+ {% if answer.wiki %}
+ <span class="wiki-category">{% trans "community wiki" %}</span>
+ <div style="margin-bottom:10px"></div>
+ {% else %}
+ <div class="answer-mark">
+ <table width="200px">
+ <tr>
+ <td colspan="2">
+ {% trans "asked" %} <strong title="{{answer.added_at}}">{% diff_date answer.added_at %}</strong>
+ </td>
+ </tr>
+ <tr>
+ <td width="40px" style="vertical-align:bottom">
+ {% 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>
+ {% get_score_badge answer.author %}
+ </div>
+ </td>
+ </tr>
+ </table>
+ </div>
+ {% endif %}
+
+ </td>
+ </tr>
+
+ </table>
+
+ </div>
+ <div id="comment-{{ answer.id }}" class="post-comments" >
+ <input id="can-post-comments-answer-{{answer.id}}" type="hidden" value="{{ request.user|can_add_comments }}"/>
+ <a id="comments-link-answer-{{answer.id}}" class="comments-link">
+ {% if answer.comment_count %}{% trans "comments" %}
+ <strong>({{answer.comment_count}})</strong>{% else %}{% trans "add comment" %}{% endif %}</a>
+ <div id="comments-answer-{{answer.id}}" class="comments-container">
+ <div class="comments"/></div>
+ </div>
+
+ </div>
+
+ </td>
+ </tr>
+ </table>
+ </div>
+ {% endfor %}
+ <div class="paginator-container-left">
+ {% cnprog_paginator context %}
+ </div>
+ {% else %}
+ <div class="line"></div>
+ {% endifnotequal %}
+ <div style="clear:both">
+ </div>
+
+ {% if not question.closed %}
+ <div style="padding:10px 0 0 0;">
+ <div class="headNormal">{% trans "Your answer" %}:</div>
+ </div>
+ {% if not request.user.is_authenticated %}
+ <div class="message">{% trans "you can answer anonymously and then login" %}</div>
+ {% endif %}
+
+ <div id="description" class="" >
+ <div id="wmd-button-bar" class="wmd-panel"></div>
+ {{ answer.text }}
+ <div class="preview-toggle">
+ <table width="100%">
+ <tr>
+ <td>
+ <span id="pre-collapse"
+ title="{% trans "Toggle the real time Markdown editor preview" %}">{% trans "toggle preview" %}</span>
+ </td>
+ <td style="text-align:right;">
+ {{ answer.wiki }} <span style="font-weight:normal;cursor:help" title="{{answer.wiki.help_text}}">{{ answer.wiki.label_tag }} </span>
+ </td>
+ </tr>
+
+ </table>
+ </div>
+ <div id="previewer" class="wmd-preview"></div>
+ {{ answer.text.errors }}
+ </div>
+ <br>
+ <input type="submit" value="{% trans "Answer the question" %}" class="submit"><span class="form-error"></span>
+ {% if request.user.is_authenticated %}
+ {{ answer.email_notify }} <label for="question-subscribe-updates">{% trans "Notify me daily if there are any new answers." %}</label>
+ {% else %}
+ <input type="checkbox" disabled><label>{% trans "once you sign in you will be able to subscribe for any updates here" %}</label>
+ {% endif %}
+ {% endif %}
+ <br><br>
+ </form>
+ </div>
+</div>
+{% endblock %}
+
+{% block sidebar %}
+<div class="boxC">
+ <p>
+ {% trans "Question tags" %}:
+ </p>
+ <p class="tags" >
+ {% for tag in tags %}
+ <a href="{% url forum.views.tag tag.name|urlencode %}"
+ title="{% trans "see questions tagged"%}'{{tag.name}}'{% trans "using tags" %}"
+ rel="tag">{{ tag.name }}</a> <span class="tag-number">× {{ tag.used_count|intcomma }}</span><br>
+ {% endfor %}
+ </p>
+ <p>
+ {% trans "question asked" %}: <strong title="{{ question.added_at }}">{{ question.added_at|timesince }} {% trans "ago" %}</strong>
+ </p>
+ <p>
+ {% trans "question was seen" %}: <strong>{{ question.view_count|intcomma }} {% trans "times" %}</strong>
+ </p>
+ <p>
+ {% trans "last updated" %}: <strong title="{{ question.last_activity_at }}">{{ question.last_activity_at|timesince }} {% trans "ago" %}</strong>
+ </p>
+</div>
+
+<div class="boxC">
+ <h3 class="subtitle">{% trans "Related questions" %}</h3>
+ <div class="questions-related">
+ {% for question in similar_questions %}
+ <p>
+ <a href="/questions/{{question.id}}/{{ question.get_question_title }}">{{ question.get_question_title }}</a>
+ </p>
+ {% endfor %}
+ </div>
+ <br>
+</div>
+
+{% endblock %}
+
+{% block endjs %}
+{% endblock %}
+<!-- end question.html -->
diff --git a/templates/question_edit.html b/templates/question_edit.html
index 9ad60a88..e5fb6b97 100644
--- a/templates/question_edit.html
+++ b/templates/question_edit.html
@@ -115,6 +115,11 @@
</div>
<br>
+ <p class="form-item">
+ <strong>{{ form.categories.label_tag }}:</strong> {% trans "(required)" %} <span class="form-error"></span><br>
+ {{ form.categories }} {{ form.categories.errors }}
+ </p>
+
<div class="error" ></div>
<input type="submit" value="{% trans "Save edit" %}" class="submit" />
<input type="button" value="{% trans "Cancel" %}" class="submit" onclick="history.back(-1);" />
diff --git a/templates/questions.html b/templates/questions.html
index 5dac0156..5aef1866 100644
--- a/templates/questions.html
+++ b/templates/questions.html
@@ -84,6 +84,7 @@
<a href="{% url forum.views.tag tag|urlencode %}" title="{% trans "see questions tagged" %}'{{ tag }}'{% trans "using tags" %}" rel="tag">{{ tag }}</a>
{% endfor %}
</div>
+ {%trans "Category: "%}<a href="{% url forum.views.category question.category|urlencode %}">{{ question.category}}</a>
</div>
{% endfor %}
</div>