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