From 1e726b4251ca21b2f14e10332ab3b7dede57db8e Mon Sep 17 00:00:00 2001 From: Evgeny Fadeev Date: Fri, 11 Jun 2010 18:17:08 -0400 Subject: added russian js translation, fixed url translations in javascript for Turkish, Spanish, Russian and German --- forum/skins/default/media/js/com.cnprog.i18n.js | 616 ++++++++++++--------- forum/skins/default/media/js/com.cnprog.post.js | 28 +- .../default/media/js/com.cnprog.tag_selector.js | 4 +- forum/views/users.py | 1 + forum/views/writers.py | 26 +- locale/ru/LC_MESSAGES/django.mo | Bin 93576 -> 93578 bytes locale/ru/LC_MESSAGES/django.po | 12 +- locale/tr/LC_MESSAGES/django.mo | Bin 52875 -> 52874 bytes locale/tr/LC_MESSAGES/django.po | 4 +- 9 files changed, 400 insertions(+), 291 deletions(-) diff --git a/forum/skins/default/media/js/com.cnprog.i18n.js b/forum/skins/default/media/js/com.cnprog.i18n.js index e123eb1d..e8a78266 100644 --- a/forum/skins/default/media/js/com.cnprog.i18n.js +++ b/forum/skins/default/media/js/com.cnprog.i18n.js @@ -1,290 +1,378 @@ //var i18nLang; var i18nZh = { - 'insufficient privilege':'用户权限不在操作范围', - 'cannot pick own answer as best':'不能设置自己的回答为最佳答案', - 'anonymous users cannot select favorite questions':'匿名用户不能收藏问题,请先', - 'please login':'注册或者登录', - 'anonymous users cannot vote':'匿名用户不能投票', - '>15 points requried to upvote':'需要+15积分才能投支持票。', - '>100 points required to downvote':'需要+100积分才能投反对票。', - 'please see': '查看', - 'cannot vote for own posts':'不能给自己的帖子投票', - 'daily vote cap exhausted':'对不起,您已用完今日所有的投票。', - 'cannot revoke old vote':'这个投票已经过时,不能撤销。', - 'please confirm offensive':"确定要归类该帖为广告、人身攻击、恶意言论吗?", - 'anonymous users cannot flag offensive posts':'匿名用户不能操作,请先', - 'cannot flag message as offensive twice':'不能重复操作。', - 'flag offensive cap exhausted':'对不起,您已用完今日所有的5次‘水帖’操作。', - 'need >15 points to report spam':"需要+15积分才能归类‘垃圾帖’。", - 'confirm delete':"确定要删除/撤销删除该帖吗?", - 'anonymous users cannot delete/undelete':"匿名用户不能删除或撤销删除帖子", - 'post recovered':"操作成功!该帖子已被恢复。", - 'post deleted':"操作成功!该帖子已删除。", - 'add comment':'添加评论', - 'community karma points':'社区积分', - 'to comment, need':'评论需要', - 'delete this comment':'删除此评论', - 'hide comments':"隐藏评论", - 'add a comment':"添加评论", - 'comments':"评论", - 'confirm delete comment':"真要删除此评论吗?", - 'characters':'字符', - 'can write':'还可写', - 'click to close':'点击消息框关闭', - 'loading...':'读取中...', - 'tags cannot be empty':'标签不能为空。', - 'tablimits info':"最多5个标签,每个标签长度小于20个字符。", - 'content cannot be empty':'内容不能为空。', - 'content minchars': '请输入至少 {0} 字符。', - 'please enter title':'请输入标题。', - 'title minchars':"请输入至少 {0} 字符。", - 'delete':'删除', - 'undelete': '取消', - 'bold':'粗体', - 'italic':'斜体', - 'link':'超链接', - 'quote':'引用', - 'preformatted text':'代码', - 'image':'图片', - 'numbered list':'数字编号列表', - 'bulleted list':'项目符号列表', - 'heading':'标题', - 'horizontal bar':'水平线', - 'undo':'撤销', - 'redo':'重做', - 'enter image url':'输入图片地址

示例:
http://www.example.com/image.jpg \"我的截图\"', - 'enter url':'输入Web地址

示例:
http://www.cnprog.com/ \"我的网站\"

"', - 'upload image':'或者上传本地图片:' + 'insufficient privilege':'用户权限不在操作范围', + 'cannot pick own answer as best':'不能设置自己的回答为最佳答案', + 'anonymous users cannot select favorite questions':'匿名用户不能收藏问题,请先', + 'please login':'注册或者登录', + 'anonymous users cannot vote':'匿名用户不能投票', + '>15 points requried to upvote':'需要+15积分才能投支持票。', + '>100 points required to downvote':'需要+100积分才能投反对票。', + 'please see': '查看', + 'cannot vote for own posts':'不能给自己的帖子投票', + 'daily vote cap exhausted':'对不起,您已用完今日所有的投票。', + 'cannot revoke old vote':'这个投票已经过时,不能撤销。', + 'please confirm offensive':"确定要归类该帖为广告、人身攻击、恶意言论吗?", + 'anonymous users cannot flag offensive posts':'匿名用户不能操作,请先', + 'cannot flag message as offensive twice':'不能重复操作。', + 'flag offensive cap exhausted':'对不起,您已用完今日所有的5次‘水帖’操作。', + 'need >15 points to report spam':"需要+15积分才能归类‘垃圾帖’。", + 'confirm delete':"确定要删除/撤销删除该帖吗?", + 'anonymous users cannot delete/undelete':"匿名用户不能删除或撤销删除帖子", + 'post recovered':"操作成功!该帖子已被恢复。", + 'post deleted':"操作成功!该帖子已删除。", + 'add comment':'添加评论', + 'community karma points':'社区积分', + 'to comment, need':'评论需要', + 'delete this comment':'删除此评论', + 'hide comments':"隐藏评论", + 'add a comment':"添加评论", + 'comments':"评论", + 'confirm delete comment':"真要删除此评论吗?", + 'characters':'字符', + 'can write':'还可写', + 'click to close':'点击消息框关闭', + 'loading...':'读取中...', + 'tags cannot be empty':'标签不能为空。', + 'tablimits info':"最多5个标签,每个标签长度小于20个字符。", + 'content cannot be empty':'内容不能为空。', + 'content minchars': '请输入至少 {0} 字符。', + 'please enter title':'请输入标题。', + 'title minchars':"请输入至少 {0} 字符。", + 'delete':'删除', + 'undelete': '取消', + 'bold':'粗体', + 'italic':'斜体', + 'link':'超链接', + 'quote':'引用', + 'preformatted text':'代码', + 'image':'图片', + 'numbered list':'数字编号列表', + 'bulleted list':'项目符号列表', + 'heading':'标题', + 'horizontal bar':'水平线', + 'undo':'撤销', + 'redo':'重做', + 'enter image url':'输入图片地址

