diff options
-rw-r--r-- | forum/forms.py | 5 | ||||
-rw-r--r-- | forum/models.py | 2 | ||||
-rw-r--r-- | forum/views.py | 10 | ||||
-rw-r--r-- | locale/es/LC_MESSAGES/django.mo | bin | 42843 -> 42056 bytes | |||
-rw-r--r-- | locale/es/LC_MESSAGES/django.po | 375 | ||||
-rw-r--r-- | templates/ask.html | 7 | ||||
-rw-r--r-- | templates/question.html | 1 | ||||
-rw-r--r-- | templates/question.html~ | 518 | ||||
-rw-r--r-- | templates/question_edit.html | 5 | ||||
-rw-r--r-- | templates/questions.html | 1 |
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 Binary files differindex a2a27c2f..dec5aa7f 100644 --- a/locale/es/LC_MESSAGES/django.mo +++ b/locale/es/LC_MESSAGES/django.mo 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> |