Skip to content

Commit

Permalink
Russian translation (#54)
Browse files Browse the repository at this point in the history
* Ru locale translation

* restored missing line
  • Loading branch information
Oreolek authored and Gargron committed Oct 26, 2017
1 parent e00f29e commit 4d5b2fa
Show file tree
Hide file tree
Showing 5 changed files with 78 additions and 3 deletions.
3 changes: 2 additions & 1 deletion src/App.js
Original file line number Diff line number Diff line change
Expand Up @@ -18,8 +18,9 @@ import de from 'react-intl/locale-data/de';
import ja from 'react-intl/locale-data/ja';
import pt from 'react-intl/locale-data/pt';
import zh from 'react-intl/locale-data/zh';
import ru from 'react-intl/locale-data/ru';

addLocaleData([...en, ...pl, ...fr, ...es, ...ja, ...de, ...pt, ...zh]);
addLocaleData([...en, ...pl, ...fr, ...es, ...ja, ...de, ...pt, ...zh, ...ru]);

const messages = require.context('./locales/', false, /\.json$/);

Expand Down
3 changes: 2 additions & 1 deletion src/LanguageSelect.js
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ import flagJa from 'twemoji/2/svg/1f1ef-1f1f5.svg';
import flagDe from 'twemoji/2/svg/1f1e9-1f1ea.svg';
import flagBr from 'twemoji/2/svg/1f1e7-1f1f7.svg';
import flagCn from 'twemoji/2/svg/1f1e8-1f1f3.svg';

import flagRu from 'twemoji/2/svg/1f1f7-1f1fa.svg';

const options = [
{ value: 'en', label: <span><img src={flagEn} className='emoji' alt='' /> English</span> },
Expand All @@ -18,6 +18,7 @@ const options = [
{ value: 'es', label: <span><img src={flagEs} className='emoji' alt='' /> Español</span> },
{ value: 'pl', label: <span><img src={flagPl} className='emoji' alt='' /> Polski</span> },
{ value: 'pt-BR', label: <span><img src={flagBr} className='emoji' alt='' /> Português do Brasil</span> },
{ value: 'ru', label: <span><img src={flagRu} className='emoji' alt='' /> Русский</span> },
{ value: 'ja', label: <span><img src={flagJa} className='emoji' alt='' /> 日本語</span> },
{ value: 'zh', label: <span><img src={flagCn} className='emoji' alt='' /> 简体中文</span> }
];
Expand Down
71 changes: 71 additions & 0 deletions src/locales/ru.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,71 @@
{
"credits.branding": "Брендинг",
"credits.branding_text": "Скачать логотипы, иконки и слонов",
"credits.color_scheme": "Цветовая схема Мастодонта",
"credits.get_press_kit": "Взять пресс-кит",
"credits.sponsors": "Спонсоры",
"credits.support_on_patreon": "Поддержать на Patreon",
"credits.support_text": "Mастодонт - это свободная программа с открытым исходным кодом. В ней нет рекламы, монетизации, и за ней не стоит венчурный капитал. Ваши пожертвования идут напрямую на непрерывную разработку проекта.",
"credits.view_sponsors": "Посмотреть спонсоров",
"features.additional": "Дополнительные особенности",
"features.anti_abuse": "Мощные инструменты против злоумышленников",
"features.deploy_own": "Легко разверните свою копию",
"features.find_your_community": "Найдите ваше идеальное сообщество",
"features.find_your_community_text": "Мастодонт - это не единственное место и один свод правил: это <strong>тысячи уникальных взаимосвязанных сообществ,</strong> из которых можно выбрать, каждое наполненное разными людьми, интересами, языками и нуждами. Вам не нравятся правила? Вы свободны, чтобы присоединиться к любому сообществу, которое вам нравится, или ещё лучше: создать своё, на собственных условиях!",
"features.huge_audience": "Огромная аудитория",
"features.media_embedding": "Вставляйте медиа в ваши посты",
"features.open_standards": "Построен на открытых стандартах Интернета",
"features.post_filtering": "Гибкая фильтрация постов",
"features.relevancy": "Вы решаете, что вам интересно",
"features.safety": "Почувствуйте себя спокойно в своём сообществе",
"features.safety_text": "Мастодонт идёт вместе с <strong>эффективными инструментами против злоупотреблений,</strong> чтобы помочь защитить себя от онлайн-издевательств. Вместе с маленькими взаимосвязанными сообществами это значит, что в Мастодонте <strong>больше модераторов,</strong> к которым вы можете обратиться за помощью. Это также значит, что вы можете выбирать, кто видит ваши посты: друзья, ваше сообщество, или вся федиленная.",
"features.spoiler_warnings": "Предупреждения о спойлерах",
"features.take_control": "Возьмите контроль над своим контентом",
"features.take_control_text": "С мощными инструментами <strong>контроля над тем, кто видит ваши посты</strong> и <strong>ограничением на 500 символов,</strong> Мастодонт даёт вам возможности поделиться своими идеями, без сокращений. Но лучшая часть? <strong>Все посты показываются в хронологическом порядке,</strong> не «оптимизированном» для того, чтобы выдавать рекламу в вашей хронике. С приложениями для iOS, Android и всех других платформ <strong> Мастодонт всегда у вас под рукой.</strong>",
"features.toots": "Они называются трубы",
"features.user_first": "Поставить пользователя на первое место",
"features.user_first_text": "Вы — человек, а не продукт. Мастодонт - это свободная разработка с открытым исходным кодом, деньги на которую были собраны сообществом, а не профинансированы кем-то. Все инстанции - это <strong>с независимыми владельцами, операторами и модераторами.</strong> Здесь нет монополии одной коммерческой компании, нет рекламы и отслеживания. <strong>Мастодон работает для вас, </strong>а не наоборот.",
"home.as_seen_on": "О нас писали на",
"home.get_started": "Начать",
"home.headline": "Социальные сети, <strong>снова в ваших руках</strong>",
"home.how_it_works": "Как он работает",
"home.install_your_own": "Установите свою копию",
"home.install_your_own_text": "Если вы заинтересованы в том, чтобы запустить свою инстанцию — для друзей, семьи или организации — вы можете начать, прочитав документацию по установке. Вы храните только своих пользователей и контент, на который они подписались.",
"home.read_the_docs": "Прочитайте документацию",
"home.tagline": "Самая большая бесплатная децентрализованная сеть микроблоггинга с открытым исходным кодом в мире",
"how_it_works.how_it_works": "Как это работает",
"how_it_works.how_it_works_text1": "Каждый может запустить сервер Мастодонта. Каждый сервер служит домом для индивидуальных аккаунтов пользователей, контента, который они пишут, и контента, на который они подписаны.",
"how_it_works.how_it_works_text2": "Каждый аккаунт пользователя имеет глобально уникальное имя (например, @человек@пример.рф), которое содержит местный логин (@человек) и доменное имя сервера, на котором он зарегистрирован (пример.рф).",
"how_it_works.how_it_works_text3": "Пользователи могут подписываться друг на друга независимо от того, где они зарегистрированы — когда местный пользователь фолловит на кого-то с другого сервера, то сервер впервые подписывается на обновления пользователя.",
"how_it_works.why_its_cool": "Почему это круто?",
"how_it_works.why_its_cool_text": "Серверы управляются независимо разными людьми и организациями. Они могут использовать совершенно разные политики модераций, так что вы можете найти или сделать тот, который идеально подходит вашим вкусам. Децентрализованную сеть труднее подвергнуть государственной цензуре. Если один сервер обанкротится или начнёт действовать неэтично, то сеть остаётся, так что вам никогда не придётся волноваться о том, чтобы перетащить всех друзей и подписчиков на очередную новую платформу.",
"nav.code": "Код",
"nav.docs": "Документация",
"nav.sponsors": "Спонсоры",
"nav.support": "Поддержка",
"sponsorship.become_a_sponsor": "Станьте спонсором",
"sponsorship.every_bit_helps": "Помогает каждая мелочь, и мы рады любому вкладу.",
"sponsorship.silver_sponsors": "Серебряные спонсоры",
"sponsorship.silver_sponsors_text": "<strong>Серебряные спонсоры</strong> это те, кто вложил в Mastodon от $40 до $99.",
"sponsorship.sponsors": "Спонсоры",
"sponsorship.sponsors_of_mastodon": "Спонсоры Мастодонта",
"sponsorship.sponsors_text": "<strong>Спонсоры</strong> это те, кто пожертвовал от $10 до $39 на Mastodon.",
"sponsorship.support_the_project": "Поддержите проект",
"sponsorship.thanks_to": "Мастодонт — это <strong>свободное программное обеспечение с открытым исходным кодом.</strong> Здесь нет рекламы, монетизации или венчурного капитала. <strong>Ваши пожертвования напрямую поддерживают разработку проекта на полную рабочую неделю.</strong>. Мы выражаем спасибо следующим людям и компаниям:",
"wizard.column.population": "Заселённость",
"wizard.column.server": "Сервер",
"wizard.column.stability": "Стабильность",
"wizard.column.theme": "Тема",
"wizard.get_started": "<strong>Начать знакомство:</strong> выберите инстанцию",
"wizard.help_me_choose": "Помогите мне выбрать",
"wizard.search": "Искать инстанцию",
"wizard.text": "Каждый сервер - это отдельный шлюз в федиленную с независимым владельцем. Вы можете общаться с друзьями независимо от того, какой из шлюзов вы выберете, но у каждого будет своя политика модерации и интересы, так что выбирайте тот, который покажется вам самым удобным.",
"wizard.tip": "Совет:",
"wizard.tip_text": "Это не просто ваш дом, это ещё и ваш адрес, по которому вас смогут найти другие люди. Это будет как <samp>@логин@пример.рф</samp> выбор email-адреса.",
"wizard_row.population.full": "Полный",
"wizard_row.population.medium": "Средний",
"wizard_row.population.new": "Новый",
"wizard_row.stability.awful": "Ужасно",
"wizard_row.stability.intermittent": "Прерывисто",
"wizard_row.stability.stable": "Стабильно"
}
2 changes: 2 additions & 0 deletions src/locales/whitelist_ru.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
[
]
2 changes: 1 addition & 1 deletion translationRunner.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,5 +3,5 @@ const manageTranslations = require('react-intl-translations-manager').default;
manageTranslations({
messagesDirectory: 'build/messages',
translationsDirectory: 'src/locales/',
languages: ['en', 'fr', 'pl', 'es', 'ja', 'de', 'pt-BR', 'zh']
languages: ['en', 'fr', 'pl', 'es', 'ja', 'de', 'pt-BR', 'zh', 'ru']
});

0 comments on commit 4d5b2fa

Please sign in to comment.