示例:
http://www.example.com/image.jpg \"我的截图\"', + 'enter url':'输入Web地址

示例:
http://www.cnprog.com/ \"我的网站\"

"', + 'upload image':'或者上传本地图片:' }; var i18nEn = { - 'need >15 points to report spam':'need >15 points to report spam ', + 'need >15 points to report spam':'need >15 points to report spam ', '>15 points requried to upvote':'>15 points required to upvote ', - 'tags cannot be empty':'please enter at least one tag', - 'anonymous users cannot vote':'sorry, anonymous users cannot vote ', - 'anonymous users cannot select favorite questions':'sorry, anonymous users cannot select favorite questions ', - 'to comment, need': '(to comment other people\'s posts, karma ', - 'please see':'please see ', - 'community karma points':' or more is necessary) - ', - 'upload image':'Upload image:', - 'enter image url':'enter URL of the image, e.g. http://www.example.com/image.jpg \"image title\"', - 'enter url':'enter Web address, e.g. http://www.example.com \"page title\"', - 'daily vote cap exhausted':'sorry, you\'ve used up todays vote cap', - 'cannot pick own answer as best':'sorry, you cannot accept your own answer', - 'cannot revoke old vote':'sorry, older votes cannot be revoked', - 'please confirm offensive':'are you sure this post is offensive, contains spam, advertising, malicious remarks, etc.?', - 'flag offensive cap exhausted':'sorry, you\'ve used up todays cap of flagging offensive messages ', - 'confirm delete':'are you sure you want to delete this?', - 'anonymous users cannot delete/undelete':'sorry, anonymous users cannot delete or undelete posts', - 'post recovered':'your post is now restored!', - 'post deleted':'your post has been deleted', - 'confirm delete comment':'do you really want to delete this comment?', - 'can write':'have ', - 'tablimits info':'up to 5 tags, no more than 20 characters each', - 'content minchars': 'please enter more than {0} characters', - 'title minchars':"please enter at least {0} characters", - 'characters':'characters left', + 'tags cannot be empty':'please enter at least one tag', + 'anonymous users cannot vote':'sorry, anonymous users cannot vote ', + 'anonymous users cannot select favorite questions':'sorry, anonymous users cannot select favorite questions ', + 'to comment, need': '(to comment other people\'s posts, karma ', + 'please see':'please see ', + 'community karma points':' or more is necessary) - ', + 'upload image':'Upload image:', + 'enter image url':'enter URL of the image, e.g. http://www.example.com/image.jpg \"image title\"', + 'enter url':'enter Web address, e.g. http://www.example.com \"page title\"', + 'daily vote cap exhausted':'sorry, you\'ve used up todays vote cap', + 'cannot pick own answer as best':'sorry, you cannot accept your own answer', + 'cannot revoke old vote':'sorry, older votes cannot be revoked', + 'please confirm offensive':'are you sure this post is offensive, contains spam, advertising, malicious remarks, etc.?', + 'flag offensive cap exhausted':'sorry, you\'ve used up todays cap of flagging offensive messages ', + 'confirm delete':'are you sure you want to delete this?', + 'anonymous users cannot delete/undelete':'sorry, anonymous users cannot delete or undelete posts', + 'post recovered':'your post is now restored!', + 'post deleted':'your post has been deleted', + 'confirm delete comment':'do you really want to delete this comment?', + 'can write':'have ', + 'tablimits info':'up to 5 tags, no more than 20 characters each', + 'content minchars': 'please enter more than {0} characters', + 'title minchars':"please enter at least {0} characters", + 'characters':'characters left', 'cannot vote for own posts':'sorry, you cannot vote for your own posts', 'cannot flag message as offensive twice':'cannot flag message as offensive twice ', - '>100 points required to downvote':'>100 points required to downvote ' + '>100 points required to downvote':'>100 points required to downvote ' }; var i18nTr = { - 'insufficient privilege':'buna yetkiniz yoktur', - 'cannot pick own answer as best':'en cevap olarak kendi cevabınızı seçemezsiniz', - 'anonymous users cannot select favorite questions':'üye girişi yapmadan favori seçemezsiniz', - 'please login':'lütfen üye girişi yapınız', - 'anonymous users cannot vote':'üye girişi yapmadan oy kullanamazsınız', - '>15 points requried to upvote': 'beğeninizi göstermek için en az 15 puan toplamalısınız', - '>100 points required to downvote':'beğenmediğinizi göstermek için en az 100 puan toplamalısınız', - 'please see': 'lütfen bakın', - 'cannot vote for own posts':'kendi yazılarınıza oy veremezsiniz', - 'daily vote cap exhausted':'bugünlük oy verme kotanız doldu', - 'cannot revoke old vote':'verilen bir oyu iptal edemezsiniz', - 'please confirm offensive':"şikayetinizi onaylayın", - 'anonymous users cannot flag offensive posts':'üye girişi yapmadan şikayet gönderemezsiniz', - 'cannot flag message as offensive twice':'şikayet mesajı olarak iki kez işaretlemelisiniz', - 'flag offensive cap exhausted':'şikayet kotası aşıldı', - 'need >15 points to report spam':"spam olarak bildirmek için an az 15 puanınız olmalı", - 'confirm delete':"Bunu silmek istediğinizden emin misiniz?", - 'anonymous users cannot delete/undelete':"üye girişi yapmadan yazı silemez yada geri alamazsınız", - 'post recovered':"yazı geri alındı", - 'post deleted':"yazı silindi", - 'add comment':'yorum ekle', - 'community karma points':'site itibar puanları', - 'to comment, need':'Yorum için itibar puanınız olmalı', - 'delete this comment':'bu yorumu sil', - 'hide comments':"yorumları gizle", - 'add a comment':"yorum ekle", - 'comments':"yorumlar", - 'confirm delete comment':"yorumu silmek istediğinizden emin misiniz?", - 'characters':'karakter eksik', - 'can write':'yazılabilir ', - 'click to close':'kapatmak için tıklayın', - 'loading...':'yükleniyor...', - 'tags cannot be empty':'etiketler boş olamaz', - 'tablimits info':"En fazla 5 etiket ve her biri en fazla 20 karakter", - 'content cannot be empty':'içerik boş olamaz', - 'content minchars': 'Lütfen en az (0) karakter girin', - 'please enter title':'lütfen bir başlık yazın', - 'title minchars':"Lütfen en az (0) karakter girin", - 'delete':'sil', - 'undelete': 'geri al', - 'bold': 'kalın', - 'italic':'italik', - 'link':'link', - 'quote':'alıntı', - 'preformatted text':'hazır metin', - 'image':'resimler', - 'numbered list':'numaralı liste', - 'bulleted list':'işaretli liste', - 'heading':'Başlık', - 'horizontal bar':'yatay bar', - 'undo':'geri', - 'redo':'yeniden', - 'enter image url':'örnek resmin URLsini girin:
http://www.example.com/image.jpg \"resim başlığı\"', - 'enter url':'web adresini girin:
http://www.cnprog.com/ \"başlık bağlantısı\"

