Browse Source

Merge branch 'master' of https://github.com/r4sas/PrivateBin into r4sas-master

El RIDO 9 years ago
parent
commit
fc874fe448
9 changed files with 168 additions and 7 deletions
  1. 157 0
      i18n/ru.json
  2. 3 1
      js/privatebin.js
  3. 2 0
      lib/I18n.php
  4. 1 1
      tpl/bootstrap-compact.php
  5. 1 1
      tpl/bootstrap-dark-page.php
  6. 1 1
      tpl/bootstrap-dark.php
  7. 1 1
      tpl/bootstrap-page.php
  8. 1 1
      tpl/bootstrap.php
  9. 1 1
      tpl/page.php

+ 157 - 0
i18n/ru.json

@@ -0,0 +1,157 @@
+{
+    "en": "ru",
+    "Paste does not exist, has expired or has been deleted.":
+        "Запись не существует, просрочена или была удалена.",
+    "PrivateBin requires php 5.3.0 or above to work. Sorry.":
+        "Для работы PrivateBin требуется PHP 5.3.0 или выше. Извините.",
+    "PrivateBin requires configuration section [%s] to be present in configuration file.":
+        "PrivateBin необходимо наличие секции [%s] в конфигурационном файле.",
+    "Please wait %d seconds between each post.":
+        ["Пожалуйста ожидайте %d секунду между каждыми записями.", "Пожалуйста ожидайте %d секунды между каждыми записями.", "Пожалуйста ожидайте %d секунд между каждыми записями."],
+    "Paste is limited to %s of encrypted data.":
+        "Размер записи ограничен %s зашифрованных данных.",
+    "Invalid data.":
+        "Неверные данные.",
+    "You are unlucky. Try again.":
+        "Вам не повезло. Попробуйте еще раз.",
+    "Error saving comment. Sorry.":
+        "Ошибка при сохранении комментария. Извините.",
+    "Error saving paste. Sorry.":
+        "Ошибка при сохранении записи. Извините.",
+    "Invalid paste ID.":
+        "Неверный ID записи.",
+    "Paste is not of burn-after-reading type.":
+        "Тип записи не \"Удалить после прочтения\".",
+    "Wrong deletion token. Paste was not deleted.":
+        "Неверный ключ удаления записи. Запись не удалена",
+    "Paste was properly deleted.":
+        "Запись была успешно удалена.",
+    "PrivateBin": "PrivateBin",
+    "PrivateBin is a minimalist, open source online pastebin where the server has zero knowledge of pasted data. Data is encrypted/decrypted <i>in the browser</i> using 256 bits AES. More information on the <a href=\"https://privatebin.info/\">project page</a>.":
+        "PrivateBin это минималистичный Open Source проект для создания заметок, где сервер не знает ничего о сохраняемых данных. Данные шифруются/расшифровываются <i>в браузере</i> с использованием 256 битного шифрования AES. Подробнее можно узнать на <a href=\"https://privatebin.info/\">сайте проекта</a>.",
+    "Because ignorance is bliss":
+        "Потому что неведение - благо",
+    "JavaScript is required for PrivateBin to work.<br />Sorry for the inconvenience.":
+        "Для работы PrivateBin требуется включенный JavaScript.<br />Приносим извинения за неудобства..",
+    "PrivateBin requires a modern browser to work.":
+        "Для работы PrivateBin требуется более современный браузер.",
+    "Still using Internet Explorer? Do yourself a favor, switch to a modern browser:":
+        "До сих пор используете Internet Explorer? Пожалейте себя, перейдите на более современный браузер:",
+    "New":
+        "Новая запись",
+    "Send":
+        "Отправить",
+    "Clone":
+        "Дублировать",
+    "Raw text":
+        "Исходный текст",
+    "Expires":
+        "Удалить через",
+    "Burn after reading":
+        "Удалить после прочтения",
+    "Open discussion":
+        "Открыть обсуждение",
+    "Password (recommended)":
+        "Пароль (рекомендуется)",
+    "Discussion":
+        "Обсуждение",
+    "Toggle navigation":
+        "Переключить навигацию",
+    "%d seconds": ["%d секунду", "%d секунды", "%d секунд"],
+    "%d minutes": ["%d минуту", "%d минуты", "%d минут"],
+    "%d hours": ["%d час", "%d часа", "%d часов"],
+    "%d days": ["%d день", "%d дня", "%d дней"],
+    "%d weeks": ["%d неделю", "%d недели", "%d недель"],
+    "%d months": ["%d месяц", "%d месяца", "%d месяцев"],
+    "%d years": ["%d год", "%d года", "%d лет"],
+    "Never":
+        "Никогда",
+    "Note: This is a test service: Data may be deleted anytime. Kittens will die if you abuse this service.":
+        "Примечание: Этот сервис тестовый: Данные могут быть удалены в любое время. Котята умрут, если вы будете злоупотреблять серсисом.",
+    "This document will expire in %d seconds.":
+        ["Документ будет удален через %d секунду.", "Документ будет удален через %d секунды.", "Документ будет удален через %d секунд."],
+    "This document will expire in %d minutes.":
+        ["Документ будет удален через %d минуту.", "Документ будет удален через %d минуты.", "Документ будет удален через %d минут."],
+    "This document will expire in %d hours.":
+        ["Документ будет удален через %d час.", "Документ будет удален через %d часа.", "Документ будет удален через %d часов."],
+    "This document will expire in %d days.":
+        ["Документ будет удален через %d день.", "Документ будет удален через %d дня.", "Документ будет удален через %d дней."],
+    "This document will expire in %d months.":
+        ["Документ будет удален через %d месяц.", "Документ будет удален через %d месяца.", "Документ будет удален через %d месяцев."],
+    "Please enter the password for this paste:":
+        "Пожалуйста введите пароль от записи:",
+    "Could not decrypt data (Wrong key?)":
+        "Невозможно расшифровать данные (Неверный ключ?)",
+    "Could not delete the paste, it was not stored in burn after reading mode.":
+        "Невозможно удалить запись, она не была сохранена в режиме удаления после прочтения",
+    "FOR YOUR EYES ONLY. Don't close this window, this message can't be displayed again.":
+        "ТОЛЬКО ДЛЯ ВАШИХ ГЛАЗ. Не закрывайте это окно, это сообщение не может быть показано снова.",
+    "Could not decrypt comment; Wrong key?":
+        "Невозможно расшифровать комментарий; Неверный ключ?",
+    "Reply":
+        "Ответить",
+    "Anonymous":
+        "Аноним",
+    "Anonymous avatar (Vizhash of the IP address)":
+        "Анонимный аватар (Vizhash IP адреса)",
+    "Add comment":
+        "Добавить комментарий",
+    "Optional nickname...":
+        "Опциональный никнейм...",
+    "Post comment":
+        "Отправить комментарий",
+    "Sending comment...":
+        "Отправка комментария...",
+    "Comment posted.":
+        "Комментарий опубликован.",
+    "Could not refresh display: %s":
+        "Невозможно обновить данные: %s",
+    "unknown status":
+        "неизвестная причина",
+    "server error or not responding":
+        "ошибка сервера или нет ответа",
+    "Could not post comment: %s":
+        "Не удалось опубликовать комментарий: %s",
+    "Sending paste (Please move your mouse for more entropy)...":
+        "Отправка записи (Пожалуйста двигайте мышкой для большей энтропии)...",
+    "Sending paste...":
+        "Отправка записи...",
+    "Your paste is <a id=\"pasteurl\" href=\"%s\">%s</a> <span id=\"copyhint\">(Hit [Ctrl]+[c] to copy)</span>":
+        "Ссылка на запись <a id=\"pasteurl\" href=\"%s\">%s</a> <span id=\"copyhint\">(Нажмите [Ctrl]+[c] чтобы скопировать ссылку)</span>",
+    "Delete data":
+        "Удалить запись",
+    "Could not create paste: %s":
+        "Не удалось опубликовать запись: %s",
+    "Cannot decrypt paste: Decryption key missing in URL (Did you use a redirector or an URL shortener which strips part of the URL?)":
+        "Невозможно расшифровать запись: Ключ расшифровки отсутствует в ссылке (Может быть вы используете сокращатель ссылок, который удаляет часть ссылки?)",
+    "B": "байт",
+    "KiB": "Кбайт",
+    "MiB": "Мбайт",
+    "GiB": "Гбайт",
+    "TiB": "Тбайт",
+    "PiB": "Пбайт",
+    "EiB": "Эбайт",
+    "ZiB": "Збайт",
+    "YiB": "Йбайт",
+    "Format": "Формат",
+    "Plain Text": "Обычный текст",
+    "Source Code": "Исходный код",
+    "Markdown": "Язык разметки",
+    "Download attachment": "Скачать прикрепленный файл",
+    "Cloned file attached.": "Дубль файла прикреплен.",
+    "Attach a file": "Прикрепить файл",
+    "Remove attachment": "Удалить вложение",
+    "Your browser does not support uploading encrypted files. Please use a newer browser.":
+        "Ваш браузер не поддерживает отправку зашифрованных файлов. Используйте более новый браузер.",
+    "Invalid attachment.": "Неизвестное вложение.",
+    "Options": "Опции",
+    "Shorten URL": "Короткая ссылка",
+    "Editor": "Редактор",
+    "Preview": "Предпросмотр",
+    "PrivateBin requires the PATH to end in a \"%s\". Please update the PATH in your index.php.":
+        "Переменная PATH необходима PrivateBin в конце \"%s\". Пожалуйста обновите переменную PATH в вашем index.php.",
+    "Decrypt":
+        "Расшифровать",
+    "Enter password":
+        "Введите пароль"
+}

