##// END OF EJS Templates
Show only required tags in all tags list by default
neko259 -
r1069:389105b1 default
parent child Browse files
Show More
1 NO CONTENT: modified file, binary diff hidden
@@ -1,381 +1,386 b''
1 1 # SOME DESCRIPTIVE TITLE.
2 2 # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
3 3 # This file is distributed under the same license as the PACKAGE package.
4 4 # FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
5 5 #
6 6 msgid ""
7 7 msgstr ""
8 8 "Project-Id-Version: PACKAGE VERSION\n"
9 9 "Report-Msgid-Bugs-To: \n"
10 "POT-Creation-Date: 2015-03-30 18:42+0300\n"
10 "POT-Creation-Date: 2015-04-01 18:05+0300\n"
11 11 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
12 12 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
13 13 "Language-Team: LANGUAGE <LL@li.org>\n"
14 14 "Language: ru\n"
15 15 "MIME-Version: 1.0\n"
16 16 "Content-Type: text/plain; charset=UTF-8\n"
17 17 "Content-Transfer-Encoding: 8bit\n"
18 18 "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
19 19 "%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
20 20
21 21 #: admin.py:22
22 22 msgid "{} posters were banned"
23 23 msgstr ""
24 24
25 25 #: authors.py:9
26 26 msgid "author"
27 27 msgstr "автор"
28 28
29 29 #: authors.py:10
30 30 msgid "developer"
31 31 msgstr "разработчик"
32 32
33 33 #: authors.py:11
34 34 msgid "javascript developer"
35 35 msgstr "разработчик javascript"
36 36
37 37 #: authors.py:12
38 38 msgid "designer"
39 39 msgstr "дизайнер"
40 40
41 41 #: forms.py:34
42 42 msgid "Type message here. Use formatting panel for more advanced usage."
43 43 msgstr ""
44 44 "Вводите сообщение сюда. Используйте панель для более сложного форматирования."
45 45
46 46 #: forms.py:35
47 47 msgid "tag1 several_words_tag"
48 48 msgstr "метка1 метка_из_нескольких_слов"
49 49
50 50 #: forms.py:37
51 51 msgid "Title"
52 52 msgstr "Заголовок"
53 53
54 54 #: forms.py:38
55 55 msgid "Text"
56 56 msgstr "Текст"
57 57
58 58 #: forms.py:39
59 59 msgid "Tag"
60 60 msgstr "Метка"
61 61
62 62 #: forms.py:40 templates/boards/base.html:36 templates/search/search.html:13
63 63 #: templates/search/search.html.py:17
64 64 msgid "Search"
65 65 msgstr "Поиск"
66 66
67 67 #: forms.py:139
68 68 msgid "Image"
69 69 msgstr "Изображение"
70 70
71 71 #: forms.py:142
72 72 msgid "Image URL"
73 73 msgstr "URL изображения"
74 74
75 75 #: forms.py:148
76 76 msgid "e-mail"
77 77 msgstr ""
78 78
79 79 #: forms.py:159
80 80 #, python-format
81 81 msgid "Title must have less than %s characters"
82 82 msgstr "Заголовок должен иметь меньше %s символов"
83 83
84 84 #: forms.py:168
85 85 #, python-format
86 86 msgid "Text must have less than %s characters"
87 87 msgstr "Текст должен быть короче %s символов"
88 88
89 89 #: forms.py:190
90 90 msgid "Invalid URL"
91 91 msgstr "Неверный URL"
92 92
93 93 #: forms.py:227
94 94 msgid "Either text or image must be entered."
95 95 msgstr "Текст или картинка должны быть введены."
96 96
97 97 #: forms.py:243
98 98 #, python-format
99 99 msgid "Wait %s seconds after last posting"
100 100 msgstr "Подождите %s секунд после последнего постинга"
101 101
102 102 #: forms.py:255
103 103 #, python-format
104 104 msgid "Image must be less than %s bytes"
105 105 msgstr "Изображение должно быть менее %s байт"
106 106
107 107 #: forms.py:302 templates/boards/rss/post.html:10 templates/boards/tags.html:7
108 108 msgid "Tags"
109 109 msgstr "Метки"
110 110
111 111 #: forms.py:309
112 112 msgid "Inappropriate characters in tags."
113 113 msgstr "Недопустимые символы в метках."
114 114
115 115 #: forms.py:320
116 116 msgid "Need at least 1 required tag."
117 117 msgstr "Нужна хотя бы 1 обязательная метка."
118 118
119 119 #: forms.py:332
120 120 msgid "Theme"
121 121 msgstr "Тема"
122 122
123 123 #: forms.py:333
124 124 msgid "User name"
125 125 msgstr "Имя пользователя"
126 126
127 127 #: forms.py:334
128 128 msgid "Time zone"
129 129 msgstr "Часовой пояс"
130 130
131 131 #: forms.py:340
132 132 msgid "Inappropriate characters."
133 133 msgstr "Недопустимые символы."
134 134
135 135 #: templates/boards/404.html:6
136 136 msgid "Not found"
137 137 msgstr "Не найдено"
138 138
139 139 #: templates/boards/404.html:12
140 140 msgid "This page does not exist"
141 141 msgstr "Этой страницы не существует"
142 142
143 143 #: templates/boards/authors.html:6 templates/boards/authors.html.py:12
144 144 msgid "Authors"
145 145 msgstr "Авторы"
146 146
147 147 #: templates/boards/authors.html:26
148 148 msgid "Distributed under the"
149 149 msgstr "Распространяется под"
150 150
151 151 #: templates/boards/authors.html:28
152 152 msgid "license"
153 153 msgstr "лицензией"
154 154
155 155 #: templates/boards/authors.html:30
156 156 msgid "Repository"
157 157 msgstr "Репозиторий"
158 158
159 159 #: templates/boards/base.html:13
160 160 msgid "Feed"
161 161 msgstr "Лента"
162 162
163 163 #: templates/boards/base.html:30
164 164 msgid "All threads"
165 165 msgstr "Все темы"
166 166
167 167 #: templates/boards/base.html:34
168 168 msgid "Tag management"
169 169 msgstr "Управление метками"
170 170
171 171 #: templates/boards/base.html:39 templates/boards/base.html.py:40
172 172 #: templates/boards/notifications.html:8
173 173 msgid "Notifications"
174 174 msgstr "Уведомления"
175 175
176 176 #: templates/boards/base.html:47 templates/boards/settings.html:9
177 177 msgid "Settings"
178 178 msgstr "Настройки"
179 179
180 180 #: templates/boards/base.html:60
181 181 msgid "Admin"
182 182 msgstr "Администрирование"
183 183
184 184 #: templates/boards/base.html:62
185 185 #, python-format
186 186 msgid "Speed: %(ppd)s posts per day"
187 187 msgstr "Скорость: %(ppd)s сообщений в день"
188 188
189 189 #: templates/boards/base.html:64
190 190 msgid "Up"
191 191 msgstr "Вверх"
192 192
193 193 #: templates/boards/notifications.html:17
194 194 #: templates/boards/posting_general.html:81 templates/search/search.html:26
195 195 msgid "Previous page"
196 196 msgstr "Предыдущая страница"
197 197
198 198 #: templates/boards/notifications.html:27
199 199 #: templates/boards/posting_general.html:121 templates/search/search.html:37
200 200 msgid "Next page"
201 201 msgstr "Следующая страница"
202 202
203 203 #: templates/boards/post.html:32
204 204 msgid "Open"
205 205 msgstr "Открыть"
206 206
207 207 #: templates/boards/post.html:34 templates/boards/post.html.py:38
208 208 msgid "Reply"
209 209 msgstr "Ответ"
210 210
211 211 #: templates/boards/post.html:43
212 212 msgid "Edit"
213 213 msgstr "Изменить"
214 214
215 215 #: templates/boards/post.html:45
216 216 msgid "Edit thread"
217 217 msgstr "Изменить тему"
218 218
219 219 #: templates/boards/post.html:75
220 220 msgid "Replies"
221 221 msgstr "Ответы"
222 222
223 223 #: templates/boards/post.html:86 templates/boards/thread.html:30
224 224 msgid "messages"
225 225 msgstr "сообщений"
226 226
227 227 #: templates/boards/post.html:87 templates/boards/thread.html:31
228 228 msgid "images"
229 229 msgstr "изображений"
230 230
231 231 #: templates/boards/posting_general.html:65
232 232 msgid "Edit tag"
233 233 msgstr "Изменить метку"
234 234
235 235 #: templates/boards/posting_general.html:68
236 236 #, python-format
237 237 msgid "This tag has %(thread_count)s threads and %(post_count)s posts."
238 238 msgstr "С этой меткой есть %(thread_count)s тем и %(post_count)s сообщений."
239 239
240 240 #: templates/boards/posting_general.html:96
241 241 #, python-format
242 242 msgid "Skipped %(count)s replies. Open thread to see all replies."
243 243 msgstr "Пропущено %(count)s ответов. Откройте тред, чтобы увидеть все ответы."
244 244
245 245 #: templates/boards/posting_general.html:126
246 246 msgid "No threads exist. Create the first one!"
247 247 msgstr "Нет тем. Создайте первую!"
248 248
249 249 #: templates/boards/posting_general.html:132
250 250 msgid "Create new thread"
251 251 msgstr "Создать новую тему"
252 252
253 253 #: templates/boards/posting_general.html:137 templates/boards/preview.html:16
254 254 #: templates/boards/thread_normal.html:46
255 255 msgid "Post"
256 256 msgstr "Отправить"
257 257
258 #: templates/boards/posting_general.html:143
258 #: templates/boards/posting_general.html:142
259 259 msgid "Tags must be delimited by spaces. Text or image is required."
260 260 msgstr ""
261 261 "Метки должны быть разделены пробелами. Текст или изображение обязательны."
262 262
263 #: templates/boards/posting_general.html:146
263 #: templates/boards/posting_general.html:145
264 264 #: templates/boards/thread_normal.html:51
265 265 msgid "Text syntax"
266 266 msgstr "Синтаксис текста"
267 267
268 #: templates/boards/posting_general.html:158
268 #: templates/boards/posting_general.html:157
269 269 msgid "Pages:"
270 270 msgstr "Страницы: "
271 271
272 #: templates/boards/preview.html:6 templates/boards/staticpages/help.html:20
272 #: templates/boards/preview.html:6 templates/boards/staticpages/help.html:21
273 273 msgid "Preview"
274 274 msgstr "Предпросмотр"
275 275
276 276 #: templates/boards/rss/post.html:5
277 277 msgid "Post image"
278 278 msgstr "Изображение сообщения"
279 279
280 280 #: templates/boards/settings.html:17
281 281 msgid "You are moderator."
282 282 msgstr "Вы модератор."
283 283
284 284 #: templates/boards/settings.html:21
285 285 msgid "Hidden tags:"
286 286 msgstr "Скрытые метки:"
287 287
288 288 #: templates/boards/settings.html:29
289 289 msgid "No hidden tags."
290 290 msgstr "Нет скрытых меток."
291 291
292 292 #: templates/boards/settings.html:38
293 293 msgid "Save"
294 294 msgstr "Сохранить"
295 295
296 296 #: templates/boards/staticpages/banned.html:6
297 297 msgid "Banned"
298 298 msgstr "Заблокирован"
299 299
300 300 #: templates/boards/staticpages/banned.html:11
301 301 msgid "Your IP address has been banned. Contact the administrator"
302 302 msgstr "Ваш IP адрес был заблокирован. Свяжитесь с администратором"
303 303
304 304 #: templates/boards/staticpages/help.html:6
305 305 #: templates/boards/staticpages/help.html:10
306 306 msgid "Syntax"
307 307 msgstr "Синтаксис"
308 308
309 309 #: templates/boards/staticpages/help.html:11
310 310 msgid "Italic text"
311 311 msgstr "Курсивный текст"
312 312
313 313 #: templates/boards/staticpages/help.html:12
314 314 msgid "Bold text"
315 315 msgstr "Полужирный текст"
316 316
317 317 #: templates/boards/staticpages/help.html:13
318 318 msgid "Spoiler"
319 319 msgstr "Спойлер"
320 320
321 321 #: templates/boards/staticpages/help.html:14
322 322 msgid "Link to a post"
323 323 msgstr "Ссылка на сообщение"
324 324
325 325 #: templates/boards/staticpages/help.html:15
326 326 msgid "Add post to this thread"
327 327 msgstr "Добавить сообщение в эту тему"
328 328
329 329 #: templates/boards/staticpages/help.html:16
330 330 msgid "Strikethrough text"
331 331 msgstr "Зачеркнутый текст"
332 332
333 333 #: templates/boards/staticpages/help.html:17
334 334 msgid "Comment"
335 335 msgstr "Комментарий"
336 336
337 337 #: templates/boards/staticpages/help.html:18
338 #: templates/boards/staticpages/help.html:19
338 339 msgid "Quote"
339 340 msgstr "Цитата"
340 341
341 #: templates/boards/staticpages/help.html:20
342 #: templates/boards/staticpages/help.html:21
342 343 msgid "You can try pasting the text and previewing the result here:"
343 344 msgstr "Вы можете попробовать вставить текст и проверить результат здесь:"
344 345
345 346 #: templates/boards/tags.html:23
346 347 msgid "No tags found."
347 348 msgstr "Метки не найдены."
348 349
350 #: templates/boards/tags.html:26
351 msgid "All tags"
352 msgstr "Все метки"
353
349 354 #: templates/boards/thread.html:32
350 355 msgid "Last update: "
351 356 msgstr "Последнее обновление: "
352 357
353 358 #: templates/boards/thread_gallery.html:21
354 359 #: templates/boards/thread_normal.html:16
355 360 msgid "Normal mode"
356 361 msgstr "Нормальный режим"
357 362
358 363 #: templates/boards/thread_gallery.html:22
359 364 #: templates/boards/thread_normal.html:17
360 365 msgid "Gallery mode"
361 366 msgstr "Режим галереи"
362 367
363 368 #: templates/boards/thread_gallery.html:52
364 369 msgid "No images."
365 370 msgstr "Нет изображений."
366 371
367 372 #: templates/boards/thread_normal.html:25
368 373 msgid "posts to bumplimit"
369 374 msgstr "сообщений до бамплимита"
370 375
371 376 #: templates/boards/thread_normal.html:39
372 377 msgid "Reply to thread"
373 378 msgstr "Ответить в тему"
374 379
375 380 #: templates/boards/thread_normal.html:52
376 381 msgid "Close form"
377 382 msgstr "Закрыть форму"
378 383
379 384 #: templates/boards/thread_normal.html:68
380 385 msgid "Update"
381 386 msgstr "Обновить"
@@ -1,68 +1,68 b''
1 1 {% load staticfiles %}
2 2 {% load i18n %}
3 3 {% load l10n %}
4 4 {% load static from staticfiles %}
5 5
6 6 <!DOCTYPE html>
7 7 <html>
8 8 <head>
9 9 <link rel="stylesheet" type="text/css" href="{% static 'css/base.css' %}" media="all"/>
10 10 <link rel="stylesheet" type="text/css" href="{% static 'css/3party/highlight.css' %}" media="all"/>
11 11 <link rel="stylesheet" type="text/css" href="{% static theme_css %}" media="all"/>
12 12
13 13 <link rel="alternate" type="application/rss+xml" href="rss/" title="{% trans 'Feed' %}"/>
14 14
15 15 <link rel="icon" type="image/png"
16 16 href="{% static 'favicon.png' %}">
17 17
18 18 <meta name="viewport" content="width=device-width, initial-scale=1"/>
19 19 <meta charset="utf-8"/>
20 20
21 21 {% block head %}{% endblock %}
22 22 </head>
23 23 <body>
24 24 <script src="{% static 'js/jquery-2.0.1.min.js' %}"></script>
25 25 <script src="{% static 'js/jquery-ui-1.10.3.custom.min.js' %}"></script>
26 26 <script src="{% static 'js/jquery.mousewheel.js' %}"></script>
27 27 <script src="{% url 'js_info_dict' %}"></script>
28 28
29 29 <div class="navigation_panel header">
30 30 <a class="link" href="{% url 'index' %}">{% trans "All threads" %}</a>
31 31 {% autoescape off %}
32 32 {{ tags_str }},
33 33 {% endautoescape %}
34 <a href="{% url 'tags' %}" title="{% trans 'Tag management' %}"
34 <a href="{% url 'tags' 'required'%}" title="{% trans 'Tag management' %}"
35 35 >[...]</a>,
36 36 <a href="{% url 'search' %}" title="{% trans 'Search' %}">[S]</a>.
37 37
38 38 {% if username %}
39 39 <a class="right-link link" href="{% url 'notifications' username %}" title="{% trans 'Notifications' %}">
40 40 {% trans 'Notifications' %}
41 41 {% ifnotequal new_notifications_count 0 %}
42 42 (<b>{{ new_notifications_count }}</b>)
43 43 {% endifnotequal %}
44 44 </a>
45 45 {% endif %}
46 46
47 47 <a class="right-link link" href="{% url 'settings' %}">{% trans 'Settings' %}</a>
48 48 </div>
49 49
50 50 {% block content %}{% endblock %}
51 51
52 52 <script src="{% static 'js/3party/highlight.min.js' %}"></script>
53 53 <script src="{% static 'js/popup.js' %}"></script>
54 54 <script src="{% static 'js/image.js' %}"></script>
55 55 <script src="{% static 'js/refpopup.js' %}"></script>
56 56 <script src="{% static 'js/main.js' %}"></script>
57 57
58 58 <div class="navigation_panel footer">
59 59 {% block metapanel %}{% endblock %}
60 60 [<a href="{% url 'admin:index' %}">{% trans 'Admin' %}</a>]
61 61 {% with ppd=posts_per_day|floatformat:2 %}
62 62 {% blocktrans %}Speed: {{ ppd }} posts per day{% endblocktrans %}
63 63 {% endwith %}
64 64 <a class="link" href="#top" id="up">{% trans 'Up' %}</a>
65 65 </div>
66 66
67 67 </body>
68 68 </html>
@@ -1,28 +1,31 b''
1 1 {% extends "boards/base.html" %}
2 2
3 3 {% load i18n %}
4 4 {% load cache %}
5 5
6 6 {% block head %}
7 7 <title>Neboard - {% trans "Tags" %}</title>
8 8 {% endblock %}
9 9
10 10 {% block content %}
11 11
12 {% cache 600 all_tags_list %}
12 {% cache 600 all_tags_list query %}
13 13 <div class="post">
14 14 {% if all_tags %}
15 15 {% for tag in all_tags %}
16 16 <div class="tag_item">
17 17 {% autoescape off %}
18 18 {{ tag.get_view }}
19 19 {% endautoescape %}
20 20 </div>
21 21 {% endfor %}
22 22 {% else %}
23 23 {% trans 'No tags found.' %}
24 24 {% endif %}
25 {% if query %}
26 <div><a href="{% url 'tags' %}">{% trans 'All tags' %}</a></div>
27 {% endif %}
25 28 </div>
26 29 {% endcache %}
27 30
28 31 {% endblock %}
@@ -1,81 +1,81 b''
1 1 from django.conf.urls import patterns, url, include
2 2 from django.contrib import admin
3 3 from boards import views
4 4 from boards.rss import AllThreadsFeed, TagThreadsFeed, ThreadPostsFeed
5 5 from boards.views import api, tag_threads, all_threads, \
6 6 settings, all_tags
7 7 from boards.views.authors import AuthorsView
8 8 from boards.views.ban import BanUserView
9 9 from boards.views.notifications import NotificationView
10 10 from boards.views.search import BoardSearchView
11 11 from boards.views.static import StaticPageView
12 12 from boards.views.preview import PostPreviewView
13 13
14 14 js_info_dict = {
15 15 'packages': ('boards',),
16 16 }
17 17
18 18 urlpatterns = patterns('',
19 19 # /boards/
20 20 url(r'^$', all_threads.AllThreadsView.as_view(), name='index'),
21 21 # /boards/page/
22 22 url(r'^page/(?P<page>\w+)/$', all_threads.AllThreadsView.as_view(),
23 23 name='index'),
24 24
25 25 # /boards/tag/tag_name/
26 26 url(r'^tag/(?P<tag_name>\w+)/$', tag_threads.TagView.as_view(),
27 27 name='tag'),
28 28 # /boards/tag/tag_id/page/
29 29 url(r'^tag/(?P<tag_name>\w+)/page/(?P<page>\w+)/$',
30 30 tag_threads.TagView.as_view(), name='tag'),
31 31
32 32 # /boards/thread/
33 33 url(r'^thread/(?P<post_id>\w+)/$', views.thread.normal.NormalThreadView.as_view(),
34 34 name='thread'),
35 35 url(r'^thread/(?P<post_id>\w+)/mode/gallery/$', views.thread.gallery.GalleryThreadView.as_view(),
36 36 name='thread_gallery'),
37 37
38 38 url(r'^settings/$', settings.SettingsView.as_view(), name='settings'),
39 url(r'^tags/$', all_tags.AllTagsView.as_view(), name='tags'),
39 url(r'^tags/(?P<query>\w+)?/?$', all_tags.AllTagsView.as_view(), name='tags'),
40 40 url(r'^authors/$', AuthorsView.as_view(), name='authors'),
41 41 url(r'^ban/(?P<post_id>\w+)/$', BanUserView.as_view(), name='ban'),
42 42
43 43 url(r'^banned/$', views.banned.BannedView.as_view(), name='banned'),
44 44 url(r'^staticpage/(?P<name>\w+)/$', StaticPageView.as_view(),
45 45 name='staticpage'),
46 46
47 47 # RSS feeds
48 48 url(r'^rss/$', AllThreadsFeed()),
49 49 url(r'^page/(?P<page>\w+)/rss/$', AllThreadsFeed()),
50 50 url(r'^tag/(?P<tag_name>\w+)/rss/$', TagThreadsFeed()),
51 51 url(r'^tag/(?P<tag_name>\w+)/page/(?P<page>\w+)/rss/$', TagThreadsFeed()),
52 52 url(r'^thread/(?P<post_id>\w+)/rss/$', ThreadPostsFeed()),
53 53
54 54 # i18n
55 55 url(r'^jsi18n/$', 'boards.views.cached_js_catalog', js_info_dict,
56 56 name='js_info_dict'),
57 57
58 58 # API
59 59 url(r'^api/post/(?P<post_id>\w+)/$', api.get_post, name="get_post"),
60 60 url(r'^api/diff_thread/(?P<thread_id>\w+)/(?P<last_update_time>\w+)/$',
61 61 api.api_get_threaddiff, name="get_thread_diff"),
62 62 url(r'^api/threads/(?P<count>\w+)/$', api.api_get_threads,
63 63 name='get_threads'),
64 64 url(r'^api/tags/$', api.api_get_tags, name='get_tags'),
65 65 url(r'^api/thread/(?P<opening_post_id>\w+)/$', api.api_get_thread_posts,
66 66 name='get_thread'),
67 67 url(r'^api/add_post/(?P<opening_post_id>\w+)/$', api.api_add_post,
68 68 name='add_post'),
69 69 url(r'^api/notifications/(?P<username>\w+)/$', api.api_get_notifications,
70 70 name='api_notifications'),
71 71
72 72 # Search
73 73 url(r'^search/$', BoardSearchView.as_view(), name='search'),
74 74
75 75 # Notifications
76 76 url(r'^notifications/(?P<username>\w+)$', NotificationView.as_view(), name='notifications'),
77 77
78 78 # Post preview
79 79 url(r'^preview/$', PostPreviewView.as_view(), name='preview')
80 80
81 81 )
@@ -1,14 +1,22 b''
1 1 from django.shortcuts import render
2 2
3 3 from boards.views.base import BaseBoardView
4 4 from boards.models.tag import Tag
5 5
6 6
7 PARAM_TAGS = 'all_tags'
8 PARAM_QUERY = 'query'
9
10
7 11 class AllTagsView(BaseBoardView):
8 12
9 def get(self, request):
13 def get(self, request, query=None):
10 14 params = dict()
11 15
12 params['all_tags'] = Tag.objects.get_not_empty_tags()
16 if query == 'required':
17 params[PARAM_TAGS] = Tag.objects.filter(required=True)
18 else:
19 params[PARAM_TAGS] = Tag.objects.get_not_empty_tags()
20 params[PARAM_QUERY] = query
13 21
14 22 return render(request, 'boards/tags.html', params)
General Comments 0
You need to be logged in to leave comments. Login now