"', - 'upload image':'resim yükle:', - 'questions/' : 'sorular/', - 'answers/' : 'cevaplar/', - 'comments/' : 'yorumlar/', - 'vote/' : 'oy/', - 'delete/' : 'sil/' + 'insufficient privilege':'buna yetkiniz yoktur', + 'cannot pick own answer as best':'en cevap olarak kendi cevabınızı seçemezsiniz', + 'anonymous users cannot select favorite questions':'üye girişi yapmadan favori seçemezsiniz', + 'please login':'lütfen üye girişi yapınız', + 'anonymous users cannot vote':'üye girişi yapmadan oy kullanamazsınız', + '>15 points requried to upvote': 'beğeninizi göstermek için en az 15 puan toplamalısınız', + '>100 points required to downvote':'beğenmediğinizi göstermek için en az 100 puan toplamalısınız', + 'please see': 'lütfen bakın', + 'cannot vote for own posts':'kendi yazılarınıza oy veremezsiniz', + 'daily vote cap exhausted':'bugünlük oy verme kotanız doldu', + 'cannot revoke old vote':'verilen bir oyu iptal edemezsiniz', + 'please confirm offensive':"şikayetinizi onaylayın", + 'anonymous users cannot flag offensive posts':'üye girişi yapmadan şikayet gönderemezsiniz', + 'cannot flag message as offensive twice':'şikayet mesajı olarak iki kez işaretlemelisiniz', + 'flag offensive cap exhausted':'şikayet kotası aşıldı', + 'need >15 points to report spam':"spam olarak bildirmek için an az 15 puanınız olmalı", + 'confirm delete':"Bunu silmek istediğinizden emin misiniz?", + 'anonymous users cannot delete/undelete':"üye girişi yapmadan yazı silemez yada geri alamazsınız", + 'post recovered':"yazı geri alındı", + 'post deleted':"yazı silindi", + 'add comment':'yorum ekle', + 'community karma points':'site itibar puanları', + 'to comment, need':'Yorum için itibar puanınız olmalı', + 'delete this comment':'bu yorumu sil', + 'hide comments':"yorumları gizle", + 'add a comment':"yorum ekle", + 'comments':"yorumlar", + 'confirm delete comment':"yorumu silmek istediğinizden emin misiniz?", + 'characters':'karakter eksik', + 'can write':'yazılabilir ', + 'click to close':'kapatmak için tıklayın', + 'loading...':'yükleniyor...', + 'tags cannot be empty':'etiketler boş olamaz', + 'tablimits info':"En fazla 5 etiket ve her biri en fazla 20 karakter", + 'content cannot be empty':'içerik boş olamaz', + 'content minchars': 'Lütfen en az (0) karakter girin', + 'please enter title':'lütfen bir başlık yazın', + 'title minchars':"Lütfen en az (0) karakter girin", + 'delete':'sil', + 'undelete': 'geri al', + 'bold': 'kalın', + 'italic':'italik', + 'link':'link', + 'quote':'alıntı', + 'preformatted text':'hazır metin', + 'image':'resimler', + 'numbered list':'numaralı liste', + 'bulleted list':'işaretli liste', + 'heading':'Başlık', + 'horizontal bar':'yatay bar', + 'undo':'geri', + 'redo':'yeniden', + 'enter image url':'örnek resmin URLsini girin:
http://www.example.com/image.jpg \"resim başlığı\"', + 'enter url':'web adresini girin:
http://www.cnprog.com/ \"başlık bağlantısı\"

