##// END OF EJS Templates
Added translation for javascript. This fixes #36
neko259 -
r122:3928e034 default
parent child Browse files
Show More
1 NO CONTENT: modified file, binary diff hidden
@@ -1,168 +1,176 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: 2013-08-04 14:04+0300\n"
10 "POT-Creation-Date: 2013-08-27 22:50+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 #: templates/boards/authors.html:6
22 22 msgid "Authors"
23 23 msgstr "Авторы"
24 24
25 25 #: templates/boards/authors.html:24
26 26 msgid "Distributed under the"
27 27 msgstr "Распространяется под"
28 28
29 29 #: templates/boards/authors.html:26
30 30 msgid "license"
31 31 msgstr "лицензией"
32 32
33 33 #: templates/boards/authors.html:28
34 34 msgid "Repository"
35 35 msgstr "Репозиторий"
36 36
37 #: templates/boards/banned.html:6
38 msgid "Banned"
39 msgstr ""
40
41 #: templates/boards/banned.html:11
42 msgid "Your IP address has been banned. Contact the administrator"
43 msgstr ""
44
37 45 #: templates/boards/base.html:12
38 46 msgid "Feed"
39 47 msgstr "Лента"
40 48
41 #: templates/boards/base.html:31
49 #: templates/boards/base.html:35
42 50 msgid "All threads"
43 51 msgstr "Все темы"
44 52
45 #: templates/boards/base.html:37
53 #: templates/boards/base.html:41
46 54 msgid "Settings"
47 55 msgstr "Настройки"
48 56
49 #: templates/boards/base.html:45
57 #: templates/boards/base.html:49
50 58 msgid "Up"
51 59 msgstr "Вверх"
52 60
53 61 #: templates/boards/posting_general.html:18
54 62 msgid "Tag: "
55 63 msgstr "Тег: "
56 64
57 65 #: templates/boards/posting_general.html:35
58 66 #: templates/boards/posting_general.html:79 templates/boards/thread.html:27
59 67 #: templates/boards/rss/post.html:5
60 68 msgid "Post image"
61 69 msgstr "Изображение сообщения"
62 70
63 71 #: templates/boards/posting_general.html:46
64 72 msgid "Reply"
65 73 msgstr "Ответ"
66 74
67 75 #: templates/boards/posting_general.html:53 templates/boards/thread.html:111
68 76 msgid "replies"
69 77 msgstr "ответов"
70 78
71 79 #: templates/boards/posting_general.html:54 templates/boards/thread.html:112
72 80 msgid "images"
73 81 msgstr "изображений"
74 82
75 83 #: templates/boards/posting_general.html:56
76 84 #: templates/boards/posting_general.html:127 templates/boards/thread.html:51
77 85 #: templates/boards/rss/post.html:10
78 86 msgid "Tags"
79 87 msgstr "Теги"
80 88
81 89 #: templates/boards/posting_general.html:109
82 90 msgid "Create new thread"
83 91 msgstr "Создать новую тему"
84 92
85 93 #: templates/boards/posting_general.html:112 templates/boards/thread.html:73
86 94 msgid "Title"
87 95 msgstr "Заголовок"
88 96
89 97 #: templates/boards/posting_general.html:117 templates/boards/thread.html:78
90 98 msgid "Text"
91 99 msgstr "Текст"
92 100
93 101 #: templates/boards/posting_general.html:122 templates/boards/thread.html:83
94 102 msgid "Image"
95 103 msgstr "Изображение"
96 104
97 105 #: templates/boards/posting_general.html:137 templates/boards/thread.html:94
98 106 msgid "Post"
99 107 msgstr "Отправить"
100 108
101 109 #: templates/boards/posting_general.html:139
102 110 msgid "Tags must be delimited by spaces. Text or image is required."
103 111 msgstr ""
104 112 "Теги должны быть разделены пробелами. Текст или изображение обязательны."
105 113
106 114 #: templates/boards/posting_general.html:142 templates/boards/thread.html:96
107 115 msgid "Basic markdown syntax."
108 116 msgstr "Базовый синтаксис markdown."
109 117
110 118 #: templates/boards/posting_general.html:152
111 119 msgid "Pages:"
112 120 msgstr "Страницы: "
113 121
114 122 #: templates/boards/settings.html:13
115 123 msgid "Theme"
116 124 msgstr "Тема"
117 125
118 126 #: templates/boards/settings.html:29
119 127 msgid "Save"
120 128 msgstr "Сохранить"
121 129
122 130 #: templates/boards/tags.html:7
123 131 msgid "tags"
124 132 msgstr "тегов"
125 133
126 134 #: templates/boards/thread.html:39
127 135 msgid "Get!"
128 136 msgstr "Гет!"
129 137
130 138 #: templates/boards/thread.html:70
131 139 msgid "Reply to thread"
132 140 msgstr "Ответить в тему"
133 141
134 142 #: templates/boards/thread.html:97
135 143 msgid "Example: "
136 144 msgstr "Пример: "
137 145
138 146 #: templates/boards/thread.html:97
139 147 msgid "italic"
140 148 msgstr "курсив"
141 149
142 150 #: templates/boards/thread.html:98
143 151 msgid "bold"
144 152 msgstr "полужирный"
145 153
146 154 #: templates/boards/thread.html:99
147 155 msgid "Quotes can be inserted with"
148 156 msgstr "Цитаты могут быть вставлены при помощи"
149 157
150 158 #: templates/boards/thread.html:100
151 159 msgid "Links to answers can be inserted with"
152 160 msgstr "Ссылки на ответы могут быть вставлены с помощью"
153 161
154 162 #: templates/boards/thread.html:113
155 163 msgid "Last update: "
156 164 msgstr "Последнее обновление: "
157 165
158 166 #~ msgid "View"
159 167 #~ msgstr "Просмотр"
160 168
161 169 #~ msgid "gets"
162 170 #~ msgstr "гетов"
163 171
164 msgid "author"
165 msgstr "автор"
172 #~ msgid "author"
173 #~ msgstr "автор"
166 174
167 msgid "developer"
168 msgstr "разработчик" No newline at end of file
175 #~ msgid "developer"
176 #~ msgstr "разработчик" No newline at end of file
@@ -1,96 +1,100 b''
1 1 var image_mode = 0;
2 2 var normal_dom, table_dom;
3 3
4 4 function add_panel(after)
5 5 {
6 6 var nav_top = $(after);
7 7 if (nav_top.length === 0) return;
8 8 nav_top = nav_top[0];
9 9
10 10 var tab_bar = $('<div class="image-mode-tab" role="radiogroup" aria-label="Image mode"></div>');
11 11
12 12 var tab;
13 13
14 14 tab = $('<input type="radio" class="image-mode-normal" name="image-mode" value="0" checked="checked"/>');
15 15 tab.on("change", tab_handler);
16 tab = $('<label>Normal</label>').prepend(tab);
16
17 var label_normal = gettext('Normal');
18 tab = $('<label>' + label_normal + '</label>').prepend(tab);
17 19 tab_bar.append(tab);
18 20
19 21 tab = $('<input type="radio" class="image-mode-table" name="image-mode" value="1"/>');
20 22 tab.on("change", tab_handler);
21 tab = $('<label>Gallery</label>').prepend(tab);
23
24 var label_gallery = gettext('Gallery');
25 tab = $('<label>' + label_gallery + '</label>').prepend(tab);
22 26 tab_bar.append(tab);
23 27
24 28 tab_bar.insertAfter(nav_top);
25 29 }
26 30
27 31 function tab_handler(ev)
28 32 {
29 33 var current_el = $(this);
30 34
31 35 if (!current_el.prop('checked')) return;
32 36
33 37 var new_mode = parseInt(current_el.val(), 10);
34 38 if (new_mode === image_mode) return;
35 39 image_mode = new_mode;
36 40
37 41 make_normal_dom();
38 42 make_table_dom();
39 43
40 44 switch(new_mode) {
41 45 case 0:
42 46 $('#posts-table').replaceWith(normal_dom);
43 47 break;
44 48 case 1:
45 49 $('#posts').replaceWith(table_dom);
46 50 break;
47 51 }
48 52 }
49 53
50 54 function make_normal_dom()
51 55 {
52 56 if (typeof normal_dom === 'undefined') {
53 57 normal_dom = $('#posts').clone(true);
54 58 }
55 59 }
56 60
57 61 function make_table_dom()
58 62 {
59 63 if (typeof table_dom !== 'undefined') return;
60 64
61 65 table_dom = $('<div id="posts-table"></div>');
62 66 $('#posts > .post > .image > a').each(
63 67 function(){
64 68 table_dom.append(
65 69 $(this).clone().attr('target', '_blank')
66 70 );
67 71 }
68 72 );
69 73 }
70 74
71 75 function moveCaretToEnd(el) {
72 76 if (typeof el.selectionStart == "number") {
73 77 el.selectionStart = el.selectionEnd = el.value.length;
74 78 } else if (typeof el.createTextRange != "undefined") {
75 79 el.focus();
76 80 var range = el.createTextRange();
77 81 range.collapse(false);
78 82 range.select();
79 83 }
80 84 }
81 85
82 86 function addQuickReply(postId) {
83 87 var textToAdd = '>>' + postId + '\n\n';
84 88 var textAreaId = '#id_text';
85 89 $(textAreaId).val($(textAreaId).val()+ textToAdd);
86 90
87 91 var textarea = document.getElementById('id_text');
88 92 $(textAreaId).focus();
89 93 moveCaretToEnd(textarea);
90 94
91 95 $("html, body").animate({ scrollTop: $(textAreaId).offset().top }, "slow");
92 96 }
93 97
94 98 $(document).ready(function(){
95 99 add_panel('.navigation_panel');
96 100 });
@@ -1,52 +1,53 b''
1 1 {% load staticfiles %}
2 2 {% load i18n %}
3 3
4 4 <!DOCTYPE html>
5 5 <html>
6 6 <head>
7 7 <link rel="stylesheet" type="text/css"
8 8 href="{{ STATIC_URL }}css/jquery.fancybox.css" media="all"/>
9 9 <link rel="stylesheet" type="text/css"
10 10 href="{{ STATIC_URL }}css/{{ theme }}/base_page.css" media="all"/>
11 11 <link rel="alternate" type="application/rss+xml" href="rss/" title="
12 12 {% trans 'Feed' %}"/>
13 13
14 14 <link rel="icon" type="image/png"
15 15 href="{{ STATIC_URL }}favicon.png">
16 16
17 17 <meta name="viewport" content="width=device-width, initial-scale=1"/>
18 18 <meta charset="utf-8"/>
19 19 {% block head %}{% endblock %}
20 20 </head>
21 21 <body>
22 22 <script src="{{ STATIC_URL }}js/jquery-2.0.1.min.js"></script>
23 23 <script src="{{ STATIC_URL }}js/jquery.fancybox.pack.js"></script>
24 <script type="text/javascript" src="{% url 'django.views.i18n.javascript_catalog' %}"></script>
24 25 <script src="{{ STATIC_URL }}js/main.js"></script>
25 26 <div id="admin_panel">
26 27
27 28 {% if request.session.admin == True %}
28 29 Admin panel TODO: Need to implement <BR />
29 30 {% endif %}
30 31
31 32 </div>
32 33
33 34 <div class="navigation_panel">
34 35 <a class="link" href="{% url 'index' %}">{% trans "All threads" %}</a>
35 36 {% for tag in tags %}
36 37 <a class="tag" href=" {% url 'tag' tag_name=tag.name %}">
37 38 {{ tag.name }}</a>({{ tag.get_post_count }})
38 39 {% endfor %}
39 40 <a class="tag" href="{% url 'tags' %}">[...]</a>
40 41 <a class="link" href="{% url 'settings' %}">{% trans 'Settings' %}</a>
41 42 </div>
42 43
43 44 {% block content %}{% endblock %}
44 45
45 46 <div class="navigation_panel">
46 47 {% block metapanel %}{% endblock %}
47 48 [<a href="rss/">RSS</a>]
48 49 <a class="link" href="#top">{% trans 'Up' %}</a>
49 50 </div>
50 51
51 52 </body>
52 53 </html> No newline at end of file
@@ -1,37 +1,43 b''
1 1 from django.conf.urls import patterns, url, include
2 2 from boards import views
3 3 from boards.rss import AllThreadsFeed, TagThreadsFeed, ThreadPostsFeed
4 4
5 js_info_dict = {
6 'packages': ('boards',),
7 }
8
5 9 urlpatterns = patterns('',
6 10
7 11 # /boards/
8 12 url(r'^$', views.index, name='index'),
9 13 # /boards/page/
10 14 url(r'^page/(?P<page>\w+)/$', views.index, name='index'),
11 15
12 16 # login page
13 17 url(r'^login$', views.login, name='login'),
14 18 # logout page
15 19 url(r'^logout$', views.logout, name='logout'),
16 20
17 21 # /boards/tag/tag_name/
18 22 url(r'^tag/(?P<tag_name>\w+)/$', views.tag, name='tag'),
19 23 # /boards/tag/tag_id/page/
20 24 url(r'^tag/(?P<tag_name>\w+)/page/(?P<page>\w+)/$', views.tag, name='tag'),
21 25 # /boards/thread/
22 26 url(r'^thread/(?P<post_id>\w+)/$', views.thread, name='thread'),
23 27 # /boards/theme/theme_name/
24 28 url(r'^settings$', views.settings, name='settings'),
25 29 url(r'^tags$', views.all_tags, name='tags'),
26 30 url(r'^captcha/', include('captcha.urls')),
27 31 url(r'^jump/(?P<post_id>\w+)/$', views.jump_to_post, name='jumper'),
28 32 url(r'^authors/$', views.authors, name='authors'),
29 33 url(r'^banned/$', views.you_are_banned, name='banned'),
30 34
31 35 # RSS feeds
32 36 url(r'^rss/$', AllThreadsFeed()),
33 37 url(r'^page/(?P<page>\w+)/rss/$', AllThreadsFeed()),
34 38 url(r'^tag/(?P<tag_name>\w+)/rss/$', TagThreadsFeed()),
35 39 url(r'^tag/(?P<tag_name>\w+)/page/(?P<page>\w+)/rss/$', TagThreadsFeed()),
36 40 url(r'^thread/(?P<post_id>\w+)/rss/$', ThreadPostsFeed()),
41
42 url(r'^jsi18n/$', 'django.views.i18n.javascript_catalog', js_info_dict),
37 43 ) No newline at end of file
General Comments 0
You need to be logged in to leave comments. Login now