From 94c967c7e61cd305bafe02f1abfdfc6317a5f569 Mon Sep 17 00:00:00 2001 From: Max Vyaznikov Date: Thu, 27 Feb 2014 15:46:54 +0300 Subject: [PATCH 1/3] Russian translation complete + no *.mo files in .gitignore --- .gitignore | 3 -- .../locale/ru/LC_MESSAGES/django.mo | Bin 0 -> 3543 bytes .../locale/ru/LC_MESSAGES/django.po | 39 ++++++++++++++++-- djangocms_blog/models.py | 12 +++--- 4 files changed, 42 insertions(+), 12 deletions(-) create mode 100644 djangocms_blog/locale/ru/LC_MESSAGES/django.mo diff --git a/.gitignore b/.gitignore index d9a81db..514363c 100644 --- a/.gitignore +++ b/.gitignore @@ -26,9 +26,6 @@ pip-log.txt .tox nosetests.xml -# Translations -*.mo - # Mr Developer .mr.developer.cfg .project diff --git a/djangocms_blog/locale/ru/LC_MESSAGES/django.mo b/djangocms_blog/locale/ru/LC_MESSAGES/django.mo new file mode 100644 index 0000000000000000000000000000000000000000..79b727e08527eb2098bac264a67665afc3c360db GIT binary patch literal 3543 zcmb7^TWlQF8Guh(dNaM!Lho>(BzO{LnKe#>HZdhh35pa`E7>3ry=c5UUQgMbac5?o znDP(@rKOD_MFJ`zF5*%F50#7)*LH9mRS5COnYL<$Do|A+@z9sP^`S5Q{<(P9sZ*&V zpZ(5%&VT;f`H$bf>WU{7pTqbD)5Vk7uCxd9~ngq3AC_{?sBra&8q$9&bU>e+Rz9UHl1t7WrkA zM&VibO}GVR@pB!N__o8Z!(GMtk%B)g_WeShhT?A)+VGdf`ZBx<`AxVT{u$l~x8UTf za2vcH-T|v{9DW`?QSAQ)ivC3?aeM$JPAS6o!L_gse+o%S87Oi51){3{2JeUefOo^Y zNJ`>)3Vs>BR`B;w?7my@Ur_3EHJ2m$H^QtAQ1p&KiSsAL{z)kHeG+n1Jq@MbUV+!Z zRVe-OM@adzZ!5pjTk`E-$XgK~(jTZP&5+t`V+=CHzQjxkvrqDso|3+?7{$|Kmd7md zm!HHS{UJSmb-4)T?MZ!YhQuvzr~GbU@cPq>{sd{ckq?I zHMxs#F}5@0|H0Q7+2?3CO8iFKi&eFps;z_Nq7|2mvD({g>ZveJ)ZVBu=}&vGI9X2g z_>9`yO(w&rfZo>*Te{pX7Gt%~Z9Jf4EBjgZpu<3K9gO|N`%&O_JS$fF-Nb8!kxz8R zbVeOwElw`6JnH&^_B(FNQ@yF4=(gMaax&TNj0djYR(FS`S3MDSgJwmI$=NZ|(`}y| z$GYQivZUA4NBp3HM!t@GG)ORXWHLNP-0c~iOnQ1;(k*MJ6Svhu@tB`X>c(Ukdx37O zCsg@=k76yZsJh#d5v#g)JW+Lg2IS;LI-JmMR{B2wp&s{i(~qax?u1(6-J3Y8n^tWy|3Gf?Rv=a z*!Sx8esPJG{arlQ^pH~>ww)n+XqT?;tU1mOr|LK;+J|u`);7`mc5Qg)4(C?%4!Ln+ z*CRKGDO(uT^r(AW-!tPr82Ar_(|S+GJw9DZceFb6SfvqmZs%Ok>e5;@9d!pr502j1 zi@jQL2KI+RLe6%5W(t*rLfpb-`N3`)#*Jbx897=%VBgl$lL#if$i6dZP{yED)3=TL z$-r2<8@X-!Kp1u6nhvHiF&?>fx6Y>{gM7i(s$-3eRIP2>a>22#AE{O?>pO#vRTGU| z<@S-GbroyR$gq`3*`8zV!Nx-mmFH1)EHO~EYD1Q_dp%#f?ztT<;$HhMFYuzgW@Dk( z^b=jJ?5qqAC`YHW=}9xsSTrje|LK%F>0El|ayw>u^PS9^dBUuj*Uh|HFw5!5bZ*@j z79UgQSLuoLlvy?l%Dj-rkj`PRU*H5LmdrVfTu4uI#w?(^mY&#rDk{&SyTmxB%;V+_ zj-TCV5|2xou(B;}E|~et|HCs+7o|BXKFQ*YGS4%e<@6#^UBK8PLH5F5w`}HBcKQT+ z%P5}54=3J8&uq}o>|u@U%!a!h)_c1G?v!P#XOd0@h;0|1=FIk zCgQS2LxNiqlYPNevPxu5&`N(MF}{%5k}{uP*TvLI9vD%ZB|=+}I&g#H3^nmcUW>{+ zXD+4>XVqNJ0zi9D=5@N SLmrXT>36vY+WqL^L+U>ld@p_g literal 0 HcmV?d00001 diff --git a/djangocms_blog/locale/ru/LC_MESSAGES/django.po b/djangocms_blog/locale/ru/LC_MESSAGES/django.po index 79246c1..7670e09 100644 --- a/djangocms_blog/locale/ru/LC_MESSAGES/django.po +++ b/djangocms_blog/locale/ru/LC_MESSAGES/django.po @@ -7,13 +7,16 @@ msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2014-02-27 15:00+0100\n" -"PO-Revision-Date: 2014-02-27 15:08+0100\n" +"PO-Revision-Date: 2014-02-27 16:45+0300\n" "Last-Translator: Max Vyaznikov \n" "Language: ru\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=3; plural=((((n%10)==1)&&((n%100)!=11))?(0):(((((n%10)>=2)&&((n%10)<=4))&&(((n%100)<10)||((n%100)>=20)))?(1):2));\n" +"Plural-Forms: nplurals=3; plural=((((n%10)==1)&&((n%100)!=11))?(0):(((((n%10)" +">=2)&&((n%10)<=4))&&(((n%100)<10)||((n%100)>=20)))?(1):2));\n" +"Language-Team: \n" +"X-Generator: Poedit 1.5.4\n" #: cms_app.py:8 cms_plugins.py:30 cms_plugins.py:43 cms_plugins.py:54 #: cms_plugins.py:65 cms_toolbar.py:13 @@ -70,10 +73,30 @@ msgstr "время изменения" msgid "name" msgstr "название" -#: models.py:33 models.py:84 +#: models.py:75 +msgid "Main image" +msgstr "Картинка для статьи" + +#: models.py:77 +msgid "Main image thumbnail" +msgstr "Уменьшенная копия" + +#: models.py:81 +msgid "Main image full" +msgstr "Полный размер" + +#: models.py:86 +msgid "Title" +msgstr "Заголовок" + +#: models.py:33 models.py:87 msgid "slug" msgstr "URL" +#: models.py:88 +msgid "Text" +msgstr "Текст" + #: models.py:40 msgid "blog category" msgstr "категория блога" @@ -82,6 +105,10 @@ msgstr "категория блога" msgid "blog categories" msgstr "категории блога" +#: models.py:64 +msgid "Author" +msgstr "Автор" + #: models.py:67 msgid "Published Since" msgstr "Опубликована с" @@ -90,6 +117,10 @@ msgstr "Опубликована с" msgid "Published Until" msgstr "Опубликована до" +#: models.py:72 +msgid "Publish" +msgstr "Показывать на сайте" + #: models.py:72 msgid "category" msgstr "категория" @@ -183,7 +214,7 @@ msgstr "продолжение" #, python-format msgid "1 article" msgid_plural "%(articles)s articles" -msgstr[0] "1 статья" +msgstr[0] "%(articles)s статья" msgstr[1] "%(articles)s статьи" msgstr[2] "%(articles)s статей" diff --git a/djangocms_blog/models.py b/djangocms_blog/models.py index f7df6aa..93729dc 100644 --- a/djangocms_blog/models.py +++ b/djangocms_blog/models.py @@ -61,7 +61,7 @@ class Post(TranslatableModel): """ Blog post """ - author = models.ForeignKey(User, null=True, blank=True) + author = models.ForeignKey(User, verbose_name=_('Author'), null=True, blank=True) date_created = models.DateTimeField(auto_now_add=True) date_modified = models.DateTimeField(auto_now=True) @@ -69,21 +69,23 @@ class Post(TranslatableModel): default=timezone.now) date_published_end = models.DateTimeField(_('Published Until'), null=True, blank=True) - publish = models.BooleanField(default=False) + publish = models.BooleanField(_('Publish'), default=False) categories = models.ManyToManyField(BlogCategory, verbose_name=_('category'), related_name='blog_posts',) - main_image = FilerImageField(blank=True, null=True) + main_image = FilerImageField(verbose_name=_('Main image'), blank=True, null=True) main_image_thumbnail = models.ForeignKey(ThumbnailOption, + verbose_name=_('Main image thumbnail'), related_name='blog_post_thumbnail', blank=True, null=True) main_image_full = models.ForeignKey(ThumbnailOption, + verbose_name=_('Main image full'), related_name='blog_post_full', blank=True, null=True) translations = TranslatedFields( - title=models.CharField(max_length=255), + title=models.CharField(_('Title'), max_length=255), slug=models.SlugField(_('slug'), blank=True, db_index=True), - abstract=HTMLField(), + abstract=HTMLField(_('Text')), meta={'unique_together': (('language_code', 'slug'),)} ) content = PlaceholderField("post_content") From 100c004f3af0caa579c87919e09153d67f146b4f Mon Sep 17 00:00:00 2001 From: Max Vyaznikov Date: Thu, 27 Feb 2014 16:38:52 +0300 Subject: [PATCH 2/3] settings fix + new param `BLOG_POSTS_LIST_TRUNCWORDS_COUNT` for shorting blog post in posts_list --- djangocms_blog/settings.py | 19 +++++++++++-------- .../djangocms_blog/includes/blog_item.html | 9 ++++++++- .../templates/djangocms_blog/post_list.html | 2 +- djangocms_blog/views.py | 6 +++++- 4 files changed, 25 insertions(+), 11 deletions(-) diff --git a/djangocms_blog/settings.py b/djangocms_blog/settings.py index bc37158..235e8b3 100644 --- a/djangocms_blog/settings.py +++ b/djangocms_blog/settings.py @@ -1,18 +1,21 @@ # -*- coding: utf-8 -*- -BLOG_IMAGE_THUMBNAIL_SIZE = { +from django.conf import settings + +BLOG_IMAGE_THUMBNAIL_SIZE = getattr(settings, 'BLOG_IMAGE_THUMBNAIL_SIZE', { 'size': '120x120', 'crop': True, 'upscale': False -} +}) -BLOG_IMAGE_FULL_SIZE = { +BLOG_IMAGE_FULL_SIZE = getattr(settings, 'BLOG_IMAGE_FULL_SIZE', { 'size': '640x120', 'crop': True, 'upscale': False -} +}) -BLOG_TAGCLOUD_MIN = 1 -BLOG_TAGCLOUD_MAX = 10 -BLOG_PAGINATION = 10 -BLOG_LATEST_POSTS = 5 \ No newline at end of file +BLOG_TAGCLOUD_MIN = getattr(settings, 'BLOG_TAGCLOUD_MIN', 1) +BLOG_TAGCLOUD_MAX = getattr(settings, 'BLOG_TAGCLOUD_MAX', 10) +BLOG_PAGINATION = getattr(settings, 'BLOG_PAGINATION', 10) +BLOG_LATEST_POSTS = getattr(settings, 'BLOG_LATEST_POSTS', 5) +BLOG_POSTS_LIST_TRUNCWORDS_COUNT = getattr(settings, 'BLOG_POSTS_LIST_TRUNCWORDS_COUNT', 100) diff --git a/djangocms_blog/templates/djangocms_blog/includes/blog_item.html b/djangocms_blog/templates/djangocms_blog/includes/blog_item.html index ca5f339..34bac70 100644 --- a/djangocms_blog/templates/djangocms_blog/includes/blog_item.html +++ b/djangocms_blog/templates/djangocms_blog/includes/blog_item.html @@ -33,7 +33,14 @@ {{ post.main_image.default_alt_text }} {% endif %} -
{% render_model post "abstract" %}
+
+ {% render_model post "abstract" as full_text %} + {% if not TRUNCWORDS_COUNT %} + {{ full_text }} + {% else %} + {{ full_text|truncatewords_html:TRUNCWORDS_COUNT }} + {% endif %} +
diff --git a/djangocms_blog/templates/djangocms_blog/post_list.html b/djangocms_blog/templates/djangocms_blog/post_list.html index a4a2b2a..c735cd5 100644 --- a/djangocms_blog/templates/djangocms_blog/post_list.html +++ b/djangocms_blog/templates/djangocms_blog/post_list.html @@ -14,7 +14,7 @@ {% endblock %} {% for post in post_list %} - {% include "djangocms_blog/includes/blog_item.html" with post=post image="true" %} + {% include "djangocms_blog/includes/blog_item.html" with post=post image="true" TRUNCWORDS_COUNT=TRUNCWORDS_COUNT %} {% empty %}