"', + 'upload image':'resim yükle:', + 'questions/' : 'sorular/', + 'answers/' : 'cevaplar/', + 'comments/' : 'yorumlar/', + 'vote/' : 'oy/', + 'delete/' : 'sil/', + 'unmark-tag/':'etiket-işaretini-kaldır/', + 'ignored/':'yoksayıldı/', + 'mark-tag/':'etiket/', + 'interesting/':'ilginç/', + 'command/':'komut/', + 'moderate-user/': 'yöneticiler/' }; var i18nEs = { - 'insufficient privilege':'privilegio insuficiente', - 'cannot pick own answer as best':'no puede escoger su propia respuesta como la mejor', - 'anonymous users cannot select favorite questions':'usuarios anonimos no pueden seleccionar', - 'please login':'por favor inicie sesión', - 'anonymous users cannot vote':'usuarios anónimos no pueden votar', - '>15 points requried to upvote': '>15 puntos requeridos para votar positivamente', - '>100 points required to downvote':'>100 puntos requeridos para votar negativamente', - 'please see': 'por favor vea', - 'cannot vote for own posts':'no se puede votar por sus propias publicaciones', - 'daily vote cap exhausted':'cuota de votos diarios excedida', - 'cannot revoke old vote':'no puede revocar un voto viejo', - 'please confirm offensive':"por favor confirme ofensiva", - 'anonymous users cannot flag offensive posts':'usuarios anónimos no pueden marcar publicaciones como ofensivas', - 'cannot flag message as offensive twice':'no puede marcar mensaje como ofensivo dos veces', - 'flag offensive cap exhausted':'cuota para marcar ofensivas ha sido excedida', - 'need >15 points to report spam':"necesita >15 puntos para reportar spam", - 'confirm delete':"¿Está seguro que desea borrar esto?", - 'anonymous users cannot delete/undelete':"usuarios anónimos no pueden borrar o recuperar publicaciones", - 'post recovered':"publicación recuperada", - 'post deleted':"publicación borrada。", - 'add comment':'agregar comentario', - 'community karma points':'reputación comunitaria', - 'to comment, need':'para comentar, necesita reputación', - 'delete this comment':'borrar este comentario', - 'hide comments':"ocultar comentarios", - 'add a comment':"agregar comentarios", - 'comments':"comentarios", - 'confirm delete comment':"¿Realmente desea borrar este comentario?", - 'characters':'caracteres faltantes', - 'can write':'tiene ', - 'click to close':'haga click para cerrar', - 'loading...':'cargando...', - 'tags cannot be empty':'las etiquetas no pueden estar vacías', - 'tablimits info':"hasta 5 etiquetas de no mas de 20 caracteres cada una", - 'content cannot be empty':'el contenido no puede estar vacío', - 'content minchars': 'por favor introduzca mas de {0} caracteres', - 'please enter title':'por favor ingrese un título', - 'title minchars':"por favor introduzca al menos {0} caracteres", - 'delete':'borrar', - 'undelete': 'recuperar', - 'bold': 'negrita', - 'italic':'cursiva', - 'link':'enlace', - 'quote':'citar', - 'preformatted text':'texto preformateado', - 'image':'imagen', - 'numbered list':'lista numerada', - 'bulleted list':'lista no numerada', - 'heading':'标题', - 'horizontal bar':'barra horizontal', - 'undo':'deshacer', - 'redo':'rehacer', - 'enter image url':'introduzca la URL de la imagen, por ejemplo:
http://www.example.com/image.jpg \"titulo de imagen\"', - 'enter url':'introduzca direcciones web, ejemplo:
http://www.cnprog.com/ \"titulo del enlace\"

"', - 'upload image':'cargar imagen:', - 'questions/' : 'preguntas/', - 'answers/' : 'respuestas/', - 'comments/' : 'comentarios/', - 'vote/' : 'votar/', - 'delete/' : 'eliminar/' + 'insufficient privilege':'privilegio insuficiente', + 'cannot pick own answer as best':'no puede escoger su propia respuesta como la mejor', + 'anonymous users cannot select favorite questions':'usuarios anonimos no pueden seleccionar', + 'please login':'por favor inicie sesión', + 'anonymous users cannot vote':'usuarios anónimos no pueden votar', + '>15 points requried to upvote': '>15 puntos requeridos para votar positivamente', + '>100 points required to downvote':'>100 puntos requeridos para votar negativamente', + 'please see': 'por favor vea', + 'cannot vote for own posts':'no se puede votar por sus propias publicaciones', + 'daily vote cap exhausted':'cuota de votos diarios excedida', + 'cannot revoke old vote':'no puede revocar un voto viejo', + 'please confirm offensive':"por favor confirme ofensiva", + 'anonymous users cannot flag offensive posts':'usuarios anónimos no pueden marcar publicaciones como ofensivas', + 'cannot flag message as offensive twice':'no puede marcar mensaje como ofensivo dos veces', + 'flag offensive cap exhausted':'cuota para marcar ofensivas ha sido excedida', + 'need >15 points to report spam':"necesita >15 puntos para reportar spam", + 'confirm delete':"¿Está seguro que desea borrar esto?", + 'anonymous users cannot delete/undelete':"usuarios anónimos no pueden borrar o recuperar publicaciones", + 'post recovered':"publicación recuperada", + 'post deleted':"publicación borrada。", + 'add comment':'agregar comentario', + 'community karma points':'reputación comunitaria', + 'to comment, need':'para comentar, necesita reputación', + 'delete this comment':'borrar este comentario', + 'hide comments':"ocultar comentarios", + 'add a comment':"agregar comentarios", + 'comments':"comentarios", + 'confirm delete comment':"¿Realmente desea borrar este comentario?", + 'characters':'caracteres faltantes', + 'can write':'tiene ', + 'click to close':'haga click para cerrar', + 'loading...':'cargando...', + 'tags cannot be empty':'las etiquetas no pueden estar vacías', + 'tablimits info':"hasta 5 etiquetas de no mas de 20 caracteres cada una", + 'content cannot be empty':'el contenido no puede estar vacío', + 'content minchars': 'por favor introduzca mas de {0} caracteres', + 'please enter title':'por favor ingrese un título', + 'title minchars':"por favor introduzca al menos {0} caracteres", + 'delete':'borrar', + 'undelete': 'recuperar', + 'bold': 'negrita', + 'italic':'cursiva', + 'link':'enlace', + 'quote':'citar', + 'preformatted text':'texto preformateado', + 'image':'imagen', + 'numbered list':'lista numerada', + 'bulleted list':'lista no numerada', + 'heading':'标题', + 'horizontal bar':'barra horizontal', + 'undo':'deshacer', + 'redo':'rehacer', + 'enter image url':'introduzca la URL de la imagen, por ejemplo:
http://www.example.com/image.jpg \"titulo de imagen\"', + 'enter url':'introduzca direcciones web, ejemplo:
http://www.cnprog.com/ \"titulo del enlace\"