+ 3 - 1
js/privatebin.js

@@ -328,7 +328,7 @@ $(function() {
         /**
          * supported languages, minus the built in 'en'
          */
-        supportedLanguages: ['de', 'fr', 'it', 'pl', 'sl', 'zh'],
+        supportedLanguages: ['de', 'fr', 'it', 'pl', 'ru', 'sl', 'zh'],
 
         /**
          * translate a string, alias for translate()
@@ -414,6 +414,8 @@ $(function() {
                     return (n > 1 ? 1 : 0);
                 case 'pl':
                     return (n === 1 ? 0 : n%10 >= 2 && n %10 <=4 && (n%100 < 10 || n%100 >= 20) ? 1 : 2);
+                case 'ru':
+                    return (n % 10 === 1 && n % 100 !== 11 ? 0 : (n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2));
                 // en, de
                 default:
                     return (n !== 1 ? 1 : 0);

+ 2 - 0
lib/I18n.php

@@ -299,6 +299,8 @@ class I18n
                 return $n > 1 ? 1 : 0;
             case 'pl':
                 return $n == 1 ? 0 : $n % 10 >= 2 && $n % 10 <= 4 && ($n % 100 < 10 || $n % 100 >= 20) ? 1 : 2;
+            case 'ru':
+                return $n % 10 == 1 && $n % 100 != 11 ? 0 : ($n % 10 >= 2 && $n % 10 <= 4 && ($n % 100 < 10 || $n % 100 >= 20) ? 1 : 2);
             // en, de
             default:
                 return $n != 1 ? 1 : 0;

+ 1 - 1
tpl/bootstrap-compact.php

@@ -52,7 +52,7 @@ if ($MARKDOWN):
 <?php
 endif;
 ?>
-		<script type="text/javascript" src="js/privatebin.js?<?php echo rawurlencode($VERSION); ?>" integrity="sha512-aKd7/5EFMPmeZTmL0Iyttt6sbukO9E40bUink8A/IJmrncCh1upGLlkhti7ygO+hq/ocgLJ0kKoxZETzTgNEww==" crossorigin="anonymous"></script>
+		<script type="text/javascript" src="js/privatebin.js?<?php echo rawurlencode($VERSION); ?>" integrity="sha512-aELW4Wl6uhX5AE217S7csrmyQ/CM3N2au0K307miNMI3oKmyax4s+KxX0BZJrf9Vr5U8SqKlFsa9rdQt1FDxJw==" crossorigin="anonymous"></script>
 		<!--[if lt IE 10]>
 		<style type="text/css">body {padding-left:60px;padding-right:60px;} #ienotice {display:block;} #oldienotice {display:block;}</style>
 		<![endif]-->

+ 1 - 1
tpl/bootstrap-dark-page.php

@@ -52,7 +52,7 @@ if ($MARKDOWN):
 <?php
 endif;
 ?>
-		<script type="text/javascript" src="js/privatebin.js?<?php echo rawurlencode($VERSION); ?>" integrity="sha512-aKd7/5EFMPmeZTmL0Iyttt6sbukO9E40bUink8A/IJmrncCh1upGLlkhti7ygO+hq/ocgLJ0kKoxZETzTgNEww==" crossorigin="anonymous"></script>
+		<script type="text/javascript" src="js/privatebin.js?<?php echo rawurlencode($VERSION); ?>" integrity="sha512-aELW4Wl6uhX5AE217S7csrmyQ/CM3N2au0K307miNMI3oKmyax4s+KxX0BZJrf9Vr5U8SqKlFsa9rdQt1FDxJw==" crossorigin="anonymous"></script>
 		<!--[if lt IE 10]>
 		<style type="text/css">body {padding-left:60px;padding-right:60px;} #ienotice {display:block;} #oldienotice {display:block;}</style>
 		<![endif]-->

+ 1 - 1
tpl/bootstrap-dark.php

@@ -53,7 +53,7 @@ if ($MARKDOWN):
 <?php
 endif;
 ?>
-		<script type="text/javascript" src="js/privatebin.js?<?php echo rawurlencode($VERSION); ?>" integrity="sha512-aKd7/5EFMPmeZTmL0Iyttt6sbukO9E40bUink8A/IJmrncCh1upGLlkhti7ygO+hq/ocgLJ0kKoxZETzTgNEww==" crossorigin="anonymous"></script>
+		<script type="text/javascript" src="js/privatebin.js?<?php echo rawurlencode($VERSION); ?>" integrity="sha512-aELW4Wl6uhX5AE217S7csrmyQ/CM3N2au0K307miNMI3oKmyax4s+KxX0BZJrf9Vr5U8SqKlFsa9rdQt1FDxJw==" crossorigin="anonymous"></script>
 		<!--[if lt IE 10]>
 		<style type="text/css">body {padding-left:60px;padding-right:60px;} #ienotice {display:block;} #oldienotice {display:block;}</style>
 		<![endif]-->

+ 1 - 1
tpl/bootstrap-page.php

@@ -52,7 +52,7 @@ if ($MARKDOWN):
 <?php
 endif;
 ?>
-		<script type="text/javascript" src="js/privatebin.js?<?php echo rawurlencode($VERSION); ?>" integrity="sha512-aKd7/5EFMPmeZTmL0Iyttt6sbukO9E40bUink8A/IJmrncCh1upGLlkhti7ygO+hq/ocgLJ0kKoxZETzTgNEww==" crossorigin="anonymous"></script>
+		<script type="text/javascript" src="js/privatebin.js?<?php echo rawurlencode($VERSION); ?>" integrity="sha512-aELW4Wl6uhX5AE217S7csrmyQ/CM3N2au0K307miNMI3oKmyax4s+KxX0BZJrf9Vr5U8SqKlFsa9rdQt1FDxJw==" crossorigin="anonymous"></script>
 		<!--[if lt IE 10]>
 		<style type="text/css">body {padding-left:60px;padding-right:60px;} #ienotice {display:block;} #oldienotice {display:block;}</style>
 		<![endif]-->

+ 1 - 1
tpl/bootstrap.php

@@ -53,7 +53,7 @@ if ($MARKDOWN):
 <?php
 endif;
 ?>
-		<script type="text/javascript" src="js/privatebin.js?<?php echo rawurlencode($VERSION); ?>" integrity="sha512-aKd7/5EFMPmeZTmL0Iyttt6sbukO9E40bUink8A/IJmrncCh1upGLlkhti7ygO+hq/ocgLJ0kKoxZETzTgNEww==" crossorigin="anonymous"></script>
+		<script type="text/javascript" src="js/privatebin.js?<?php echo rawurlencode($VERSION); ?>" integrity="sha512-aELW4Wl6uhX5AE217S7csrmyQ/CM3N2au0K307miNMI3oKmyax4s+KxX0BZJrf9Vr5U8SqKlFsa9rdQt1FDxJw==" crossorigin="anonymous"></script>
 		<!--[if lt IE 10]>
 		<style type="text/css">body {padding-left:60px;padding-right:60px;} #ienotice {display:block;} #oldienotice {display:block;}</style>
 		<![endif]-->

+ 1 - 1
tpl/page.php

@@ -47,7 +47,7 @@ if ($MARKDOWN):
 <?php
 endif;
 ?>
-		<script type="text/javascript" src="js/privatebin.js?<?php echo rawurlencode($VERSION); ?>" integrity="sha512-aKd7/5EFMPmeZTmL0Iyttt6sbukO9E40bUink8A/IJmrncCh1upGLlkhti7ygO+hq/ocgLJ0kKoxZETzTgNEww==" crossorigin="anonymous"></script>
+		<script type="text/javascript" src="js/privatebin.js?<?php echo rawurlencode($VERSION); ?>" integrity="sha512-aELW4Wl6uhX5AE217S7csrmyQ/CM3N2au0K307miNMI3oKmyax4s+KxX0BZJrf9Vr5U8SqKlFsa9rdQt1FDxJw==" crossorigin="anonymous"></script>
 		<!--[if lt IE 10]>
 		<style type="text/css">body {padding-left:60px;padding-right:60px;} #ienotice {display:block;} #oldienotice {display:block;}</style>
 		<![endif]-->