diff options
-rw-r--r-- | lib/config/index.js | 2 | ||||
-rw-r--r-- | lib/csp.js | 4 | ||||
-rw-r--r-- | lib/web/imageRouter/filesystem.js | 4 | ||||
-rw-r--r-- | locales/ru.json | 219 |
4 files changed, 121 insertions, 108 deletions
diff --git a/lib/config/index.js b/lib/config/index.js index b8480966..cbe6c39c 100644 --- a/lib/config/index.js +++ b/lib/config/index.js @@ -165,7 +165,7 @@ if (config.sessionSecret === 'secret') { // Validate upload upload providers if (['filesystem', 's3', 'minio', 'imgur', 'azure'].indexOf(config.imageUploadType) === -1) { - logger.error('"imageuploadtype" is not correctly set. Please use "filesystem", "s3", "minio", "azure" or "imgur". Defaulting to "imgur"') + logger.error('"imageuploadtype" is not correctly set. Please use "filesystem", "s3", "minio", "azure" or "imgur". Defaulting to "filesystem"') config.imageUploadType = 'filesystem' } @@ -23,7 +23,7 @@ var cdnDirectives = { } var disqusDirectives = { - scriptSrc: ['https://*.disqus.com', 'https://*.disquscdn.com'], + scriptSrc: ['https://disqus.com', 'https://*.disqus.com', 'https://*.disquscdn.com'], styleSrc: ['https://*.disquscdn.com'], fontSrc: ['https://*.disquscdn.com'] } @@ -71,7 +71,7 @@ function addInlineScriptExceptions (directives) { directives.scriptSrc.push(getCspNonce) // TODO: This is the SHA-256 hash of the inline script in build/reveal.js/plugins/notes/notes.html // Any more clean solution appreciated. - directives.scriptSrc.push('\'sha256-L0TsyAQLAc0koby5DCbFAwFfRs9ZxesA+4xg0QDSrdI=\'') + directives.scriptSrc.push('\'sha256-Lc+VnBdinzYTTAkFrIoUqdoA9EQFeS1AF9ybmF+LLfM=\'') } function getCspNonce (req, res) { diff --git a/lib/web/imageRouter/filesystem.js b/lib/web/imageRouter/filesystem.js index a2f8700d..7c876d66 100644 --- a/lib/web/imageRouter/filesystem.js +++ b/lib/web/imageRouter/filesystem.js @@ -1,5 +1,5 @@ 'use strict' -const url = require('url') +const URL = require('url').URL const path = require('path') const config = require('../../config') @@ -16,5 +16,5 @@ exports.uploadImage = function (imagePath, callback) { return } - callback(null, url.URL.resolve(config.serverURL + '/uploads/', path.basename(imagePath))) + callback(null, (new URL(path.basename(imagePath), config.serverURL + '/uploads/')).href) } diff --git a/locales/ru.json b/locales/ru.json index f87f7c69..36f65ef4 100644 --- a/locales/ru.json +++ b/locales/ru.json @@ -1,104 +1,117 @@ { - "Collaborative markdown notes": "Совместные markdown заметки", - "Realtime collaborative markdown notes on all platforms.": "Совместные markdown заметки в режиме реального времени на всех платформах.", - "Best way to write and share your knowledge in markdown.": "Лучший способ записывать свои знания и делиться ими в формате markdown.", - "Intro": "Введение", - "History": "История", - "New guest note": "Новая гостевая заметка", - "Collaborate with URL": "Сотрудничество по ссылке", - "Support charts and MathJax": "Поддержка графиков и MathJax", - "Support slide mode": "Поддержка режима слайдера", - "Sign In": "Войти", - "Below is the history from browser": "Ниже приводится история браузера", - "Welcome!": "Добро пожаловать!", - "New note": "Новая заметка", - "or": "или", - "Sign Out": "Выйти", - "Explore all features": "Изучите все возможности", - "Select tags...": "Выберите теги...", - "Search keyword...": "Поиск...", - "Sort by title": "Сортировка по заголовку", - "Title": "Заголовок", - "Sort by time": "Сортировка по времени", - "Time": "Время", - "Export history": "Экспорт истории", - "Import history": "Импорт истории", - "Clear history": "Очистить историю", - "Refresh history": "Обновить историю", - "No history": "Нет истории", - "Import from browser": "Импорт из браузера", - "Releases": "Релизы", - "Are you sure?": "Вы уверены?", - "Cancel": "Отмена", - "Yes, do it!": "Да, сделать это!", - "Choose method": "Выберите метод", - "Sign in via %s": "Войти с помощью %s", - "New": "Новая", - "Publish": "Опубликовать", - "Extra": "Дополнительно", - "Revision": "Изменения", - "Slide Mode": "Режим слайдера", - "Export": "Экспорт", - "Import": "Импорт", - "Clipboard": "Буфер обмена", - "Download": "Скачать", - "Raw HTML": "Raw HTML", - "Edit": "Редактировать", - "View": "Посмотреть", - "Both": "И то и другое", - "Help": "Помощь", - "Upload Image": "Загрузить изображение", - "Menu": "Меню", - "This page need refresh": "Эту страницу необходимо обновить", - "You have an incompatible client version.": "Вы используете несовместимую версию клиента.", - "Refresh to update.": "Обновите страницу для обновления клиента.", - "New version available!": "Доступна новая версия!", - "See releases notes here": "Смотрите подробности обновлений здесь", - "Refresh to enjoy new features.": "Обновите, чтобы наслаждаться новыми возможностями.", - "Your user state has changed.": "Ваш аккаунт изменен.", - "Refresh to load new user state.": "Обновите, чтобы загрузить изменения аккаунта.", - "Refresh": "Обновить", - "Contacts": "Контакты", - "Report an issue": "Сообщить о проблеме", - "Send us email": "Отправить нам письмо", - "Documents": "Документы", - "Features": "Особенности", - "YAML Metadata": "Метаданные YAML", - "Slide Example": "Пример слайдера", - "Cheatsheet": "Шпаргалка", - "Example": "Пример", - "Syntax": "Синтаксис", - "Header": "Заголовок", - "Unordered List": "Маркированный список", - "Ordered List": "Нумерованный список", - "Todo List": "Список дел", - "Blockquote": "Цитата", - "Bold font": "Жирный шрифт", - "Italics font": "Курсив", - "Strikethrough": "Зачеркнутый", - "Inserted text": "Подчеркнутый текст", - "Marked text": "Выделенный текст", - "Link": "Ссылка", - "Image": "Изображение", - "Code": "Код", - "Externals": "Внешнее", - "This is a alert area.": "Это уведомление.", - "Revert": "Отменить", - "Import from clipboard": "Импорт из буфера обмена", - "Paste your markdown or webpage here...": "Вставьте ваш markdown код или веб-страницу здесь...", - "Clear": "Очистить", - "This note is locked": "Эта заметка заблокирована", - "Sorry, only owner can edit this note.": "К сожалению, только автор может редактировать эту заметку.", - "OK": "OK", - "Reach the limit": "Вы достигли лимита", - "Sorry, you've reached the max length this note can be.": "К сожалению, вы достигли максимальной длины заметки.", - "Please reduce the content or divide it to more notes, thank you!": "Пожалуйста, уменьшите размер содержимого или разделите его на несколько заметок, спасибо!", - "Import from Gist": "Импорт из Gist", - "Paste your gist url here...": "Вставьте ссылку на ваш gist здесь...", - "Import from Snippet": "Импорт фрагмента кода", - "Select From Available Projects": "Выберите из доступных проектов", - "Select From Available Snippets": "Выберите из доступных фрагментов кода", - "OR": "ИЛИ", - "Export to Snippet": "Экспорт фрагмента кода", - "Select Visibility Level": "Выберите уровень видимости" -} + "Collaborative markdown notes": "Совместные markdown заметки", + "Realtime collaborative markdown notes on all platforms.": "Совместные markdown заметки в режиме реального времени на всех платформах.", + "Best way to write and share your knowledge in markdown.": "Лучший способ записывать свои знания и делиться ими в формате markdown.", + "Intro": "Введение", + "History": "История", + "New guest note": "Новая гостевая заметка", + "Collaborate with URL": "Сотрудничество по ссылке", + "Support charts and MathJax": "Поддержка графиков и MathJax", + "Support slide mode": "Поддержка режима слайдера", + "Sign In": "Войти", + "Below is the history from browser": "Ниже приводится история браузера", + "Welcome!": "Добро пожаловать!", + "New note": "Новая заметка", + "or": "или", + "Sign Out": "Выйти", + "Explore all features": "Изучите все возможности", + "Select tags...": "Выберите теги...", + "Search keyword...": "Поиск...", + "Sort by title": "Сортировка по заголовку", + "Title": "Заголовок", + "Sort by time": "Сортировка по времени", + "Time": "Время", + "Export history": "Экспорт истории", + "Import history": "Импорт истории", + "Clear history": "Очистить историю", + "Refresh history": "Обновить историю", + "No history": "Нет истории", + "Import from browser": "Импорт из браузера", + "Releases": "Релизы", + "Are you sure?": "Вы уверены?", + "Do you really want to delete this note?": "Вы точно хотите удалить эту заметку?", + "All users will lose their connection.": "Все пользователи потеряют соединение.", + "Cancel": "Отмена", + "Yes, do it!": "Да, сделать это!", + "Choose method": "Выберите метод", + "Sign in via %s": "Войти с помощью %s", + "New": "Новая", + "Publish": "Опубликовать", + "Extra": "Дополнительно", + "Revision": "Изменения", + "Slide Mode": "Режим слайдера", + "Export": "Экспорт", + "Import": "Импорт", + "Clipboard": "Буфер обмена", + "Download": "Скачать", + "Raw HTML": "Raw HTML", + "Edit": "Редактировать", + "View": "Посмотреть", + "Both": "И то и другое", + "Help": "Помощь", + "Upload Image": "Загрузить изображение", + "Menu": "Меню", + "This page need refresh": "Эту страницу необходимо обновить", + "You have an incompatible client version.": "Вы используете несовместимую версию клиента.", + "Refresh to update.": "Обновите страницу для обновления клиента.", + "New version available!": "Доступна новая версия!", + "See releases notes here": "Смотрите подробности обновлений здесь", + "Refresh to enjoy new features.": "Обновите, чтобы наслаждаться новыми возможностями.", + "Your user state has changed.": "Ваш аккаунт изменен.", + "Refresh to load new user state.": "Обновите, чтобы загрузить изменения аккаунта.", + "Refresh": "Обновить", + "Contacts": "Контакты", + "Report an issue": "Сообщить о проблеме", + "Meet us on %s": "Познакомьтесь с нами в %s", + "Send us email": "Отправить нам письмо", + "Documents": "Документы", + "Features": "Особенности", + "YAML Metadata": "Метаданные YAML", + "Slide Example": "Пример слайдера", + "Cheatsheet": "Шпаргалка", + "Example": "Пример", + "Syntax": "Синтаксис", + "Header": "Заголовок", + "Unordered List": "Маркированный список", + "Ordered List": "Нумерованный список", + "Todo List": "Список дел", + "Blockquote": "Цитата", + "Bold font": "Жирный шрифт", + "Italics font": "Курсив", + "Strikethrough": "Зачеркнутый", + "Inserted text": "Подчеркнутый текст", + "Marked text": "Выделенный текст", + "Link": "Ссылка", + "Image": "Изображение", + "Code": "Код", + "Externals": "Внешнее", + "This is a alert area.": "Это уведомление.", + "Revert": "Отменить", + "Import from clipboard": "Импорт из буфера обмена", + "Paste your markdown or webpage here...": "Вставьте ваш markdown код или веб-страницу здесь...", + "Clear": "Очистить", + "This note is locked": "Эта заметка заблокирована", + "Sorry, only owner can edit this note.": "К сожалению, только автор может редактировать эту заметку.", + "OK": "OK", + "Reach the limit": "Вы достигли лимита", + "Sorry, you've reached the max length this note can be.": "К сожалению, вы достигли максимальной длины заметки.", + "Please reduce the content or divide it to more notes, thank you!": "Пожалуйста, уменьшите размер содержимого или разделите его на несколько заметок, спасибо!", + "Import from Gist": "Импорт из Gist", + "Paste your gist url here...": "Вставьте ссылку на ваш gist здесь...", + "Import from Snippet": "Импорт фрагмента кода", + "Select From Available Projects": "Выберите из доступных проектов", + "Select From Available Snippets": "Выберите из доступных фрагментов кода", + "OR": "ИЛИ", + "Export to Snippet": "Экспорт фрагмента кода", + "Select Visibility Level": "Выберите уровень видимости", + "Night Theme": "Тёмная тема", + "Follow us on %s and %s.": "Подпишитесь на нас в %s и %s.", + "Privacy": "Безопасность", + "Terms of Use": "Условия использования", + "Do you really want to delete your user account?": "Вы точно хотите удалить свою учётную запись?", + "This will delete your account, all notes that are owned by you and remove all references to your account from other notes.": "Это действие удалит вашу учётную запись, все ваши заметки и удалит все ссылки на вашу учетную запись из других заметок.", + "Delete user": "Удалить пользователя", + "Export user data": "Экспортировать данные пользователя", + "Help us translating on %s": "Помогите нам перевести %s", + "Source Code": "Исходный код" +}
\ No newline at end of file |