"', + 'upload image':'cargar imagen:', + 'questions/' : 'preguntas/', + 'answers/' : 'respuestas/', + 'comments/' : 'comentarios/', + 'vote/' : 'votar/', + 'delete/' : 'eliminar/', + 'unmark-tag/':'desmarcar-etiqueta/', + 'ignored/':'ignorada/', + 'mark-tag/':'marcar-etiqueta/', + 'interesting/':'interesante/', + 'command/':'comando/', + 'moderate-user/': 'moderar-usuario/' }; var i18nDe = { - '>100 points required to downvote': 'Negativ bewerten benötigt mindestens 100 Punkte', - '>15 points requried to upvote': 'Positiv bewerten benötigt mindestens 15 Punkte', - 'add a comment': 'Kommentar hinzufügen', - 'add comment': 'OK', - 'anonymous users cannot delete/undelete': 'Gastbenutzer können Beiträge nicht löschen oder wiederherstellen', - 'anonymous users cannot flag offensive posts': 'Gastbenutzer können Beiträge nicht melden', - 'anonymous users cannot select favorite questions': 'Gastbenutzer können keine Fragen als Favoriten markieren', - 'anonymous users cannot vote': 'Gastbenutzer können nicht abstimmen', - 'answers/': 'antworten/', - 'bold': 'Fett', - 'bulleted list': 'Liste', - 'can write': 'Noch ', - 'cannot flag message as offensive twice': 'Beiträge können nicht doppelt gemeldet werden', - 'cannot pick own answer as best': 'Eigene Antworten können nicht als die korrekte akzeptiert werden', - 'cannot revoke old vote': 'Bewertung kann nicht mehr zurückgenommen werden', - 'cannot vote for own posts': 'Über selbst verfaßte Beiträge kann nicht abgestimmt werden', - 'characters': 'Zeichen', - 'click to close': 'Schließen mit Klick', - 'comments': 'Kommentare', - 'comments/': 'kommentare/', - 'community karma points': ' Punkte erforderlich) - ', - 'confirm delete': 'Löschen bestätigen', - 'confirm delete comment': 'Löschen des Kommentars bestätigen', - 'content cannot be empty': 'Inhalt darf nicht leer sein', - 'content minchars': 'Bitte mindestens {0} Zeichen eingeben', - 'daily vote cap exhausted': 'Tägliches Abstimmungslimit erreicht', - 'delete': 'löschen', - 'delete this comment': 'Diesen Kommentar löschen', - 'delete/': 'loeschen/', - 'enter image url': 'Bild-URL eingeben, zum Beispiel
http://www.ihredomain.de/bildname.jpg', - 'enter url': 'URL eingeben, zum Beispiel
http://www.askbot.org/

', - 'flag offensive cap exhausted': 'Tägliches Limit zum Melden von Beiträgen erreicht', - 'heading': 'Titel', - 'hide comments': 'Kommentare verstecken', - 'horizontal bar': 'horizontaler Balken', - 'image': 'Bild', - 'insufficient privilege': 'nicht genügend Rechte', - 'italic': 'Kursiv', - 'link': 'Link', - 'loading...': 'Lade...', - 'need >15 points to report spam': 'Zum Melden von Spam werden mindestens 15 Punkte benötigt', - 'numbered list': 'Nummerierte Liste', - 'please confirm offensive': 'Bitte beleidigenden/regelwidrigen Beitrag bestätigen', - 'please enter title': 'Bitte Titel eingeben', - 'please login': 'Bitte einloggen', - 'please see': 'Siehe', - 'post deleted': 'Beitrag gelöscht', - 'post recovered': 'Beitrag wiederhergestellt', - 'preformatted text': 'Vorformatierter Text', - 'questions/': 'fragen/', - 'quote': 'Zitat', - 'redo': 'Wiederholen', - 'tablimits info': 'Bis zu 5 Tags mit jeweils bis zu 20 Zeichen', - 'tags cannot be empty': 'Tags dürfen nicht leer sein', - 'title minchars': 'Bitte mindestens {0} Zeichen eingeben', - 'to comment, need': '(Um Beiträge anderer benutzer zu kommentieren, sind mindestens ', - 'undelete': 'wiederherstellen', - 'undo': 'Rückgängig', - 'upload image': 'Bild hochladen', - 'vote/': 'abstimmen/' - + '>100 points required to downvote': 'Negativ bewerten benötigt mindestens 100 Punkte', + '>15 points requried to upvote': 'Positiv bewerten benötigt mindestens 15 Punkte', + 'add a comment': 'Kommentar hinzufügen', + 'add comment': 'OK', + 'anonymous users cannot delete/undelete': 'Gastbenutzer können Beiträge nicht löschen oder wiederherstellen', + 'anonymous users cannot flag offensive posts': 'Gastbenutzer können Beiträge nicht melden', + 'anonymous users cannot select favorite questions': 'Gastbenutzer können keine Fragen als Favoriten markieren', + 'anonymous users cannot vote': 'Gastbenutzer können nicht abstimmen', + 'bold': 'Fett', + 'bulleted list': 'Liste', + 'can write': 'Noch ', + 'cannot flag message as offensive twice': 'Beiträge können nicht doppelt gemeldet werden', + 'cannot pick own answer as best': 'Eigene Antworten können nicht als die korrekte akzeptiert werden', + 'cannot revoke old vote': 'Bewertung kann nicht mehr zurückgenommen werden', + 'cannot vote for own posts': 'Über selbst verfaßte Beiträge kann nicht abgestimmt werden', + 'characters': 'Zeichen', + 'click to close': 'Schließen mit Klick', + 'comments': 'Kommentare', + 'community karma points': ' Punkte erforderlich) - ', + 'confirm delete': 'Löschen bestätigen', + 'confirm delete comment': 'Löschen des Kommentars bestätigen', + 'content cannot be empty': 'Inhalt darf nicht leer sein', + 'content minchars': 'Bitte mindestens {0} Zeichen eingeben', + 'daily vote cap exhausted': 'Tägliches Abstimmungslimit erreicht', + 'delete': 'löschen', + 'delete this comment': 'Diesen Kommentar löschen', + 'enter image url': 'Bild-URL eingeben, zum Beispiel
http://www.ihredomain.de/bildname.jpg', + 'enter url': 'URL eingeben, zum Beispiel
http://www.askbot.org/