{% trans "No article found." %}

{% endfor %} diff --git a/djangocms_blog/views.py b/djangocms_blog/views.py index ada03d8..cc3f6b5 100644 --- a/djangocms_blog/views.py +++ b/djangocms_blog/views.py @@ -8,7 +8,7 @@ from django.utils.translation import ugettext_lazy as _ from django.views.generic import ListView, DetailView from .models import Post, BlogCategory -from .settings import BLOG_PAGINATION +from .settings import BLOG_PAGINATION, BLOG_POSTS_LIST_TRUNCWORDS_COUNT class BaseBlogView(object): @@ -31,6 +31,10 @@ class PostListView(BaseBlogView, ListView): template_name = "djangocms_blog/post_list.html" paginate_by = BLOG_PAGINATION + def get_context_data(self, **kwargs): + context = super(PostListView, self).get_context_data(**kwargs) + context['TRUNCWORDS_COUNT'] = BLOG_POSTS_LIST_TRUNCWORDS_COUNT + return context class PostDetailView(BaseBlogView, DetailView): model = Post From 912f3b57f71339593c28e17ddb41f11d99b16169 Mon Sep 17 00:00:00 2001 From: Max Vyaznikov Date: Thu, 27 Feb 2014 16:58:17 +0300 Subject: [PATCH 3/3] fix `can't truncate full_text` --- .../templates/djangocms_blog/includes/blog_item.html | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/djangocms_blog/templates/djangocms_blog/includes/blog_item.html b/djangocms_blog/templates/djangocms_blog/includes/blog_item.html index 34bac70..d44e10d 100644 --- a/djangocms_blog/templates/djangocms_blog/includes/blog_item.html +++ b/djangocms_blog/templates/djangocms_blog/includes/blog_item.html @@ -34,11 +34,10 @@ {% endif %}
- {% render_model post "abstract" as full_text %} {% if not TRUNCWORDS_COUNT %} - {{ full_text }} + {% render_model post "abstract" %} {% else %} - {{ full_text|truncatewords_html:TRUNCWORDS_COUNT }} + {% render_model post "abstract" "" "" 'truncatewords_html:TRUNCWORDS_COUNT' %} {% endif %}