', + 'flag offensive cap exhausted': 'Tägliches Limit zum Melden von Beiträgen erreicht', + 'heading': 'Titel', + 'hide comments': 'Kommentare verstecken', + 'horizontal bar': 'horizontaler Balken', + 'image': 'Bild', + 'insufficient privilege': 'nicht genügend Rechte', + 'italic': 'Kursiv', + 'link': 'Link', + 'loading...': 'Lade...', + 'need >15 points to report spam': 'Zum Melden von Spam werden mindestens 15 Punkte benötigt', + 'numbered list': 'Nummerierte Liste', + 'please confirm offensive': 'Bitte beleidigenden/regelwidrigen Beitrag bestätigen', + 'please enter title': 'Bitte Titel eingeben', + 'please login': 'Bitte einloggen', + 'please see': 'Siehe', + 'post deleted': 'Beitrag gelöscht', + 'post recovered': 'Beitrag wiederhergestellt', + 'preformatted text': 'Vorformatierter Text', + 'quote': 'Zitat', + 'redo': 'Wiederholen', + 'tablimits info': 'Bis zu 5 Tags mit jeweils bis zu 20 Zeichen', + 'tags cannot be empty': 'Tags dürfen nicht leer sein', + 'title minchars': 'Bitte mindestens {0} Zeichen eingeben', + 'to comment, need': '(Um Beiträge anderer benutzer zu kommentieren, sind mindestens ', + 'undelete': 'wiederherstellen', + 'undo': 'Rückgängig', + 'upload image': 'Bild hochladen', + 'questions/': 'fragen/', + 'delete/': 'loeschen/', + 'comments/': 'kommentare/', + 'answers/': 'antworten/', + 'vote/': 'abstimmen/', + 'unmark-tag/':'tag-entfernen/', + 'ignored/':'ignoriert/', + 'mark-tag/':'tag-markieren/', + 'interesting/':'interessant/', + 'command/':'befehl/', + 'moderate-user/': 'benutzer-moderieren/' +} + + +var i18nRu = { + '>100 points required to downvote': 'для понижения рейтинга требуется минимум 100 баллов', + '>15 points requried to upvote': 'для повышения рейтинга требуется минимум 15 баллов', + 'add a comment': 'добавить комментарий', + 'add comment': 'добавить комментарий', + 'anonymous users cannot delete/undelete': 'неавторизированные пользователи не могут восстанавливать и удалять сообщения', + 'anonymous users cannot flag offensive posts': 'неавторизированные пользователи не могут пожаловаться на сообщение', + 'anonymous users cannot select favorite questions': 'неавторизированные пользователи не могут добавлять вопросы в закладки', + 'anonymous users cannot vote': 'неавторизированные пользователи не могут голосовать', + 'answers/': 'ответы/', + 'bold': 'жирный', + 'bulleted list': 'список', + 'can write': 'пишите', + 'cannot flag message as offensive twice': 'нельзя отметить сообщение как спам два раза', + 'cannot pick own answer as best': 'нельзя выбрать собственный ответ в качестве лучшего', + 'cannot revoke old vote': 'голос не может быть отозван', + 'cannot vote for own posts': 'нельзя голосовать за собственные сообщения', + 'characters': 'символы', + 'click to close': 'нажмите, что бы закрыть', + 'comments': 'комментарии', + 'comments/': 'комментарии/', + 'community karma points': 'репутация сообщества', + 'confirm delete': 'подтвердите удаление', + 'confirm delete comment': 'удалить комментарий', + 'content cannot be empty': 'поле не может быть пустым', + 'content minchars': 'не допускается пустое содержание', + 'daily vote cap exhausted': 'исчерпан доступный на сегодня лимит голосований', + 'delete': 'удалить', + 'delete this comment': 'удалить комментарий', + 'delete/': 'удалить/', + 'enter image url': 'введите url изображения, например:
http://www.domain.ru/kartinka.gif', + 'enter url': 'введите url, например:
http://www.domain.ru/

', + 'flag offensive cap exhausted': 'исчерпан доступный на сегодня лимит сообщений о спаме', + 'heading': 'заголовок', + 'hide comments': 'скрыть комментарий', + 'horizontal bar': 'горизонтальная полоса', + 'image': 'изображение', + 'insufficient privilege': 'недостаточно прав', + 'italic': 'курсив', + 'link': 'ссылка', + 'loading...': 'загрузка...', + 'need >15 points to report spam': 'Сообщать о спеме могут пользователи с количеством баллов не меньше 15', + 'numbered list': 'нумерация', + 'please confirm offensive': 'сообщить о спаме', + 'please enter title': 'пожалуйста, введите заголовок', + 'please login': 'введите логин', + 'please see': 'смотрите', + 'post deleted': 'сообщение удалено', + 'post recovered': 'восстановить сообщение', + 'preformatted text': 'форматирование текста', + 'questions/': 'вопросы/', + 'quote': 'цитата', + 'redo': 'повторить', + 'tablimits info': 'допускается применение не более 5 тегов', + 'tags cannot be empty': 'введите теги', + 'title minchars': 'пустой заголовок', + 'to comment, need': '(необходимо оставить комментарий ', + 'undelete': 'восстановить', + 'undo': 'отменить', + 'upload image': 'загрузить изображение', + 'vote/': 'голосовать/', + 'unmark-tag/':'отменить-отметку-темы/', + 'ignored/':'неинтересная/', + 'mark-tag/':'отметить-тему/', + 'interesting/':'интересная/', + 'command/':'комманда/', + 'moderate-user/': 'модерировать-пользователя/' } var i18n = { 'en':i18nEn, 'zh-cn':i18nZh, 'es':i18nEs, - 'tr':i18nTr, - 'de':i18nDe + 'tr':i18nTr, + 'de':i18nDe, + 'ru':i18nRu }; var i18n_dict = i18n[i18nLang]; diff --git a/forum/skins/default/media/js/com.cnprog.post.js b/forum/skins/default/media/js/com.cnprog.post.js index 7c064acf..7cc14e67 100755 --- a/forum/skins/default/media/js/com.cnprog.post.js +++ b/forum/skins/default/media/js/com.cnprog.post.js @@ -489,10 +489,13 @@ function createComments(type) { if (canPostComments(id)) { if (jDiv.find("#" + formId).length === 0) { var form = '
'; - form += ''; + form += ''; form += '
'; + $.i18n._('add comment') + '" />
'; form += '
'; jDiv.append(form); @@ -505,11 +508,13 @@ function createComments(type) { else { var divId = "comments-rep-needed-" + objectType + '-' + id; if (jDiv.find("#" + divId).length === 0) { - jDiv.append('

' + - $.i18n._('to comment, need') + ' ' + - repNeededForComments + ' ' + $.i18n._('community karma points') + - '' + - $.i18n._('please see') + 'faq

'); + jDiv.append( + '

' + + $.i18n._('to comment, need') + ' ' + + repNeededForComments + ' ' + $.i18n._('community karma points') + + '' + + $.i18n._('please see') + 'faq

' + ); } } }; @@ -540,8 +545,11 @@ function createComments(type) { var html = ''; var img = mediaUrl("media/images/close-small.png"); var imgHover = mediaUrl("media/images/close-small-hover.png"); - html += ''; return html; } diff --git a/forum/skins/default/media/js/com.cnprog.tag_selector.js b/forum/skins/default/media/js/com.cnprog.tag_selector.js index e3279e65..a522f93a 100644 --- a/forum/skins/default/media/js/com.cnprog.tag_selector.js +++ b/forum/skins/default/media/js/com.cnprog.tag_selector.js @@ -84,7 +84,9 @@ function pickedTags(){ new_tag.addClass('deletable-tag'); var tag_link = $(''); tag_link.attr('rel','tag'); - tag_link.attr('href', scriptUrl + $.i18n._('tags/') + tagname); + var tag_url = scriptUrl + $.i18n._('questions/') + + '?tags=' + tagname; + tag_link.attr('href', tag_url); tag_link.html(tagname); var del_link = $(''); del_link.addClass('delete-icon'); diff --git a/forum/views/users.py b/forum/views/users.py index 76e41008..ed9b7992 100755 --- a/forum/views/users.py +++ b/forum/views/users.py @@ -10,6 +10,7 @@ from django.http import HttpResponse, HttpResponseForbidden, HttpResponseRedirec from django.utils.translation import ugettext as _ from django.utils.http import urlquote_plus from django.utils.html import strip_tags +from django.utils import simplejson from django.core.urlresolvers import reverse from forum.forms import *#incomplete list is EditUserForm, ModerateUserForm, TagFilterSelectionForm, from forum.utils.html import sanitize_html diff --git a/forum/views/writers.py b/forum/views/writers.py index 86831ba3..603ddde7 100755 --- a/forum/views/writers.py +++ b/forum/views/writers.py @@ -309,7 +309,7 @@ def answer(request, id):#process a new answer return HttpResponseRedirect(question.get_absolute_url()) -def __generate_comments_json(obj, type, user):#non-view generates json data for the post comments +def __generate_comments_json(obj, user):#non-view generates json data for the post comments comments = obj.comments.all().order_by('id') # {"Id":6,"PostId":38589,"CreationDate":"an hour ago","Text":"hello there!","UserDisplayName":"Jarrod Dixon","UserUrl":"/users/3/jarrod-dixon","DeleteUrl":null} json_comments = [] @@ -320,7 +320,17 @@ def __generate_comments_json(obj, type, user):#non-view generates json data for if user != None and auth.can_delete_comment(user, comment): #/posts/392845/comments/219852/delete #todo translate this url - delete_url = reverse('index') + type + "s/%s/comments/%s/delete/" % (obj.id, comment.id) + if isinstance(comment.content_object, Answer): + delete_comment_view = 'delete_answer_comment' + elif isinstance(comment.content_object, Question): + delete_comment_view = 'delete_question_comment' + delete_url = reverse( + delete_comment_view, + kwargs = { + 'object_id': obj.id, + 'comment_id': comment.id + } + ) json_comments.append({"id" : comment.id, "object_id" : obj.id, "comment_age" : diff_date(comment.added_at), @@ -336,26 +346,26 @@ def __generate_comments_json(obj, type, user):#non-view generates json data for def question_comments(request, id):#ajax handler for loading comments to question question = get_object_or_404(Question, id=id) user = request.user - return __comments(request, question, 'question') + return __comments(request, question) def answer_comments(request, id):#ajax handler for loading comments on answer answer = get_object_or_404(Answer, id=id) user = request.user - return __comments(request, answer, 'answer') + return __comments(request, answer) -def __comments(request, obj, type):#non-view generic ajax handler to load comments to an object +def __comments(request, obj):#non-view generic ajax handler to load comments to an object # only support get post comments by ajax now user = request.user if request.is_ajax(): if request.method == "GET": - response = __generate_comments_json(obj, type, user) + response = __generate_comments_json(obj, user) elif request.method == "POST": if auth.can_add_comments(user,obj): obj.add_comment( comment = request.POST.get('comment'), user = request.user, ) - response = __generate_comments_json(obj, type, user) + response = __generate_comments_json(obj, user) else: response = HttpResponseForbidden(mimetype="application/json") return response @@ -376,5 +386,5 @@ def delete_comment(request, object_id='', comment_id='', commented_object_type=N obj.comment_count = obj.comment_count - 1 obj.save() user = request.user - return __generate_comments_json(obj, commented_object_type, user) + return __generate_comments_json(obj, user) raise PermissionDenied() diff --git a/locale/ru/LC_MESSAGES/django.mo b/locale/ru/LC_MESSAGES/django.mo index b1070dbd..8afb2eaf 100644 Binary files a/locale/ru/LC_MESSAGES/django.mo and b/locale/ru/LC_MESSAGES/django.mo differ diff --git a/locale/ru/LC_MESSAGES/django.po b/locale/ru/LC_MESSAGES/django.po index ee0f119b..aab57c2a 100644 --- a/locale/ru/LC_MESSAGES/django.po +++ b/locale/ru/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2010-05-04 18:42-0400\n" -"PO-Revision-Date: 2010-06-09 10:20\n" +"PO-Revision-Date: 2010-06-11 12:25\n" "Last-Translator: \n" "Language-Team: LANGUAGE \n" "MIME-Version: 1.0\n" @@ -195,7 +195,7 @@ msgstr "Адрес электронной почты изменён." #: django_authopenid/views.py:988 msgid "This OpenID is already associated with another account." -msgstr "Этот OpenID уже изпользуется в другом аккаунте." +msgstr "Данный OpenID уже используется в другом аккаунте." #: django_authopenid/views.py:993 #, python-format @@ -221,7 +221,7 @@ msgstr "Пароль не был изменён, т.к. ключ '%s' в наш #: django_authopenid/views.py:1174 msgid "Can not change password. User don't exist anymore in our database." -msgstr "Пароль изменить невозоможно, т.к. запись данного пользователя была удалена." +msgstr "Пароль изменить невозможно, т.к. аккаунт пользователя был удален." #: django_authopenid/views.py:1184 #, python-format @@ -475,7 +475,7 @@ msgstr "заголовок" #: forum/forms.py:24 msgid "please enter a descriptive title for your question" -msgstr "пожалуйста, введите информативный заголовок для вашего вопроса" +msgstr "пожалуйста, введите информативный заголовок раскрывающий суть вашего вопроса" #: forum/forms.py:29 msgid "title must be > 10 characters" @@ -2628,7 +2628,7 @@ msgstr "непопулярный" #: forum/skins/askbot/templates/questions.html:127 #: forum/skins/default/templates/questions.html:127 msgid "click to see least voted questions" -msgstr "нажмите, чтобы просмотреть последние проголосванные вопросы" +msgstr "нажмите, чтобы просмотреть последние отмеченные голосами вопросы" #: forum/skins/askbot/templates/questions.html:127 #: forum/skins/askbot/templates/questions.html:132 @@ -4079,7 +4079,7 @@ msgstr[2] "%(counter)s Значков" #: forum/templatetags/extra_filters.py:100 msgid "no items in counter" -msgstr "нет элементов" +msgstr "нет" #: forum/templatetags/extra_tags.py:53 #, python-format diff --git a/locale/tr/LC_MESSAGES/django.mo b/locale/tr/LC_MESSAGES/django.mo index 66384a39..0bc6227d 100644 Binary files a/locale/tr/LC_MESSAGES/django.mo and b/locale/tr/LC_MESSAGES/django.mo differ diff --git a/locale/tr/LC_MESSAGES/django.po b/locale/tr/LC_MESSAGES/django.po index 6a4e438c..0bc2ee80 100644 --- a/locale/tr/LC_MESSAGES/django.po +++ b/locale/tr/LC_MESSAGES/django.po @@ -728,7 +728,7 @@ msgstr "etiketler/" #: forum/urls.py:64 forum/urls.py:68 msgid "mark-tag/" -msgstr "etiket /" +msgstr "etiket/" #: forum/urls.py:64 msgid "interesting/" @@ -740,7 +740,7 @@ msgstr "yoksayıldı/" #: forum/urls.py:72 msgid "unmark-tag/" -msgstr "etiket işaretini kaldır/" +msgstr "etiket-işaretini-kaldır/" #: forum/urls.py:76 forum/urls.py:78 forum/urls.py:79 msgid "users/" -- cgit v1.2.3-1-g7c22