forked from I2P_Developers/i2p.www
5692 lines
288 KiB
Plaintext
5692 lines
288 KiB
Plaintext
![]() |
# Russian translations for I2P.
|
|||
|
# Copyright (C) 2014 ORGANIZATION
|
|||
|
# This file is distributed under the same license as the I2P project.
|
|||
|
#
|
|||
|
# Translators:
|
|||
|
# IOException <opexob@yandex.ru>, 2013
|
|||
|
# sassy <sassy.but.classic@gmail.com>, 2013
|
|||
|
msgid ""
|
|||
|
msgstr ""
|
|||
|
"Project-Id-Version: I2P\n"
|
|||
|
"Report-Msgid-Bugs-To: http://trac.i2p2.de\n"
|
|||
|
"POT-Creation-Date: 2014-01-09 19:32+0000\n"
|
|||
|
"PO-Revision-Date: 2014-01-08 02:30+0000\n"
|
|||
|
"Last-Translator: str4d <str4d@i2pmail.org>\n"
|
|||
|
"Language-Team: Russian (Russia) "
|
|||
|
"(http://www.transifex.com/projects/p/I2P/language/ru_RU/)\n"
|
|||
|
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
|
|||
|
"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2)\n"
|
|||
|
"MIME-Version: 1.0\n"
|
|||
|
"Content-Type: text/plain; charset=utf-8\n"
|
|||
|
"Content-Transfer-Encoding: 8bit\n"
|
|||
|
"Generated-By: Babel 1.3\n"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/donate.html:2
|
|||
|
#: i2p2www/pages/site/get-involved/index.html:77
|
|||
|
msgid "Donate"
|
|||
|
msgstr "Пожертвовать"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/donate.html:4
|
|||
|
msgid ""
|
|||
|
"Thank you for your interest in contributing to I2P!\n"
|
|||
|
"The details of how you\n"
|
|||
|
"can make your contribution are provided below."
|
|||
|
msgstr ""
|
|||
|
"Спасибо за ваш интерес проявленный к поддержке проекта I2P!\n"
|
|||
|
"Подробности о том как вы\n"
|
|||
|
"можете сделать свой вклад приведены ниже."
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/donate.html:11
|
|||
|
#: i2p2www/pages/site/get-involved/donate.html:27
|
|||
|
#, python-format
|
|||
|
msgid ""
|
|||
|
"As of %(date)s, eche|on has been running a\n"
|
|||
|
"<a href=\"%(coinurl)s\">%(cointype)s</a> account for the I2P project.\n"
|
|||
|
"If you'd like to donate using %(cointype)s, just transfer your\n"
|
|||
|
"desired amount of coins to the account <b>%(account)s</b>\n"
|
|||
|
"and leave eche|on a note if you'd like your donation to be\n"
|
|||
|
"mentioned on the I2P webpage."
|
|||
|
msgstr ""
|
|||
|
"C %(date)s, eche|on завел аккаунт\n"
|
|||
|
"<a href=\"%(coinurl)s\">%(cointype)s</a> для проекта I2P.\n"
|
|||
|
"Если вам не нравится жертвовать, используя %(cointype)s, просто "
|
|||
|
"перечислите\n"
|
|||
|
"желаемое количество монет на аккаунт <b>%(account)s</b>\n"
|
|||
|
"и оставьте eche|on запись, если вы хотите, чтобы ваше пожертвование\n"
|
|||
|
"было упомянуто на веб-странице I2P."
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/donate.html:22
|
|||
|
#: i2p2www/pages/site/get-involved/donate.html:38
|
|||
|
msgid "For easy usage, use the QR code below!"
|
|||
|
msgstr "Для простоты, используйте этот QR код!"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/donate.html:44
|
|||
|
#, python-format
|
|||
|
msgid "You can donate direct via PayPal to the account \"%(account)s\"."
|
|||
|
msgstr "Вы можете пожертвовать на прямую через PayPal на аккаунт \"%(account)s\"."
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/donate.html:50
|
|||
|
msgid "One time donation:"
|
|||
|
msgstr "Разовое пожертвование:"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/donate.html:64
|
|||
|
msgid "Donate 10 €/month for 12 months:"
|
|||
|
msgstr "Жертвовать по 10 €/месяц в течение 12 месяцев:"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/donate.html:72
|
|||
|
#: i2p2www/pages/site/get-involved/donate.html:84
|
|||
|
#: i2p2www/pages/site/get-involved/donate.html:96
|
|||
|
#: i2p2www/pages/site/get-involved/donate.html:108
|
|||
|
msgid "I2P donation "
|
|||
|
msgstr "пожертвовать I2P"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/donate.html:78
|
|||
|
msgid "Donate 20 €/month for 12 months:"
|
|||
|
msgstr "Жертвовать по 20 €/месяц в течение 12 месяцев:"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/donate.html:90
|
|||
|
msgid "Donate 30 €/month for 12 months:"
|
|||
|
msgstr "Жертвовать по 30 €/месяц в течение 12 месяцев:"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/donate.html:102
|
|||
|
msgid "Donate 50 €/month for 12 months:"
|
|||
|
msgstr "Жертвовать по 50 €/месяц в течение 12 месяцев:"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/donate.html:117
|
|||
|
msgid "Flattr this"
|
|||
|
msgstr "Через Flattr"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/donate.html:122
|
|||
|
msgid ""
|
|||
|
"If you want to keep more or less anonymous, the option to send money via "
|
|||
|
"mail is also available. But it is less secure\n"
|
|||
|
"as the envelope can be lost on the way to us."
|
|||
|
msgstr ""
|
|||
|
"Если вы хотите более или менее сохранить анонимность, вы можете отправить"
|
|||
|
" деньги почтой. Однако это менее безопасно\n"
|
|||
|
"так как конверт может потеряться по пути к нам. "
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/donate.html:126
|
|||
|
#, python-format
|
|||
|
msgid ""
|
|||
|
"If you'd like to donate via snail mail, send an email to <a "
|
|||
|
"href=\"mailto:%(email)s?subject=information about snailmail "
|
|||
|
"donation\">%(email)s</a>\n"
|
|||
|
" and you'll receive an email with instructions detailing how to proceed."
|
|||
|
msgstr ""
|
|||
|
"Если вы хотите сделать пожертвование по средствам бумажной почты, "
|
|||
|
"отправьте электронное письмо на адрес <a "
|
|||
|
"href=\"mailto:%(email)s?subject=information about snailmail "
|
|||
|
"donation\">%(email)s</a>\n"
|
|||
|
" и в ответ вы получите письмо с подробными инструкциями как это "
|
|||
|
"осуществить."
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/donate.html:131
|
|||
|
#, python-format
|
|||
|
msgid ""
|
|||
|
"In the meantime, feel free to take a look at the generous donations that "
|
|||
|
"have been\n"
|
|||
|
"given in support of the I2P Project at the <a "
|
|||
|
"href=\"%(halloffame)s\">hall of fame</a>."
|
|||
|
msgstr ""
|
|||
|
"А пока, вы можете взглянуть на щедрые пожертвования\n"
|
|||
|
"сделанные проекту I2P в <a href=\"%(halloffame)s\">зале славы</a>."
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/index.html:2
|
|||
|
msgid "Get Involved!"
|
|||
|
msgstr "Присоединяйтесь!"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/index.html:4
|
|||
|
msgid "We need your help!"
|
|||
|
msgstr "Нам нужна ваша помощь!"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/index.html:5
|
|||
|
msgid ""
|
|||
|
"To get involved, please feel free to join us on the #i2p IRC channel (on\n"
|
|||
|
"irc.freenode.net, or within I2P on irc.freshcoffee.i2p or "
|
|||
|
"irc.postman.i2p)."
|
|||
|
msgstr ""
|
|||
|
"Что бы принять участие, не стесняясь заходите на наш IRC канал #i2p (на "
|
|||
|
"сервере\n"
|
|||
|
"irc.freenode.net, или в сети I2P на серверах irc.freshcoffee.i2p или "
|
|||
|
"irc.postman.i2p)."
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/index.html:9
|
|||
|
#, python-format
|
|||
|
msgid ""
|
|||
|
"If you're interested in joining our <a href=\"%(team)s\">team</a>, please"
|
|||
|
" get in\n"
|
|||
|
"touch as we're always looking for eager contributors!"
|
|||
|
msgstr ""
|
|||
|
"Если вы хотите присоединить к нашей <a href=\"%(team)s\">команде</a>, "
|
|||
|
"пожалуйста, свяжитесь с нами, так как мы постоянно ищем новых активных "
|
|||
|
"участников."
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/index.html:13
|
|||
|
msgid ""
|
|||
|
"We need help in many areas, and you don't need to know Java to "
|
|||
|
"contribute!\n"
|
|||
|
"Here's a list to help you get started!"
|
|||
|
msgstr ""
|
|||
|
"Нам нужна помощь по многим направлениям, поэтому вам не обязательно знать"
|
|||
|
" язык Java, чтобы оказать помощь!\n"
|
|||
|
"Вот список, который поможет вам начать!"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/index.html:18
|
|||
|
msgid "Spread the Word!"
|
|||
|
msgstr "Расскажите о нас!"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/index.html:19
|
|||
|
msgid ""
|
|||
|
"Tell people about I2P on forums, blogs, and comments to articles.\n"
|
|||
|
"Fix up the Wikipedia article about I2P in your language.\n"
|
|||
|
"Tell your friends."
|
|||
|
msgstr ""
|
|||
|
"Рассказывайте людям о I2P на форумах, в блогах и в комментариях к "
|
|||
|
"статьям.\n"
|
|||
|
"Исправляйте и дополняйте статьи о I2P в Википедии на вашем языке.\n"
|
|||
|
"Расскажите своим друзьям."
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/index.html:24
|
|||
|
msgid "Testing"
|
|||
|
msgstr "Тестирование"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/index.html:25
|
|||
|
#, python-format
|
|||
|
msgid ""
|
|||
|
"Run the latest builds from <a href=\"%(monotone)s\">monotone</a>\n"
|
|||
|
"and report results on #i2p or as bugs on <a href=\"%(trac)s\">Trac</a>."
|
|||
|
msgstr ""
|
|||
|
"Запустите последние сборки из <a href=\"%(monotone)s\">monotone</a> \n"
|
|||
|
"и отправьте результаты на #i2p или, в качестве сообщения об ошибке на <a "
|
|||
|
"href=\"%(trac)s\">Trac</a>."
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/index.html:30
|
|||
|
msgid "Documentation"
|
|||
|
msgstr "Документация"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/index.html:31
|
|||
|
msgid ""
|
|||
|
"Help fix the parts of the website that are outdated or incomplete.\n"
|
|||
|
"Translate pages into other languages."
|
|||
|
msgstr ""
|
|||
|
"Помогите исправить разделы сайта, содержащие устаревшую или неполную "
|
|||
|
"информацию.\n"
|
|||
|
"Переводите страницы на другие языки."
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/index.html:35
|
|||
|
msgid "Pictures"
|
|||
|
msgstr "Изображения"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/index.html:36
|
|||
|
msgid "Make some more pictures, fix the old ones on the website"
|
|||
|
msgstr "Добавьте больше картинок, обновите устаревшие на сайте"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/index.html:39
|
|||
|
msgid "Content"
|
|||
|
msgstr "Контент"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/index.html:40
|
|||
|
msgid "Make an eepsite! Add some content! Contribute to the community!"
|
|||
|
msgstr "Создайте eep-сайт! Добавьте содержимое! Сделайте вклад в сообщество!"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/index.html:43
|
|||
|
msgid "Services"
|
|||
|
msgstr "Службы"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/index.html:44
|
|||
|
msgid ""
|
|||
|
"Run a service on an eepsite. It could be a proxy, a forum, a tracker,\n"
|
|||
|
"a naming service, a search engine, an eepsite monitor... many of these\n"
|
|||
|
"aren't that hard."
|
|||
|
msgstr ""
|
|||
|
"Запустите службу на eep-сайте. Это может быть прокси-сервер, форум, "
|
|||
|
"трекер, служба имён, поисковый сервис, мониторинг eep-сайтов... много "
|
|||
|
"всего и это не так уж сложно."
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/index.html:49
|
|||
|
msgid "Applications"
|
|||
|
msgstr "Программы"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/index.html:50
|
|||
|
#, python-format
|
|||
|
msgid ""
|
|||
|
"Write or port applications for I2P! There's some guidelines and\n"
|
|||
|
"a list of ideas on the <a href=\"%(apps)s\">applications page</a>."
|
|||
|
msgstr ""
|
|||
|
"Создавайте или портируйте программы для I2P! Вы найдёте несколько "
|
|||
|
"руководств и список идей на <a href=\"%(apps)s\">странице приложений</a>."
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/index.html:54
|
|||
|
msgid "Coding"
|
|||
|
msgstr "Программируйте"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/index.html:55
|
|||
|
#, python-format
|
|||
|
msgid ""
|
|||
|
"There's plenty to do if you know Java or are ready to learn.\n"
|
|||
|
"Check for open tickets on <a href=\"%(trac)s\">Trac</a>\n"
|
|||
|
"or the TODO list on <a href=\"http://%(zzz)s\">%(zzz)s</a> for\n"
|
|||
|
"some ideas on where to start.\n"
|
|||
|
"See the <a href=\"%(newdevs)s\">new developer's guide</a> for details."
|
|||
|
msgstr ""
|
|||
|
"Есть много дел, если вы знаете Java или готовы его изучать.\n"
|
|||
|
"Проверьте открытые тикеты на <a href=\"%(trac)s\">Trac</a> \n"
|
|||
|
"или список TODO на <a href=\"http://%(zzz)s\">%(zzz)s</a>, \n"
|
|||
|
"чтобы понять с чего начать.\n"
|
|||
|
"Подробнее смотрите <a href=\"%(newdevs)s\">руководство нового "
|
|||
|
"разработчика</a>."
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/index.html:64
|
|||
|
msgid "Translation"
|
|||
|
msgstr "Перевод"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/index.html:65
|
|||
|
#, python-format
|
|||
|
msgid ""
|
|||
|
"Help translate the website and the software into your language.\n"
|
|||
|
"See the <a href=\"%(newtrans)s\">new translator's guide</a> for details."
|
|||
|
msgstr ""
|
|||
|
"Помогите перевести веб-сайт и программное обеспечение на ваш язык.\n"
|
|||
|
"Обратитесь к <a href=\"%(newtrans)s\">руководству переводчика</a> для "
|
|||
|
"подробностей."
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/index.html:69
|
|||
|
msgid "Analysis"
|
|||
|
msgstr "Анализ"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/index.html:70
|
|||
|
#, python-format
|
|||
|
msgid ""
|
|||
|
"Study or test the code to look for vulnerabilities.\n"
|
|||
|
"Both anonymity vulnerabilities from the various\n"
|
|||
|
"<a href=\"%(threatmodel)s\">threat models</a>,\n"
|
|||
|
"and DOS and other weaknesses due to securities holes,\n"
|
|||
|
"need researching."
|
|||
|
msgstr ""
|
|||
|
"Изучайте или тестируйте исходный код для выявления уязвимостей.\n"
|
|||
|
"И различные <a href=\"%(threatmodel)s\">модели угроз</a> деанонимизации,\n"
|
|||
|
"и DOS, и другие проблемы безопасности требуют тщательного изучения."
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/roadmap.html:2
|
|||
|
msgid "Roadmap"
|
|||
|
msgstr "План разработки"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/roadmap.html:7
|
|||
|
msgid ""
|
|||
|
"Include some seed data in the distribution so a central reseed location "
|
|||
|
"isn't required?"
|
|||
|
msgstr ""
|
|||
|
"Включить дополнительные начальные данные в дистрибутив, т.о. не будет "
|
|||
|
"необходимости в централизованной начальной загрузке?"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/roadmap.html:10
|
|||
|
#, python-format
|
|||
|
msgid ""
|
|||
|
"Reachability Mapping / handle peers partially reachable / enhanced <a "
|
|||
|
"href=\"%(todo)s#fullRestrictedRoutes\">restricted routes</a>"
|
|||
|
msgstr ""
|
|||
|
"Отображение доступности / обработка частично доступны узлов / улучшить <a"
|
|||
|
" href=\"%(todo)s#fullRestrictedRoutes\">ограниченные маршруты</a>"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/roadmap.html:13
|
|||
|
msgid "Improve help pages and website"
|
|||
|
msgstr "Улучшить страницы помощи и веб-сайт"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/roadmap.html:14
|
|||
|
msgid "More translations"
|
|||
|
msgstr "Больше переводов"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/roadmap.html:15
|
|||
|
msgid "SSU disconnect message"
|
|||
|
msgstr "Сообщение о разрыве соединения SSU"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/roadmap.html:16
|
|||
|
msgid "Iterative floodfill lookups"
|
|||
|
msgstr "Итеративный поиск floodfill"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/roadmap.html:21
|
|||
|
msgid "Full review of anonymity issues and other vulnerabilities"
|
|||
|
msgstr "Полный пересмотр вопросов анонимности и других уязвимостей"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/roadmap.html:22
|
|||
|
msgid ""
|
|||
|
"Reduce memory usage, remove debugging overhead, make it run better on "
|
|||
|
"slow and embedded machines"
|
|||
|
msgstr ""
|
|||
|
"Уменьшить использование памяти, убрать накладные расходы на отладку, "
|
|||
|
"улучшить запуск на медленных устройствах и встраиваемых системах"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/roadmap.html:25
|
|||
|
msgid "Docs"
|
|||
|
msgstr "Документация"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/roadmap.html:30
|
|||
|
msgid "Full restricted routes"
|
|||
|
msgstr "Полностью ограниченные маршруты"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/roadmap.html:35
|
|||
|
msgid "Tunnel mixing and padding"
|
|||
|
msgstr "Смешивание и изменение размера туннелей"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/roadmap.html:36
|
|||
|
msgid "User defined message delays"
|
|||
|
msgstr "Задержка сообщений, определяемая пользователем"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/roadmap.html:39
|
|||
|
#, python-format
|
|||
|
msgid ""
|
|||
|
"Please see the <a href=\"%(todo)s\">TODO</a> list for more detailed info "
|
|||
|
"about some of these tasks."
|
|||
|
msgstr ""
|
|||
|
"Больше информации по этим задачам можно увидеть здесь: <a "
|
|||
|
"href=\"%(todo)s\">TODO</a>."
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/todo.html:2
|
|||
|
msgid "I2P Project Targets"
|
|||
|
msgstr "Цели проекта I2P"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/todo.html:4
|
|||
|
#, python-format
|
|||
|
msgid ""
|
|||
|
"Below is a more detailed (yet still incomplete) discussion of the major "
|
|||
|
"areas\n"
|
|||
|
"of future development on the core I2P network, spanning the plausibly "
|
|||
|
"planned\n"
|
|||
|
"releases. This does not include stego transports, porting to wireless "
|
|||
|
"devices,\n"
|
|||
|
"or tools to secure the local machine, nor does it include client "
|
|||
|
"applications\n"
|
|||
|
"that will be essential in I2P's success. There are probably other things "
|
|||
|
"that\n"
|
|||
|
"will come up, especially as I2P gets more peer review, but these are the "
|
|||
|
"main\n"
|
|||
|
"'big things'. See also <a href=\"%(roadmap)s\">the roadmap</a>. Want to "
|
|||
|
"help?\n"
|
|||
|
"<a href=\"%(volunteer)s\">Get involved</a>!"
|
|||
|
msgstr ""
|
|||
|
"Ниже приведено более детальное (еще не завершенное) обсуждение основных "
|
|||
|
"областей\n"
|
|||
|
"будущей разработки ядра сети I2P, охватывающее планируемые\n"
|
|||
|
"релизы. Оно не включает в себя транспорт stego, портирование на "
|
|||
|
"беспроводные устройства,\n"
|
|||
|
"или способы обезопасить локальную машину, также не включает в себя "
|
|||
|
"клиентские приложения,\n"
|
|||
|
"что будет иметь важное значение для успеха I2P. Возможно, появятся и "
|
|||
|
"другие вещи,\n"
|
|||
|
"особенно, когда на I2P будет больше рецензий, но нижеприведенное - это "
|
|||
|
"главные\n"
|
|||
|
"'большие вещи'. Смотрите также <a href=\"%(roadmap)s\">roadmap</a>. "
|
|||
|
"Хотите помочь?\n"
|
|||
|
"<a href=\"%(volunteer)s\">Участвуй</a>!"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/todo.html:15
|
|||
|
#: i2p2www/pages/site/get-involved/todo.html:53
|
|||
|
msgid "Core functionality"
|
|||
|
msgstr "Основная функциональность"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/todo.html:15
|
|||
|
#: i2p2www/pages/site/get-involved/todo.html:27
|
|||
|
#: i2p2www/pages/site/get-involved/todo.html:51
|
|||
|
msgid "link"
|
|||
|
msgstr "ссылка"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/todo.html:17
|
|||
|
#: i2p2www/pages/site/get-involved/todo.html:56
|
|||
|
msgid "NAT/Firewall bridging via 1-hop restricted routes"
|
|||
|
msgstr "Преодоление NAT/Firewall в ограниченных маршрутах с 1 прыжком"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/todo.html:20
|
|||
|
#: i2p2www/pages/site/get-involved/todo.html:129
|
|||
|
msgid "High degree transport layer with UDP, NBIO, or NIO"
|
|||
|
msgstr "Высокоуровневый маршрут с UDP, NBIO, or NIO"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/todo.html:23
|
|||
|
#: i2p2www/pages/site/get-involved/todo.html:217
|
|||
|
msgid "NetworkDB and profile tuning and ejection policy for large nets"
|
|||
|
msgstr "NetworkDB, настройка профиля и политика исключения для больших сетей"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/todo.html:27
|
|||
|
#: i2p2www/pages/site/get-involved/todo.html:241
|
|||
|
msgid "Security / anonymity"
|
|||
|
msgstr "Безопасность / анонимность"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/todo.html:29
|
|||
|
#: i2p2www/pages/site/get-involved/todo.html:244
|
|||
|
msgid ""
|
|||
|
"Per-hop tunnel id & new permuted TunnelVerificationStructure "
|
|||
|
"encryption"
|
|||
|
msgstr ""
|
|||
|
"Идентификатор туннеля для каждого прыжка & переменное шифрование "
|
|||
|
"TunnelVerificationStructure"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/todo.html:32
|
|||
|
#: i2p2www/pages/site/get-involved/todo.html:294
|
|||
|
msgid "Strict ordering of participants within tunnels"
|
|||
|
msgstr "Строгая последовательность участников в туннеле"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/todo.html:35
|
|||
|
msgid "Randomly permuted tunnel lengths"
|
|||
|
msgstr "Случайное изменение длины туннеля"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/todo.html:38
|
|||
|
#: i2p2www/pages/site/get-involved/todo.html:356
|
|||
|
msgid "Full blown n-hop restricted routes with optional trusted links"
|
|||
|
msgstr ""
|
|||
|
"Полностью разорванные n-прыжковые ограниченные маршруты с необязательными"
|
|||
|
" доверенными ссылками"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/todo.html:41
|
|||
|
#: i2p2www/pages/site/get-involved/todo.html:375
|
|||
|
msgid "Hashcash for routerIdentity, destination, and tunnel request"
|
|||
|
msgstr "Hashcash для запросов идентификатора маршрута, пункта назначения и туннеля"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/todo.html:44
|
|||
|
#: i2p2www/pages/site/get-involved/todo.html:404
|
|||
|
msgid "Advanced tunnel operation (batching/mixing/throttling/padding)"
|
|||
|
msgstr ""
|
|||
|
"Расширенные операции над туннелем "
|
|||
|
"(пакетирование/смешивание/регулирование/изменение размера)"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/todo.html:47
|
|||
|
#: i2p2www/pages/site/get-involved/todo.html:441
|
|||
|
msgid "Stop & go mix w/ garlics & tunnels"
|
|||
|
msgstr "Задержка совместно с чесночной маршрутизацией & туннелями"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/todo.html:51
|
|||
|
#: i2p2www/pages/site/get-involved/todo.html:455
|
|||
|
msgid "Performance"
|
|||
|
msgstr "Производительность"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/todo.html:61
|
|||
|
msgid "Implemented in I2P 0.6.0.6"
|
|||
|
msgstr "Реализовано в I2P 0.6.0.6"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/todo.html:62
|
|||
|
msgid ""
|
|||
|
"The functionality of allowing routers to fully participate within the "
|
|||
|
"network \n"
|
|||
|
"while behind firewalls and NATs that they do not control requires some "
|
|||
|
"basic \n"
|
|||
|
"restricted route operation (since those peers will not be able to receive"
|
|||
|
" \n"
|
|||
|
"inbound connections). To do this successfully, you consider peers one of"
|
|||
|
" \n"
|
|||
|
"two ways:"
|
|||
|
msgstr ""
|
|||
|
"Функциональность, позволяющая маршрутизатору, находящемуся за "
|
|||
|
"брандмауэром или NAT, \n"
|
|||
|
"которые он не контролирует, полностью взаимодействовать с сетью, "
|
|||
|
"нуждается в некоторых основных\n"
|
|||
|
"операциях ограниченного маршрута (т.к. эти узлы не смогут принимать \n"
|
|||
|
"входящие подключения). Для этого мы считаем, что узлы могут быть одного\n"
|
|||
|
"из двух возможных типов:"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/todo.html:72
|
|||
|
msgid ""
|
|||
|
"<b>Peers who have reachable interfaces</b> - these peers do not need to \n"
|
|||
|
"do anything special"
|
|||
|
msgstr ""
|
|||
|
"<b>Узлы, имеющие доступные интерфейсы</b> - этим узлам не нужно \n"
|
|||
|
"делать ничего особенного"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/todo.html:76
|
|||
|
msgid ""
|
|||
|
"<b>Peers who do not have reachable interfaces</b> - these peers must "
|
|||
|
"build \n"
|
|||
|
"a tunnel pointing at them where the gateway is one of the peers they have"
|
|||
|
" \n"
|
|||
|
"established a connection with who has both a publicly reachable interface"
|
|||
|
" \n"
|
|||
|
"and who has agreed to serve as their 'introducer'."
|
|||
|
msgstr ""
|
|||
|
"<b>Узлы, не имеющие доступных интерфейсов</b> - эти узлы должны построить"
|
|||
|
" \n"
|
|||
|
"туннель, указывающий на них, где шлюзом выступает один из узлов, с "
|
|||
|
"которым \n"
|
|||
|
"они установили соединение, последний должен иметь доступный для всех "
|
|||
|
"интерфейс \n"
|
|||
|
"и согласиться служить их 'представителем'."
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/todo.html:84
|
|||
|
msgid ""
|
|||
|
"To do this, peers who have no IP address simply connect to a few peers, \n"
|
|||
|
"build a tunnel through them, and publish a reference to those tunnels "
|
|||
|
"within \n"
|
|||
|
"their RouterInfo structure in the network database."
|
|||
|
msgstr ""
|
|||
|
"Чтобы сделать это, узлы, у которых нет IP адреса, просто подключаются к "
|
|||
|
"нескольким узлам, \n"
|
|||
|
"строят туннель между ними, и публикуют ссылку на эти туннели внутри \n"
|
|||
|
"их структуры RouterInfo в базе данных сети."
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/todo.html:89
|
|||
|
msgid ""
|
|||
|
"When someone wants to contact any particular router, they first must get"
|
|||
|
" \n"
|
|||
|
"its RouterInfo from the network database, which will tell them whether "
|
|||
|
"they \n"
|
|||
|
"can connect directly (e.g. the peer has a publicly reachable interface) \n"
|
|||
|
"or whether they need to contact them indirectly. Direct connections occur"
|
|||
|
" \n"
|
|||
|
"as normal, while indirect connections are done through one of the "
|
|||
|
"published \n"
|
|||
|
"tunnels."
|
|||
|
msgstr ""
|
|||
|
"Когда кто-нибудь хочет обратиться к определенному маршрутизатору, сначала"
|
|||
|
" он должен получить \n"
|
|||
|
"RouterInfo этого маршрутизатора из базы данных сети, который подскажет - "
|
|||
|
"можно ли ему \n"
|
|||
|
"подключиться напрямую (т.к. узел имеет общедоступный интерфейс) \n"
|
|||
|
"или нет. Прямые подключения устанавливаются\n"
|
|||
|
"обычным способом, в то время как непрямые соединения устанавливаются "
|
|||
|
"через один из опубликованных \n"
|
|||
|
"туннелей."
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/todo.html:97
|
|||
|
msgid ""
|
|||
|
"When a router just wants to get a message or two to a specific hidden "
|
|||
|
"peer, \n"
|
|||
|
"they can just use the indirect tunnel for sending the payload. However, \n"
|
|||
|
"if the router wants to talk to the hidden peer often (for instance, as "
|
|||
|
"part \n"
|
|||
|
"of a tunnel), they will send a garlic routed message through the indirect"
|
|||
|
" \n"
|
|||
|
"tunnel to that hidden peer which unwraps to contain a message which "
|
|||
|
"should \n"
|
|||
|
"be sent to the originating router. That hidden peer then establishes an \n"
|
|||
|
"outbound connection to the originating router and from then on, those two"
|
|||
|
" \n"
|
|||
|
"routers can talk to each other directly over that newly established "
|
|||
|
"direct \n"
|
|||
|
"connection."
|
|||
|
msgstr ""
|
|||
|
"Когда маршрутизатор хочет доставить всего одно или два сообщения "
|
|||
|
"определенному скрытому узлу, \n"
|
|||
|
"он может использовать непрямой туннель для отправки трафика. Тем не "
|
|||
|
"менее, \n"
|
|||
|
"если маршрутизатор хочет часто общаться со скрытым узлом (например, как "
|
|||
|
"с частью \n"
|
|||
|
"туннеля), он отправит чесночно маршрутизированное сообщение через "
|
|||
|
"непрямой \n"
|
|||
|
"туннель этому скрытому узлу, которое распаковывается до сообщения, \n"
|
|||
|
"которое должно быть послано исходному маршрутизатору. Затем этот скрытый "
|
|||
|
"узел устанавливает \n"
|
|||
|
"исходящее соединение с исходным маршрутизатором, и, затем, эти два "
|
|||
|
"маршрутизатора \n"
|
|||
|
"могут общаться друг с другом напрямую через это новое установленное \n"
|
|||
|
"прямое соединение."
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/todo.html:108
|
|||
|
msgid ""
|
|||
|
"Of course, that only works if the originating peer can receive "
|
|||
|
"connections \n"
|
|||
|
"(they aren't also hidden). However, if the originating peer is hidden, "
|
|||
|
"they \n"
|
|||
|
"can simply direct the garlic routed message to come back to the "
|
|||
|
"originating \n"
|
|||
|
"peer's inbound tunnel."
|
|||
|
msgstr ""
|
|||
|
"Конечно, это работает только если исходный узел может принимать "
|
|||
|
"подключения \n"
|
|||
|
"(он не скрыт). Тем не менее, если исходный узел скрыт, он \n"
|
|||
|
"может направить чесночно маршрутизированное сообщение обратно исходному \n"
|
|||
|
"узлу по его входящему туннелю."
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/todo.html:114
|
|||
|
msgid ""
|
|||
|
"This is not meant to provide a way for a peer's IP address to be "
|
|||
|
"concealed, \n"
|
|||
|
"merely as a way to let people behind firewalls and NATs fully operate "
|
|||
|
"within \n"
|
|||
|
"the network. Concealing the peer's IP address adds a little more work, as"
|
|||
|
" \n"
|
|||
|
"described <a href=\"#fullRestrictedRoutes\">below.</a>"
|
|||
|
msgstr ""
|
|||
|
"Это не способ скрыть IP адреса узлов, наоборот - этот способ позволяет "
|
|||
|
"людям \n"
|
|||
|
"за брандмауэром или NAT полноценно пользоваться сетью. \n"
|
|||
|
"Сокрытие IP адресов узлов добавляет немного больше работы, как\n"
|
|||
|
"описано <a href=\"#fullRestrictedRoutes\">ниже.</a>"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/todo.html:120
|
|||
|
msgid ""
|
|||
|
"With this technique, any router can participate as any part of a tunnel."
|
|||
|
" \n"
|
|||
|
"For efficiency purposes, a hidden peer would be a bad choice for an "
|
|||
|
"inbound \n"
|
|||
|
"gateway, and within any given tunnel, two neighboring peers wouldn't want"
|
|||
|
" \n"
|
|||
|
"to be hidden. But that is not technically necessary."
|
|||
|
msgstr ""
|
|||
|
"Таким способом любой маршрутизатор может выступать любой частью туннеля."
|
|||
|
" \n"
|
|||
|
"С точки зрения эффективности, скрытый узел будет плохим вариантом в "
|
|||
|
"качестве \n"
|
|||
|
"входящего шлюза, и внутри любого туннеля два соседних узлане захотят \n"
|
|||
|
"быть скрытыми. Но технически это не важно."
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/todo.html:132
|
|||
|
msgid "Both UDP and NIO have been Implemented in I2P"
|
|||
|
msgstr "И UDP, и NIO были реализованы в I2P"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/todo.html:133
|
|||
|
msgid ""
|
|||
|
"Standard TCP communication in Java generally requires blocking socket \n"
|
|||
|
"calls, and to keep a blocked socket from hanging the entire system, those"
|
|||
|
" \n"
|
|||
|
"blocking calls are done on their own threads. Our current TCP transport \n"
|
|||
|
"is implemented in a naive fashion - for each peer we are talking to, we \n"
|
|||
|
"have one thread reading and one thread writing. The reader thread simply"
|
|||
|
" \n"
|
|||
|
"loops a bunch of read() calls, building I2NP messages and adding them \n"
|
|||
|
"to our internal inbound message queue, and the writer thread pulls "
|
|||
|
"messages \n"
|
|||
|
"off a per-connection outbound message queue and shoves the data through \n"
|
|||
|
"write() calls."
|
|||
|
msgstr ""
|
|||
|
"В Java для стандартного соединения TCP обычно требуется блокирующий вызов"
|
|||
|
" сокета,\n"
|
|||
|
"и, чтобы предотвратить подвисание системы этим блокированным сокетом,\n"
|
|||
|
"эти блокирующие вызовы выполняются в их собственных потоках. Наш текущий "
|
|||
|
"транспорт TCP\n"
|
|||
|
"реализуется в родном виде - для каждого узла, к которому мы обращаемся,\n"
|
|||
|
"мы имеем один поток для чтения и один для записи. Читающий поток "
|
|||
|
"выполняет\n"
|
|||
|
"цикл вызовов read(), строит сообщение I2NP и добавляет его \n"
|
|||
|
"во внутреннюю очередь входящих сообщений, а записывающий поток вытягивает"
|
|||
|
"\n"
|
|||
|
"сообщения из очереди исходящих сообщений каждого соединения и пропихивает"
|
|||
|
" данные \n"
|
|||
|
"вызовом write()."
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/todo.html:144
|
|||
|
msgid ""
|
|||
|
"We do this fairly efficiently, from a CPU perspective - at any time, \n"
|
|||
|
"almost all of these threads are sitting idle, blocked waiting for "
|
|||
|
"something \n"
|
|||
|
"to do. However, each thread consumes real resources (on older Linux "
|
|||
|
"kernels, \n"
|
|||
|
"for instance, each thread would often be implemented as a fork()'ed "
|
|||
|
"process). \n"
|
|||
|
"As the network grows, the number of peers each router will want to talk \n"
|
|||
|
"with will increase (remember, I2P is fully connected, meaning that any \n"
|
|||
|
"given peer should know how to get a message to any other peer, and "
|
|||
|
"restricted \n"
|
|||
|
"route support will probably not significantly reduce the number of "
|
|||
|
"connections \n"
|
|||
|
"necessary). This means that with a 100,000 router network, each router \n"
|
|||
|
"will have up to 199,998 threads just to deal with the TCP connections!"
|
|||
|
msgstr ""
|
|||
|
"Мы делаем это довольно эффективно, с точки зрения CPU - в любой момент "
|
|||
|
"времени \n"
|
|||
|
"почти все эти потоки ничего не делают, блокированные в ожидании работы. \n"
|
|||
|
"Тем не менее, каждый поток потребляет реальные системные ресурсы (на "
|
|||
|
"старых ядрах Linux,\n"
|
|||
|
"например, каждый поток будет реализован как fork()-нутый процесс). \n"
|
|||
|
"С ростом сети число узлов, с которым маршрутизатор захочет общаться, \n"
|
|||
|
"будет увеличиваться (запомните, I2P - полностью связана, это означает что"
|
|||
|
" любой\n"
|
|||
|
"узел должен знать как доставить сообщение любому другому узлу, и "
|
|||
|
"поддержка \n"
|
|||
|
"ограниченного маршрута, возможно, не существенно уменьшит число "
|
|||
|
"необходимых\n"
|
|||
|
" соединений). Это означает, что в сети с 100,000 маршрутизаторов, каждый "
|
|||
|
"маршрутизатор \n"
|
|||
|
"будет иметь 199,998 потоков только для поддержки TCP соединений!"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/todo.html:156
|
|||
|
msgid ""
|
|||
|
"Obviously, that just won't work. We need to use a transport layer that \n"
|
|||
|
"can scale. In Java, we have two main camps:"
|
|||
|
msgstr ""
|
|||
|
"Очевидно, это просто не будет работать. Мы должны использовать "
|
|||
|
"масштабируемый \n"
|
|||
|
"транспортный уровень. В Java у нас есть два основных лагеря:"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/todo.html:161
|
|||
|
#, python-format
|
|||
|
msgid ""
|
|||
|
"Implemented in I2P 0.6 (\"SSU\") as documented <a "
|
|||
|
"href=\"%(ssu)s\">elsewhere</a>"
|
|||
|
msgstr ""
|
|||
|
"Реализованный в I2P 0.6 (\"SSU\"), согласно <a "
|
|||
|
"href=\"%(ssu)s\">описанию</a>"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/todo.html:164
|
|||
|
msgid ""
|
|||
|
"Sending and receiving UDP datagrams is a connectionless operation - if \n"
|
|||
|
"we are communicating with 100,000 peers, we simply stick the UDP packets"
|
|||
|
" \n"
|
|||
|
"in a queue and have a single thread pulling them off the queue and "
|
|||
|
"shoving \n"
|
|||
|
"them out the pipe (and to receive, have a single thread pulling in any \n"
|
|||
|
"UDP packets received and adding them to an inbound queue)."
|
|||
|
msgstr ""
|
|||
|
"Отправка и получение дейтаграмм UDP - это операция без установления "
|
|||
|
"соединения - если\n"
|
|||
|
"мы общаемся с 100,000 узлами, мы просто собираем пакеты UDP \n"
|
|||
|
"в очередь и, имеем один поток, извлекающий их из очереди, и отправляющий"
|
|||
|
" \n"
|
|||
|
"их в канал соединения (и, для получения, имеем один поток принимающий "
|
|||
|
"любые \n"
|
|||
|
"пакеты UDP и добавляющий их во входящую очередь)."
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/todo.html:171
|
|||
|
msgid ""
|
|||
|
"However, moving to UDP means losing the benefits of TCP's ordering, "
|
|||
|
"congestion \n"
|
|||
|
"control, MTU discovery, etc. Implementing that code will take significant"
|
|||
|
" \n"
|
|||
|
"work, however I2P doesn't need it to be as strong as TCP. Specifically, \n"
|
|||
|
"a while ago I was taking some measurements in the simulator and on the \n"
|
|||
|
"live net, and the vast majority of messages transferred would fit easily"
|
|||
|
" \n"
|
|||
|
"within a single unfragmented UDP packet, and the largest of the messages"
|
|||
|
" \n"
|
|||
|
"would fit within 20-30 packets. As mule pointed out, TCP adds a "
|
|||
|
"significant \n"
|
|||
|
"overhead when dealing with so many small packets, as the ACKs are within"
|
|||
|
" \n"
|
|||
|
"an order of magnitude in size. With UDP, we can optimize the transport \n"
|
|||
|
"for both efficiency and resilience by taking into account I2P's "
|
|||
|
"particular \n"
|
|||
|
"needs."
|
|||
|
msgstr ""
|
|||
|
"Тем не менее, движение в сторону UDP означает потерю преимуществ TCP: \n"
|
|||
|
"очередности, контроля блокировок, определения MTU и т.д. Реализация этого"
|
|||
|
" \n"
|
|||
|
"кода - это значительная работа, тем не менее, I2P не должна быть такой же"
|
|||
|
" устойчивой, как TCP.\n"
|
|||
|
"Конкретно, недавно я собирал метрики в симуляторе и в живой сети, \n"
|
|||
|
"и подавляющее большинство переданных сообщений легко уместилось бы \n"
|
|||
|
"в одном нефрагментированном пакете UDP, а самое большое из сообщений \n"
|
|||
|
"уместилось бы в 20-30 пакетах. Как показал mule, TCP добавляет "
|
|||
|
"значительные \n"
|
|||
|
"накладные расходы в случае большого количества маленьких пакетов, т.к. "
|
|||
|
"ACK \n"
|
|||
|
"влияют на увеличение размера. С UDP мы можем оптимизировать транспорт\n"
|
|||
|
"и для эффективности, и для эластичности, с учетом частных потребностей "
|
|||
|
"I2P."
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/todo.html:184
|
|||
|
msgid "It will be a lot of work though."
|
|||
|
msgstr "И все таки, предстоит выполнить много работы."
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/todo.html:187
|
|||
|
msgid "NIO or NBIO"
|
|||
|
msgstr "NIO или NBIO"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/todo.html:188
|
|||
|
msgid "NIO Implemented in I2P 0.6.1.22 (\"NTCP\")"
|
|||
|
msgstr "NIO реализовано в I2P 0.6.1.22 (\"NTCP\")"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/todo.html:191
|
|||
|
msgid ""
|
|||
|
"In Java 1.4, a set of \"New I/O\" packages was introduced, allowing Java"
|
|||
|
" \n"
|
|||
|
"developers to take advantage of the operating system's nonblocking IO \n"
|
|||
|
"capabilities - allowing you to maintain a large number of concurrent IO \n"
|
|||
|
"operations without requiring a separate thread for each. There is much \n"
|
|||
|
"promise with this approach, as we can scalable handle a large number of \n"
|
|||
|
"concurrent connections and we don't have to write a mini-TCP stack with \n"
|
|||
|
"UDP. However, the NIO packages have not proven themselves to be battle-"
|
|||
|
"ready, \n"
|
|||
|
"as the Freenet developer's found. In addition, requiring NIO support "
|
|||
|
"would \n"
|
|||
|
"mean we can't run on any of the open source JVMs like <a "
|
|||
|
"href=\"http://www.kaffe.org/\">Kaffe</a>, \n"
|
|||
|
"as <a href=\"http://www.classpath.org/\">GNU/Classpath</a> has only "
|
|||
|
"limited \n"
|
|||
|
"support for NIO. <i>(note: this may not be the case anymore, as there \n"
|
|||
|
"has been some progress on Classpath's NIO, but it is an unknown "
|
|||
|
"quantity)</i>"
|
|||
|
msgstr ""
|
|||
|
"В Java 1.4 был представлен набор пакетов \"New I/O\", позволяющий "
|
|||
|
"разработчикам \n"
|
|||
|
"Java получить преимущество возможностей неблокирующих системных вызовов "
|
|||
|
"I/O,\n"
|
|||
|
"позволяющих выполнять большое количество конкурирующих операций \n"
|
|||
|
"ввода/вывода, не требующих отдельного потока для каждой операции. \n"
|
|||
|
"Это многообещающая возможность, т.к. мы можем масштабируемо работать с "
|
|||
|
"большим количеством\n"
|
|||
|
"конкурирующих соединений, и на не нужно писать мини-TCP стек с UDP. \n"
|
|||
|
"Тем не менее, пакеты NIO не доказали свою боеспособность, \n"
|
|||
|
"как было обнаружено разработчиками Freenet. Кроме того, необходимость "
|
|||
|
"поддержки NIO \n"
|
|||
|
"означала бы, что мы не можем запуститься на любой JVM с открытым исходным"
|
|||
|
" кодом, как <a href=\"http://www.kaffe.org/\">Kaffe</a>, \n"
|
|||
|
"т.к. только <a href=\"http://www.classpath.org/\">GNU/Classpath</a> имеет"
|
|||
|
" ограниченную \n"
|
|||
|
"поддержку NIO. <i>(к сведению: это может быть уже не так, так как \n"
|
|||
|
"в Classpath'ах NIO был достигнут некоторый прогресс, но пока ничего "
|
|||
|
"определенного)</i>"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/todo.html:205
|
|||
|
#, python-format
|
|||
|
msgid ""
|
|||
|
"Another alternative along the same lines is the <a href=\"%(link)s\">Non"
|
|||
|
" \n"
|
|||
|
"Blocking I/O</a> package - essentially a cleanroom NIO implementation \n"
|
|||
|
"(written before NIO was around). It works by using some native OS code \n"
|
|||
|
"to do the nonblocking IO, passing off events through Java. It seems to \n"
|
|||
|
"be working with Kaffe, though there doesn't seem to be much development \n"
|
|||
|
"activity on it lately (likely due to 1.4's NIO deployment)."
|
|||
|
msgstr ""
|
|||
|
"Другая альтернатива по той же схеме - это пакет <a href=\"%(link)s\">Non"
|
|||
|
" \n"
|
|||
|
"Blocking I/O</a> - по сути подчищенная реализация NIO (написанная до "
|
|||
|
"появления NIO). Он использует некоторый родной код OS, \n"
|
|||
|
"чтобы выполнять неблокирующие вызовы IO, пропуская события через Java. "
|
|||
|
"Кажется, \n"
|
|||
|
"оно работает с Kaffe, хотя, похоже, в последнее время разработка ведется\n"
|
|||
|
"не очень активно (вероятно, это связано с разработкой NIO 1.4)."
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/todo.html:220
|
|||
|
msgid ""
|
|||
|
"Within the current network database and profile management "
|
|||
|
"implementation, \n"
|
|||
|
"we have taken the liberty of some practical shortcuts. For instance, we \n"
|
|||
|
"don't have the code to drop peer references from the K-buckets, as we \n"
|
|||
|
"don't have enough peers to even plausibly fill any of them, so instead, \n"
|
|||
|
"we just keep the peers in whatever bucket is appropriate. Another example"
|
|||
|
" \n"
|
|||
|
"deals with the peer profiles - the memory required to maintain each "
|
|||
|
"peer's \n"
|
|||
|
"profile is small enough that we can keep thousands of full blown profiles"
|
|||
|
" \n"
|
|||
|
"in memory without problems. While we have the capacity to use trimmed \n"
|
|||
|
"down profiles (which we can maintain 100s of thousands in memory), we \n"
|
|||
|
"don't have any code to deal with moving a profile from a \"minimal "
|
|||
|
"profile\" \n"
|
|||
|
"to a \"full profile\", a \"full profile\" to a \"minimal profile\", or to"
|
|||
|
" simply \n"
|
|||
|
"eject a profile altogether. It just wouldn't be practical to write that \n"
|
|||
|
"code yet, since we aren't going to need it for a while."
|
|||
|
msgstr ""
|
|||
|
"В рамках реализации нынешней базы данных сети и управления профилями\n"
|
|||
|
"мы используем несколько практичных упрощений. Например, у нас нет\n"
|
|||
|
"кода, реализующего удаление узла из K-bucket'ов, т.к. у нас нет "
|
|||
|
"достаточного \n"
|
|||
|
"количества узлов, чтобы даже приблизительно заполнить все bucket'ы, "
|
|||
|
"вместо этого, \n"
|
|||
|
"мы просто храним узлы в любых подходящих bucket'ах. Другой пример - \n"
|
|||
|
"работа с профилями узлов - размер памяти, необходимой для хранения "
|
|||
|
"профиля \n"
|
|||
|
"каждого узла, достаточно мал, так что мы можем хранить тысячи полных "
|
|||
|
"профилей \n"
|
|||
|
"в памяти без проблем. До тех пор пока у нас есть возможность использовать"
|
|||
|
" \n"
|
|||
|
"урезанные профили (мы можем хранить их 100-ми тысяч в памяти), \n"
|
|||
|
"у нас нет кода для преобразования профиля из \"минимального профиля\" \n"
|
|||
|
"в \"полный профиль\", из \"полного профиля\" в \"минимальный профиль\", "
|
|||
|
"или просто \n"
|
|||
|
"для выбрасывания обоих профилей. Пока написание такого кода не будет \n"
|
|||
|
"иметь практического значения, т.к. в ближайшее время он не будет нам "
|
|||
|
"нужен."
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/todo.html:235
|
|||
|
msgid ""
|
|||
|
"That said, as the network grows we are going to want to keep these "
|
|||
|
"considerations \n"
|
|||
|
"in mind. We will have some work to do, but we can put it off for later."
|
|||
|
msgstr ""
|
|||
|
"Как было упомянут, с ростом сети мы будем помнить об этих моментах. \n"
|
|||
|
"У нас есть над чем поработать, но мы можем отложить это на потом."
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/todo.html:247
|
|||
|
#: i2p2www/pages/site/get-involved/todo.html:331
|
|||
|
#, python-format
|
|||
|
msgid ""
|
|||
|
"Addressed in I2P 0.5 as documented <a "
|
|||
|
"href=\"%(tunnelimpl)s\">elsewhere</a>"
|
|||
|
msgstr ""
|
|||
|
"Планируется реализовать в I2P 0.5 согласно <a "
|
|||
|
"href=\"%(tunnelimpl)s\">описанию</a>"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/todo.html:250
|
|||
|
msgid ""
|
|||
|
"Right now, if Alice builds a four hop inbound tunnel starting at Elvis, \n"
|
|||
|
"going to Dave, then to Charlie, then Bob, and finally Alice "
|
|||
|
"(A<--B<--C<--D<--E), \n"
|
|||
|
"all five of them will know they are participating in tunnel \"123\", as \n"
|
|||
|
"the messages are tagged as such. What we want to do is give each hop "
|
|||
|
"their \n"
|
|||
|
"own unique tunnel hop ID - Charlie will receive messages on tunnel 234 \n"
|
|||
|
"and forward them to tunnel 876 on Bob. The intent is to prevent Bob or \n"
|
|||
|
"Charlie from knowing that they are in Alice's tunnel, as if each hop in \n"
|
|||
|
"the tunnel had the same tunnel ID, collusion attacks aren't much work."
|
|||
|
msgstr ""
|
|||
|
"Сейчас, если Alice строит входящий туннель с четырьмя отрезками, \n"
|
|||
|
"начиная от Elvis, к Dave, затем к Charlie, затем к Bob, и, наконец, к "
|
|||
|
"Alice \n"
|
|||
|
"(A<--B<--C<--D<--E), то все четверо будут знать, что они "
|
|||
|
"общаются через туннель \n"
|
|||
|
"\"123\", как это указано в сообщении. Что мы хотим сделать, так это дать "
|
|||
|
"каждому отрезку \n"
|
|||
|
"уникальный ID отрезка туннеля - Chrlie получить сообщение по туннелю 234"
|
|||
|
" \n"
|
|||
|
"и перенаправит его в туннель 876 к Bob. Это нужно для того, чтобы Bob "
|
|||
|
"или \n"
|
|||
|
"Charlie не знали что они находятся в туннеле Alice - из-за того что "
|
|||
|
"каждый прыжок \n"
|
|||
|
"в туннеле имеет один и тот же ID туннеля, и атака сговором - collusion "
|
|||
|
"attack - не сработает."
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/todo.html:260
|
|||
|
msgid ""
|
|||
|
"Adding a unique tunnel ID per hop isn't hard, but by itself, "
|
|||
|
"insufficient. \n"
|
|||
|
"If Dave and Bob are under the control of the same attacker, they wouldn't"
|
|||
|
" \n"
|
|||
|
"be able to tell they are in the same tunnel due to the tunnel ID, but \n"
|
|||
|
"would be able to tell by the message bodies and verification structures \n"
|
|||
|
"by simply comparing them. To prevent that, the tunnel must use layered \n"
|
|||
|
"encryption along the path, both on the payload of the tunneled message \n"
|
|||
|
"and on the verification structure (used to prevent simple tagging "
|
|||
|
"attacks). \n"
|
|||
|
"This requires some simple modifications to the TunnelMessage, as well \n"
|
|||
|
"as the inclusion of per-hop secret keys delivered during tunnel creation"
|
|||
|
" \n"
|
|||
|
"and given to the tunnel's gateway. We must fix a maximum tunnel length \n"
|
|||
|
"(e.g. 16 hops) and instruct the gateway to encrypt the message to each \n"
|
|||
|
"of the 16 delivered secret keys, in reverse order, and to encrypt the \n"
|
|||
|
"signature of the hash of the (encrypted) payload at each step. The "
|
|||
|
"gateway \n"
|
|||
|
"then sends that 16-step encrypted message, along with a 16-step and "
|
|||
|
"16-wide \n"
|
|||
|
"encrypted mapping to the first hop, which then decrypts the mapping and \n"
|
|||
|
"the payload with their secret key, looking in the 16-wide mapping for \n"
|
|||
|
"the entry associated with their own hop (keyed by the per-hop tunnel ID)"
|
|||
|
" \n"
|
|||
|
"and verifying the payload by checking it against the associated signed \n"
|
|||
|
"hash."
|
|||
|
msgstr ""
|
|||
|
"Добавить уникальный ID туннеля для каждого прыжка не сложно, но этого не "
|
|||
|
"достаточно. \n"
|
|||
|
"Если Dave и Bob контролируются одним атакующим, они не смогут сказать \n"
|
|||
|
"что они в одном туннеле из-за ID туннелей, но это можно выяснить по "
|
|||
|
"содержимому сообщений \n"
|
|||
|
"и структуре верификации, просто сравнив их. Чтобы избежать этого, туннель"
|
|||
|
" \n"
|
|||
|
"должен использовать слоеное шифрование на всем пути, и над содержимым "
|
|||
|
"сообщения, \n"
|
|||
|
"и над структурой верификации (необходимо для предотвращения простой атаки"
|
|||
|
" по меткам - tagging attack). \n"
|
|||
|
"Для этого необходимо немного модифицировать TunnelMessage, а также \n"
|
|||
|
"добавить секретные ключи прыжков, отправленные во время создания туннеля,"
|
|||
|
" \n"
|
|||
|
"и отданные шлюзу туннеля. Мы должны зафиксировать максимальную длину "
|
|||
|
"туннеля \n"
|
|||
|
"(например, 16 отрезков), и сказать шлюзу шифровать сообщения для каждого"
|
|||
|
" \n"
|
|||
|
"из 16 секретных ключей, в обратном порядке, и зашифровать \n"
|
|||
|
"подпись хеша (шифрованного) содержимого на каждом шаге. Затем шлюз \n"
|
|||
|
"отсылает эти 16-кратно зашифрованное сообщение, вместе с 16-кратным и "
|
|||
|
"16-wide \n"
|
|||
|
"зашифрованным маппингом в первый прыжок, который дешифрует маппинг и \n"
|
|||
|
"содержимое своим секретным ключом, ищет в 16-wide маппинге "
|
|||
|
"ассоциированную \n"
|
|||
|
"с его прыжком информацию (по ключу ID отрезка туннеля) \n"
|
|||
|
"и верифицирует содержимое по связанному с ним подписанному \n"
|
|||
|
"хешу."
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/todo.html:281
|
|||
|
msgid ""
|
|||
|
"The tunnel gateway does still have more information than the other peers"
|
|||
|
" \n"
|
|||
|
"in the tunnel, and compromising both the gateway and a tunnel participant"
|
|||
|
" \n"
|
|||
|
"would allow those peers to collude, exposing the fact that they are both"
|
|||
|
" \n"
|
|||
|
"in the same tunnel. In addition, neighboring peers know that they are \n"
|
|||
|
"in the same tunnel anyway, as they know who they send the message to (and"
|
|||
|
" \n"
|
|||
|
"with IP-based transports without restricted routes, they know who they \n"
|
|||
|
"got it from). However, the above two techniques significantly increase \n"
|
|||
|
"the cost of gaining meaningful samples when dealing with longer tunnels."
|
|||
|
msgstr ""
|
|||
|
"Шлюз туннеля все еще имеет больше информации, чем другие узлы \n"
|
|||
|
"в туннеле, и одновременное компрометирование шлюза и участника туннеля \n"
|
|||
|
"позволит этим узлам сговориться, раскрывая тот факт, что они оба "
|
|||
|
"находятся \n"
|
|||
|
"в одном туннеле. Также, в любом случае, соседние узлы знают, что они в "
|
|||
|
"одном \n"
|
|||
|
"и том же туннеле, поскольку они знают кому они отсылают сообщение \n"
|
|||
|
"(и с основанным на IP транспортом без ограниченных маршрутов они знают \n"
|
|||
|
"от кого они их получили). Тем не менее, оба описанных выше метода "
|
|||
|
"значительно \n"
|
|||
|
"увеличивают стоимость получения значимых образцов, когда мы имеем дело с "
|
|||
|
"длинными туннелями."
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/todo.html:297
|
|||
|
msgid "Implemented in release 0.6.2"
|
|||
|
msgstr "Реализовано в 0.6.2"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/todo.html:300
|
|||
|
#, python-format
|
|||
|
msgid ""
|
|||
|
"As Connelly <a href=\"%(link)s\">proposed</a> to deal with the\n"
|
|||
|
"<a href=\"%(pdf1)s\">predecessor attack</a> <a href=\"%(pdf2)s\">(2008\n"
|
|||
|
"update)</a>, keeping the order of peers within our tunnels consistent \n"
|
|||
|
"(aka whenever Alice creates a tunnel with both Bob and Charlie in it, \n"
|
|||
|
"Bob's next hop is always Charlie), we address the issue as Bob doesn't \n"
|
|||
|
"get to substantially sample Alice's peer selection group. We may even \n"
|
|||
|
"want to explicitly allow Bob to participate in Alice's tunnels in only \n"
|
|||
|
"one way - receiving a message from Dave and sending it to Charlie - and \n"
|
|||
|
"if any of those peers are not available to participate in the tunnel (due"
|
|||
|
" \n"
|
|||
|
"to overload, network disconnection, etc), avoid asking Bob to participate"
|
|||
|
" \n"
|
|||
|
"in any tunnels until they are back online."
|
|||
|
msgstr ""
|
|||
|
"Как <a href=\"%(link)s\">предложил</a> Connelly, чтобы разобраться с\n"
|
|||
|
"<a href=\"%(pdf1)s\">атакой предшественника</a> <a "
|
|||
|
"href=\"%(pdf2)s\">(обновление от 2008)</a>, сохраняя очередность узлов в "
|
|||
|
"туннеле постоянной \n"
|
|||
|
"(aka когда бы Alice ни создала туннель одновременно с Bob и Charlie, \n"
|
|||
|
"следующий прыжок Bob'а всегда приведет его к Charlie), мы определяем что "
|
|||
|
"Bob никогда \n"
|
|||
|
"не войдет в группу выбора узлов Alice. Мы даже можем \n"
|
|||
|
"разрешить Bob'e взаимодействовать с тунеллями Alice только \n"
|
|||
|
"одним способом - получать сообщения от Dave и отсылать их Charlie - и \n"
|
|||
|
"если любой из этих узлов не доступен для образования туннеля (из-за \n"
|
|||
|
"перегрузки, обрыва связи, и т.д.), не позволять Bob'у учавствовать \n"
|
|||
|
"в любом туннеле до тех пор, пока они не станут доступны."
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/todo.html:315
|
|||
|
msgid ""
|
|||
|
"More analysis is necessary for revising the tunnel creation - at the \n"
|
|||
|
"moment, we simply select and order randomly within the peer's top tier \n"
|
|||
|
"of peers (ones with fast + high capacity)."
|
|||
|
msgstr ""
|
|||
|
"Для пересмотра процесса создания туннеля необходим более глубокий анализ "
|
|||
|
"- \n"
|
|||
|
"сейчас мы просто выбираем и сортируем случайным образом верхушку списка "
|
|||
|
"узлов (по скорости + большой вместимости)."
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/todo.html:320
|
|||
|
msgid ""
|
|||
|
"Adding a strict ordering to peers in a tunnel also improves the anonymity"
|
|||
|
" \n"
|
|||
|
"of peers with 0-hop tunnels, as otherwise the fact that a peer's gateway"
|
|||
|
" \n"
|
|||
|
"is always the same would be particularly damning. However, peers with \n"
|
|||
|
"0-hop tunnels may want to periodically use a 1-hop tunnel to simulate \n"
|
|||
|
"the failure of a normally reliable gateway peer (so every MTBF*(tunnel \n"
|
|||
|
"duration) minutes, use a 1-hop tunnel)."
|
|||
|
msgstr ""
|
|||
|
"Введение жесткой очередности узлов в туннеле также улучшает анонимность \n"
|
|||
|
"узлов в 0-прыжковых туннелях, тогда как, в другом случае, тот факт, что "
|
|||
|
"шлюз узла \n"
|
|||
|
"всегда будет одним и тем же, будет особенно губительным. Тем не менее, "
|
|||
|
"узлы \n"
|
|||
|
"с 0-прыжковыми туннелями периодически могут хотеть использовать "
|
|||
|
"1-прыжковый туннель, чтобы симулировать \n"
|
|||
|
"ошибку в обычно надежном узле (и так каждые MTBF*(длительность туннеля) \n"
|
|||
|
"минут, используя 1-прыжковый туннель)."
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/todo.html:337
|
|||
|
msgid ""
|
|||
|
"Without tunnel length permutation, if someone were to somehow detect that"
|
|||
|
" \n"
|
|||
|
"a destination had a particular number of hops, it might be able to use "
|
|||
|
"that \n"
|
|||
|
"information to identify the router the destination is located on, per the"
|
|||
|
" \n"
|
|||
|
"predecessor attack. For instance, if everyone has 2-hop tunnels, if Bob \n"
|
|||
|
"receives a tunnel message from Charlie and forwards it to Alice, Bob "
|
|||
|
"knows \n"
|
|||
|
"Alice is the final router in the tunnel. If Bob were to identify what "
|
|||
|
"destination \n"
|
|||
|
"that tunnel served (by means of colluding with the gateway and harvesting"
|
|||
|
" \n"
|
|||
|
"the network database for all of the LeaseSets), he would know the router"
|
|||
|
" \n"
|
|||
|
"on which that destination is located (and without restricted routes, that"
|
|||
|
" \n"
|
|||
|
"would mean what IP address the destination is on)."
|
|||
|
msgstr ""
|
|||
|
"Без изменения длины туннеля, если кто-то как-то обнаружит, что \n"
|
|||
|
"до пункта назначения определенное число хопов, это может быть "
|
|||
|
"использовано \n"
|
|||
|
"для обнаружения местоположения маршрутизатора во время атаки "
|
|||
|
"предшественника. \n"
|
|||
|
"Например, если у всех есть 2-прыжковый туннель, и если Bob \n"
|
|||
|
"получает сообщение от Charlie и пересылает его Alice, то Bob знает - \n"
|
|||
|
"Alice - это конечный маршрутизатор в туннеле. Если Bob выяснил, куда "
|
|||
|
"приводит \n"
|
|||
|
"этот туннель (путем сговора со шлюзом и сбора \n"
|
|||
|
"базы данных сети для всех LeaseSets), он узнает маршрутизатор, на которым"
|
|||
|
" \n"
|
|||
|
"расположен пункт назначения (и без ограниченных маршрутов это будет "
|
|||
|
"указывать \n"
|
|||
|
"на IP адрес пункта назначения)."
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/todo.html:349
|
|||
|
msgid ""
|
|||
|
"It is to counter user behavior that tunnel lengths should be permuted, \n"
|
|||
|
"using algorithms based on the length requested (for example, the 1/MTBF \n"
|
|||
|
"length change for 0-hop tunnels outlined above)."
|
|||
|
msgstr ""
|
|||
|
"Изменяемая длина туннелей должна противостоять поведению пользователей, \n"
|
|||
|
"используя алгоритмы, основанные на длине (для примера, изменение \n"
|
|||
|
"длины на 1/MTBF для 0-прыжковых туннелей, описанных выше)."
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/todo.html:359
|
|||
|
msgid ""
|
|||
|
"The restricted route functionality described before was simply a "
|
|||
|
"functional \n"
|
|||
|
"issue - how to let peers who would not otherwise be able to communicate \n"
|
|||
|
"do so. However, the concept of allowing restricted routes includes "
|
|||
|
"additional \n"
|
|||
|
"capabilities. For instance, if a router absolutely cannot risk "
|
|||
|
"communicating \n"
|
|||
|
"directly with any untrusted peers, they can set up trusted links through"
|
|||
|
" \n"
|
|||
|
"those peers, using them to both send and receive all of its messages. \n"
|
|||
|
"Those hidden peers who want to be completely isolated would also refuse \n"
|
|||
|
"to connect to peers who attempt to get them to (as demonstrated by the \n"
|
|||
|
"garlic routing technique outlined before) - they can simply take the "
|
|||
|
"garlic \n"
|
|||
|
"clove that has a request for delivery to a particular peer and tunnel \n"
|
|||
|
"route that message out one of the hidden peer's trusted links with "
|
|||
|
"instructions \n"
|
|||
|
"to forward it as requested."
|
|||
|
msgstr ""
|
|||
|
"Функциональность ограниченных маршрутов, описанная ранее, была просто \n"
|
|||
|
"способом - дать возможность подключаться узлам, которые не могут сделать"
|
|||
|
" \n"
|
|||
|
"это иначе. Тем не менее, концепция ограниченных маршрутов добавляет "
|
|||
|
"дополнительные \n"
|
|||
|
"возможности. Например, если маршрутизатор не может рисковать, подключаясь"
|
|||
|
" \n"
|
|||
|
"напрямую к любым ненадежным узлам, он может установить доверенные ссылки"
|
|||
|
" \n"
|
|||
|
"через эти узлы, используя их для отправки и получения всех сообщений. \n"
|
|||
|
"Скрытые узлы, которые хотят быть абсолютно изолированными, также будут \n"
|
|||
|
"избегать подключений к узлам, которые хотят достучаться до них (как ранее"
|
|||
|
" продемонстрировано \n"
|
|||
|
"методом чесночной маршрутизацией) - они могут взять один чесночный "
|
|||
|
"зубчик, \n"
|
|||
|
"который требуется доставить определенному узлу, и маршрутизировать \n"
|
|||
|
"это сообщение в туннель, через доверенную ссылку одного из скрытых узлов"
|
|||
|
" \n"
|
|||
|
"с предписанием переслать его согласно запросу."
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/todo.html:378
|
|||
|
#, python-format
|
|||
|
msgid ""
|
|||
|
"Within the network, we will want some way to deter people from consuming"
|
|||
|
" \n"
|
|||
|
"too many resources or from creating so many peers to mount a <a "
|
|||
|
"href=\"%(link)s\">Sybil</a> \n"
|
|||
|
"attack. Traditional techniques such as having a peer see who is "
|
|||
|
"requesting \n"
|
|||
|
"a resource or running a peer aren't appropriate for use within I2P, as \n"
|
|||
|
"doing so would compromise the anonymity of the system. Instead, we want \n"
|
|||
|
"to make certain requests \"expensive\"."
|
|||
|
msgstr ""
|
|||
|
"В рамках сети, мы хотим удержать людей от выделения слишком большого \n"
|
|||
|
"количества ресурсов, или от создания слишком большого количества узлов "
|
|||
|
"для осуществления \n"
|
|||
|
"атаки <a href=\"%(link)s\">Sybil</a>. Традиционный подход с наличием "
|
|||
|
"узла, просматривающего кто запрашивает \n"
|
|||
|
"ресурс, или запуск узла, не подходящего для использования в I2P, \n"
|
|||
|
"скомпрометирует анонимность системы. Вместо этого мы хотим \n"
|
|||
|
"сделать такие запросы \"дорогостоящими\"."
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/todo.html:386
|
|||
|
msgid ""
|
|||
|
"<a href=\"http://www.hashcash.org/\">Hashcash</a> is one technique that \n"
|
|||
|
"we can use to anonymously increase the \"cost\" of doing certain "
|
|||
|
"activities, \n"
|
|||
|
"such as creating a new router identity (done only once on installation),"
|
|||
|
" \n"
|
|||
|
"creating a new destination (done only once when creating a service), or \n"
|
|||
|
"requesting that a peer participate in a tunnel (done often, perhaps 2-300"
|
|||
|
" \n"
|
|||
|
"times per hour). We don't know the \"correct\" cost of each type of "
|
|||
|
"certificate \n"
|
|||
|
"yet, but with some research and experimentation, we could set a base "
|
|||
|
"level \n"
|
|||
|
"that is sufficiently expensive while not an excessive burden for people \n"
|
|||
|
"with few resources."
|
|||
|
msgstr ""
|
|||
|
"<a href=\"http://www.hashcash.org/\">Hashcash</a> - один из методов, "
|
|||
|
"который \n"
|
|||
|
"мы можем использовать для анонимного увеличения \"стоимости\" такой "
|
|||
|
"активности, \n"
|
|||
|
"использование идентификатора нового маршрутизатора (выполняется только "
|
|||
|
"один раз во время установки),\n"
|
|||
|
"создание нового пункта назначения (выполняется только один раз когда "
|
|||
|
"создаем сервис),\n"
|
|||
|
"или запрос на участие узла в туннеле (выполняется часто, возможно 2-300 \n"
|
|||
|
"раз в час). Нам пока неизвестна \"точная\" стоимость каждого типа "
|
|||
|
"удостоверения, \n"
|
|||
|
"но после исследований и экспериментов, мы можем установить начальный "
|
|||
|
"уровень, \n"
|
|||
|
"который будет достаточно дорогостоящим и не будет сильно обременять людей"
|
|||
|
" \n"
|
|||
|
"с ограниченными ресурсами."
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/todo.html:397
|
|||
|
msgid ""
|
|||
|
"There are a few other algorithms that we can explore for making those \n"
|
|||
|
"requests for resources \"nonfree\", and further research on that front is"
|
|||
|
" \n"
|
|||
|
"appropriate."
|
|||
|
msgstr ""
|
|||
|
"Есть еще несколько других алгоритмов, которые мы можем использовать \n"
|
|||
|
"для \"удорожания\" подобных запросов, и дальнейшие исследования \n"
|
|||
|
"на этом фронте являются целесообразными."
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/todo.html:407
|
|||
|
#, python-format
|
|||
|
msgid ""
|
|||
|
"To powerful passive external observers as well as large colluding "
|
|||
|
"internal \n"
|
|||
|
"observers, standard tunnel routing is vulnerable to traffic analysis "
|
|||
|
"attacks \n"
|
|||
|
"- simply watching the size and frequency of messages being passed between"
|
|||
|
" \n"
|
|||
|
"routers. To defend against these, we will want to essentially turn some \n"
|
|||
|
"of the tunnels into its own mix cascade - delaying messages received at \n"
|
|||
|
"the gateway and passing them in batches, reordering them as necessary, \n"
|
|||
|
"and injecting dummy messages (indistinguishable from other \"real\" "
|
|||
|
"tunnel \n"
|
|||
|
"messages by peers in the path). There has been a significant amount of \n"
|
|||
|
"<a href=\"%(pdf)s\">research</a> \n"
|
|||
|
"on these algorithms that we can lean on prior to implementing the various"
|
|||
|
" \n"
|
|||
|
"tunnel mixing strategies."
|
|||
|
msgstr ""
|
|||
|
"Для мощных пассивных внешних наблюдателей, так же как и для больших "
|
|||
|
"сговоров \n"
|
|||
|
"внутренних наблюдателей, стандартная туннельная маршрутизация уязвима для"
|
|||
|
" атак с анализом трафика - \n"
|
|||
|
"простое наблюдение за размером и частотой сообщений, передаваемых между \n"
|
|||
|
"маршрутизаторами. Чтобы защититься от этого мы хотим скомпоновать \n"
|
|||
|
"некоторые туннели в смешанный каскад - задерживая сообщения, полученные \n"
|
|||
|
"на шлюзе и отправляя их в группы, при необходимости пересортировывая их,"
|
|||
|
" \n"
|
|||
|
"внедряя пустые сообщения (неотличимые для узлов от других \"реальных\" \n"
|
|||
|
"туннельных сообщений). Было выполнено колоссальное количество \n"
|
|||
|
"<a href=\"%(pdf)s\">исследований</a> \n"
|
|||
|
"этих алгоритмов, на которые мы можем опираться при реализации \n"
|
|||
|
"различных стратегий смешивания туннелей."
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/todo.html:420
|
|||
|
msgid ""
|
|||
|
"In addition to the anonymity aspects of more varied tunnel operation, \n"
|
|||
|
"there is a functional dimension as well. Each peer only has a certain \n"
|
|||
|
"amount of data they can route for the network, and to keep any particular"
|
|||
|
" \n"
|
|||
|
"tunnel from consuming an unreasonable portion of that bandwidth, they \n"
|
|||
|
"will want to include some throttles on the tunnel. For instance, a tunnel"
|
|||
|
" \n"
|
|||
|
"may be configured to throttle itself after passing 600 messages (1 per \n"
|
|||
|
"second), 2.4MB (4KBps), or exceeding some moving average (8KBps for the \n"
|
|||
|
"last minute). Excess messages may be delayed or summarily dropped. With \n"
|
|||
|
"this sort of throttling, peers can provide ATM-like QoS support for their"
|
|||
|
" \n"
|
|||
|
"tunnels, refusing to agree to allocate more bandwidth than the peer has \n"
|
|||
|
"available."
|
|||
|
msgstr ""
|
|||
|
"Наряду с аспектами анонимности большего количества операций над "
|
|||
|
"туннелями, \n"
|
|||
|
"есть и функциональная составляющая. У каждого узла есть определенное \n"
|
|||
|
"количество данных, которые он может маршрутизировать для сети, и чтобы "
|
|||
|
"уберечь определенный \n"
|
|||
|
"туннель от необоснованного использования полосы пропускания, \n"
|
|||
|
"они захотят добавить некий регулятор в туннель. Например, туннель \n"
|
|||
|
"может быть сконфигурирован на самоограничение после прохождения 600 "
|
|||
|
"сообщений \n"
|
|||
|
"(1 в секунду), 2.4МБ (4КБ/с), или по достижении некоего изменяемого "
|
|||
|
"порога (8КБ/с \n"
|
|||
|
"за последнюю минуту). Избыточные сообщения могут быть задержаны, или "
|
|||
|
"отброшены. \n"
|
|||
|
"С таким регулированием узлы могут обеспечить поддержку QoS типа ATM \n"
|
|||
|
"для их туннелей, избегая выделения полосы пропускания большей, чем \n"
|
|||
|
"доступно узлу."
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/todo.html:433
|
|||
|
msgid ""
|
|||
|
"In addition, we may want to implement code to dynamically reroute tunnels"
|
|||
|
" \n"
|
|||
|
"to avoid failed peers or to inject additional hops into the path. This \n"
|
|||
|
"can be done by garlic routing a message to any particular peer in a "
|
|||
|
"tunnel \n"
|
|||
|
"with instructions to redefine the next-hop in the tunnel."
|
|||
|
msgstr ""
|
|||
|
"Также, мы можем реализовать код, динамически перемаршрутизирующий "
|
|||
|
"туннели, \n"
|
|||
|
"чтобы уберечься от ошибочных узлов или добавить дополнительные хопы в "
|
|||
|
"маршрут. \n"
|
|||
|
"Это можно сделать, чесночно маршрутизировав сообщение для определенного "
|
|||
|
"узла в туннеле, \n"
|
|||
|
"с предписанием переопределить следующий прыжок в туннеле."
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/todo.html:444
|
|||
|
msgid ""
|
|||
|
"Beyond the per-tunnel batching and mixing strategy, there are further \n"
|
|||
|
"capabilities for protecting against powerful attackers, such as allowing"
|
|||
|
" \n"
|
|||
|
"each step in a garlic routed path to define a delay or window in which \n"
|
|||
|
"it should be forwarded on. This would enable protections against the long"
|
|||
|
" \n"
|
|||
|
"term intersection attack, as a peer could send a message that looks "
|
|||
|
"perfectly \n"
|
|||
|
"standard to most peers that pass it along, except at any peers where the"
|
|||
|
" \n"
|
|||
|
"clove exposed includes delay instructions."
|
|||
|
msgstr ""
|
|||
|
"Наряду с методами смешивания и объединения туннелей, есть еще \n"
|
|||
|
"возможности для защиты от мощных атак, например, разрешить \n"
|
|||
|
"каждому шагу на пути чесночного маршрута определять задержку или окно, с "
|
|||
|
"которыми \n"
|
|||
|
"должна работать маршрутизация. Это позволит защититься от долгих \n"
|
|||
|
"атак пересечением, т.к. узел может отослать сообщение, которое выглядит "
|
|||
|
"как \n"
|
|||
|
"вполне стандартное для большинства узлов, через которые оно проходит, за "
|
|||
|
"исключением тех узлов, где \n"
|
|||
|
"зубчик подвергается добавлению инструкций по задержке."
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/todo.html:456
|
|||
|
#, python-format
|
|||
|
msgid ""
|
|||
|
"Performance related improvements are listed on the\n"
|
|||
|
"<a href=\"%(futureperf)s\">Performance</a> page."
|
|||
|
msgstr ""
|
|||
|
"Улучшения, связанные с производительностью, перечислены на странице <a "
|
|||
|
"href=\"%(futureperf)s\">Производительность</a>."
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/bounties/arabic-trans.html:2
|
|||
|
msgid "Bounty Arabic translation of webpage and router console"
|
|||
|
msgstr "Поощряемый перевод на арабский веб-сайта и консоли маршрутизатора"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/bounties/arabic-trans.html:3
|
|||
|
#: i2p2www/pages/site/get-involved/bounties/index.html:118
|
|||
|
msgid "Arabic translation"
|
|||
|
msgstr "Арабский перевод"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/bounties/arabic-trans.html:6
|
|||
|
msgid ""
|
|||
|
"To improve I2P usage and attract more people\n"
|
|||
|
"into I2P echelon set out this bounty for translation\n"
|
|||
|
"of the I2P web page and I2P router console into Arabic."
|
|||
|
msgstr ""
|
|||
|
"Чтобы расширить использование I2P и привлечь больше людей\n"
|
|||
|
"в эшелон I2P мы поощряем за перевод\n"
|
|||
|
"веб-сайта I2P и консоли маршрутизатора на арабский."
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/bounties/arabic-trans.html:12
|
|||
|
#: i2p2www/pages/site/get-involved/bounties/russian-trans.html:12
|
|||
|
msgid "This bounty is set into 2 subparts:"
|
|||
|
msgstr "Награда состоит из 2 частей:"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/bounties/arabic-trans.html:14
|
|||
|
#: i2p2www/pages/site/get-involved/bounties/russian-trans.html:14
|
|||
|
msgid "Part 1 is translation of the webpage."
|
|||
|
msgstr "Часть 1 - перевод веб-страницы."
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/bounties/arabic-trans.html:17
|
|||
|
msgid ""
|
|||
|
"For collecting the bounty of 20 BTC you need to translate the following "
|
|||
|
"pages:"
|
|||
|
msgstr "Чтобы получить 20 биткойнов вам нужно перевести эти страницы:"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/bounties/arabic-trans.html:25
|
|||
|
msgid "This job was done by hamada and the bounty of 20 BTC was paid to hamada."
|
|||
|
msgstr ""
|
|||
|
"Эта работа была выполнена hamada и награду в 20 биткойнов была выплачена "
|
|||
|
"hamada."
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/bounties/arabic-trans.html:27
|
|||
|
msgid ""
|
|||
|
"Part 2 is the translation of the router console. The router console was\n"
|
|||
|
"partly translated and the bounty of 80 BTC was paid to hamada."
|
|||
|
msgstr ""
|
|||
|
"Часть 2 - перевод консоли маршрутизатора. Консоль маршрутизатора была \n"
|
|||
|
"частично переведена и награда в 80 биткойнов была выплачена hamada."
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/bounties/arabic-trans.html:34
|
|||
|
msgid "Judge is echelon."
|
|||
|
msgstr "Судья - echelon."
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/bounties/btc-client.html:2
|
|||
|
msgid "Bounty creating a I2P native Bitcoin client"
|
|||
|
msgstr "Награда за создание родного I2P клиента Bitcoin"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/bounties/btc-client.html:3
|
|||
|
msgid "BTC I2P native client"
|
|||
|
msgstr "Родной I2P клиент BTC"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/bounties/btc-client.html:6
|
|||
|
msgid ""
|
|||
|
"For a future of I2P and attract more people\n"
|
|||
|
"into I2P this bounty is to create a I2P native Bitcoin client. \n"
|
|||
|
"It should integrate with other client via the I2P network and via "
|
|||
|
"gateways to\n"
|
|||
|
"the existant bitcoin network."
|
|||
|
msgstr ""
|
|||
|
"Ради будущего I2P и для привлечения большего количества людей\n"
|
|||
|
"в I2P награда выплачивается за создание родного I2P клиента Bitcoin. \n"
|
|||
|
"Он должен интегрироваться с другими клиентами через сеть I2P и через "
|
|||
|
"шлюзы \n"
|
|||
|
"в существующую сеть bitcoin."
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/bounties/btc-client.html:15
|
|||
|
msgid "Judge is psychonaut who donated the first 30 € to this bounty."
|
|||
|
msgstr "Судья - psychonaut, пожертвовавший первые 30 € на эту награду."
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/bounties/datastore.html:2
|
|||
|
msgid "Bounty datastorage"
|
|||
|
msgstr "Хранилище данных наград"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/bounties/datastore.html:3
|
|||
|
msgid "datastore"
|
|||
|
msgstr "хранилище данных"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/bounties/datastore.html:6
|
|||
|
msgid ""
|
|||
|
"To improve I2P's usage and to be independent of routers \n"
|
|||
|
"online status we want a datastorage as a extension to I2P.\n"
|
|||
|
"Like in Freenet the datastorage should be distributed and every\n"
|
|||
|
"participating node should be able to configure his options.\n"
|
|||
|
"The files should be saved in chunks and at least 2-3 times to\n"
|
|||
|
"obtain redundancy. Usage of storage space should be auto balanced.\n"
|
|||
|
"As it is a extra application, it should work flawless within I2P and\n"
|
|||
|
"cooperate nice with the I2P router. Maybe a integration within the\n"
|
|||
|
"webpage/router could be done."
|
|||
|
msgstr ""
|
|||
|
"Для улучшения использования I2P и для независимости от сетевого статуса \n"
|
|||
|
"маршрутизаторов, нам нужно хранилище данных в качестве расширения к I2P.\n"
|
|||
|
"Как и в Freenet хранилище данных должно быть распределенным и каждый\n"
|
|||
|
"участвующий узел должен иметь возможность управлять его настройками.\n"
|
|||
|
"Файлы должны сохраняться в памяти по крайней мере 2-3 раза \n"
|
|||
|
"для достижения избыточности. Использование места в хранилище должно "
|
|||
|
"автоматически балансироваться.\n"
|
|||
|
"Поскольку это дополнительное приложение, оно должно безупречно работать в"
|
|||
|
" I2P \n"
|
|||
|
"и взаимодействовать с маршрутизатором I2P. Возможно понадобится \n"
|
|||
|
"интеграция с веб-страницей/маршрутизатором."
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/bounties/datastore.html:17
|
|||
|
msgid ""
|
|||
|
"This bounty cooperates with the 2 other bounties \"frost for I2P\" and \n"
|
|||
|
"\"eepsites in datastorage\"."
|
|||
|
msgstr ""
|
|||
|
"Эта награда связана с двумя другими: \"Frost для I2P\" и \"Eepsites в "
|
|||
|
"хранилище данных\"."
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/bounties/datastore.html:21
|
|||
|
msgid ""
|
|||
|
"The frost for I2P datastorage bounty is paid for a frost like program \n"
|
|||
|
"with which files/messages are stored into database and got from database."
|
|||
|
"\n"
|
|||
|
"It needs to work with a GUI."
|
|||
|
msgstr ""
|
|||
|
"Награда за Frost для хранилища данных I2P выплачивается за программу типа"
|
|||
|
" Frost, \n"
|
|||
|
"которая хранит файлы/сообщения в базе данных, и достает их оттуда.\n"
|
|||
|
"Она должна работать с GUI."
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/bounties/datastore.html:26
|
|||
|
msgid ""
|
|||
|
"The eepsite served out of I2P datastorage extends a I2P router to send\n"
|
|||
|
"out eepsites out of the I2P datastorage. All files for eepsites need to "
|
|||
|
"be\n"
|
|||
|
"saved inside of datastorage and are taken from it.\n"
|
|||
|
"Extension:\n"
|
|||
|
"For better integration all datastorage participants could serve that "
|
|||
|
"eepsite."
|
|||
|
msgstr ""
|
|||
|
"Eepsite для хранилища данных I2P расширяет маршрутизатор I2P, \n"
|
|||
|
"для отправки eepsites из хранилища данных I2P. Все файлы для eepsites "
|
|||
|
"должны \n"
|
|||
|
"хранится в хранилище и извлекаться из него.\n"
|
|||
|
"Расширение:\n"
|
|||
|
"Для лучшей интеграции все участники хранилища данных должны обслуживать "
|
|||
|
"eepsite."
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/bounties/datastore.html:36
|
|||
|
msgid ""
|
|||
|
"For bounties to be declared done and paid, we need the program AND the "
|
|||
|
"source.\n"
|
|||
|
"Source and code need to be licensed under a free license (free to change "
|
|||
|
"and \n"
|
|||
|
"free to distribute)."
|
|||
|
msgstr ""
|
|||
|
"Для выплаты награды нам необходима программа И исходники.\n"
|
|||
|
"Исходники и программа должны распространяться по свободной лицензии "
|
|||
|
"(свободное \n"
|
|||
|
"изменение и распространение)."
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/bounties/deb-pack.html:2
|
|||
|
msgid "Bounty I2P package in Debian and Ubuntu mirrors"
|
|||
|
msgstr "Награда за пакет I2P в зеркалах Debian и Ubuntu"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/bounties/deb-pack.html:3
|
|||
|
msgid "I2P Ubuntu/Debian package"
|
|||
|
msgstr "Ubuntu/Debian пакет I2P"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/bounties/deb-pack.html:6
|
|||
|
msgid ""
|
|||
|
"For the future of I2P and in order to attract more people\n"
|
|||
|
"to I2P, this bounty was set for including an I2P package into the Ubuntu "
|
|||
|
"and Debian \n"
|
|||
|
"archive mirrors.\n"
|
|||
|
"To claim this bounty, the I2P router package needs to be available from\n"
|
|||
|
"Ubuntu and Debian archive mirrors and Debian bug \n"
|
|||
|
"<a href=\"http://bugs.debian.org/cgi-"
|
|||
|
"bin/bugreport.cgi?bug=448638\">448638</a> \n"
|
|||
|
"needs to be closed successfully."
|
|||
|
msgstr ""
|
|||
|
"Ради будущего I2P и для привлечения большего количества людей\n"
|
|||
|
"к I2P, эта награда установлена за включение пакета I2P в зеркала архивов"
|
|||
|
" \n"
|
|||
|
"Ubuntu и Debian. \n"
|
|||
|
"Для получения этой награды, пакет маршрутизатора I2P должен быть доступен"
|
|||
|
" на архивных зеркалах Ubuntu и Debian, и Debian баг \n"
|
|||
|
"<a href=\"http://bugs.debian.org/cgi-"
|
|||
|
"bin/bugreport.cgi?bug=448638\">448638</a> \n"
|
|||
|
"должен быть успешно закрыт."
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/bounties/i2phex.html:2
|
|||
|
msgid "Bounty I2PHex code implementation"
|
|||
|
msgstr "Награда за реализацию кода I2PHex"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/bounties/i2phex.html:3
|
|||
|
msgid "i2phex code implementation"
|
|||
|
msgstr "Реализация кода I2PHex"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/bounties/i2phex.html:6
|
|||
|
msgid ""
|
|||
|
"To improve I2P usage and attract more people\n"
|
|||
|
"into I2PHex P2P ArneBab setout the bounty for implementing actual\n"
|
|||
|
"Phex code onto I2PHex."
|
|||
|
msgstr ""
|
|||
|
"Для улучшения использования I2P и привлечения большего количества людей \n"
|
|||
|
"к I2PHex P2P ArneBab установил награду за реализацию актуального \n"
|
|||
|
"кода Phex в I2PHex."
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/bounties/index.html:2
|
|||
|
msgid "Bounties for I2P"
|
|||
|
msgstr "Награды за I2P"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/bounties/index.html:5
|
|||
|
msgid ""
|
|||
|
"While we always gratefully accept any contributions of code, \n"
|
|||
|
"documentation, and the like, there are other ways to help I2P move \n"
|
|||
|
"forward. As with any open source project, our goals would be achieved "
|
|||
|
"more \n"
|
|||
|
"rapidly if we were able to support all of our contributors to work on \n"
|
|||
|
"I2P full time. However, as with any open source project, that's not a \n"
|
|||
|
"possibility. Instead, we are making use of a bounty system, whereby \n"
|
|||
|
"anyone can get support for working on something that people want \n"
|
|||
|
"implemented, and people who want to contribute to I2P can be assured that"
|
|||
|
" \n"
|
|||
|
"their support goes to what they care about."
|
|||
|
msgstr ""
|
|||
|
"Мы всегда с благодарностью принимаем любую помощь в написании кода, \n"
|
|||
|
"документации, и т.п., но есть и другие способы помочь продвижению I2P. \n"
|
|||
|
"Как и во всех проектах с открытым исходным кодом, наша цель будет "
|
|||
|
"достигнута \n"
|
|||
|
"быстрее, если мы сможем мотивировать всех наших участников работать \n"
|
|||
|
"над I2P полный рабочий день. Но, как в любом проекте с открытым исходным "
|
|||
|
"кодом, \n"
|
|||
|
"это не возможно. Вместо этого мы создали систему поощрений, благодаря \n"
|
|||
|
"которой все мотивируются за работу над тем, что люди хотят реализовать, \n"
|
|||
|
"и люди, которые хотят пожертвовать средства на I2P могут быть уверены, "
|
|||
|
"что \n"
|
|||
|
"их пожертвования пойдут на то, что им нужно."
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/bounties/index.html:17
|
|||
|
msgid ""
|
|||
|
"We are also keeping open the ability for people who want to support I2P \n"
|
|||
|
"but don't have strong feelings about the bounties available. Those "
|
|||
|
"people\n"
|
|||
|
"can simply put their trust in the I2P team to do what we feel is best by\n"
|
|||
|
"donating to a catch-all general fund that will be used as deemed \n"
|
|||
|
"necessary - allocated to various bounties, covering incidentals (hosting,"
|
|||
|
" \n"
|
|||
|
"etc), and the like."
|
|||
|
msgstr ""
|
|||
|
"Мы также оставляем возможность людям, которые хотят поддержать I2P, \n"
|
|||
|
"даже если они не уверены насчет необходимых поощрений. Эти люди \n"
|
|||
|
"просто могут довериться команде I2P, которая работает над тем, что мы "
|
|||
|
"считаем \n"
|
|||
|
"наиболее важным, и жертвовать в общий фонд, который мы будем использовать"
|
|||
|
" \n"
|
|||
|
"по необходимости - распределять на несколько наград, покрывать расходы \n"
|
|||
|
"(хостинг и т.д.), и т.п."
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/bounties/index.html:26
|
|||
|
msgid "Current bounties"
|
|||
|
msgstr "Текущие награды"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/bounties/index.html:29
|
|||
|
#: i2p2www/pages/site/get-involved/bounties/index.html:91
|
|||
|
#: i2p2www/pages/site/get-involved/bounties/index.html:104
|
|||
|
msgid "Name"
|
|||
|
msgstr "Имя"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/bounties/index.html:29
|
|||
|
#: i2p2www/pages/site/get-involved/bounties/index.html:91
|
|||
|
#: i2p2www/pages/site/get-involved/bounties/index.html:104
|
|||
|
msgid "Status"
|
|||
|
msgstr "Статус"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/bounties/index.html:29
|
|||
|
#: i2p2www/pages/site/get-involved/bounties/index.html:91
|
|||
|
msgid "Judge"
|
|||
|
msgstr "Судья"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/bounties/index.html:29
|
|||
|
#: i2p2www/pages/site/get-involved/bounties/index.html:91
|
|||
|
msgid "Dev"
|
|||
|
msgstr "Разработчик"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/bounties/index.html:29
|
|||
|
#: i2p2www/pages/site/get-involved/bounties/index.html:91
|
|||
|
msgid "Bounty"
|
|||
|
msgstr "Награда"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/bounties/index.html:31
|
|||
|
msgid "Frost for I2P datastorage"
|
|||
|
msgstr "Frost для хранилища данных I2P"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/bounties/index.html:32
|
|||
|
#: i2p2www/pages/site/get-involved/bounties/index.html:39
|
|||
|
#: i2p2www/pages/site/get-involved/bounties/index.html:46
|
|||
|
#: i2p2www/pages/site/get-involved/bounties/index.html:53
|
|||
|
#: i2p2www/pages/site/get-involved/bounties/index.html:74
|
|||
|
#: i2p2www/pages/site/get-involved/bounties/index.html:81
|
|||
|
msgid "Proposal in development"
|
|||
|
msgstr "Предложено для разработки"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/bounties/index.html:34
|
|||
|
#: i2p2www/pages/site/get-involved/bounties/index.html:41
|
|||
|
#: i2p2www/pages/site/get-involved/bounties/index.html:48
|
|||
|
#: i2p2www/pages/site/get-involved/bounties/index.html:55
|
|||
|
#: i2p2www/pages/site/get-involved/bounties/index.html:76
|
|||
|
#: i2p2www/pages/site/get-involved/bounties/index.html:96
|
|||
|
msgid "vacant"
|
|||
|
msgstr "свободно"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/bounties/index.html:38
|
|||
|
msgid "Eepsites served out of I2P datastorage"
|
|||
|
msgstr "Eepsites для хранилища данных I2P"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/bounties/index.html:45
|
|||
|
msgid "Backporting Phex code onto I2PHex"
|
|||
|
msgstr "Портирование кода Phex в i2Phex"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/bounties/index.html:52
|
|||
|
msgid "I2P package in Debian and Ubuntu mirrors"
|
|||
|
msgstr "Пакет I2P на зеркалах Debian и Ubuntu"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/bounties/index.html:59
|
|||
|
msgid "Bitcoin client for I2P"
|
|||
|
msgstr "Биткойн клиент для I2P"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/bounties/index.html:60
|
|||
|
msgid "Done, phase of verification"
|
|||
|
msgstr "Выполнено, выполняется верификация"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/bounties/index.html:66
|
|||
|
msgid "Unit tests and Multi-router Simulation"
|
|||
|
msgstr "Юнит тестирование и симулирование мульти-роутера"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/bounties/index.html:67
|
|||
|
msgid "Partly done, partly in work, partly still open"
|
|||
|
msgstr "Частично выполнено, частично работает, частично еще в работе"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/bounties/index.html:88
|
|||
|
msgid "Hold bounties, set on hold due to jrandom AWOL and missing funding"
|
|||
|
msgstr ""
|
|||
|
"Выплата награды задерживается из-за jrandom AWOL и отсутствия "
|
|||
|
"финансирования"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/bounties/index.html:93
|
|||
|
msgid "Bundling bounties"
|
|||
|
msgstr "Объединение наград"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/bounties/index.html:94
|
|||
|
msgid "Proposed"
|
|||
|
msgstr "Предложено"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/bounties/index.html:101
|
|||
|
msgid "Claimed bounties"
|
|||
|
msgstr "Заявленные награды"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/bounties/index.html:104
|
|||
|
msgid "Dev team"
|
|||
|
msgstr "Команда разработчиков"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/bounties/index.html:106
|
|||
|
msgid "Make I2P IPv6 native"
|
|||
|
msgstr "Сделать I2P IPv6 нативным"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/bounties/index.html:113
|
|||
|
msgid "Setting up a SILC server"
|
|||
|
msgstr "Установка сервера SILC"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/bounties/index.html:123
|
|||
|
msgid "Datastore over I2P"
|
|||
|
msgstr "Хранилище данных над I2P"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/bounties/index.html:128
|
|||
|
#: i2p2www/pages/site/get-involved/bounties/russian-trans.html:3
|
|||
|
msgid "Russian translation"
|
|||
|
msgstr "Русский перевод"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/bounties/index.html:133
|
|||
|
msgid "Swarming file transfer"
|
|||
|
msgstr "Сегментированная передача файлов"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/bounties/index.html:138
|
|||
|
msgid "Streaming library window size"
|
|||
|
msgstr "Размер окна потоковой библиотеки"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/bounties/index.html:143
|
|||
|
msgid "IRC connect time monitor"
|
|||
|
msgstr "Контроль времени подключения IRC"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/bounties/index.html:148
|
|||
|
msgid "Unit tests (part 1)"
|
|||
|
msgstr "Юнит тестирование (часть1)"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/bounties/index.html:160
|
|||
|
msgid ""
|
|||
|
"Dev lists anyone who may already be working on the bounty - collaboration"
|
|||
|
" is\n"
|
|||
|
"preferred, so if you're interested in working on it, please contact one "
|
|||
|
"of the\n"
|
|||
|
"people listed!"
|
|||
|
msgstr ""
|
|||
|
"Перечислены все, кто уже работает за награду - сотрудничество является \n"
|
|||
|
"предпочтительным, так что если вы заинтересованы в этой работе, \n"
|
|||
|
"пожалуйста, свяжитесь с перечисленными людьми!"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/bounties/ipv6.html:2
|
|||
|
msgid "Bounty I2P IPv6 native"
|
|||
|
msgstr "Награда за нативный I2P IPv6"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/bounties/ipv6.html:3
|
|||
|
msgid "native IPv6 I2P"
|
|||
|
msgstr "нативный IPv6 I2P"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/bounties/ipv6.html:6
|
|||
|
msgid ""
|
|||
|
"For a future of I2P and attract more people\n"
|
|||
|
"into I2P I withdrawal the vuze bounty and offer a IPv6 bounty.\n"
|
|||
|
"To claim this bounty, the I2P router needs to run full on native\n"
|
|||
|
"IPv6 connections like it does on IPv4."
|
|||
|
msgstr ""
|
|||
|
"Ради будущего I2P и привлечения большего количества людей \n"
|
|||
|
"в I2P, я снимаю награду за vuze и предлагаю награду за IPv6.\n"
|
|||
|
"Награда выплачивается за реализацию полной поддержки нативного \n"
|
|||
|
"IPv6 в маршрутизаторе I2P, как это сделано для IPv4."
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/bounties/ipv6.html:17
|
|||
|
#: i2p2www/pages/site/get-involved/bounties/vuze-plugin.html:20
|
|||
|
msgid ""
|
|||
|
"For bounties to be declared done and paid, we need the plugin AND the "
|
|||
|
"source.\n"
|
|||
|
"Source and code need to be licensed under a free license (free to change "
|
|||
|
"and \n"
|
|||
|
"free to distribute)."
|
|||
|
msgstr ""
|
|||
|
"Чтобы награда числилась завершенной и выплаченной необходимо предоставить"
|
|||
|
" плагин И исходники.\n"
|
|||
|
"Исходники должны быть предоставлены по свободной лицензии (свободное \n"
|
|||
|
"изменение и распространение)."
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/bounties/netdb.html:2
|
|||
|
msgid "NetDB Backend"
|
|||
|
msgstr "Бэкенд NetDB"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/bounties/netdb.html:3
|
|||
|
msgid "netDB backend"
|
|||
|
msgstr "Бэкенд netDB"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/bounties/netdb.html:7
|
|||
|
msgid ""
|
|||
|
"The current NetDB implementation (namely the FloodFill system)\n"
|
|||
|
"needs to be extended with another backend to improve reliability,\n"
|
|||
|
"reduce attack surface and solve the scalability issue for the \n"
|
|||
|
"coming years."
|
|||
|
msgstr ""
|
|||
|
"Текущую реализацию NetDB (а точнее, систему FloodFill) \n"
|
|||
|
"нужно расширить другим бэкендом для улучшения надежности, \n"
|
|||
|
"уменьшения поверхности атаки и решения вопросов масштабирования \n"
|
|||
|
"в ближайшие годы."
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/bounties/netdb.html:14
|
|||
|
msgid ""
|
|||
|
"A solution likely based on a DHT will be investigated and \n"
|
|||
|
"finally implemented."
|
|||
|
msgstr ""
|
|||
|
"Будет рассмотрено и наконец-то реализовано решение на основе \n"
|
|||
|
"DHT."
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/bounties/russian-trans.html:2
|
|||
|
msgid "Bounty russian translation of webpage and router console"
|
|||
|
msgstr "Награда за русский перевод веб-страниц и консоли маршрутизатора"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/bounties/russian-trans.html:6
|
|||
|
msgid ""
|
|||
|
"To improve I2P usage and attract more people\n"
|
|||
|
"into I2P a anonymous donator set out the bounty for translation\n"
|
|||
|
"of the I2P web page and I2P router console into russian language."
|
|||
|
msgstr ""
|
|||
|
"Для улучшения использования I2P и привлечения большего количества людей \n"
|
|||
|
"в I2P анонимный даритель установил награду за перевод \n"
|
|||
|
"веб-страниц I2P и консоли маршрутизатора I2P на русский язык."
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/bounties/russian-trans.html:17
|
|||
|
msgid ""
|
|||
|
"For collecting the bounty of $115 USD you need to translate the following"
|
|||
|
" pages:"
|
|||
|
msgstr ""
|
|||
|
"Для получения награды в $115 USD вам необходимо перевести следующие "
|
|||
|
"страницы:"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/bounties/russian-trans.html:30
|
|||
|
msgid ""
|
|||
|
"Part 2 is the translation of the router console. The whole router console"
|
|||
|
" needs\n"
|
|||
|
"to be translated to collect the bounty of $115 USD."
|
|||
|
msgstr ""
|
|||
|
"Часть 2 - перевод консоли маршрутизатора. Вся консоль маршрутизатора \n"
|
|||
|
"должны быть переведена для получения награды в $115 USD."
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/bounties/russian-trans.html:37
|
|||
|
msgid "Judge is the russian donor."
|
|||
|
msgstr "Судья - русский даритель."
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/bounties/silc.html:2
|
|||
|
msgid "Bounty migrate I2P IRC to SILC"
|
|||
|
msgstr "Награда за миграцию I2P IRC на SILC"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/bounties/silc.html:3
|
|||
|
msgid "I2P silc server"
|
|||
|
msgstr "I2P silc сервер"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/bounties/silc.html:7
|
|||
|
msgid ""
|
|||
|
"For a future of I2P and attract more people\n"
|
|||
|
"into I2P this bounty is to setup and host a I2P SILC server. \n"
|
|||
|
"This will allow people to send files over their messaging servers and "
|
|||
|
"have intrinsic security built into the protocol."
|
|||
|
msgstr ""
|
|||
|
"Ради будущего I2P и привлечения большего количества людей \n"
|
|||
|
"к I2P эта награда была назначена за установку и размещение сервера I2P "
|
|||
|
"SILC. \n"
|
|||
|
"Это позволит людям отправлять файлы через свои сервера сообщения, причем "
|
|||
|
"безопасность будет реализована в протоколе."
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/bounties/silc.html:12
|
|||
|
msgid ""
|
|||
|
"A silc server needs to be set up and run for at least 3 month time to get"
|
|||
|
" payed. \n"
|
|||
|
"A second server should be set up, to."
|
|||
|
msgstr ""
|
|||
|
"Для выплаты сервер silc должен быть установлен и проработать не менее 3 "
|
|||
|
"месяцев. \n"
|
|||
|
"Также должен быть установлен второй сервер."
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/bounties/silc.html:16
|
|||
|
msgid ""
|
|||
|
"Bounty was withdrawn and money donated to returningnovice and general "
|
|||
|
"fund."
|
|||
|
msgstr "Награда была отменена и пожертвованные деньги переданы в общий фонд."
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/bounties/silc.html:22
|
|||
|
msgid "Judge is An Anonymous Secret Society, society@mail.i2p."
|
|||
|
msgstr "Судья - An Anonymous Secret Society, society@mail.i2p."
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/bounties/syndie-2012.html:2
|
|||
|
#: i2p2www/pages/site/get-involved/bounties/syndie-2012.html:3
|
|||
|
msgid "Syndie development"
|
|||
|
msgstr "Разработка Syndie"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/bounties/syndie-2012.html:7
|
|||
|
msgid ""
|
|||
|
"Beside of I2P we want to encourage users\n"
|
|||
|
"to care more about anonymity and security. As I2P is a low \n"
|
|||
|
"latency network with its natural limits, the software SYNDIE\n"
|
|||
|
"can overcome some of these limits and provide better anonymity\n"
|
|||
|
"for people who really need it."
|
|||
|
msgstr ""
|
|||
|
"При помощи I2P мы хотим воодушевить пользователей больше \n"
|
|||
|
"заботиться об анонимности и безопасности. Поскольку I2P - это сеть с "
|
|||
|
"низкими задержками и своими ограничениями, ПО SYNDIE \n"
|
|||
|
"может преодолеть некоторые из этих ограничений и предоставить лучшую "
|
|||
|
"анонимность \n"
|
|||
|
"людям, которым это действительно нужно."
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/bounties/syndie-2012.html:14
|
|||
|
msgid ""
|
|||
|
"For our bad sake the syndie project was out of development for \n"
|
|||
|
"quite a long time yet (5 years). To get a fresh and new built \n"
|
|||
|
"with needed bugfixes we set out this bounty. Also syndie needs\n"
|
|||
|
"some enhancements and a better GUI for users to work with it.\n"
|
|||
|
"Current bounty sum is 50 Bitcoin."
|
|||
|
msgstr ""
|
|||
|
"На нашу беду проект syndie перестал разрабатываться \n"
|
|||
|
"довольно давно (5 лет). Чтобы получить свежую сборку \n"
|
|||
|
"с необходимыми исправлениями мы установили эту награду, также syndie "
|
|||
|
"нуждается \n"
|
|||
|
"в некотором совершенствовании и лучшем GUI для пользователей.\n"
|
|||
|
"Текущий размер награды - 50 биткойнов."
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/bounties/syndie-2012.html:22
|
|||
|
msgid ""
|
|||
|
"The latest Syndie coding rally did improve the situation of the\n"
|
|||
|
"Syndie package dramatically. A new Syndie package with bugfixes\n"
|
|||
|
"was created and made available on different webpages.\n"
|
|||
|
"As a result of this work, the bounty sum was reduced and\n"
|
|||
|
"the withdrawn money moved to the IPv6 bounty."
|
|||
|
msgstr ""
|
|||
|
"Последние доработки Syndie существенным образом улучшили \n"
|
|||
|
"ситуацию с пакетом Syndie. Был создан новый пакет Syndie с \n"
|
|||
|
"исправлениями, он доступен на разных веб-страницах.\n"
|
|||
|
"В результате, награда была уменьшена и сэкономленные \n"
|
|||
|
"деньги были переведены в награду за IPv6."
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:2
|
|||
|
msgid "Bounty unittests"
|
|||
|
msgstr "Награда за юнит тесты"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:3
|
|||
|
msgid "unit test"
|
|||
|
msgstr "Юнит тесты"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:7
|
|||
|
msgid ""
|
|||
|
"To improve I2P's maintainability, we want to have a solid set of\n"
|
|||
|
"automated unit tests for the critical code. While we do have some\n"
|
|||
|
"unit tests at the moment, they are ad-hoc and partly unfinished. \n"
|
|||
|
"This bounty is for someone to check the existing tests and move over\n"
|
|||
|
"old ones to jUnit, automate their execution, extend them to provide \n"
|
|||
|
"better code coverage, and publish the report online. Its a massive \n"
|
|||
|
"effort, but can be broken down into phases, listed below (phase 2 \n"
|
|||
|
"must occur first, but further phases may happen in any order).\n"
|
|||
|
"As this needs some reading of code, it is the best start point for\n"
|
|||
|
"new devs to get a good overview of I2P code and coding. A good job\n"
|
|||
|
"for college students, interns or anyone who is just interested."
|
|||
|
msgstr ""
|
|||
|
"Чтобы улучшить удобство эксплуатации I2P нам необходим набор \n"
|
|||
|
"автоматизированных юнит тестов для критичного кода. На данный момент \n"
|
|||
|
"у нас есть несколько юнит тестов, они специфичны и частично не закончены."
|
|||
|
" \n"
|
|||
|
"Эту награду получить тот, кто проверить имеющиеся тесты и переведет \n"
|
|||
|
"старые тесты на jUnit, автоматизирует их выполнение, расширит их для \n"
|
|||
|
"покрытия большей части кода, и опубликует отчеты. Это большой фронт "
|
|||
|
"работ, \n"
|
|||
|
"но его можно разбить на фазы, перечисленные ниже (фаза 2 \n"
|
|||
|
"должна завершиться раньше, а последующий фазы могут идти в любом "
|
|||
|
"порядке). \n"
|
|||
|
"Так как для этого нужно читать код, это будет лучшим начинанием для \n"
|
|||
|
"новых разработчиков, и позволит хорошо вникнуть в код и разработку I2P.\n"
|
|||
|
"Это замечательная работа для студентов, интернов и для всех, кто "
|
|||
|
"заинтересован."
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:20
|
|||
|
msgid ""
|
|||
|
"Take care! Jobs and bounties shuffled a bit!\n"
|
|||
|
"Phase 6,7 and 8 are still open!"
|
|||
|
msgstr ""
|
|||
|
"Будьте внимательны! Работа и награды были немного перемешаны!\n"
|
|||
|
"Фазы 6, 7 и 8 все еще открыты!"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:26
|
|||
|
#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:40
|
|||
|
#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:55
|
|||
|
#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:66
|
|||
|
#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:77
|
|||
|
#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:88
|
|||
|
#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:101
|
|||
|
#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:112
|
|||
|
#, python-format
|
|||
|
msgid "Phase %(phase)s:"
|
|||
|
msgstr "Фаза %(phase)s:"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:27
|
|||
|
msgid "CI jenkins and IRC bot"
|
|||
|
msgstr "CI jenkins и IRC bot"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:28
|
|||
|
#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:42
|
|||
|
#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:57
|
|||
|
#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:68
|
|||
|
#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:79
|
|||
|
#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:90
|
|||
|
#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:103
|
|||
|
#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:114
|
|||
|
#, python-format
|
|||
|
msgid "Bounty: %(euro)s €"
|
|||
|
msgstr "Награда: %(euro)s €"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:29
|
|||
|
msgid "server runs and this section is blocked"
|
|||
|
msgstr "сервер запущен и этот раздел заблокирован"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:31
|
|||
|
msgid ""
|
|||
|
"To collect this bounty, a continuous integration server (Jenkins,\n"
|
|||
|
"old name was Hudson) must be set up and a connected IRC bot needs \n"
|
|||
|
"to set up in the channel #i2p-dev on IRC2p network to print out\n"
|
|||
|
"results of build tests.<br>\n"
|
|||
|
"The server needs to be run long term."
|
|||
|
msgstr ""
|
|||
|
"Чтобы получить эту награду, должен быть установлен сервер непрерывной "
|
|||
|
"интеграции \n"
|
|||
|
"(Jenkins, старое название Hudson), также должен быть установлен IRC bot и"
|
|||
|
" подключен \n"
|
|||
|
"к каналу #i2p-dev в сети IRC2p для вывода \n"
|
|||
|
"результатов тестов сборки.<br>\n"
|
|||
|
"Сервер должен быть запущен на продолжительное время."
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:41
|
|||
|
msgid "Check existing SDK tests"
|
|||
|
msgstr "Тесты проверки существующего SDK"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:43
|
|||
|
#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:69
|
|||
|
msgid "paid to str4d"
|
|||
|
msgstr "выплачено str4d"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:45
|
|||
|
#, python-format
|
|||
|
msgid ""
|
|||
|
"To collect this bounty, the existing SDK tests must be checked \n"
|
|||
|
"and made to work again. The need to be integrated into the ant \n"
|
|||
|
"build scripts (\"ant test\"), and tied in with a code coverage tool (e.g."
|
|||
|
" \n"
|
|||
|
"<a href=\"%(clover)s\">Clover</a>). The ant script\n"
|
|||
|
"must be capable of generating test status results as a web page, \n"
|
|||
|
"which will be published online."
|
|||
|
msgstr ""
|
|||
|
"Чтобы получить эту награду нужно проверить имеющийся SDK \n"
|
|||
|
"и заставить его работать. Нужно интегрировать в скрипты ant \n"
|
|||
|
"(\"ant test\"), и увязать с утилитой покрытия кода (например, \n"
|
|||
|
"<a href=\"%(clover)s\">Clover</a>). Скрипт ant \n"
|
|||
|
"должен уметь генерировать результаты тестирования в виде веб-страницы, \n"
|
|||
|
"которая будет опубликована в сети."
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:56
|
|||
|
msgid "SDK test coverage"
|
|||
|
msgstr "Покрытие тестами SDK"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:58
|
|||
|
#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:80
|
|||
|
msgid "paid to unittests dev team"
|
|||
|
msgstr "выплачено команде разработчиков юнит тестов"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:60
|
|||
|
msgid ""
|
|||
|
"To collect this bounty, the automated unit tests of the SDK \n"
|
|||
|
"(i2p/core/java/src) must work again."
|
|||
|
msgstr ""
|
|||
|
"Для выплаты этой награды автоматизированные юнит тесты SDK \n"
|
|||
|
"(i2p/core/java/src) должны опять заработать."
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:67
|
|||
|
msgid "Router test migration"
|
|||
|
msgstr "Тест миграции маршрутизатора"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:71
|
|||
|
msgid ""
|
|||
|
"As with phase 2, the existing unit tests for the router must be\n"
|
|||
|
"moved over to the automated system."
|
|||
|
msgstr ""
|
|||
|
"В фазе 2, существующий юнит тесты маршрутизатора должны быть \n"
|
|||
|
"перемещены в автоматизированную систему."
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:78
|
|||
|
msgid "Router test coverage"
|
|||
|
msgstr "Покрытие тестами маршрутизатора"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:82
|
|||
|
msgid ""
|
|||
|
"To collect this bounty, the automated unit tests of the router \n"
|
|||
|
"(i2p/router/java/src) must work again."
|
|||
|
msgstr ""
|
|||
|
"Для выплаты этой награды автоматизированные юнит тесты маршрутизатора \n"
|
|||
|
"(i2p/router/java/src) должны опять заработать."
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:89
|
|||
|
msgid "Streaming lib tests"
|
|||
|
msgstr "Тесты потоковой библиотеки"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:94
|
|||
|
msgid ""
|
|||
|
"To collect this bounty, a new set of unit tests must meet a \n"
|
|||
|
"measured code coverage of 90% of the streaming lib \n"
|
|||
|
"(i2p/apps/ministreaming/ and i2p/apps/streaming/)."
|
|||
|
msgstr ""
|
|||
|
"Чтобы получить эту награду, новый набор юнит тестов должен \n"
|
|||
|
"соответствовать измеренному покрытию кода 90% потоковой библиотеки \n"
|
|||
|
"(i2p/apps/ministreaming/ и i2p/apps/streaming/)."
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:102
|
|||
|
msgid "Unit tests coverage"
|
|||
|
msgstr "Покрытие юнит тестами"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:106
|
|||
|
msgid ""
|
|||
|
"To collect this bounty, all above unit tests must meet the 100%\n"
|
|||
|
"coverage marker (except for log statements)."
|
|||
|
msgstr ""
|
|||
|
"Чтобы получить эту награду, все вышеперечисленные юнит тесты должны "
|
|||
|
"соответствовать \n"
|
|||
|
"маркеру покрытия 100% (исключая блок логирования)"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:113
|
|||
|
msgid "MultiRouter simulation"
|
|||
|
msgstr "Симуляция MultiRouter"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:115
|
|||
|
msgid "will be split in more sub-tasks"
|
|||
|
msgstr "будет разбито на несколько подзадач"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:117
|
|||
|
msgid ""
|
|||
|
"To collect this bounty, the existing in-memory multi-router\n"
|
|||
|
"simulation must be checked, made work again and extend to simulate\n"
|
|||
|
"lots of routers in memory on a single machine. This bounty will\n"
|
|||
|
"be split in more fine grained subworks."
|
|||
|
msgstr ""
|
|||
|
"Чтобы получить эту награду не жно проверить работу симулятора \n"
|
|||
|
"мульти-маршрутизатора, работающего в памяти, заставить его снова работать"
|
|||
|
" \n"
|
|||
|
"и расширить симуляцию на множество маршрутизаторов в памяти на одном "
|
|||
|
"компьютере. \n"
|
|||
|
"Награда будет разбита на несколько более мелких подзадач."
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:126
|
|||
|
msgid ""
|
|||
|
"Judge on all these works is the donor and donor decides if a phase is\n"
|
|||
|
"called succesfull done and money can be paid."
|
|||
|
msgstr ""
|
|||
|
"Судит все это donor, и donor решает завершена ли фаза \n"
|
|||
|
"удачно и нужно ли выплатить деньги."
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/bounties/vuze-plugin.html:2
|
|||
|
msgid "Bounty I2P vuze plugin"
|
|||
|
msgstr "Награда за I2P плагин vuze"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/bounties/vuze-plugin.html:3
|
|||
|
msgid "vuze plugin"
|
|||
|
msgstr "плагин vuze"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/bounties/vuze-plugin.html:6
|
|||
|
msgid ""
|
|||
|
"To improve I2P usage and attract more people\n"
|
|||
|
"into I2P torrent P2P I setout the bounty for a working I2P vuze\n"
|
|||
|
"plugin.\n"
|
|||
|
"The plugin needs to be official and submitted to vuze for publication\n"
|
|||
|
"on their webpage/repository for plugins.\n"
|
|||
|
"It should be easy to install and configured, work smooth and flawless.\n"
|
|||
|
"Configuration should be friendly to starters and made easy to be "
|
|||
|
"anonymous.\n"
|
|||
|
"It should work with *.b32.i2p destinations as with signed (516++ bits) \n"
|
|||
|
"destinations."
|
|||
|
msgstr ""
|
|||
|
"Чтобы улучшить использование I2P и привлечь больше людей \n"
|
|||
|
"в P2P торрент сеть I2P, я назначил эту награду за работающий плагин \n"
|
|||
|
"vuze I2P.\n"
|
|||
|
"Плагин должен быть официальным и предоставлен для публикации на \n"
|
|||
|
"веб-странице и в хранилище плагинов vuze.\n"
|
|||
|
"Он должен легко устанавливаться и настраиваться, работать без сучка без "
|
|||
|
"задоринки.\n"
|
|||
|
"Настройка должна быть понятна новичку, и поддерживать анонимность.\n"
|
|||
|
"Он должен работать с адресами *.b32.i2p и с подписанными (516++ bits)\n"
|
|||
|
"пунктами назначения."
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/develop/applications.html:2
|
|||
|
msgid "Application Development"
|
|||
|
msgstr "Разработка приложений"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/develop/applications.html:3
|
|||
|
msgid "May 2013"
|
|||
|
msgstr "Май 2013"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/develop/applications.html:6
|
|||
|
msgid "Application Development Guide"
|
|||
|
msgstr "Руководство по разработке приложений"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/develop/applications.html:8
|
|||
|
msgid "Contents"
|
|||
|
msgstr "Содержание"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/develop/applications.html:10
|
|||
|
#: i2p2www/pages/site/get-involved/develop/applications.html:16
|
|||
|
msgid "Why write I2P-specific code?"
|
|||
|
msgstr "Зачем писать код под I2P?"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/develop/applications.html:11
|
|||
|
#: i2p2www/pages/site/get-involved/develop/applications.html:102
|
|||
|
msgid "Important concepts"
|
|||
|
msgstr "Важные понятия"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/develop/applications.html:12
|
|||
|
#: i2p2www/pages/site/get-involved/develop/applications.html:190
|
|||
|
msgid "Development options"
|
|||
|
msgstr "Варианты развития"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/develop/applications.html:13
|
|||
|
#: i2p2www/pages/site/get-involved/develop/applications.html:303
|
|||
|
msgid "Start developing - a simple guide"
|
|||
|
msgstr "Начни разработку - простой путеводитель"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/develop/applications.html:18
|
|||
|
#, python-format
|
|||
|
msgid ""
|
|||
|
"There are multiple ways to use applications in I2P.\n"
|
|||
|
"Using <a href=\"%(i2ptunnel)s\">I2PTunnel</a>,\n"
|
|||
|
"you can use regular applications without needing to program explicit I2P "
|
|||
|
"support.\n"
|
|||
|
"This is very effective for client-server scenario's,\n"
|
|||
|
"where you need to connect to a single website.\n"
|
|||
|
"You can simply create a tunnel using I2PTunnel to connect to that "
|
|||
|
"website, as shown in <a href=\"#tunnel.serverclient\">Figure 1</a>."
|
|||
|
msgstr ""
|
|||
|
"Есть несколько способов использования приложений в I2P.\n"
|
|||
|
"С <a href=\"%(i2ptunnel)s\">I2PTunnel</a>\n"
|
|||
|
"вы можете использовать обычные приложения, которые не поддерживают I2P.\n"
|
|||
|
"Это очень полезно для схемы клиент-сервер,\n"
|
|||
|
"когда вам нужно подключиться к одному веб-сайту.\n"
|
|||
|
"Вы можете просто создать туннель, используя I2PTunnel, чтобы подключиться"
|
|||
|
" к этому веб-сайту, как показано на рисунке <a "
|
|||
|
"href=\"#tunnel.serverclient\">Figure 1</a>."
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/develop/applications.html:26
|
|||
|
msgid ""
|
|||
|
"If your application is distributed, it will require connections to a "
|
|||
|
"large amount of peers.\n"
|
|||
|
"Using I2PTunnel, you will need to create a new tunnel for each peer you "
|
|||
|
"want to contact,\n"
|
|||
|
"as shown in <a href=\"#tunnel.peertopeer\">Figure 2</a>.\n"
|
|||
|
"This process can of course be automated, but running a lot of I2PTunnel "
|
|||
|
"instances creates a large amount of overhead.\n"
|
|||
|
"In addition, with many protocols you will need to force everyone to \n"
|
|||
|
"use the same set of ports for all peers - e.g. if you want to reliably "
|
|||
|
"run DCC \n"
|
|||
|
"chat, everyone needs to agree that port 10001 is Alice, port 10002 is "
|
|||
|
"Bob, port \n"
|
|||
|
"10003 is Charlie, and so on, since the protocol includes TCP/IP specific "
|
|||
|
"information\n"
|
|||
|
"(host and port)."
|
|||
|
msgstr ""
|
|||
|
"Если ваше приложение распределенное, ему придется подключаться к большому"
|
|||
|
" количеству узлов.\n"
|
|||
|
"Используя I2PTunnel, вам придется создавать новый туннель для каждого "
|
|||
|
"узла, с которым вы хотите взаимодействовать,\n"
|
|||
|
"как показано на <a href=\"#tunnel.peertopeer\">Figure 2</a>.\n"
|
|||
|
"Конечно, этот процесс можно автоматизировать, но запуск большого "
|
|||
|
"количества экземпляров I2PTunnel создает большую нагрузку.\n"
|
|||
|
"Кроме того, с большим количеством протоколов, вам придется заставить всех"
|
|||
|
" \n"
|
|||
|
"использовать один порт для всех узлов, т.к., если вы хотите использовать "
|
|||
|
"DCC \n"
|
|||
|
"чат, то все должны согласиться, что порт 10001 - это Alice, порт 10002 - "
|
|||
|
"Bob, порт \n"
|
|||
|
"10003 - Charlie, и т.д., т.к. протокл содержит специфичную для TCP/IP "
|
|||
|
"информацию \n"
|
|||
|
"(хост и порт)."
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/develop/applications.html:37
|
|||
|
msgid ""
|
|||
|
"General network applications often send a lot of additional data that "
|
|||
|
"could be used to identify users.\n"
|
|||
|
"Hostnames, port numbers, time zones, character sets, etc. are often sent "
|
|||
|
"without informing the user.\n"
|
|||
|
"As such, designing the network protocol specifically with anonymity in "
|
|||
|
"mind\n"
|
|||
|
"can avoid compromising user identities."
|
|||
|
msgstr ""
|
|||
|
"Типичное сетевое приложение часто отсылает кучу дополнительных данных, "
|
|||
|
"которые могут быть использованы для идентификации пользователей.\n"
|
|||
|
"Имена компьютеров, номера портов, временные зоны, наборы символов, и т.д."
|
|||
|
" часто отсылаются без уведомления пользователя.\n"
|
|||
|
"Поэтому, проектирование сетевого протокола, поддерживающего анонимность,"
|
|||
|
" \n"
|
|||
|
"поможет избежать нарушения идентификации пользователя."
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/develop/applications.html:43
|
|||
|
msgid ""
|
|||
|
"There are also efficiency considerations to review when determining how "
|
|||
|
"to \n"
|
|||
|
"interact on top of I2P. The streaming library and things built on top of"
|
|||
|
" it\n"
|
|||
|
"operate with handshakes similar to TCP, while the core I2P protocols "
|
|||
|
"(I2NP and I2CP)\n"
|
|||
|
"are strictly message based (like UDP or in some instances raw IP). The "
|
|||
|
"important\n"
|
|||
|
"distinction is that with I2P, communication is operating over a long fat "
|
|||
|
"network - \n"
|
|||
|
"each end to end message will have nontrivial latencies, but may contain "
|
|||
|
"payloads \n"
|
|||
|
"of up to several KB. An application that needs a simple request and "
|
|||
|
"response can get rid\n"
|
|||
|
"of any state and drop the latency incurred by the startup and teardown "
|
|||
|
"handshakes\n"
|
|||
|
"by using (best effort) datagrams without having to worry about MTU "
|
|||
|
"detection or \n"
|
|||
|
"fragmentation of messages."
|
|||
|
msgstr ""
|
|||
|
"Также нужно рассмотреть вопросы эффективности при определении \n"
|
|||
|
"способов взаимодействия на верхнем уровне I2P. Потоковая библиотека и "
|
|||
|
"вещи, основанные на ней, \n"
|
|||
|
"используют процедуру handshake, подобную TCP, в то время как базовые "
|
|||
|
"протоколы I2P (I2NP и I2CP)\n"
|
|||
|
"жестко завязаны на сообщения (как UDP или некоторые версии raw IP). "
|
|||
|
"Важным отличием I2P \n"
|
|||
|
"является то, что связь устанавливается над большой разнорожной сетью - \n"
|
|||
|
"каждое сообщение будет иметь нетривиальные задержки, хотя его размер "
|
|||
|
"может \n"
|
|||
|
"быть всего несколько килобайт. Приложение, которому нужен простой запрос "
|
|||
|
"и ответ, может \n"
|
|||
|
"избавиться от любого состояния и отбросить задержку, установленную во "
|
|||
|
"время запуска, и игнорировать handshake, \n"
|
|||
|
"используя (в лучшем случае) дейтаграммы, не беспокоясь об определении MTU"
|
|||
|
" или \n"
|
|||
|
"фрагментации сообщений."
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/develop/applications.html:57
|
|||
|
#: i2p2www/pages/site/get-involved/develop/applications.html:59
|
|||
|
msgid ""
|
|||
|
"Creating a server-client connection using I2PTunnel only requires "
|
|||
|
"creating a single tunnel."
|
|||
|
msgstr ""
|
|||
|
"Для создания подключения клиент-сервер при использовании I2PTunnel нужно "
|
|||
|
"создать всего лишь один туннель."
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/develop/applications.html:59
|
|||
|
msgid "Figure 1:"
|
|||
|
msgstr "Рисунок 1:"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/develop/applications.html:64
|
|||
|
#: i2p2www/pages/site/get-involved/develop/applications.html:66
|
|||
|
msgid ""
|
|||
|
"Setting up connections for a peer-to-peer applications requires a very "
|
|||
|
"large amount of tunnels."
|
|||
|
msgstr ""
|
|||
|
"Установка соединения для приложений точка-точка требует большого "
|
|||
|
"количества туннелей."
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/develop/applications.html:66
|
|||
|
msgid "Figure 2:"
|
|||
|
msgstr "Рисунок 2:"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/develop/applications.html:70
|
|||
|
msgid "In summary, a number of reasons to write I2P-specific code:"
|
|||
|
msgstr "Итого, причины для написания кода под I2P:"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/develop/applications.html:74
|
|||
|
msgid ""
|
|||
|
"Creating a large amount of I2PTunnel instances consumes a non-trivial "
|
|||
|
"amount of resources,\n"
|
|||
|
"which is problematic for distributed applications (a new tunnel is "
|
|||
|
"required for each peer)."
|
|||
|
msgstr ""
|
|||
|
"Для создание большого количества экземпляров I2PTunnel требуется "
|
|||
|
"нетривиальное количество ресурсов, \n"
|
|||
|
"что проблематично для распределенных приложений (новый туннель требуется "
|
|||
|
"для каждого узла)."
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/develop/applications.html:78
|
|||
|
msgid ""
|
|||
|
"General network protocols often send a lot of additional data that can be"
|
|||
|
" used to identify users.\n"
|
|||
|
"Programming specifically for I2P allows the creation of a network "
|
|||
|
"protocol\n"
|
|||
|
"that does not leak such information, keeping users anonymous and secure."
|
|||
|
msgstr ""
|
|||
|
"Основные сетевые протоколы часто отсылают много дополнительных данных, "
|
|||
|
"которые могут быть использованы для идентификации пользователей.\n"
|
|||
|
"Программирование специально под I2P позволяет создавать сетевой протокол,"
|
|||
|
" \n"
|
|||
|
"который не раскрывает подобную информацию, охраняя анонимность и "
|
|||
|
"безопасность пользователя."
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/develop/applications.html:83
|
|||
|
msgid ""
|
|||
|
"Network protocols designed for use on the regular internet can be "
|
|||
|
"inefficient\n"
|
|||
|
"on I2P, which is a network with a much higher latency."
|
|||
|
msgstr ""
|
|||
|
"Сетевые протоколы, разработанные для использования в обычном интернете, "
|
|||
|
"могут быть неэффективными \n"
|
|||
|
"в сети I2P, которая является сетью с гораздо большими задержками."
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/develop/applications.html:90
|
|||
|
#, python-format
|
|||
|
msgid ""
|
|||
|
"I2P supports a standard <a href=\"%(plugins)s\">plugins interface</a> for"
|
|||
|
" developers\n"
|
|||
|
"so that applications may be easily integrated and distributed."
|
|||
|
msgstr ""
|
|||
|
"I2P поддерживает стандартный <a href=\"%(plugins)s\">интерфейс "
|
|||
|
"плагинов</a> для разработчиков, \n"
|
|||
|
"так что эти приложения легко могут быть интегрированы и распространены."
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/develop/applications.html:96
|
|||
|
msgid ""
|
|||
|
"Applications written in Java and accessible/runnable\n"
|
|||
|
"using an HTML interface via the standard webapps/app.war\n"
|
|||
|
"may be considered for inclusion in the i2p distribution."
|
|||
|
msgstr ""
|
|||
|
"Приложения, написанные на Java и доступные/запускаемые \n"
|
|||
|
"из интерфейса HTML с использованием стандартного webapps/app.war\n"
|
|||
|
"могут быть включены в дистрибутив i2p."
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/develop/applications.html:104
|
|||
|
msgid "There are a few changes that require adjusting to when using I2P:"
|
|||
|
msgstr ""
|
|||
|
"Есть несколько вещей, которые нужно отрегулировать для использования в "
|
|||
|
"I2P:"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/develop/applications.html:108
|
|||
|
msgid "Destination ~= host+port"
|
|||
|
msgstr "Пункт назначения ~= хост+порт"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/develop/applications.html:110
|
|||
|
msgid ""
|
|||
|
"An application running on I2P sends messages from and receives messages "
|
|||
|
"to a\n"
|
|||
|
"unique cryptographically secure end point - a \"destination\". In TCP or"
|
|||
|
" UDP\n"
|
|||
|
"terms, a destination could (largely) be considered the equivalent of a "
|
|||
|
"hostname\n"
|
|||
|
"plus port number pair, though there are a few differences."
|
|||
|
msgstr ""
|
|||
|
"Приложение, выполняемое в I2P отправляет и принимает сообщения через \n"
|
|||
|
"уникальную зашифрованную безопасную точку обмена - \"пункт назначения\". "
|
|||
|
"В терминах \n"
|
|||
|
"TCP или UDP, пункт назначения может (грубо) быть эквивалентом пары "
|
|||
|
"название хоста \n"
|
|||
|
"+ номер порта, хотя есть некоторые отличия."
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/develop/applications.html:118
|
|||
|
msgid ""
|
|||
|
"An I2P destination itself is a cryptographic construct - all data sent to"
|
|||
|
" one is \n"
|
|||
|
"encrypted as if there were universal deployment of IPsec with the "
|
|||
|
"(anonymized)\n"
|
|||
|
"location of the end point signed as if there were universal deployment of"
|
|||
|
" DNSSEC."
|
|||
|
msgstr ""
|
|||
|
"Пункт назначения I2P сам по себе это криптографическая конструкция - все "
|
|||
|
"данные, отправляемые в него \n"
|
|||
|
"шифруются, как если бы существовал универсальный IPsec с "
|
|||
|
"(анонимизированным)\n"
|
|||
|
"расположением точки обмена, подписанной универсальным DNSSEC."
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/develop/applications.html:123
|
|||
|
msgid ""
|
|||
|
"I2P destinations are mobile identifiers - they can be moved from one I2P "
|
|||
|
"router\n"
|
|||
|
"to another (or it can even \"multihome\" - operate on multiple routers at"
|
|||
|
"\n"
|
|||
|
"once). This is quite different from the TCP or UDP world where a single "
|
|||
|
"end point (port)\n"
|
|||
|
"must stay on a single host."
|
|||
|
msgstr ""
|
|||
|
"Пункты назначения I2P - это мобильные идентификаторы - они могут "
|
|||
|
"перемещаться с одного I2P маршрутизатора \n"
|
|||
|
"на другой (или он может быть \"multihome\" - работать на нескольких "
|
|||
|
"маршрутизаторах \n"
|
|||
|
"одновременно). Это сильно отличается от TCP или UDP, в которых отдельная "
|
|||
|
"точка обмена (порт) \n"
|
|||
|
"должна оставаться на отдельном хосте."
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/develop/applications.html:130
|
|||
|
msgid ""
|
|||
|
"I2P destinations are ugly and large - behind the scenes, they contain a "
|
|||
|
"2048 bit ElGamal\n"
|
|||
|
"public key for encryption, a 1024 bit DSA public key for signing, and a "
|
|||
|
"variable size \n"
|
|||
|
"certificate, which may contain proof of work or blinded data."
|
|||
|
msgstr ""
|
|||
|
"Пункты назначения I2P уродливы и огромны - за кулисами, они могут "
|
|||
|
"содержать 2048 битный \n"
|
|||
|
"публичный ключ ElGamal для шифрования, 1024 битный публичный ключ DSA для"
|
|||
|
" подписания, и сертификат \n"
|
|||
|
"переменного размера, который может содержать подтверждение или слепые "
|
|||
|
"данные."
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/develop/applications.html:135
|
|||
|
#, python-format
|
|||
|
msgid ""
|
|||
|
"There are existing ways to refer to these large and ugly destinations by "
|
|||
|
"short\n"
|
|||
|
"and pretty names (e.g. \"irc.duck.i2p\"), but those techniques do not "
|
|||
|
"guarantee\n"
|
|||
|
"globally uniqueness (since they're stored locally in a database on each "
|
|||
|
"person's machine)\n"
|
|||
|
"and the current mechanism is not especially scalable nor secure (updates "
|
|||
|
"to the host list are\n"
|
|||
|
"managed using \"subscriptions\" to naming services).\n"
|
|||
|
"There may be some secure, human readable, scalable, and globally \n"
|
|||
|
"unique, naming system some day, but applications shouldn't depend upon it"
|
|||
|
" being in place,\n"
|
|||
|
"since there are those who don't think such a beast is possible.\n"
|
|||
|
"<a href=\"%(naming)s\">Further information on the naming system</a> is "
|
|||
|
"available."
|
|||
|
msgstr ""
|
|||
|
"Существует способ обратиться к этим уродливым и огромным пунктам "
|
|||
|
"назначения \n"
|
|||
|
"по короткому и привлекательному имени (например, \"irc.duck.i2p\"), но "
|
|||
|
"этот метод не гарантирует \n"
|
|||
|
"глобальной уникальности (поскольку они хранятся локально в базе данных на"
|
|||
|
" каждом компьютере) \n"
|
|||
|
"и текущий механизм не является ни масштабируемым, ни безопасным "
|
|||
|
"(обновления списка хостов \n"
|
|||
|
"управляются через \"подписки\" к серверам имен).\n"
|
|||
|
"Возможно, когда-нибудь будет существовать безопасная, удобочитаемая, "
|
|||
|
"масштабируемая и глобально \n"
|
|||
|
"уникальная система имен, но приложения не должны зависеть от ее "
|
|||
|
"появления, \n"
|
|||
|
"поскольку есть те, кто сомневается в том, что такая зверюга может "
|
|||
|
"существовать.\n"
|
|||
|
"<a href=\"%(naming)s\">Еще больше информации по системе имен</a>."
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/develop/applications.html:149
|
|||
|
#, python-format
|
|||
|
msgid ""
|
|||
|
"While most applications do not need to distinguish protocols and ports,\n"
|
|||
|
"I2P <em>does</em> support them. Complex applications may specify a "
|
|||
|
"protocol,\n"
|
|||
|
"from port, and to port, on a per-message basis, to multiplex traffic on\n"
|
|||
|
"a single destination.\n"
|
|||
|
"See the <a href=\"%(datagrams)s\">datagram page</a> for details.\n"
|
|||
|
"Simple applications operate by listening for \"all protocols\" on \"all "
|
|||
|
"ports\" of a destination."
|
|||
|
msgstr ""
|
|||
|
"В то время как большинству приложений не нужно распознавать протоколы и "
|
|||
|
"порты,\n"
|
|||
|
"I2P <em>поддерживает</em> их. Сложные приложения могут указывать "
|
|||
|
"протокол,\n"
|
|||
|
"порт источника и назначения, основываясь на сообщении, чтобы "
|
|||
|
"мультиплицировать \n"
|
|||
|
"трафик в один пункт назначения.\n"
|
|||
|
"Подробнее смотри на <a href=\"%(datagrams)s\">странице дейтаграмм</a>.\n"
|
|||
|
"Простые приложения прослушивают \"все протоколы\" на \"всех портах\" "
|
|||
|
"пункта назначения."
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/develop/applications.html:158
|
|||
|
msgid "Anonymity and confidentiality"
|
|||
|
msgstr "Анонимность и конфиденциальность"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/develop/applications.html:160
|
|||
|
msgid ""
|
|||
|
"I2P has transparent end to end encryption\n"
|
|||
|
"and authentication for all data passed over the network - if Bob sends to"
|
|||
|
" Alice's destination,\n"
|
|||
|
"only Alice's destination can receive it, and if Bob is using the "
|
|||
|
"datagrams or streaming \n"
|
|||
|
"library, Alice knows for certain that Bob's destination is the one who "
|
|||
|
"sent the data."
|
|||
|
msgstr ""
|
|||
|
"В I2P используются прозрачные \"end to end\" шифрование \n"
|
|||
|
"и аутентификация для всех данных, передаваемых по сети - если Bob "
|
|||
|
"отправляет в пункт назначения Alice,\n"
|
|||
|
"только пункт назначения Alice может это получить, и, если Bob использует "
|
|||
|
"библиотеку \n"
|
|||
|
"дейтаграмм или потоковую, Alice знает наверняка, что именно пункт "
|
|||
|
"назначения Bob'а отправил данные."
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/develop/applications.html:167
|
|||
|
msgid ""
|
|||
|
"Of course, I2P transparently anonymizes the\n"
|
|||
|
"data sent between Alice and Bob, but it does nothing to anonymize the "
|
|||
|
"content of what they\n"
|
|||
|
"send. For instance, if Alice sends Bob a form with her full name, "
|
|||
|
"government IDs, and \n"
|
|||
|
"credit card numbers, there is nothing I2P can do. As such, protocols and"
|
|||
|
" applications should \n"
|
|||
|
"keep in mind what information they are trying to protect and what "
|
|||
|
"information they are willing\n"
|
|||
|
"to expose."
|
|||
|
msgstr ""
|
|||
|
"Естественно, I2P прозрачно анонимизирует данные, \n"
|
|||
|
"пересылаемые между Alice и Bob, но он не делает ничего для "
|
|||
|
"анонимизирования содержимого того, \n"
|
|||
|
"что они отсылают. Например, если Alice отправляет Bob'у форму с ее "
|
|||
|
"именем, персональным ID и \n"
|
|||
|
"номера кредиток, то I2P тут уж ничего не поделает. Т.о., протоколы и "
|
|||
|
"приложения обязаны \n"
|
|||
|
"помнить - какую информацию они должны защищать и какую \n"
|
|||
|
"разглашать."
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/develop/applications.html:176
|
|||
|
msgid "I2P datagrams can be up to several KB"
|
|||
|
msgstr "Размер дейтаграммы I2P может быть несколько КБ"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/develop/applications.html:178
|
|||
|
#, python-format
|
|||
|
msgid ""
|
|||
|
"Applications that use I2P datagrams (either raw or repliable ones) can "
|
|||
|
"essentially be thought\n"
|
|||
|
"of in terms of UDP - the datagrams are unordered, best effort, and "
|
|||
|
"connectionless - but unlike\n"
|
|||
|
"UDP, applications don't need to worry about MTU detection and can simply "
|
|||
|
"fire off large datagrams.\n"
|
|||
|
"While the upper limit is nominally 32 KB, the message is fragmented for "
|
|||
|
"transport, thus dropping\n"
|
|||
|
"the reliability of the whole. Datagrams over about 10 KB are not "
|
|||
|
"currently recommended.\n"
|
|||
|
"See the <a href=\"%(datagrams)s\">datagram page</a> for details.\n"
|
|||
|
"For many applications, 10 KB of data is sufficient for an\n"
|
|||
|
"entire request or response, allowing them to transparently operate in I2P"
|
|||
|
" as a UDP-like \n"
|
|||
|
"application without having to write fragmentation, resends, etc."
|
|||
|
msgstr ""
|
|||
|
"Приложения, которые используют дейтаграммы I2P (как raw так и repliable),"
|
|||
|
" могут быть рассмотрены с точки зрения UDP - дейтаграммы не упорядочены, "
|
|||
|
"в лучшем случае, и бессвязны - но в отличие от \n"
|
|||
|
"UDP, приложениям не нужно беспокоиться об определении MTU, и они могут "
|
|||
|
"просто кидаться большими дейтаграммами.\n"
|
|||
|
"Так как обычно предел - 32 КБ, сообщение фрагментируется для отправки и "
|
|||
|
"надежность \n"
|
|||
|
"падает. Дейтаграммы размером более 10 КБ не рекомендуются для "
|
|||
|
"использования.\n"
|
|||
|
"Смотри подробнее на <a href=\"%(datagrams)s\">странице дейтаграмм</a>.\n"
|
|||
|
"Для большинства приложений, 10 КБ данных достаточно для \n"
|
|||
|
"внутреннего запроса или ответа, этого достаточно для прозрачного "
|
|||
|
"функционирования в I2P \n"
|
|||
|
"в качестве UDP-подобных приложений без необходимости написания "
|
|||
|
"фрагментирования, переотправки и т.п."
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/develop/applications.html:192
|
|||
|
msgid ""
|
|||
|
"There are several means of sending data over I2P, each with their own "
|
|||
|
"pros and cons.\n"
|
|||
|
"The streaming lib is the recommended interface, used by the majority of "
|
|||
|
"I2P applications."
|
|||
|
msgstr ""
|
|||
|
"Есть несколько способов отправки данных через I2P, в каждом есть свои За "
|
|||
|
"и Против.\n"
|
|||
|
"Потоковая библиотека - рекомендуемый интерфейс, используемый большинством"
|
|||
|
" I2P приложений."
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/develop/applications.html:197
|
|||
|
msgid "Streaming Lib"
|
|||
|
msgstr "Потоковая библиотека Streaming Lib"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/develop/applications.html:198
|
|||
|
#, python-format
|
|||
|
msgid ""
|
|||
|
"The <a href=\"%(streaming)s\">full streaming library</a> is now the "
|
|||
|
"standard\n"
|
|||
|
"interface. It allows programming using TCP-like sockets, as explained in "
|
|||
|
"the <a href=\"#start.streaming\">Streaming development guide</a>."
|
|||
|
msgstr ""
|
|||
|
"<a href=\"%(streaming)s\">Потоковая библиотека</a> теперь является "
|
|||
|
"стандартным\n"
|
|||
|
"интерфейсом. Она позволяет программировать, используя TCP-подобные "
|
|||
|
"сокеты, как описано в <a href=\"#start.streaming\">Руководстве по "
|
|||
|
"потоковой разработке</a>."
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/develop/applications.html:204
|
|||
|
#, python-format
|
|||
|
msgid ""
|
|||
|
"BOB is the <a href=\"%(bob)s\">Basic Open Bridge</a>,\n"
|
|||
|
"allowing an application in any language to make streaming connections \n"
|
|||
|
"to and from I2P. At this point in time it lacks UDP support, but UDP "
|
|||
|
"support\n"
|
|||
|
"is planned in the near future. BOB also contains several tools, such as \n"
|
|||
|
"destination key generation, and verification that an address conforms to"
|
|||
|
" \n"
|
|||
|
"I2P specifications. Up to date info and applications that use BOB can be"
|
|||
|
" \n"
|
|||
|
"found at this <a href=\"http://%(boburl)s/\">eepsite</a>."
|
|||
|
msgstr ""
|
|||
|
"BOB это <a href=\"%(bob)s\">Basic Open Bridge</a>,\n"
|
|||
|
"он позволяет приложениям на любом языке создавать потоковые подключения \n"
|
|||
|
"в и из I2P. В настоящий момент времени в нем нет поддержки UDP, но "
|
|||
|
"поддержка UDP\n"
|
|||
|
"запланирована на ближайшее будущее. BOB также содержит несколько утилит, "
|
|||
|
"таких как \n"
|
|||
|
"удаленная генерация ключа, и проверка того, что адрес соответствует \n"
|
|||
|
"спецификации I2P. Актуальную информацию и приложения, использующие BOB "
|
|||
|
"можно \n"
|
|||
|
"найти это этом <a href=\"http://%(boburl)s/\">eepsite</a>."
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/develop/applications.html:217
|
|||
|
msgid "SAM is not recommended. SAM V2 is okay, SAM V3 is recommended."
|
|||
|
msgstr "SAM не рекомендован. SAM V2 одобрен, SAM V3 рекомендован."
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/develop/applications.html:218
|
|||
|
#, python-format
|
|||
|
msgid ""
|
|||
|
"SAM is the <a href=\"%(sam)s\">Simple Anonymous Messaging</a> protocol, "
|
|||
|
"allowing an\n"
|
|||
|
"application written in any language to talk to a SAM bridge through a "
|
|||
|
"plain TCP socket and have\n"
|
|||
|
"that bridge multiplex all of its I2P traffic, transparently coordinating "
|
|||
|
"the encryption/decryption\n"
|
|||
|
"and event based handling. SAM supports three styles of operation:"
|
|||
|
msgstr ""
|
|||
|
"SAM это протокол <a href=\"%(sam)s\">Simple Anonymous Messaging</a> , он "
|
|||
|
"позволяет\n"
|
|||
|
"приложению, написанному на любом языке, обращаться к мосту SAM через TCP "
|
|||
|
"сокет и давать\n"
|
|||
|
"этому мосту мультиплицировать весь трафик I2P, прозрачно координирующему "
|
|||
|
"шифрование/дешифрование\n"
|
|||
|
"и обработку событий. SAM поддерживает три типа операций:"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/develop/applications.html:225
|
|||
|
msgid ""
|
|||
|
"streams, for when Alice and Bob want to send data to each other reliably "
|
|||
|
"and in order"
|
|||
|
msgstr ""
|
|||
|
"потоки, для случая если Alice и Bob хотят отсылать друг другу данные "
|
|||
|
"надежно и упорядочено"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/develop/applications.html:228
|
|||
|
msgid ""
|
|||
|
"repliable datagrams, for when Alice wants to send Bob a message that Bob "
|
|||
|
"can reply to"
|
|||
|
msgstr ""
|
|||
|
"repliable дейтаграммы, для случая когда Alice хочет отослать сообщение "
|
|||
|
"Bob'у, на которое Bob может ответить"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/develop/applications.html:231
|
|||
|
msgid ""
|
|||
|
"raw datagrams, for when Alice wants to squeeze the most bandwidth and "
|
|||
|
"performance as possible,\n"
|
|||
|
"and Bob doesn't care whether the data's sender is authenticated or not "
|
|||
|
"(e.g. the data transferred\n"
|
|||
|
"is self authenticating)"
|
|||
|
msgstr ""
|
|||
|
"raw дейтаграммы, для случая если Alice хочет выжать максимум из "
|
|||
|
"пропускной способности канала и из проиводительности,\n"
|
|||
|
"и Bob'у не важно - аутентифицирован ли отправитель данных или нет (т.к. "
|
|||
|
"передаваемые данные \n"
|
|||
|
"сами по себе аутентифицированы)"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/develop/applications.html:237
|
|||
|
msgid ""
|
|||
|
"SAM V3 aims at the same goal as SAM and SAM V2, but does not require\n"
|
|||
|
"multiplexing/demultiplexing. Each I2P stream is handled by its own socket"
|
|||
|
" between the application\n"
|
|||
|
"and the SAM bridge. Besides, datagrams can be sent and received by the "
|
|||
|
"application through datagram\n"
|
|||
|
"communications with the SAM bridge."
|
|||
|
msgstr ""
|
|||
|
"SAM V3 служит тем же целям, что и SAM и SAM V2, но он не нуждается в\n"
|
|||
|
"мультиплицировании/демультиплицировании. Каждый поток I2P обрабатывается "
|
|||
|
"собственным сокетом между приложением\n"
|
|||
|
"и мостом SAM. Кроме того, дейтаграммы могут отправляться и приниматься "
|
|||
|
"приложением через обмен дейтаграммами\n"
|
|||
|
"с мостом SAM."
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/develop/applications.html:244
|
|||
|
#, python-format
|
|||
|
msgid ""
|
|||
|
"<a href=\"%(samv2)s\">SAM V2</a> is a new version used by imule\n"
|
|||
|
"that fixes some of the problems in <a href=\"%(sam)s\">SAM</a>.\n"
|
|||
|
"<br />\n"
|
|||
|
"<a href=\"%(samv3)s\">SAM V3</a> is used by imule since version 1.4.0."
|
|||
|
msgstr ""
|
|||
|
"<a href=\"%(samv2)s\">SAM V2</a> это новая версия, используемая imule,\n"
|
|||
|
"которая исправляет некоторые проблемы <a href=\"%(sam)s\">SAM</a>.\n"
|
|||
|
"<br />\n"
|
|||
|
"<a href=\"%(samv3)s\">SAM V3</a> используется imule с версии 1.4.0."
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/develop/applications.html:252
|
|||
|
msgid ""
|
|||
|
"The I2PTunnel application allows applications to build specific TCP-like "
|
|||
|
"tunnels to peers \n"
|
|||
|
"by creating either I2PTunnel 'client' applications (which listen on a "
|
|||
|
"specific port and connect\n"
|
|||
|
"to a specific I2P destination whenever a socket to that port is opened) "
|
|||
|
"or I2PTunnel 'server'\n"
|
|||
|
"applications (which listen to a specific I2P destination and whenever it "
|
|||
|
"gets a new I2P \n"
|
|||
|
"connection it outproxies to a specific TCP host/port). These streams are"
|
|||
|
" 8-bit clean, and are\n"
|
|||
|
"authenticated and secured through the same streaming library that SAM "
|
|||
|
"uses, but there is a \n"
|
|||
|
"nontrivial overhead involved with creating multiple unique I2PTunnel "
|
|||
|
"instances, since each have\n"
|
|||
|
"their own unique I2P destination and their own set of tunnels, keys, etc."
|
|||
|
msgstr ""
|
|||
|
"Приложение I2PTunnel позволяет программам строить особый TCP-подобный "
|
|||
|
"туннель к узлам, \n"
|
|||
|
"создавая или \"клиентское\" приложение I2PTunnel (которое слушает "
|
|||
|
"определенный порт и подключается \n"
|
|||
|
"к определенному пункту назначения I2P, если открывается сокет на этом "
|
|||
|
"порту) или \"серверное\" приложение \n"
|
|||
|
"I2PTunnel (которое слушает определенный пункт назначения I2P и все новые "
|
|||
|
"подключения I2P \n"
|
|||
|
"проксирует на определенную пару хост/порт TCP). Эти потоки 8-битны, и \n"
|
|||
|
"аутентифицированы и обеспечены безопасностью с помощью той же потоковой "
|
|||
|
"библиотеки, которую использует SAM, но при этом\n"
|
|||
|
"нетривиально увеличиваются накладные расходы при создании нескольких "
|
|||
|
"уникальных экземпляров I2PTunnel, т.к. у кадого из них\n"
|
|||
|
"есть уникальный пункт назначения I2P и собственный набор туннелей, ключей"
|
|||
|
" и т.п."
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/develop/applications.html:264
|
|||
|
msgid ""
|
|||
|
"I2P supports a SOCKS V4 and V5 proxy.\n"
|
|||
|
"Outbound connections work well. Inbound (server) and UDP functionality "
|
|||
|
"may be incomplete\n"
|
|||
|
"and untested."
|
|||
|
msgstr ""
|
|||
|
"I2P поддерживает SOCKS V4 и V5 прокси.\n"
|
|||
|
"Исходящие соединения работают хорошо. Входящие соединения (на сервер) и "
|
|||
|
"функциональность UDP могут работать не полностью \n"
|
|||
|
"и не протестированы."
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/develop/applications.html:271
|
|||
|
msgid "Removed"
|
|||
|
msgstr "Удалено"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/develop/applications.html:272
|
|||
|
msgid ""
|
|||
|
"There used to be a simple \"ministreaming\" library,\n"
|
|||
|
"but now ministreaming.jar contains only the interfaces for the full "
|
|||
|
"streaming library."
|
|||
|
msgstr ""
|
|||
|
"Раньше была простая библиотека \"ministreaming\", \n"
|
|||
|
"но теперь ministreaming.jar содержит только интерфейс к полной потоковой "
|
|||
|
"библиотеке."
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/develop/applications.html:277
|
|||
|
msgid "Datagrams"
|
|||
|
msgstr "Дейтаграммы"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/develop/applications.html:278
|
|||
|
msgid "Recommended for UDP-like applications"
|
|||
|
msgstr "Рекомендовано для UDP-подобных приложений"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/develop/applications.html:279
|
|||
|
#, python-format
|
|||
|
msgid ""
|
|||
|
"The <a href=\"%(datagrams)s\">Datagram library</a> allows sending UDP-"
|
|||
|
"like packets.\n"
|
|||
|
"It's possible to use:"
|
|||
|
msgstr ""
|
|||
|
"<a href=\"%(datagrams)s\">Библиотека дейтаграмм</a> позволяет отсылать "
|
|||
|
"UDP-подобные пакеты.\n"
|
|||
|
"Можно использовать:"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/develop/applications.html:284
|
|||
|
msgid "Repliable datagrams"
|
|||
|
msgstr "Дейтаграммы с возможностью ответа"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/develop/applications.html:285
|
|||
|
msgid "Raw datagrams"
|
|||
|
msgstr "Raw дейтаграммы"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/develop/applications.html:289
|
|||
|
msgid "Not recommended"
|
|||
|
msgstr "Не рекомендовано"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/develop/applications.html:290
|
|||
|
#, python-format
|
|||
|
msgid ""
|
|||
|
"<a href=\"%(i2cp)s\">I2CP</a> itself is a language independent protocol, "
|
|||
|
"but to implement an I2CP library \n"
|
|||
|
"in something other than Java there is a significant amount of code to be "
|
|||
|
"written (encryption routines, \n"
|
|||
|
"object marshalling, asynchronous message handling, etc). While someone "
|
|||
|
"could write an I2CP library in \n"
|
|||
|
"C or something else, it would most likely be more useful to use the C SAM"
|
|||
|
" library instead."
|
|||
|
msgstr ""
|
|||
|
"Сам по себе <a href=\"%(i2cp)s\">I2CP</a> это независящий от протокола "
|
|||
|
"язык, но нужно написать \n"
|
|||
|
"тонну кода, чтобы внедрить библиотеку I2CP в отличный от Java язык "
|
|||
|
"(подпрограммы шифрования, \n"
|
|||
|
"сортировка объектов, асинхронная обработка сообщений, и т.д.). Если бы "
|
|||
|
"кто-то смог написать библиотеку I2CP \n"
|
|||
|
"на C или чем-то еще, было бы удобнее использовать вместо этого C "
|
|||
|
"библиотеку SAM."
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/develop/applications.html:297
|
|||
|
msgid "Web Applications"
|
|||
|
msgstr "Веб приложения"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/develop/applications.html:298
|
|||
|
msgid ""
|
|||
|
"I2P comes with the Jetty webserver, and configuring to use the Apache "
|
|||
|
"server instead is straightforward.\n"
|
|||
|
"Any standard web app technology should work."
|
|||
|
msgstr ""
|
|||
|
"I2P поставляется с веб-сервером Jetty, но проще вместо этого использовать"
|
|||
|
" сервер Apache. \n"
|
|||
|
"Любая стандартная веб-технология должна работать."
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/develop/applications.html:304
|
|||
|
msgid ""
|
|||
|
"Developing using I2P requires a working I2P installation and a "
|
|||
|
"development environment of your own choice.\n"
|
|||
|
"If you are using Java, you can start development with the <a "
|
|||
|
"href=\"#start.streaming\">streaming library</a> or datagram library.\n"
|
|||
|
"Using another programming language, SAM or BOB can be used."
|
|||
|
msgstr ""
|
|||
|
"Для разработки I2P необходима работающая установка I2P и среда разработки"
|
|||
|
" на ваш выбор. \n"
|
|||
|
"Если вы используете Java, вы можете начать разработку с <a "
|
|||
|
"href=\"#start.streaming\">потоковой библиотекой</a> или библиотекой "
|
|||
|
"дейтаграмм.\n"
|
|||
|
"Для другого языка программирования можно использовать SAM или BOB."
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/develop/applications.html:310
|
|||
|
msgid "Developing with the streaming library"
|
|||
|
msgstr "Разработка с потоковой библиотекой"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/develop/applications.html:312
|
|||
|
msgid ""
|
|||
|
"The following example shows how to create TCP-like client and server "
|
|||
|
"applications\n"
|
|||
|
"using the streaming library."
|
|||
|
msgstr ""
|
|||
|
"Следующий пример показывает как создать TCP-подобные приложения клиент и "
|
|||
|
"сервер, \n"
|
|||
|
"используя потоковую библиотеку."
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/develop/applications.html:317
|
|||
|
msgid "This will require the following libraries in your classpath:"
|
|||
|
msgstr "Для этого потребуются следующие библиотека в вашем classpath:"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/develop/applications.html:321
|
|||
|
msgid "The streaming library itself"
|
|||
|
msgstr "Сама потоковая библиотека"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/develop/applications.html:322
|
|||
|
msgid "Factory and interfaces for the streaming library"
|
|||
|
msgstr "Фабрика или интерфейс к потоковой библиотеке"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/develop/applications.html:323
|
|||
|
msgid "Standard I2P classes, data structures, API, and utilities"
|
|||
|
msgstr "Стандартные классы I2P, структуры данных, API и утилиты"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/develop/applications.html:326
|
|||
|
msgid ""
|
|||
|
"Network communication requires the usage of I2P network sockets.\n"
|
|||
|
"To demonstrate this, we will create an application where a client can "
|
|||
|
"send text messages to a server,\n"
|
|||
|
"who will print the messages and send them back to the client. In other "
|
|||
|
"words, the server will function as an echo."
|
|||
|
msgstr ""
|
|||
|
"Для сетевого подключения нужно использовать сетевые сокеты I2P.\n"
|
|||
|
"Чтобы продемонстрировать это, мы создадим приложение, в котором клиент "
|
|||
|
"может отослать текстовое сообщение на сервер, \n"
|
|||
|
"которые напечатает сообщение и отправит его обратно клиенту. Другими "
|
|||
|
"словами, сервер будет работать как эхо."
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/develop/applications.html:331
|
|||
|
msgid ""
|
|||
|
"We will start by initializing the server application. This requires "
|
|||
|
"getting an I2PSocketManager\n"
|
|||
|
"and creating an I2PServerSocket.\n"
|
|||
|
"We will not provide the I2PSocketManagerFactory with the saved keys for "
|
|||
|
"an existing Destination,\n"
|
|||
|
"so it will create a new Destination for us.\n"
|
|||
|
"So we will ask the I2PSocketManager for an I2PSession, so we can find out"
|
|||
|
" the Destination that\n"
|
|||
|
"was created, as we will need to copy and paste that information later so "
|
|||
|
"the client can connect to us."
|
|||
|
msgstr ""
|
|||
|
"Начнем с инициализации серверного приложения. Для этого нужно получить "
|
|||
|
"I2PSocketManager \n"
|
|||
|
"и создать I2PServerSocket.\n"
|
|||
|
"Мы не передадим в I2PSocketManagerFactory сохраненные ключи для "
|
|||
|
"существующего пункта назначения, \n"
|
|||
|
"т.о. он создаст для нас новый пункт назначения.\n"
|
|||
|
"Вобщем мы запросим I2PSession у I2PSocketManager, и выясним что за пункт "
|
|||
|
"назначения \n"
|
|||
|
"был создан, т.к. нам нужно скопировать и вставить эту информацию позже, "
|
|||
|
"чтобы клиент к нам мог подключиться."
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/develop/applications.html:362
|
|||
|
msgid "Code example 1: initializing the server application."
|
|||
|
msgstr "Пример кода 1: инициализация серверного приложения."
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/develop/applications.html:364
|
|||
|
msgid ""
|
|||
|
"Once we have an I2PServerSocket, we can create I2PSocket instances to "
|
|||
|
"accept connections from clients.\n"
|
|||
|
"In this example, we will create a single I2PSocket instance, that can "
|
|||
|
"only handle one client at a time.\n"
|
|||
|
"A real server would have to be able to handle multiple clients.\n"
|
|||
|
"To do this, multiple I2PSocket instances would have to be created, each "
|
|||
|
"in separate threads.\n"
|
|||
|
"Once we have created the I2PSocket instance, we read data, print it and "
|
|||
|
"send it back to the client.\n"
|
|||
|
"The bold code is the new code we add."
|
|||
|
msgstr ""
|
|||
|
"Поскольку у нас есть I2PServerSocket, мы можем создать экземпляр "
|
|||
|
"I2PSocket для приема подключений клиентов. \n"
|
|||
|
"В этом примере мы создадим один экземпляр I2PSocket, который может "
|
|||
|
"обработать за раз только одного клиента. \n"
|
|||
|
"Реальный сервер может обработать несколько клиентов. \n"
|
|||
|
"Для этого нужно создать несколько экземпляров I2PSocket, каждый в "
|
|||
|
"отдельном потоке. \n"
|
|||
|
"Как только мы создали экземпляр I2PSocket, мы читаем данные, печатаем их "
|
|||
|
"и отправляем обратно клиенту. \n"
|
|||
|
"Жирным выделен добавленный нами код."
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/develop/applications.html:448
|
|||
|
msgid "Code example 2: accepting connections from clients and handling messages."
|
|||
|
msgstr "Пример кода 2: прием подключений клиентов и обработка сообщений."
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/develop/applications.html:452
|
|||
|
msgid ""
|
|||
|
"When you run the above server code, it should print something like this "
|
|||
|
"(but without the line endings, it should just be\n"
|
|||
|
"one huge block of characters):"
|
|||
|
msgstr ""
|
|||
|
"Когда вы выполните описанный выше код, он должен будет напечатать что-то "
|
|||
|
"вроде этого (только без символов окончания строки, \n"
|
|||
|
"должен быть всего лишь один большой блок символов):"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/develop/applications.html:466
|
|||
|
msgid ""
|
|||
|
"This is the base64-representation of the server Destination. The client "
|
|||
|
"will need this string to reach the server."
|
|||
|
msgstr ""
|
|||
|
"Это base64 представление серверного пункта назначения. Клиенту "
|
|||
|
"понадобится эта строка, чтобы достучаться до сервера."
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/develop/applications.html:470
|
|||
|
msgid ""
|
|||
|
"Now, we will create the client application. Again, a number of steps are "
|
|||
|
"required for initialization.\n"
|
|||
|
"Again, we will need to start by getting an I2PSocketManager.\n"
|
|||
|
"We won't use an I2PSession and an I2PServerSocket this time.\n"
|
|||
|
"Instead, we will use the server Destination string to start our "
|
|||
|
"connection.\n"
|
|||
|
"We will ask the user for the Destination string, and create an I2PSocket "
|
|||
|
"using this string.\n"
|
|||
|
"Once we have an I2PSocket, we can start sending and receiving data to and"
|
|||
|
" from the server."
|
|||
|
msgstr ""
|
|||
|
"Теперь создадим клиентское приложение. И опять, для инициализации "
|
|||
|
"понадобятся несколько шагов.\n"
|
|||
|
"Также нам нужно начать с получения I2PSocketManager.\n"
|
|||
|
"Теперь мы не будем использовать I2PSession и I2PServerSocket. \n"
|
|||
|
"Вместо этого мы используем строку пункта назначения сервера чтобы начать "
|
|||
|
"соединение. \n"
|
|||
|
"Мы запросим у пользователя строку пункта назначения, и создадим "
|
|||
|
"I2PSocket, используя эту строку. \n"
|
|||
|
"Ну, и т.к. у нас есть I2PSocket, мы можем начать отправку и получение "
|
|||
|
"данных с сервера."
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/develop/applications.html:554
|
|||
|
msgid ""
|
|||
|
"Code example 3: starting the client and connecting it to the server "
|
|||
|
"application."
|
|||
|
msgstr "Пример кода 3: запуск клиента и подключение к приложению сервера."
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/develop/applications.html:556
|
|||
|
msgid ""
|
|||
|
"Finally, you can run both the server and the client application.\n"
|
|||
|
"First, start the server application. It will print a Destination string "
|
|||
|
"(like shown <a href=\"#start.streaming.destination\">above</a>).\n"
|
|||
|
"Next, start the client application. When it requests a Destination "
|
|||
|
"string, you can enter the string printed by the server.\n"
|
|||
|
"The client will then send 'Hello I2P!' (along with a newline) to the "
|
|||
|
"server, who will print the message and send it back to the client."
|
|||
|
msgstr ""
|
|||
|
"Наконец-то, мы можем запустить приложения клиента и сервера.\n"
|
|||
|
"Сначала запускаем серверное приложение. Оно напечатает строку пункта "
|
|||
|
"назначения (как показано <a "
|
|||
|
"href=\"#start.streaming.destination\">выше</a>).\n"
|
|||
|
"Затем запускаем клиентское приложение. Когда оно запросит строку пункта "
|
|||
|
"назначения, вы можете ввести строку, напечатанную сервером. \n"
|
|||
|
"Клиент отправит 'Hello I2P!' (с переводом строки) на сервер, который "
|
|||
|
"напечатает сообщение и отправит его обратно клиенту."
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/develop/applications.html:562
|
|||
|
msgid "Congratulations, you have successfully communicated over I2P!"
|
|||
|
msgstr "Поздравляем, вы успешно подключились через I2P!"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/develop/applications.html:566
|
|||
|
msgid "Existing Applications"
|
|||
|
msgstr "Существующие приложения"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/develop/applications.html:567
|
|||
|
msgid "Contact us if you would like to contribute."
|
|||
|
msgstr "Свяжитесь с нами, если вы ходит сотрудничать."
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/develop/applications.html:588
|
|||
|
msgid "Application Ideas"
|
|||
|
msgstr "Идеи приложений"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/develop/applications.html:590
|
|||
|
msgid "NNTP server - there have been some in the past, none at the moment"
|
|||
|
msgstr "NNTP сервер - это было в прошлом, не сейчас"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/develop/applications.html:593
|
|||
|
msgid ""
|
|||
|
"Jabber server - there have been some in the past, and there is one at the"
|
|||
|
" moment, with access to the public internet"
|
|||
|
msgstr ""
|
|||
|
"Jabber сервер - что-то в прошлом было, и сейчас есть один, с доступом к "
|
|||
|
"публичному internet"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/develop/applications.html:596
|
|||
|
msgid "PGP Key server and/or proxy"
|
|||
|
msgstr "PGP Key сервер и/или прокси"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/develop/applications.html:599
|
|||
|
msgid ""
|
|||
|
"Content Distribution / DHT applications - resurrect feedspace,\n"
|
|||
|
"port dijjer, look for alternatives"
|
|||
|
msgstr ""
|
|||
|
"Распределение контента / DHT приложения - воскрешение feedspace, \n"
|
|||
|
"портирование dijjer, ищем альтернативы"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/develop/applications.html:603
|
|||
|
msgid "Help out with <a href=\"http://syndie.i2p2.de/\">Syndie</a> development"
|
|||
|
msgstr "Помощь в разработке <a href=\"http://syndie.i2p2.de/\">Syndie</a>"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/develop/applications.html:606
|
|||
|
msgid ""
|
|||
|
"Web-based applications - The sky is the limit for hosting web-server-"
|
|||
|
"based\n"
|
|||
|
"applications such as blogs, pastebins, storage, tracking, feeds, etc.\n"
|
|||
|
"Any web or CGI technology such as Perl, PHP, Python, or Ruby will work."
|
|||
|
msgstr ""
|
|||
|
"Основанные на веб приложения - безграничные возможности для размещения "
|
|||
|
"web-server-based \n"
|
|||
|
"приложений, таких как блоги, записки, хранилище, отслеживание, фиды и "
|
|||
|
"т.д. \n"
|
|||
|
"Будет работать любая веб или CGI технология, такие как Perl, Python или "
|
|||
|
"Ruby."
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/develop/applications.html:611
|
|||
|
msgid ""
|
|||
|
"Resurrect some old apps, several previously in the i2p source package -\n"
|
|||
|
"bogobot, pants, proxyscript, q, stasher, socks proxy, i2ping, feedspace"
|
|||
|
msgstr ""
|
|||
|
"Воскресить некоторые старые приложения, которые прежде были в пакете "
|
|||
|
"исходников I2P - \n"
|
|||
|
"bogobot, pants, proxyscript, q, stasher, socks proxy, i2ping, feedspace"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/develop/developers-keys.html:2
|
|||
|
msgid "I2P Developer's MTN Keys"
|
|||
|
msgstr "Ключи I2P Developer's MTN"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/develop/developers-keys.html:4
|
|||
|
msgid ""
|
|||
|
"Monotone servers used by the I2P project require two types of keys to be "
|
|||
|
"used."
|
|||
|
msgstr ""
|
|||
|
"Для серверов Monotone, используемых в проекте I2P, нужно использовать два"
|
|||
|
" типа ключей."
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/develop/developers-keys.html:8
|
|||
|
msgid ""
|
|||
|
"<a href=\"#commit\">Commit Keys</a> to sign changes checked-in to the "
|
|||
|
"respository; and"
|
|||
|
msgstr ""
|
|||
|
"<a href=\"#commit\">Commit Keys</a> для подписывания вносимых в "
|
|||
|
"репозиторий изменений; и"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/develop/developers-keys.html:9
|
|||
|
msgid ""
|
|||
|
"<a href=\"#transport\">Transport Keys</a> to push changes to remote "
|
|||
|
"servers."
|
|||
|
msgstr ""
|
|||
|
"<a href=\"#transport\">Transport Keys</a> для отправки изменений на "
|
|||
|
"удаленные сервера."
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/develop/developers-keys.html:12
|
|||
|
#, python-format
|
|||
|
msgid ""
|
|||
|
"Everyone that uses Monotone to checkout the I2P codebase will need to\n"
|
|||
|
"<a href=\"%(monotone)s#obtaining-and-deploying-developers-"
|
|||
|
"keys\">import</a> the\n"
|
|||
|
"developer commit keys, but only Monotone <a "
|
|||
|
"href=\"%(monotone)s#operating-a-monotone-server\">\n"
|
|||
|
"server operators</a> will need to import the <a "
|
|||
|
"href=\"#transport\">transport keys</a>."
|
|||
|
msgstr ""
|
|||
|
"Все кто используют Monotone выборки данных из базы кодов I2P, должны\n"
|
|||
|
"<a href=\"%(monotone)s#obtaining-and-deploying-developers-"
|
|||
|
"keys\">импортировать</a> commit keys \n"
|
|||
|
"разработчиков, но только <a href=\"%(monotone)s#operating-a-monotone-"
|
|||
|
"server\">\n"
|
|||
|
"операторы сервера</a> Monotone должны импортировать <a "
|
|||
|
"href=\"#transport\">transport keys</a>."
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/develop/developers-keys.html:19
|
|||
|
msgid "Developer Commit keys"
|
|||
|
msgstr "Commit ключи разработчиков"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/develop/developers-keys.html:254
|
|||
|
msgid "Developer Transport Keys"
|
|||
|
msgstr "Transport ключи разработчиков"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/develop/developers-keys.html:255
|
|||
|
#, python-format
|
|||
|
msgid ""
|
|||
|
"<b>Note:</b> Transport keys are only needed for setting up a\n"
|
|||
|
"<a href=\"%(monotone)s#operating-a-monotone-server\">Monotone server</a>."
|
|||
|
msgstr ""
|
|||
|
"<b>Примечание:</b> Transport ключи нужны только для установки\n"
|
|||
|
"<a href=\"%(monotone)s#operating-a-monotone-server\">Monotone server</a>."
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/develop/license-agreements.html:2
|
|||
|
msgid "License Agreements"
|
|||
|
msgstr "Лицензионное соглашение"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/develop/license-agreements.html:5
|
|||
|
#, python-format
|
|||
|
msgid "For more information see <a href=\"%(licenses)s\">the licenses page</a>."
|
|||
|
msgstr "Более подробно смотри на <a href=\"%(licenses)s\">странице лицензии</a>."
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/develop/license-agreements.html:8
|
|||
|
msgid ""
|
|||
|
"Following is a monotonerc file defining the current trust list.\n"
|
|||
|
"Developers must use this file in ~/.monotone/monotonerc or\n"
|
|||
|
"_MTN/montonerc in their i2p.i2p workspace."
|
|||
|
msgstr ""
|
|||
|
"Далее следует файл monotonerc, определяющий текущий лист доверия.\n"
|
|||
|
"Разработчики должи использовать этот файл в ~/.monotone/monotonerc или\n"
|
|||
|
"_MTN/montonerc в своем рабочем пространстве i2p.i2p."
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/develop/license-agreements.html:17
|
|||
|
msgid "Agreements"
|
|||
|
msgstr "Соглашения"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/develop/licenses.html:2
|
|||
|
msgid "I2P Software Licenses"
|
|||
|
msgstr "Лицензии ПО I2P"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/develop/licenses.html:4
|
|||
|
#, python-format
|
|||
|
msgid ""
|
|||
|
"As required by our\n"
|
|||
|
"<a href=\"%(threatmodel)s\">threat model</a> (among other reasons), the \n"
|
|||
|
"software developed to support the anonymous communication \n"
|
|||
|
"network we call I2P must be freely available, open source, \n"
|
|||
|
"and user modifiable. To meet these criteria, we make use of\n"
|
|||
|
"a variety of legal and software engineering techniques so\n"
|
|||
|
"as to remove as many barriers to entry for those considering\n"
|
|||
|
"making use of or contributing to the I2P effort."
|
|||
|
msgstr ""
|
|||
|
"Как того требует наша\n"
|
|||
|
"<a href=\"%(threatmodel)s\">модель угроз</a> (наряду с другими "
|
|||
|
"причинами), \n"
|
|||
|
"ПО, разработанное для поддержки анонимной сети связи, \n"
|
|||
|
"которую мы называем I2P, должно быть свободно доступно, с открытым "
|
|||
|
"исходным кодом \n"
|
|||
|
"и изменяемым пользователем. Чтобы соответствовать этим требованиям, мы "
|
|||
|
"используем \n"
|
|||
|
"множество правовых техник и техник инженерии ПО, чтобы \n"
|
|||
|
"устранить как можно больше барьеров для подключения тех, кто \n"
|
|||
|
"рассматривает возможность использовать или способствует развитию I2P."
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/develop/licenses.html:15
|
|||
|
msgid ""
|
|||
|
"While the information below may be more confusing than just simply \n"
|
|||
|
"stating \"I2P is BSD\", \"I2P is GPL\", or \"I2P is public domain\",\n"
|
|||
|
"the short answer to the question \"How is I2P licensed?\" is this:"
|
|||
|
msgstr ""
|
|||
|
"Т.к. информация, представленная ниже, может быть более запутанно, чем "
|
|||
|
"простые \n"
|
|||
|
"утверждения \"I2P это BSD\", \"I2P это GPL\", или \"I2P это публичный "
|
|||
|
"домен\",\n"
|
|||
|
"то приведем короткий ответ на вопрос \"Как лицензируется I2P?\":"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/develop/licenses.html:21
|
|||
|
msgid "All software bundled in the I2P distributions will allow:"
|
|||
|
msgstr "Все ПО, включенное в поставку I2P, позволяет:"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/develop/licenses.html:23
|
|||
|
msgid "use without fee"
|
|||
|
msgstr "пользоваться бесплатно"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/develop/licenses.html:24
|
|||
|
msgid ""
|
|||
|
"use with no restrictions on how, when, where, why, or by whom is running "
|
|||
|
"it"
|
|||
|
msgstr "пользоваться без ограничений как, когда, где, почему или кем оно запущено"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/develop/licenses.html:25
|
|||
|
msgid "access to the source code without fee"
|
|||
|
msgstr "получать доступ к исходникам бесплатно"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/develop/licenses.html:26
|
|||
|
msgid "modifications to the source"
|
|||
|
msgstr "изменять исходный код"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/develop/licenses.html:29
|
|||
|
msgid ""
|
|||
|
"Most of the software guarantees much more - the ability of <b>anyone</b> "
|
|||
|
"to \n"
|
|||
|
"distribute the modified source however they choose. However, not all of "
|
|||
|
"the \n"
|
|||
|
"software bundled provides this freedom - the GPL restricts the ability of"
|
|||
|
" \n"
|
|||
|
"developers who wish to integrate I2P with their own applications that are"
|
|||
|
" not \n"
|
|||
|
"themselves open source applications. While we applaud the noble goals of"
|
|||
|
" \n"
|
|||
|
"increasing the resources in the commons, I2P is best served by removing "
|
|||
|
"any\n"
|
|||
|
"barriers that stand in the way of its adoption - if a developer "
|
|||
|
"considering whether\n"
|
|||
|
"they can integrate I2P with their application has to stop and check with "
|
|||
|
"their lawyer,\n"
|
|||
|
"or conduct a code audit to make sure their own source can be released as "
|
|||
|
"GPL-compatible,\n"
|
|||
|
"we lose out."
|
|||
|
msgstr ""
|
|||
|
"Большинство приложений гарантирует гораздо больше - возможность "
|
|||
|
"<b>любому</b> \n"
|
|||
|
"распространять измененные исходники по его выбору. Тем не менее, не все \n"
|
|||
|
"включенное ПО предоставляет эту возможность - GPL ограничивает "
|
|||
|
"возможность \n"
|
|||
|
"разработчиков, желающих интегрировать I2P с их собственными приложениями,"
|
|||
|
" которые \n"
|
|||
|
"сами не являются приложениями с открытым исходным кодом. В то время как "
|
|||
|
"мы \n"
|
|||
|
"в общем-то приветствуем благородные цели увеличения ресурсов, I2P будет "
|
|||
|
"лучше без любых \n"
|
|||
|
"ограничений, которые стоят на пути его принятия - если разработчик будет "
|
|||
|
"рассматривать \n"
|
|||
|
"возможность интеграции I2P со своим приложением, он должен посоветоваться"
|
|||
|
" со своим адвокатом, \n"
|
|||
|
"или провести аудит кода, чтобы быть уверенным, что его код может быть "
|
|||
|
"выпущен под лицензией GPL,\n"
|
|||
|
"мы от этого проигрываем."
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/develop/licenses.html:42
|
|||
|
msgid "Component licenses"
|
|||
|
msgstr "Лицензии компонентов"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/develop/licenses.html:43
|
|||
|
msgid ""
|
|||
|
"The I2P distribution contains several resources, reflecting the "
|
|||
|
"partitioning of \n"
|
|||
|
"the source code into components. Each component has its own license, "
|
|||
|
"which all \n"
|
|||
|
"developers who contribute to it agree to - either by explicitly declaring"
|
|||
|
" the release\n"
|
|||
|
"of code committed under a license compatible with that component, or by "
|
|||
|
"implicitly\n"
|
|||
|
"releasing the code committed under the component's primary license. Each"
|
|||
|
" of these \n"
|
|||
|
"components has a lead developer who has the final say as to what license "
|
|||
|
"is compatible\n"
|
|||
|
"with the component's primary license, and the I2P project manager has the"
|
|||
|
" final say as\n"
|
|||
|
"to what licenses meet the above four guarantees for inclusion in the I2P "
|
|||
|
"distribution."
|
|||
|
msgstr ""
|
|||
|
"Поставка I2P содержит несколько ресурсов, отражающих разделение \n"
|
|||
|
"исходного кода на компоненты. У каждого компонента своя лицензия, с "
|
|||
|
"которой \n"
|
|||
|
"соглашаются все его разработчики - либо непосредственно объявляя \n"
|
|||
|
"об этом при релизе исходного кода зафиксированного под лицензией, "
|
|||
|
"совместимой с этим компонентом, либо \n"
|
|||
|
"опосредованно при релизе исходного кода зафиксированного под главной "
|
|||
|
"лицензией компонента. У каждого из этих \n"
|
|||
|
"компонентов есть главный разработчик, который говорит совместима ли "
|
|||
|
"лицензия \n"
|
|||
|
"с главной лицензией компонента, и менеджер проекта I2P, который говорит \n"
|
|||
|
"подходит ли лицензия ко всем четырем требованиям для включения в поставку"
|
|||
|
" I2P."
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/develop/licenses.html:56
|
|||
|
msgid "Component"
|
|||
|
msgstr "Компонент"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/develop/licenses.html:57
|
|||
|
msgid "Source path"
|
|||
|
msgstr "Исходный путь"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/develop/licenses.html:58
|
|||
|
msgid "Resource"
|
|||
|
msgstr "Ресурс"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/develop/licenses.html:59
|
|||
|
msgid "Primary license"
|
|||
|
msgstr "Главная лицензия"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/develop/licenses.html:60
|
|||
|
msgid "Alternate licenses"
|
|||
|
msgstr "Альтернативная лицензия"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/develop/licenses.html:61
|
|||
|
msgid "Lead developer"
|
|||
|
msgstr "Главные разработчик"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/develop/licenses.html:270
|
|||
|
msgid "GPL + java exception"
|
|||
|
msgstr "Исключение для GPL + Java"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/develop/licenses.html:271
|
|||
|
#, python-format
|
|||
|
msgid ""
|
|||
|
"While it may be redundant, just for clarity the\n"
|
|||
|
"<a href=\"%(gpl)s\">GPL</a>'ed code included within\n"
|
|||
|
"I2PTunnel and other apps must be released under the GPL with an "
|
|||
|
"additional \"exception\"\n"
|
|||
|
"explicitly authorizing the use of Java's standard libraries:"
|
|||
|
msgstr ""
|
|||
|
"Не смотря на то, что это может быть избыточным, просто чтобы внести "
|
|||
|
"ясность в \n"
|
|||
|
"код под <a href=\"%(gpl)s\">GPL</a>, включенный в \n"
|
|||
|
"I2PTunnel и другие приложения, должны быть предоставлены под GPL с "
|
|||
|
"дополнительным \"исключением\", \n"
|
|||
|
"непосредственно дающим право использовать стандартные библиотеки Java:"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/develop/licenses.html:287
|
|||
|
msgid ""
|
|||
|
"All source code under each component will by default be licensed under "
|
|||
|
"the\n"
|
|||
|
"primary license, unless marked otherwise in the code. All of the above "
|
|||
|
"is\n"
|
|||
|
"summary of the license terms - please see the specific license for the "
|
|||
|
"component\n"
|
|||
|
"or source code in question for authoritative terms. Component source "
|
|||
|
"locations and\n"
|
|||
|
"resource packaging may be changed if the repository is reorganized."
|
|||
|
msgstr ""
|
|||
|
"По умолчанию, весь исходный код каждого компонента лицензируется по \n"
|
|||
|
"главной лицензии, если иное не указано в коде. Все сказанное выше - \n"
|
|||
|
"суть условий лицензирования - в случае возникновения вопросов об особых "
|
|||
|
"условиях \n"
|
|||
|
"лицензирования, смотри лицензионные соглашения соответствующего исходного"
|
|||
|
" кода или компонента. \n"
|
|||
|
"В случае реорганизации хранилища расположение исходных кодов компонентов "
|
|||
|
"и пакетов может быть изменено."
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/develop/licenses.html:295
|
|||
|
msgid "Commit privileges"
|
|||
|
msgstr "Привилегии фиксирования"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/develop/licenses.html:296
|
|||
|
#, python-format
|
|||
|
msgid ""
|
|||
|
"Developers may push changes to a distributed monotone repository if you\n"
|
|||
|
"receive permission from the person running that repository.\n"
|
|||
|
"See the <a href=\"%(monotone)s\">Monotone Page</a> for details."
|
|||
|
msgstr ""
|
|||
|
"Разработчики могут протолкнуть изменения в распределенное хранилище "
|
|||
|
"monotone, если \n"
|
|||
|
"у вас есть разрешение от человека, запустившего это хранилище.\n"
|
|||
|
"Подробнее смотри на странице <a href=\"%(monotone)s\">Monotone Page</a>."
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/develop/licenses.html:302
|
|||
|
msgid ""
|
|||
|
"However, to have changes included in a release, developers\n"
|
|||
|
"must be trusted by the release manager (currently zzz).\n"
|
|||
|
"In addition, they must explicitly agree with the above terms to be "
|
|||
|
"trusted.\n"
|
|||
|
"That means that they must send one of the release managers a signed "
|
|||
|
"message affirming that:"
|
|||
|
msgstr ""
|
|||
|
"Тем не менее, чтобы изменения были включены в релиз, разработчики \n"
|
|||
|
"должны быть одобрены релиз-менеджером (сейчас это zzz). \n"
|
|||
|
"Кроме того, для одобрения они должны явно согласиться с условиями, "
|
|||
|
"описанными выше.\n"
|
|||
|
"Это означает, что они должны отправить одному из релиз-менеджеров "
|
|||
|
"подписанное сообщение, подтверждая что:"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/develop/licenses.html:309
|
|||
|
msgid ""
|
|||
|
"Unless marked otherwise, all code I commit is implicitly licensed under\n"
|
|||
|
"the component's primary license"
|
|||
|
msgstr ""
|
|||
|
"Если не указано иное, весь код, что я фиксирую, явно лицензируется \n"
|
|||
|
"главной лицензией компонента"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/develop/licenses.html:313
|
|||
|
msgid ""
|
|||
|
"If specified in the source, the code may be explicitly licensed under one"
|
|||
|
"\n"
|
|||
|
"of the component's alternate licenses"
|
|||
|
msgstr ""
|
|||
|
"Если указано в исходном коде, код может быть опосредованно лицензирован "
|
|||
|
"одной \n"
|
|||
|
"из альтернативных лицензий компонента"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/develop/licenses.html:317
|
|||
|
msgid ""
|
|||
|
"I have the right to release the code I commit under the terms I\n"
|
|||
|
"am committing it"
|
|||
|
msgstr ""
|
|||
|
"У меня есть право выпускать код, который я фиксирую, в соответствии с "
|
|||
|
"условиями, \n"
|
|||
|
"на которых я это делаю"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/develop/licenses.html:323
|
|||
|
#, python-format
|
|||
|
msgid ""
|
|||
|
"If anyone is aware of any instances where the above conditions are not "
|
|||
|
"met,\n"
|
|||
|
"please contact the component lead and/or an I2P release manager with "
|
|||
|
"further\n"
|
|||
|
"information.\n"
|
|||
|
"<a href=\"%(licenseagreements)s\">See developers' license agreements</a>."
|
|||
|
msgstr ""
|
|||
|
"Если кому-либо известно о каких-либо случаях, когда указанные выше "
|
|||
|
"условия не будут выполнены, \n"
|
|||
|
"просьба обратиться к главному разработчику компонента и/или к "
|
|||
|
"релиз-менеджеру I2P с этой \n"
|
|||
|
"информацией.\n"
|
|||
|
"<a href=\"%(licenseagreements)s\">Смотри лицензионное соглашение "
|
|||
|
"разработчиков</a>."
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/develop/release-signing-key.html:2
|
|||
|
msgid "Release Signing Key"
|
|||
|
msgstr "Ключи подписания релизов"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/develop/release-signing-key.html:4
|
|||
|
msgid "Releases 0.7.6 and later are signed by zzz. His public key is:"
|
|||
|
msgstr "Релиз 0.7.6 и более поздние подписываются zzz. Его публичный ключ:"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/develop/release-signing-key.html:40
|
|||
|
msgid ""
|
|||
|
"Releases 0.6.1.31 through 0.7.5 were signed by Complication. His public "
|
|||
|
"key is:"
|
|||
|
msgstr ""
|
|||
|
"Релизы с 0.6.1.31 по 0.7.5 были подписаны Complication. Его публичный "
|
|||
|
"ключ:"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/develop/signed-keys.html:2
|
|||
|
msgid "Signed Developer Keys"
|
|||
|
msgstr "Подписанные ключи разработчиков"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/develop/signed-keys.html:4
|
|||
|
msgid ""
|
|||
|
"Keys for zzz, Complication and welterde are provided clearsigned. The key"
|
|||
|
" for jrandom must be\n"
|
|||
|
"verified differently, since he's away, and only left a binary detached\n"
|
|||
|
"signature for his key."
|
|||
|
msgstr ""
|
|||
|
"Ключи для zzz, Complication и welterde предоставляются в виде "
|
|||
|
"clearsigned. Ключ для jrandom должен быть \n"
|
|||
|
"верифицирован иначе, т.к. его нет, и осталась только двоично отделенная -"
|
|||
|
" binary detached - \n"
|
|||
|
"подпись его ключа."
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/develop/signed-keys.html:10
|
|||
|
#: i2p2www/pages/site/get-involved/develop/signed-keys.html:16
|
|||
|
msgid "Monotone keys for zzz"
|
|||
|
msgstr "Ключи monotone для zzz"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/develop/signed-keys.html:11
|
|||
|
#: i2p2www/pages/site/get-involved/develop/signed-keys.html:47
|
|||
|
msgid "Monotone keys for welterde"
|
|||
|
msgstr "Ключи monotone для welterde"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/develop/signed-keys.html:12
|
|||
|
#: i2p2www/pages/site/get-involved/develop/signed-keys.html:79
|
|||
|
msgid "Monotone keys for Complication"
|
|||
|
msgstr "Ключи monotone для Complication"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/develop/signed-keys.html:13
|
|||
|
#: i2p2www/pages/site/get-involved/develop/signed-keys.html:114
|
|||
|
msgid "Monotone keys for jrandom"
|
|||
|
msgstr "Ключи monotone для jrandom"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/develop/signed-keys.html:14
|
|||
|
#: i2p2www/pages/site/get-involved/develop/signed-keys.html:169
|
|||
|
msgid "Others"
|
|||
|
msgstr "Другие"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/develop/signed-keys.html:17
|
|||
|
msgid ""
|
|||
|
"<u>Tip:</u> To find zzz's GPG key, on his eepsite locate the key "
|
|||
|
"`0xA76E0BED`, with\n"
|
|||
|
"the name `zzz@mail.i2p` and the fingerprint `4456 EBBE C805 63FE 57E6 "
|
|||
|
"B310 4155\n"
|
|||
|
"76BA A76E 0BED`."
|
|||
|
msgstr ""
|
|||
|
"<u>Примечание:</u> Чтобы найти GPG ключ zzz, на его eepsite найдите ключ "
|
|||
|
"`0xA76E0BED`, с\n"
|
|||
|
"именем `zzz@mail.i2p` и fingerprint `4456 EBBE C805 63FE 57E6 B310 4155\n"
|
|||
|
"76BA A76E 0BED`."
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/develop/signed-keys.html:49
|
|||
|
msgid ""
|
|||
|
"<b>Tip:</b> To find welterde's GPG key, on public keyservers locate the "
|
|||
|
"key\n"
|
|||
|
"`0x62E011A1`, with the name `welterde@arcor.de` and the fingerprint `6720"
|
|||
|
" FD81\n"
|
|||
|
"3872 6DFC 6016 64D1 EBBC 0374 62E0 11A1`."
|
|||
|
msgstr ""
|
|||
|
"<u>Примечание:</u> Чтобы найти GPG ключ welterde, на публичном "
|
|||
|
"key-сервере найдите ключ\n"
|
|||
|
"`0x62E011A1`, с именем `welterde@arcor.de` и fingerprint `6720 FD81\n"
|
|||
|
"3872 6DFC 6016 64D1 EBBC 0374 62E0 11A1`."
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/develop/signed-keys.html:81
|
|||
|
msgid ""
|
|||
|
"<b>Tip:</b> To find Complication's GPG key, on his eepsite locate the key"
|
|||
|
"\n"
|
|||
|
"`0x79FCCE33`, with the name `complication@mail.i2p` and the fingerprint "
|
|||
|
"`73CF\n"
|
|||
|
"2862 87A7 E7D2 19FF DB66 FA1D FC6B 79FC CE33`."
|
|||
|
msgstr ""
|
|||
|
"<u>Примечание:</u> Чтобы найти GPG ключ Complication, на его eepsite "
|
|||
|
"найдите ключ\n"
|
|||
|
"`0x79FCCE33`, с именем `complication@mail.i2p` и fingerprint `73CF\n"
|
|||
|
"2862 87A7 E7D2 19FF DB66 FA1D FC6B 79FC CE33`."
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/develop/signed-keys.html:116
|
|||
|
msgid ""
|
|||
|
"<b>Tip:</b> To find jrandom's GPG key for Syndie releases, on public "
|
|||
|
"keyservers locate\n"
|
|||
|
"the key `0x393F2DF9`, with the name `syndie-dist-key@i2p.net` and the\n"
|
|||
|
"fingerprint `AE89 D080 0E85 72F0 B777 B2ED C2FA 68C0 393F 2DF9`."
|
|||
|
msgstr ""
|
|||
|
"<u>Примечание:</u> Чтобы найти GPG ключ jrandom для релизов Syndie, на "
|
|||
|
"публичном key-сервере найдите\n"
|
|||
|
"ключ `0x393F2DF9`, с именем `syndie-dist-key@i2p.net` и\n"
|
|||
|
"fingerprint `AE89 D080 0E85 72F0 B777 B2ED C2FA 68C0 393F 2DF9`."
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/develop/signed-keys.html:122
|
|||
|
msgid ""
|
|||
|
"Jrandom had to leave unexpectedly in the end of 2007. His commit key was\n"
|
|||
|
"deployed in the Syndie Monotone repository, in a file named `mtn-"
|
|||
|
"committers`.\n"
|
|||
|
"That file also had a GPG signature, `mtn-committers.sig`, but it was a "
|
|||
|
"binary\n"
|
|||
|
"detached signature. I am going to supply both files in GPG ASCII-armoured"
|
|||
|
" form\n"
|
|||
|
"below."
|
|||
|
msgstr ""
|
|||
|
"Jrandom был вынужден неожиданно уйти в конце 2007. Его ключ фиксации был"
|
|||
|
" \n"
|
|||
|
"размещен в хранилище Syndie Monotone, в файле с именем `mtn-committers`.\n"
|
|||
|
"У этого файла также есть подпись GPG, `mtn-committers.sig`, но она binary"
|
|||
|
" detached.\n"
|
|||
|
"Я хочу привести содержимое обоих файлов в GPG ASCII форме ниже."
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/develop/signed-keys.html:130
|
|||
|
msgid ""
|
|||
|
"First, the file `mtn-committers` containing jrandom's Monotone key. Save "
|
|||
|
"as\n"
|
|||
|
"`mtn-committers.asc` and unpack it using `gpg --output mtn-committers "
|
|||
|
"--dearmor\n"
|
|||
|
"mtn-committers.asc`:"
|
|||
|
msgstr ""
|
|||
|
"Первое, файл `mtn-committers`, содержащий Monotone ключ jrandom. Хранимый"
|
|||
|
" как \n"
|
|||
|
"`mtn-committers.asc`, для распаковки используйте `gpg --output mtn-"
|
|||
|
"committers --dearmor\n"
|
|||
|
"mtn-committers.asc`:"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/develop/signed-keys.html:151
|
|||
|
msgid ""
|
|||
|
"Now the file `mtn-committers.sig`, containing the GPG signature. Save as\n"
|
|||
|
"`mtn-committers.sig.asc` and unpack it using `gpg --output mtn-"
|
|||
|
"committers.sig\n"
|
|||
|
"--dearmor mtn-committers.sig.asc`. Use it to verify the above supplied\n"
|
|||
|
"`mtn-committers` file:"
|
|||
|
msgstr ""
|
|||
|
"Теперь файл `mtn-committers.sig`, содержащий подпись GPG. Хранимый как\n"
|
|||
|
"`mtn-committers.sig.asc`, распаковывается используя `gpg --output mtn-"
|
|||
|
"committers.sig\n"
|
|||
|
"--dearmor mtn-committers.sig.asc`. Используйте его для верификации "
|
|||
|
"имеющегося\n"
|
|||
|
"`mtn-committers` файла:"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/develop/signed-keys.html:170
|
|||
|
#, python-format
|
|||
|
msgid ""
|
|||
|
"Some of the developers have included their Monotone keys in their <a "
|
|||
|
"href=\"%(licenseagreements)s\">signed license agreement</a>."
|
|||
|
msgstr ""
|
|||
|
"Некоторые разработчики включили свои ключи Monotone в свои <a "
|
|||
|
"href=\"%(licenseagreements)s\">подписанные лицензионные соглашения</a>."
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:2
|
|||
|
msgid "Developer Guidelines and Coding Style"
|
|||
|
msgstr "Руководство по разработке и стиль программирования"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:4
|
|||
|
#, python-format
|
|||
|
msgid "Read the <a href=\"%(newdevs)s\">new developers guide</a> first."
|
|||
|
msgstr ""
|
|||
|
"Для начала прочтите <a href=\"%(newdevs)s\">руководство нового "
|
|||
|
"разработчика</a>."
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:8
|
|||
|
msgid "Basic Guidelines and Coding Style"
|
|||
|
msgstr "Базовые принципы и стиль форматирования кода"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:10
|
|||
|
msgid ""
|
|||
|
"Most of the following should be common sense for anybody who has worked "
|
|||
|
"on open source or in a commercial\n"
|
|||
|
"programming envrionment.\n"
|
|||
|
"The following applies mostly to the main development branch i2p.i2p.\n"
|
|||
|
"Guidelines for other branches, plugins, and external apps may be "
|
|||
|
"substantially different;\n"
|
|||
|
"check with the appropriate developer for guidance."
|
|||
|
msgstr ""
|
|||
|
"Большинство из ниже следующего должно быть хорошо известно каждому кто "
|
|||
|
"участвует в разработке open source или в коммерческой \n"
|
|||
|
"среде разработки.\n"
|
|||
|
"Ниже следующее применимо к большей части основной разработки ветки "
|
|||
|
"i2p.i2p.\n"
|
|||
|
"Руководства для других веток, дополнений и внешних приложений может "
|
|||
|
"существенно отличаться;\n"
|
|||
|
"для уточнения свяжитесь с соответствующим разработчиком."
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:18
|
|||
|
msgid "Community"
|
|||
|
msgstr "Общество"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:20
|
|||
|
msgid ""
|
|||
|
"Please don't just \"write code\". If you can, participate in other "
|
|||
|
"development activities, including:\n"
|
|||
|
"development discussions and support on IRC, zzz.i2p, and forum.i2p; "
|
|||
|
"testing;\n"
|
|||
|
"bug reporting and responses; documentation; code reviews; etc."
|
|||
|
msgstr ""
|
|||
|
"Пожалуйста, не нужно просто \"писать код\". Если вы можете, участвуйте в "
|
|||
|
"других мероприятиях, включая:\n"
|
|||
|
"обсуждения разработки и поддержке в IRC, zzz.i2p и на форуме forum.i2p; в"
|
|||
|
" тестировании;\n"
|
|||
|
"сообщениях об ошибках и ответах на них; документировании; просматривании "
|
|||
|
"кода, и т.д."
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:25
|
|||
|
msgid ""
|
|||
|
"Active devs should be available periodically on IRC #i2p-dev.\n"
|
|||
|
"Be aware of the current release cycle.\n"
|
|||
|
"Adhere to release milestones such as feature freeze, tag freeze, and\n"
|
|||
|
"the checkin deadline for a release."
|
|||
|
msgstr ""
|
|||
|
"Активные разработчики должны периодически быть доступны по IRC #i2p-dev.\n"
|
|||
|
"Будьте в курсе текущего цикла выпуска. \n"
|
|||
|
"Придерживайтесь релизных вех, таких как freeze, tag freeze и \n"
|
|||
|
"checkin deadline для релиза."
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:35
|
|||
|
msgid ""
|
|||
|
"Have a basic understanding of distributed source control systems, even if"
|
|||
|
" you haven't\n"
|
|||
|
"used monotone before. Ask for help if you need it.\n"
|
|||
|
"Once pushed, checkins are forever, there is no undo. Please be careful.\n"
|
|||
|
"If you have not used monotone before, start with baby steps.\n"
|
|||
|
"Check in some small changes and see how it goes."
|
|||
|
msgstr ""
|
|||
|
"Получите основные понятия о распределенной системе контроля версий, даже "
|
|||
|
"если раньше \n"
|
|||
|
"вы не использовали monotone. Если нужно - попросите помощи.\n"
|
|||
|
"Единожды чекин да пребудет вовеки, никакого отката нет. Пожалуйста, "
|
|||
|
"будьте аккуратны.\n"
|
|||
|
"Если раньше вы не использовали monotone - начните с маленьких шагов.\n"
|
|||
|
"Зачекиньте небольшое изменение и посмотрите как пойдет дело."
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:42
|
|||
|
msgid ""
|
|||
|
"Test your changes before checking them in.\n"
|
|||
|
"If you prefer the checkin-before-test development model,\n"
|
|||
|
"use your own development branch (e.g. i2p.i2p.yourname.test)\n"
|
|||
|
"and propagate back to i2p.i2p once it is working well.\n"
|
|||
|
"Do not break the build. Do not cause regressions.\n"
|
|||
|
"In case you do (it happens), please do not vanish for a long period after"
|
|||
|
"\n"
|
|||
|
"you push your change."
|
|||
|
msgstr ""
|
|||
|
"Тестируйте свои изменения до того как зачекинить их.\n"
|
|||
|
"Если вы предпочитаете модель программирования чекин-перед-тестированием,\n"
|
|||
|
"то используйте свою ветку разработки (например i2p.i2p.yourname.test)\n"
|
|||
|
"и переносите изменения в i2p.i2p когда они заработают как надо.\n"
|
|||
|
"Не ломайте сборку. Не провоцируйте регрессию.\n"
|
|||
|
"А если сделали (это случается), пожалуйста, не исчезайте на долго после "
|
|||
|
"того \n"
|
|||
|
"как внесли изменения."
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:51
|
|||
|
msgid ""
|
|||
|
"If your change is non-trivial, or you want people to test it and need "
|
|||
|
"good test reports\n"
|
|||
|
"to know whether your change was tested or not, add a checkin comment to "
|
|||
|
"history.txt\n"
|
|||
|
"and increment the build revision in RouterVersion.java."
|
|||
|
msgstr ""
|
|||
|
"Если ваши изменения нетривиальны, или вы хотите чтобы люди их "
|
|||
|
"протестировали, и вам нужны хорошие отчеты о тестировании, \n"
|
|||
|
"дабы знать протестированы ваши изменения или нет - добавьте "
|
|||
|
"чекин-комментарий в history.txt\n"
|
|||
|
"и увеличьте версию сборки в RouterVersion.java."
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:56
|
|||
|
msgid ""
|
|||
|
"Ensure that you have the latest monotonerc file in _MTN.\n"
|
|||
|
"Do not check in on top of untrusted revisions."
|
|||
|
msgstr ""
|
|||
|
"Убедитесь, что у вас есть свежий файл monotonerc в _MTN.\n"
|
|||
|
"Не чекиньте в ненадежные ревизии."
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:60
|
|||
|
msgid ""
|
|||
|
"Ensure that you pull the latest revision before you check in.\n"
|
|||
|
"If you inadvertently diverge, merge and push as soon as possible.\n"
|
|||
|
"Don't routinely make others merge for you.\n"
|
|||
|
"Yes, we know that monotone says you should push and then merge,\n"
|
|||
|
"but in our experience, in-workspace merge works just as well as in-"
|
|||
|
"database merge,\n"
|
|||
|
"without creating a merge revision."
|
|||
|
msgstr ""
|
|||
|
"Убедитесь, что вы выбрали последнюю ревизию до того как выполнили чекин.\n"
|
|||
|
"Если вы случайно разошлись, выполните merge и push как можно скорее.\n"
|
|||
|
"Не заставляйте других выполнять merge за вас.\n"
|
|||
|
"Да, мы знаем, что monotone говорит - вы должны выполнить push, а затем "
|
|||
|
"merge,\n"
|
|||
|
"но, по нашему опыту, in-workspace merge работает также хорошо как и in-"
|
|||
|
"database merge,\n"
|
|||
|
"без создания merge ревизии."
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:68
|
|||
|
msgid ""
|
|||
|
"Do not check in major changes into the main i2p.i2p branch late in the "
|
|||
|
"release cycle.\n"
|
|||
|
"If a project will take you more than a couple days, create your own "
|
|||
|
"branch in monotone\n"
|
|||
|
"and do the development there so you do not block releases."
|
|||
|
msgstr ""
|
|||
|
"Не чекиньте важные изменения в главную ветку i2p.i2p на поздних стадиях "
|
|||
|
"цикла релиза.\n"
|
|||
|
"Если проект занимает у вас больше нескольких дней, создайте свою ветку в "
|
|||
|
"monotone \n"
|
|||
|
"и разрабатывайте в ней, т.о. вы не заблокируете релиз."
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:75
|
|||
|
msgid "Coding Style"
|
|||
|
msgstr "Стиль форматирования кода"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:77
|
|||
|
msgid ""
|
|||
|
"Coding style throughout most of the code is 4-spaces for indentation. Do "
|
|||
|
"not use tabs.\n"
|
|||
|
"Do not reformat code. If your IDE or editor wants to reformat everything,"
|
|||
|
" get control of it.\n"
|
|||
|
"Yes, we know 4 spaces is a pain, but perhaps you can configure your "
|
|||
|
"editor appropriately.\n"
|
|||
|
"In some places, the coding style is different.\n"
|
|||
|
"Use common sense. Emulate the style in the file you are modifying."
|
|||
|
msgstr ""
|
|||
|
"В большинстве кода для отступа используется 4 пробела. Не используйте "
|
|||
|
"символ табуляции.\n"
|
|||
|
"Не переформатируйте код. Если ваш IDE или редактор хочет отформатировать "
|
|||
|
"все, возьмите его под контроль.\n"
|
|||
|
"Да, мы знаем, что 4 пробела это та еще головная боль, но, возможно, вы "
|
|||
|
"сможете правильно настроить свой редактор.\n"
|
|||
|
"В некоторых местах стиль форматирования может разниться.\n"
|
|||
|
"Руководствуйтесь здравым смыслом. Воспроизводите имеющийся стиль в файле,"
|
|||
|
" который вы изменяете."
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:84
|
|||
|
msgid ""
|
|||
|
"New classes and methods require at least brief javadocs. Add @since "
|
|||
|
"release-number."
|
|||
|
msgstr ""
|
|||
|
"Для новых классов и методов нужен хотя бы краткий javadocs. Добавьте "
|
|||
|
"@since номер-релиза."
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:87
|
|||
|
msgid ""
|
|||
|
"Classes in core/ (i2p.jar) and portions of i2ptunnel are part of our "
|
|||
|
"official API.\n"
|
|||
|
"There are several out-of-tree plugins and other applications that rely on"
|
|||
|
" this API.\n"
|
|||
|
"Be careful not to make any changes that break compatibility.\n"
|
|||
|
"Don't add methods to the API unless they are of general utility.\n"
|
|||
|
"Javadocs for API methods should be clear and complete.\n"
|
|||
|
"If you add or change the API, also update the documentation on the "
|
|||
|
"website (i2p.www branch)."
|
|||
|
msgstr ""
|
|||
|
"Классы в core/ (i2p.jar) и куски i2ptunnel - это части нашего "
|
|||
|
"официального API.\n"
|
|||
|
"Есть несколько out-of-tree плагинов и других приложений, которые основаны"
|
|||
|
" на этом API.\n"
|
|||
|
"Будьте осторожны при их изменении, чтобы не поломать совместимость.\n"
|
|||
|
"Добавляйте методы в API, только если они полезны для всех.\n"
|
|||
|
"Javadocs для методов API должны быть просты и полны.\n"
|
|||
|
"Если вы вносите изменения в API, обновите также документацию на веб-сайте"
|
|||
|
" (i2p.www branch)."
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:95
|
|||
|
msgid ""
|
|||
|
"Tag strings for translation where appropriate.\n"
|
|||
|
"Don't change existing tagged strings unless really necessary, as it will "
|
|||
|
"break existing translations.\n"
|
|||
|
"Do not add or change tagged strings after the \"tag freeze\" in the "
|
|||
|
"release cycle so that\n"
|
|||
|
"translators have a chance to update before the release."
|
|||
|
msgstr ""
|
|||
|
"Делайте заметки к строкам для переводов где следует.\n"
|
|||
|
"Изменяйте существующие отмеченные строки, только если это действительно "
|
|||
|
"необходимо, т.к. это нарушает существующий перевод.\n"
|
|||
|
"Не добавляйте и не изменяйте отмеченные строки после \"tag freeze\" в "
|
|||
|
"цикле релиза, тогда \n"
|
|||
|
"у переводчиков будет шанс обновиться до релиза."
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:101
|
|||
|
msgid ""
|
|||
|
"Use generics and concurrent classes where possible. I2P is a highly "
|
|||
|
"multi-threaded application."
|
|||
|
msgstr ""
|
|||
|
"По возможности используйте дженерики и конкурентные классы. I2P - это "
|
|||
|
"сильно мульти-потоковое приложение."
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:104
|
|||
|
msgid ""
|
|||
|
"We require Java 6 to build but only Java 5 to run I2P.\n"
|
|||
|
"Do not use Java 6 classes or methods without handling the class not found"
|
|||
|
" exceptions\n"
|
|||
|
"and providing alternate Java 5 code. See classes in net.i2p.util for "
|
|||
|
"examples."
|
|||
|
msgstr ""
|
|||
|
"Мы требуем Java 6 для сборки, но только Java 5 для запуска I2P.\n"
|
|||
|
"Не используйте классы или методы Java 6 без обработки исключений \"class "
|
|||
|
"not found\" \n"
|
|||
|
"и выполнения альтернативного кода Java 5. Для примера смотри классы "
|
|||
|
"net.i2p.util."
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:109
|
|||
|
msgid ""
|
|||
|
"Explicitly convert between primitive types and classes;\n"
|
|||
|
"don't rely on autoboxing/unboxing."
|
|||
|
msgstr ""
|
|||
|
"Выполняйте явное преобразование примитивных классов и типов;\n"
|
|||
|
"не полагайтесь на autoboxing/unboxing."
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:115
|
|||
|
msgid "Licenses"
|
|||
|
msgstr "Лицензии"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:117
|
|||
|
msgid ""
|
|||
|
"Only check in code that you wrote yourself.\n"
|
|||
|
"Before checking in any code or library jars from other sources,\n"
|
|||
|
"justify why it is necessary,\n"
|
|||
|
"verify the license is compatible,\n"
|
|||
|
"and obtain approval from the lead developer."
|
|||
|
msgstr ""
|
|||
|
"Чекиньте только тот код, который вы написали сами.\n"
|
|||
|
"Перед тем как зачекинить любой код или библиотеку jar из других "
|
|||
|
"источников,\n"
|
|||
|
"объясните почему это необходимо,\n"
|
|||
|
"убедитесь что лицензия совместима,\n"
|
|||
|
"и получите подтверждение от главного разработчика."
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:124
|
|||
|
msgid ""
|
|||
|
"For any images checked in from external sources,\n"
|
|||
|
"it is your responsibility to first verify the license is compatible.\n"
|
|||
|
"Include the license and source information in the checkin comment."
|
|||
|
msgstr ""
|
|||
|
"Для любых image зачекиненых из внешних источников,\n"
|
|||
|
"вашей ответственностью является проверка совместимости лицензии.\n"
|
|||
|
"Включите лицензию и информацию об источнике в комментарий к чекину."
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:131
|
|||
|
msgid "Bugs"
|
|||
|
msgstr "Ошибки"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:133
|
|||
|
#, python-format
|
|||
|
msgid ""
|
|||
|
"Managing Trac tickets is everybody's job, please help.\n"
|
|||
|
"Monitor %(trac)s for tickets you have been assigned or can help with.\n"
|
|||
|
"Assign, categorize, comment on, fix, or close tickets if you can."
|
|||
|
msgstr ""
|
|||
|
"Управление потоком тикетов это общая работа, пожалуйста, помогайте.\n"
|
|||
|
"Просматривайте %(trac)s на предмет тикетов, к которым вы прикреплены, или"
|
|||
|
" по которым вы можете помочь.\n"
|
|||
|
"Назначайте, категоризируйте, комментируйте, испарвляйте или закрывайте "
|
|||
|
"тикеты, если можете."
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:138
|
|||
|
msgid ""
|
|||
|
"Close a ticket when you think you've fixed it.\n"
|
|||
|
"We don't have a test department to verify and close tickets.\n"
|
|||
|
"If you arent sure you fixed it, close it and add a note saying\n"
|
|||
|
"\"I think I fixed it, please test and reopen if it's still broken\".\n"
|
|||
|
"Add a comment with the dev build number or revision and set\n"
|
|||
|
"the milestone to the next release."
|
|||
|
msgstr ""
|
|||
|
"Закройте тикет, если считаете, что исправили его.\n"
|
|||
|
"У нас нет отдела тестирования для верификации и закрытия тикетов.\n"
|
|||
|
"Если вы не уверены, что исправили, закрывайте и добавляйте запись с "
|
|||
|
"текстом \n"
|
|||
|
"\"Я думаю, я это исправил, пожалуйста, протестируйте и откройте заново "
|
|||
|
"если ошибка все еще воспроизводится\".\n"
|
|||
|
"Добавляйте комментарий с номером сборки или ревизией, и устанавливайте "
|
|||
|
"веху в следующем релизе."
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/guides/ides.html:2
|
|||
|
msgid "Using an IDE with I2P"
|
|||
|
msgstr "Использование IDE с I2P"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/guides/ides.html:4
|
|||
|
msgid ""
|
|||
|
"The main I2P development branch (<code>i2p.i2p</code>) has been set up to"
|
|||
|
" enable developers to easily set up two of the commonly-used IDEs for "
|
|||
|
"Java development: Eclipse and NetBeans."
|
|||
|
msgstr ""
|
|||
|
"Главная ветка разработки I2P (<code>i2p.i2p</code>) была создана для того"
|
|||
|
" чтобы разработчики могли легко установить один из двух часто "
|
|||
|
"используемых IDE для Java разработки: Eclipse и NetBeans."
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/guides/ides.html:10
|
|||
|
msgid ""
|
|||
|
"The main I2P development branches (<code>i2p.i2p</code> and branches from"
|
|||
|
" it) contain .project and .classpath Eclipse files, to enable the branch "
|
|||
|
"to be easily set up in Eclipse."
|
|||
|
msgstr ""
|
|||
|
"Главные ветки разработки I2P (<code>i2p.i2p</code> и ее подветки) "
|
|||
|
"содержат файлы Eclipse .project и .classpath для легкого добавления веток"
|
|||
|
" в Eclipse."
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/guides/ides.html:16
|
|||
|
msgid ""
|
|||
|
"Check out the I2P branch into some directory (e.g. "
|
|||
|
"<code>$HOME/dev/i2p.i2p</code>)."
|
|||
|
msgstr ""
|
|||
|
"Извлеките ветку I2P в какую-нибудь директорию (например, "
|
|||
|
"<code>$HOME/dev/i2p.i2p</code>)."
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/guides/ides.html:20
|
|||
|
msgid ""
|
|||
|
"Open Eclipse and create a new Workspace, based in the directory that the "
|
|||
|
"I2P branch was checked out to."
|
|||
|
msgstr ""
|
|||
|
"Откройте Eclipse и создайте новый Workspace для директории, в которую вы "
|
|||
|
"извлекли ветку I2P."
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/guides/ides.html:24
|
|||
|
msgid ""
|
|||
|
"Select \"File - Import...\" and then under \"General\" select \"Existing "
|
|||
|
"Projects into Workspace\"."
|
|||
|
msgstr ""
|
|||
|
"Выберите \"File - Import...\" и в разделе \"General\" выберите \"Existing"
|
|||
|
" Projects into Workspace\"."
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/guides/ides.html:28
|
|||
|
msgid ""
|
|||
|
"For \"Select root directory:\" choose the directory that the I2P branch "
|
|||
|
"was checked out to."
|
|||
|
msgstr ""
|
|||
|
"Для опции \"Select root directory:\" выберите директорию, в которую вы "
|
|||
|
"извлекли ветку I2P."
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/guides/ides.html:32
|
|||
|
msgid "If necessary, click \"Refresh\" to refresh the list of projects."
|
|||
|
msgstr "Если необходимо, нажмите \"Refresh\" для обновления списка проектов."
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/guides/ides.html:36
|
|||
|
msgid "Select every project in the list, and click \"Finish\"."
|
|||
|
msgstr "Выберите каждый проект в списке и нажмите \"Finish\"."
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/guides/ides.html:40
|
|||
|
msgid ""
|
|||
|
"Done! Your workspace should now contain all projects within the I2P "
|
|||
|
"branch, and their build dependencies should be correctly set up."
|
|||
|
msgstr ""
|
|||
|
"Готово! Ваш workspace теперь должен содержать все проекты из ветки I2P, и"
|
|||
|
" его зависимости сборки должны быть корректно установлены."
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/guides/ides.html:48
|
|||
|
msgid ""
|
|||
|
"The main I2P development branches (<code>i2p.i2p</code> and branches from"
|
|||
|
" it) contain NetBeans project files."
|
|||
|
msgstr ""
|
|||
|
"Главные ветки разработки I2P (<code>i2p.i2p</code> его его подветки) "
|
|||
|
"содержит файлы проекта NetBeans."
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/guides/monotone.html:2
|
|||
|
msgid "Monotone Guide"
|
|||
|
msgstr "Руководство по Monotone"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/guides/monotone.html:7
|
|||
|
msgid "Operating a Monotone client"
|
|||
|
msgstr "Управление клиентом Monotone"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/guides/monotone.html:9
|
|||
|
#: i2p2www/pages/site/get-involved/guides/monotone.html:61
|
|||
|
msgid "Generating Monotone keys"
|
|||
|
msgstr "Генерация ключей Monotone"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/guides/monotone.html:10
|
|||
|
msgid "Trust and initializing your repository"
|
|||
|
msgstr "Доверие и инициализация вашего хранилища"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/guides/monotone.html:11
|
|||
|
#: i2p2www/pages/site/get-involved/guides/monotone.html:194
|
|||
|
msgid "Obtaining and deploying developers' keys"
|
|||
|
msgstr "Получение и применение ключей разработчиков"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/guides/monotone.html:12
|
|||
|
#: i2p2www/pages/site/get-involved/guides/monotone.html:225
|
|||
|
msgid "Setting up trust evaluation hooks"
|
|||
|
msgstr "Установка ловушек оценки доверия"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/guides/monotone.html:13
|
|||
|
#: i2p2www/pages/site/get-involved/guides/monotone.html:266
|
|||
|
msgid ""
|
|||
|
"Pulling the <code>i2p.i2p</code>, <code>i2p.www</code> and "
|
|||
|
"<code>i2p.syndie</code> branches"
|
|||
|
msgstr ""
|
|||
|
"Получение веток <code>i2p.i2p</code>, <code>i2p.www</code> и "
|
|||
|
"<code>i2p.syndie</code>"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/guides/monotone.html:14
|
|||
|
#: i2p2www/pages/site/get-involved/guides/monotone.html:306
|
|||
|
msgid "Verifying that trust evaluation works"
|
|||
|
msgstr "Проверка работоспособности оценки доверия"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/guides/monotone.html:15
|
|||
|
#: i2p2www/pages/site/get-involved/guides/monotone.html:355
|
|||
|
msgid "Checking out a working copy of the latest version"
|
|||
|
msgstr "Извлечение рабочей копии последней версии"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/guides/monotone.html:16
|
|||
|
#: i2p2www/pages/site/get-involved/guides/monotone.html:382
|
|||
|
msgid "Updating your working copy to the latest version"
|
|||
|
msgstr "Обновление вашей рабочей копии до последней версии"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/guides/monotone.html:20
|
|||
|
#: i2p2www/pages/site/get-involved/guides/monotone.html:412
|
|||
|
msgid "Operating a Monotone Server"
|
|||
|
msgstr "Управление сервером Monotone"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/guides/monotone.html:22
|
|||
|
msgid "Obtaining and deploying developers’ transport keys"
|
|||
|
msgstr "Получение и применение transport ключей разработчиков"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/guides/monotone.html:23
|
|||
|
#: i2p2www/pages/site/get-involved/guides/monotone.html:422
|
|||
|
msgid "Granting push and pull access"
|
|||
|
msgstr "Назначение прав доступа push и pull"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/guides/monotone.html:24
|
|||
|
#: i2p2www/pages/site/get-involved/guides/monotone.html:467
|
|||
|
msgid "Running Monotone in server mode"
|
|||
|
msgstr "Запуск Monotone в режиме сервера"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/guides/monotone.html:25
|
|||
|
#: i2p2www/pages/site/get-involved/guides/monotone.html:492
|
|||
|
msgid "Differences under Debian GNU/Linux"
|
|||
|
msgstr "Различия под Debian GNU/Linux"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/guides/monotone.html:32
|
|||
|
#, python-format
|
|||
|
msgid ""
|
|||
|
"This is a revised version of <a "
|
|||
|
"href=\"%(transitionguide)s\">Complication's original\n"
|
|||
|
" guide</a> detailing the use of Monotone in I2P development.\n"
|
|||
|
" For basic instructions see the <a href=\"%(newdevs)s\">quick-start "
|
|||
|
"guide</a>."
|
|||
|
msgstr ""
|
|||
|
"Это проверенная версия <a href=\"%(transitionguide)s\">Оригинального "
|
|||
|
"руководства \n"
|
|||
|
"Complication</a>, поясняющего использование Monotone в разработке I2P.\n"
|
|||
|
"Основные инструкции смотри в <a href=\"%(newdevs)s\">руководстве по "
|
|||
|
"быстрому старту</a>."
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/guides/monotone.html:40
|
|||
|
#, python-format
|
|||
|
msgid ""
|
|||
|
"I2P has a distributed development model. The source code is replicated "
|
|||
|
"across\n"
|
|||
|
" independently administered <a "
|
|||
|
"href=\"http://www.monotone.ca/\">Monotone</a> (\"MTN\") repositories.\n"
|
|||
|
" Developers with commit rights are able to push their changes to the "
|
|||
|
"repository\n"
|
|||
|
" (a <a href=\"%(licenses)s#commit\">license agreement</a> needs to be "
|
|||
|
"signed\n"
|
|||
|
" before commit rights are granted)."
|
|||
|
msgstr ""
|
|||
|
"В I2P используется распределенная модель разработки. Исходный код "
|
|||
|
"реплицируется \n"
|
|||
|
"по независимо администрируемым хранилищам <a "
|
|||
|
"href=\"http://www.monotone.ca/\">Monotone</a> (\"MTN\").\n"
|
|||
|
"Разработчики с правами фиксации могут размещать свои изменения в "
|
|||
|
"хранилище\n"
|
|||
|
"(необходимо подписать <a href=\"%(licenses)s#commit\">лицензионное "
|
|||
|
"соглашение</a> \n"
|
|||
|
"до того как будут выданы права для фиксации)."
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/guides/monotone.html:50
|
|||
|
msgid ""
|
|||
|
"Some of Monotone's noteworthy qualities are: distributed\n"
|
|||
|
" version control, cryptographic authentication, access control, its "
|
|||
|
"small size, having few\n"
|
|||
|
" dependencies, storage of projects in a compressed SQLite database file,"
|
|||
|
" and\n"
|
|||
|
" having the ability to resume interrupted synchronization attempts."
|
|||
|
msgstr ""
|
|||
|
"Некоторые из замечательных качеств Monotone: распределенный\n"
|
|||
|
"контроль версий, криптографическая аутентификация, контроль доступа, "
|
|||
|
"малый размер, малое\n"
|
|||
|
"количество зависимостей, хранение проектов в сжатом файле базы данных "
|
|||
|
"SQLite и \n"
|
|||
|
"наличие возможности восстанавливать прерванные попытки синхронизации."
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/guides/monotone.html:59
|
|||
|
msgid "Operating a Monotone Client"
|
|||
|
msgstr "Управление клиентом Monotone"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/guides/monotone.html:64
|
|||
|
msgid ""
|
|||
|
"A transport key grants you the ability to push your changes to a Monotone"
|
|||
|
" repository server.\n"
|
|||
|
" In order to commit code into Monotone (in essence signing your code), a"
|
|||
|
" commit key is also needed.\n"
|
|||
|
" None of the public Monotone servers on I2P currently require a key in "
|
|||
|
"order to read (or pull) the source code."
|
|||
|
msgstr ""
|
|||
|
"Transport ключ дает вам возможность размещать ваши изменения в хранилище "
|
|||
|
"сервера Monotone.\n"
|
|||
|
"Для фиксации кода в Monotone (по сути, для подписания вашего кода), также"
|
|||
|
" нужен commit ключ.\n"
|
|||
|
"Ни один из публичных серверов Monotone в I2P на данный момент не требует "
|
|||
|
"ключ для чтения (или получения) исходного кода."
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/guides/monotone.html:72
|
|||
|
msgid ""
|
|||
|
"Without a transport key, one cannot:\n"
|
|||
|
" <ul>\n"
|
|||
|
" <li>pull code from a server which doesn't allow global read "
|
|||
|
"access</li>\n"
|
|||
|
" <li>push code to any server</li>\n"
|
|||
|
" <li>run a Monotone server</li>\n"
|
|||
|
" </ul>"
|
|||
|
msgstr ""
|
|||
|
"Без transport ключа невозможно:\n"
|
|||
|
" <ul>\n"
|
|||
|
" <li>получать код от сервера, который не предоставляет доступ для "
|
|||
|
"глобального чтения</li>\n"
|
|||
|
" <li>размещать код на любом сервере</li>\n"
|
|||
|
" <li>запускать сервер Monotone</li>\n"
|
|||
|
" </ul>"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/guides/monotone.html:83
|
|||
|
msgid ""
|
|||
|
"Without a commit key, one cannot:\n"
|
|||
|
" <ul>\n"
|
|||
|
" <li>commit any code</li>\n"
|
|||
|
" </ul>"
|
|||
|
msgstr ""
|
|||
|
"Без commit ключа невозможно:\n"
|
|||
|
" <ul>\n"
|
|||
|
" <li>фиксировать любой код</li>\n"
|
|||
|
" </ul>"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/guides/monotone.html:92
|
|||
|
msgid ""
|
|||
|
"If you only intend to retrieve code from MTN, feel free to skip to the\n"
|
|||
|
" <a href=\"#trust-and-initializing-your-repository\">next section</a>. "
|
|||
|
"If you want\n"
|
|||
|
" to generate keys, read the following."
|
|||
|
msgstr ""
|
|||
|
"Если вы собираетесь только получать код из MTN, можете спокойно "
|
|||
|
"пропустить \n"
|
|||
|
"<a href=\"#trust-and-initializing-your-repository\">следующий раздел</a>."
|
|||
|
" Если же вы хотите \n"
|
|||
|
"генерировать ключи, прочтите нижеследующее."
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/guides/monotone.html:100
|
|||
|
msgid ""
|
|||
|
"By convention keys are named like an e-mail addresses, but a "
|
|||
|
"corresponding e-mail\n"
|
|||
|
" address does not need to exist. For example, your keys might be named:"
|
|||
|
msgstr ""
|
|||
|
"По договоренности ключи именуются как адреса e-mail, но соответствующий "
|
|||
|
"e-mail\n"
|
|||
|
"не обязательно должен существовать. Например, ваш ключ может называться:"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/guides/monotone.html:111
|
|||
|
msgid ""
|
|||
|
"Monotone stores keys under <code><b>$HOME/.monotone/keys</b></code> in "
|
|||
|
"text files which\n"
|
|||
|
" are named identically to the keys. For example:"
|
|||
|
msgstr ""
|
|||
|
"Monotone хранит ключи в <code><b>$HOME/.monotone/keys</b></code> в "
|
|||
|
"текстовых файлах, которые \n"
|
|||
|
"названы также как ключи. Например:"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/guides/monotone.html:121
|
|||
|
msgid ""
|
|||
|
"To generate transport and commit keys, enter the following commands at a "
|
|||
|
"prompt:"
|
|||
|
msgstr ""
|
|||
|
"Для генерации transport и commit ключей выполните следующие команды в "
|
|||
|
"командной строке:"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/guides/monotone.html:131
|
|||
|
msgid ""
|
|||
|
"Monotone will prompt you for a password to protect your keys. You are "
|
|||
|
"very strongly encouraged to set a password\n"
|
|||
|
" for the commit key. Many users will leave an empty password for the "
|
|||
|
"transport key, especially those running a\n"
|
|||
|
" Monotone server."
|
|||
|
msgstr ""
|
|||
|
"Monotone запросит у вас пароль для защиты ваших ключей. Вам настоятельно "
|
|||
|
"рекомендуется установить пароль \n"
|
|||
|
"для commit ключа. Большинство пользователей оставляют пустым пароль для "
|
|||
|
"transport ключа, особенно те, кто \n"
|
|||
|
"запускает сервер Monotone."
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/guides/monotone.html:139
|
|||
|
msgid "Trust, and initializing your repository"
|
|||
|
msgstr "Доверие и инициализация вашего хранилища"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/guides/monotone.html:143
|
|||
|
msgid ""
|
|||
|
"Monotone's security model helps to ensure that nobody can easily "
|
|||
|
"impersonate a developer without\n"
|
|||
|
" it being noticed. Since developers can make mistakes and become "
|
|||
|
"compromised,only manual review can\n"
|
|||
|
" ensure quality of code. Monotone's trust model will ensure that you "
|
|||
|
"read the right diffs. It does\n"
|
|||
|
" not replace reading diffs."
|
|||
|
msgstr ""
|
|||
|
"Модель безопасности Monotone помогает быть уверенным в том, что никто не "
|
|||
|
"может запросто выдать себя за разработчика, \n"
|
|||
|
"без того, чтобы он был уведомлен. Т.к. разработчики могут совершать "
|
|||
|
"ошибки и быть скомпрометированы, то только ручной пересмотр \n"
|
|||
|
"поможет убедиться в качестве кода. Модель доверия Monotone обязывает вас "
|
|||
|
"следить за изменением прав. \n"
|
|||
|
"Что не является заменой чтения изменений."
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/guides/monotone.html:153
|
|||
|
msgid ""
|
|||
|
"A Monotone repository is a single file (a compressed SQLite database) "
|
|||
|
"which contains all of the project's source code and history."
|
|||
|
msgstr ""
|
|||
|
"Хранилище Monotone это один файл (сжатая база данных SQLite), который "
|
|||
|
"содержит исходный код всех проектов и историю."
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/guides/monotone.html:159
|
|||
|
msgid ""
|
|||
|
"After <a href=\"#obtaining-and-deploying-developers-keys\">importing the "
|
|||
|
"developers' keys into Monotone</a> and\n"
|
|||
|
" <a href=\"#setting-up-trust-evaluation-hooks\">setting up trust "
|
|||
|
"evaluation hooks</a>,\n"
|
|||
|
" Monotone will prevent untrusted code from being checked out into your "
|
|||
|
"workspace.\n"
|
|||
|
" There are commands available to clean untrusted code from your "
|
|||
|
"workspace but in practice they've not been\n"
|
|||
|
" needed due to the push access policies in place."
|
|||
|
msgstr ""
|
|||
|
"После <a href=\"#obtaining-and-deploying-developers-keys\">импорта ключей"
|
|||
|
" разработчиков в Monotone</a> и\n"
|
|||
|
"<a href=\"#setting-up-trust-evaluation-hooks\">установки ловушек оценки "
|
|||
|
"доверия</a>,\n"
|
|||
|
"Monotone предотвратит извлечение ненадежного кода в ваш workspace.\n"
|
|||
|
"Существуют команды, способные очистить ненадежный код из вашего "
|
|||
|
"workspace, но на практике они не нужны,\n"
|
|||
|
"благодаря политикам доступа на размещение кода."
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/guides/monotone.html:169
|
|||
|
msgid ""
|
|||
|
"A repository can hold many branches. For example, our repository holds "
|
|||
|
"the\n"
|
|||
|
" following main branches:"
|
|||
|
msgstr ""
|
|||
|
"В хранилище могут находиться несколько веток. Например, наше хранилище "
|
|||
|
"содержит \n"
|
|||
|
"следующие главные ветки:"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/guides/monotone.html:174
|
|||
|
msgid "The I2P router and associated programs"
|
|||
|
msgstr "Маршрутизатор I2P и связанные с ним программы"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/guides/monotone.html:175
|
|||
|
msgid "The I2P project website"
|
|||
|
msgstr "Веб-сайт проекта I2P"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/guides/monotone.html:176
|
|||
|
msgid "Syndie, a distributed forums tool"
|
|||
|
msgstr "Syndie и средства распределенных форумов"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/guides/monotone.html:181
|
|||
|
msgid ""
|
|||
|
"By convention, the I2P Monotone repository is named <code>i2p.mtn</code>."
|
|||
|
" Before pulling\n"
|
|||
|
" source code from servers, a database for your repository will need to "
|
|||
|
"be initialized.\n"
|
|||
|
" To initialize your local repository, change into the directory that you"
|
|||
|
" want the\n"
|
|||
|
" <code>i2p.mtn</code> file and branch directories to be stored and issue"
|
|||
|
" the following\n"
|
|||
|
" command:"
|
|||
|
msgstr ""
|
|||
|
"По соглашению хранилище I2P Monotone названо <code>i2p.mtn</code>. Перед "
|
|||
|
"извлечением \n"
|
|||
|
"исходного кода с серверов необходимо инициализировать базу данных для "
|
|||
|
"вашего хранилища. \n"
|
|||
|
"Для инициализации вашего локального хранилища перейдите в директорию, в "
|
|||
|
"которой вы хотите \n"
|
|||
|
"хранить <code>i2p.mtn</code> файл и директории веток, и выполните "
|
|||
|
"следующую \n"
|
|||
|
"команду:"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/guides/monotone.html:197
|
|||
|
msgid ""
|
|||
|
"Keys which developers use to commit code are essential for trust "
|
|||
|
"evaluation in\n"
|
|||
|
" Monotone. The other developers' transport keys are only required for "
|
|||
|
"Monotone server operators.\n"
|
|||
|
" "
|
|||
|
msgstr ""
|
|||
|
"Ключи, которые используют для фиксации кода, необходимы для оценки "
|
|||
|
"доверия в \n"
|
|||
|
"Monotone. Другие transport ключи разработчиков нужны только для "
|
|||
|
"операторов сервера Monotone."
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/guides/monotone.html:204
|
|||
|
#, python-format
|
|||
|
msgid ""
|
|||
|
"Developers' commit keys are provided GPG-signed <a "
|
|||
|
"href=\"%(signedkeys)s\">on another page</a>."
|
|||
|
msgstr ""
|
|||
|
"Commit ключи разработчиков представлены в виде GPG-signed <a "
|
|||
|
"href=\"%(signedkeys)s\">на другой странице</a>."
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/guides/monotone.html:210
|
|||
|
#, python-format
|
|||
|
msgid ""
|
|||
|
"To import developers' keys after verifying their authenticity, copy <a "
|
|||
|
"href=\"%(devkeys)s\">all of the keys</a> into a new\n"
|
|||
|
" file. Create this file (e.g. <code><b>keys.txt</b></code>) in the same "
|
|||
|
"directory where <code>i2p.mtn</code> is located. Import the keys with the"
|
|||
|
" command:"
|
|||
|
msgstr ""
|
|||
|
"Для импорта ключей разработчиков после проверки их подлинности скопируйте"
|
|||
|
" <a href=\"%(devkeys)s\">все ключи</a> в новый \n"
|
|||
|
"файл. Создайте этот файл (например, <code><b>keys.txt</b></code>) в той "
|
|||
|
"же директории, в которой расположен <code>i2p.mtn</code>. Импортируйте "
|
|||
|
"ключи командой:"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/guides/monotone.html:220
|
|||
|
msgid ""
|
|||
|
"<b>Note</b>: <i>Never</i> add keys to "
|
|||
|
"<code><b>$HOME/.monotone/keys</b></code> manually."
|
|||
|
msgstr ""
|
|||
|
"<b>Примечание</b>: <i>Никогда</i> не добавляйте ключи в "
|
|||
|
"<code><b>$HOME/.monotone/keys</b></code> вручную."
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/guides/monotone.html:228
|
|||
|
msgid ""
|
|||
|
"The default Monotone trust policy is way too lax for our requirements: "
|
|||
|
"every committer is trusted by default.\n"
|
|||
|
" That is not acceptable for I2P development."
|
|||
|
msgstr ""
|
|||
|
"Дефолтная политика доверия Monotone слишком слаба для наших требований: "
|
|||
|
"каждый коммитер по умолчанию надежен.\n"
|
|||
|
"Это неприемлемо для разработки I2P."
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/guides/monotone.html:235
|
|||
|
msgid ""
|
|||
|
"Change into the directory <code><b>$HOME/.monotone</b></code> and open "
|
|||
|
"the file\n"
|
|||
|
" <code>monotonerc</code> with a text editor. Copy and paste the "
|
|||
|
"following two functions into this file:"
|
|||
|
msgstr ""
|
|||
|
"Перейдите в директорию <code><b>$HOME/.monotone</b></code> и откройте "
|
|||
|
"файл \n"
|
|||
|
"<code>monotonerc</code> в текстовом редакторе. Скопируйте и вставьте "
|
|||
|
"следующие две функции в этот файл:"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/guides/monotone.html:244
|
|||
|
msgid ""
|
|||
|
"The first function determines an intersection between two sets, in our "
|
|||
|
"case a\n"
|
|||
|
" revision's signers and trusted signers."
|
|||
|
msgstr ""
|
|||
|
"Первая функция определяет пересечение между двумя наборами, в нашем "
|
|||
|
"случае \n"
|
|||
|
"это подписанты ревизий и надежные подписанты."
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/guides/monotone.html:251
|
|||
|
msgid ""
|
|||
|
"The second function determines trust in a given revision, by calling the "
|
|||
|
"first\n"
|
|||
|
" function with \"signers\" and \"trusted\" as arguments. If the "
|
|||
|
"intersection is\n"
|
|||
|
" null, the revision is not trusted. If the intersection is not empty, "
|
|||
|
"the\n"
|
|||
|
" revision is trusted. Otherwise, the revision is not trusted."
|
|||
|
msgstr ""
|
|||
|
"Вторая функция определяет доверие в заданной ревизии, вызывая первую \n"
|
|||
|
"функцию с аргументами \"signers\" и \"trusted\". Если пересечение \n"
|
|||
|
"пусто, то ревизия не надежна. Если пересечение не пусто, то \n"
|
|||
|
"ревизия надежна. В другом случае ревизия не надежна."
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/guides/monotone.html:260
|
|||
|
msgid ""
|
|||
|
"More information about Trust Evauluation Hooks can be found in the <a "
|
|||
|
"href=\"http://www.monotone.ca/docs/Hooks.html\">official Monotone "
|
|||
|
"documentation</a>."
|
|||
|
msgstr ""
|
|||
|
"Больше информации о ловушках оценки доверия - Trust Evauluation Hooks - "
|
|||
|
"можно найти в <a "
|
|||
|
"href=\"http://www.monotone.ca/docs/Hooks.html\">официальной документации"
|
|||
|
" Monotone</a>."
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/guides/monotone.html:269
|
|||
|
msgid ""
|
|||
|
"Enter the directory where you initialized <code>i2p.mtn</code>. Depending"
|
|||
|
" on whether you\n"
|
|||
|
" want only I2P sources, or also sources for the I2P website and Syndie, "
|
|||
|
"you can\n"
|
|||
|
" perform the <code>pull</code> operation in different ways."
|
|||
|
msgstr ""
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/guides/monotone.html:277
|
|||
|
msgid "If you only want I2P sources:"
|
|||
|
msgstr "Если вам нужны только исходники I2P:"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/guides/monotone.html:286
|
|||
|
msgid "If you want all branches:"
|
|||
|
msgstr "Если вам нужны все ветки:"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/guides/monotone.html:292
|
|||
|
msgid ""
|
|||
|
"If the transfer aborts before completing sucessfully, simply repeating "
|
|||
|
"the pull command will resume the transfer."
|
|||
|
msgstr ""
|
|||
|
"Если передача прервалась до успешного завершения, просто повторите "
|
|||
|
"команду получения, и передача возобновится."
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/guides/monotone.html:298
|
|||
|
msgid ""
|
|||
|
"Pulling in the above examples is done anonymously by specifying an empty "
|
|||
|
"transport key.\n"
|
|||
|
" If everyone pulls anonymously it will be harder for an attacker who "
|
|||
|
"gains control of the server\n"
|
|||
|
" to selectively provide some people with tampered data."
|
|||
|
msgstr ""
|
|||
|
"Получение в примерах выше совершается анонимно, т.к. был указан пустой "
|
|||
|
"transport ключ. \n"
|
|||
|
"Если все будут выполнять получение анонимно, то атакующему будет сложнее "
|
|||
|
"получить контроль над сервером, \n"
|
|||
|
"избирательно снабжая некоторых людей поддельными данными."
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/guides/monotone.html:309
|
|||
|
msgid "To verify that trust evaluation works:"
|
|||
|
msgstr "Чтобы убедиться, что оценка доверия работает:"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/guides/monotone.html:313
|
|||
|
msgid "Make a backup of your <code>monotonerc</code> file."
|
|||
|
msgstr "Сделайте резервную копию вашего файла <code>monotonerc</code>."
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/guides/monotone.html:314
|
|||
|
msgid ""
|
|||
|
"Modify <code><b>monotonerc</b></code> by setting the trusted_signers "
|
|||
|
"variable in the following way:"
|
|||
|
msgstr ""
|
|||
|
"Измените <code><b>monotonerc</b></code>, определив переменную "
|
|||
|
"trusted_signers следующим образом:"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/guides/monotone.html:320
|
|||
|
msgid ""
|
|||
|
"With <code><b>monotonerc</b></code> configured as above, Monotone will no"
|
|||
|
" longer trust any committers. Confirm this by changing into the\n"
|
|||
|
"directory where <code>i2p.mtn</code> was created and attempt a checkout "
|
|||
|
"of the I2P branch:"
|
|||
|
msgstr ""
|
|||
|
"С измененным т.о. <code><b>monotonerc</b></code> Monotone не будет больше"
|
|||
|
" доверять никаким коммитерам. Убедитесь в этом, изменив \n"
|
|||
|
"директорию на ту, в которой был создан <code>i2p.mtn</code>, и попробуйте"
|
|||
|
" извлечь ветку I2P:"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/guides/monotone.html:330
|
|||
|
msgid ""
|
|||
|
"A directory named <code>i2p.i2p</code> should <b>not</b> appear. You "
|
|||
|
"should encounter many\n"
|
|||
|
" error messages like:"
|
|||
|
msgstr ""
|
|||
|
"Директория с именем <code>i2p.i2p</code> <b>не</b> должна появиться. Вы "
|
|||
|
"должны увидеть много \n"
|
|||
|
"сообщений об ошибках, вроде таких:"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/guides/monotone.html:347
|
|||
|
msgid ""
|
|||
|
"If you are satisfied with results, restore the backup of\n"
|
|||
|
" <code>monotonerc</code> that was created above. If you didn't create a "
|
|||
|
"backup\n"
|
|||
|
" as advised, re-read <a href=\"#setting-up-trust-evaluation-"
|
|||
|
"hooks\">Setting up trust evaluation hooks</a>."
|
|||
|
msgstr ""
|
|||
|
"Если вы удовлетворены результатом, восстановите резервную копию \n"
|
|||
|
"<code>monotonerc</code>, которая была создана ранее. Если вы не создали "
|
|||
|
"резервную копию, \n"
|
|||
|
"как предлагалось, перечитайте <a href=\"#setting-up-trust-evaluation-"
|
|||
|
"hooks\">Установку ловушек оценки доверия</a>."
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/guides/monotone.html:358
|
|||
|
msgid ""
|
|||
|
"If you already have a branch checked out, skip to the <a href"
|
|||
|
"=\"#updating-your-working-copy-to-the-latest-version\">next\n"
|
|||
|
" section</a>."
|
|||
|
msgstr ""
|
|||
|
"Если вы уже извлекли ветку, пропустите <a href=\"#updating-your-working-"
|
|||
|
"copy-to-the-latest-version\">следующий \n"
|
|||
|
"раздел</a>."
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/guides/monotone.html:365
|
|||
|
msgid ""
|
|||
|
"Change into the directory where <code>i2p.mtn</code> is located. Over "
|
|||
|
"there issue:"
|
|||
|
msgstr ""
|
|||
|
"Перейдите в директорию, в которой находится <code>i2p.mtn</code>. И "
|
|||
|
"выполните в ней:"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/guides/monotone.html:374
|
|||
|
msgid ""
|
|||
|
"The checkout should complete without error messages and a directory named"
|
|||
|
"\n"
|
|||
|
" <code>i2p.i2p</code> should appear in the current directory. "
|
|||
|
"Congratulations! You have\n"
|
|||
|
" successfully checked out the latest I2P sources, ready to be compiled."
|
|||
|
msgstr ""
|
|||
|
"Извлечение должно быть выполнено без сообщений об ошибках и директория с "
|
|||
|
"именем \n"
|
|||
|
"<code>i2p.i2p</code> должна появиться в текущей директории. Поздравляем! "
|
|||
|
"Вы \n"
|
|||
|
"успешно извлекли последние исходники I2P, готовые к компиляции."
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/guides/monotone.html:385
|
|||
|
msgid ""
|
|||
|
"If you haven't done this already, pull fresh code from the server to your"
|
|||
|
" local\n"
|
|||
|
" Monotone repository. To accomplish this, change into the directory "
|
|||
|
"where\n"
|
|||
|
" <code>i2p.mtn</code> is located and issue:"
|
|||
|
msgstr ""
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/guides/monotone.html:396
|
|||
|
msgid "Now change into your <code>i2p.i2p</code> directory, and over there issue:"
|
|||
|
msgstr ""
|
|||
|
"Теперь перейдите в вашу <code>i2p.i2p</code> директорию, и выполните в "
|
|||
|
"ней:"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/guides/monotone.html:405
|
|||
|
msgid ""
|
|||
|
"As long as there were no errors…Congratulations! You have "
|
|||
|
"successfully updated to the latest I2P sources. They\n"
|
|||
|
" should be ready to compile."
|
|||
|
msgstr ""
|
|||
|
"Т.к. ошибок нет…Поздравляем! Вы успешно обновились до последних "
|
|||
|
"исходников I2P. Они \n"
|
|||
|
"готовы для компиляции."
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/guides/monotone.html:414
|
|||
|
msgid "Obtaining and deploying developers' transport keys"
|
|||
|
msgstr "Получение и применение transport ключей разработчиков"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/guides/monotone.html:417
|
|||
|
msgid ""
|
|||
|
"As a server operator you may want to grant push access to certain "
|
|||
|
"developers."
|
|||
|
msgstr ""
|
|||
|
"Как оператор сервера вы можете захотеть наделить некоторых разработчиков "
|
|||
|
"правом размещения."
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/guides/monotone.html:425
|
|||
|
msgid "By default the Monotone server denies all access."
|
|||
|
msgstr "По умолчанию сервер Monotone запрещает любой доступ."
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/guides/monotone.html:431
|
|||
|
msgid "To grant pull access to all clients, set the following in"
|
|||
|
msgstr "Чтобы дать право извлечения всем клиентам, установите следующее в"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/guides/monotone.html:443
|
|||
|
msgid ""
|
|||
|
"No one will not be able to push code to your server without permission "
|
|||
|
"being explicitly granted. To grant push access:"
|
|||
|
msgstr ""
|
|||
|
"Никто без явного наделения правами не сможет размещать код на вашем "
|
|||
|
"сервере. Чтобы разрешить доступ на размещение:"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/guides/monotone.html:449
|
|||
|
msgid ""
|
|||
|
"Add the name of the user's transport key to\n"
|
|||
|
"<code>$HOME/.monotone/write-permissions</code>, such as\n"
|
|||
|
"<code><pre>\n"
|
|||
|
" zzz-transport@mail.i2p\n"
|
|||
|
" complication-transport@mail.i2p\n"
|
|||
|
"</pre></code>\n"
|
|||
|
"with one key per line."
|
|||
|
msgstr ""
|
|||
|
"Добавьте имена transport ключей пользователей в\n"
|
|||
|
"<code>$HOME/.monotone/write-permissions</code>, как это сделано для\n"
|
|||
|
"<code><pre>\n"
|
|||
|
" zzz-transport@mail.i2p\n"
|
|||
|
" complication-transport@mail.i2p\n"
|
|||
|
"</pre></code>\n"
|
|||
|
"с одним ключом на строке."
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/guides/monotone.html:460
|
|||
|
msgid ""
|
|||
|
"Import the transport key(s) into your database. The procedure for "
|
|||
|
"importing transport keys is the same as for\n"
|
|||
|
"importing commit keys, which is described in the section <a href"
|
|||
|
"=\"#obtaining-and-deploying-developers-keys\">Obtaining and deploying "
|
|||
|
"developers' keys</a>."
|
|||
|
msgstr ""
|
|||
|
"Импортируйте transport ключ(и) в вашу базу данных. Процедура для импорта "
|
|||
|
"transport ключей подобна \n"
|
|||
|
"импорту commit ключей, которая описана в разделе <a href=\"#obtaining-"
|
|||
|
"and-deploying-developers-keys\">Получение и применение ключей "
|
|||
|
"разработчиков</a>."
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/guides/monotone.html:470
|
|||
|
msgid ""
|
|||
|
"A separate database should be used for your Monotone server because "
|
|||
|
"monotone will lock the database while it is served to others.\n"
|
|||
|
" Make a copy of your development database, then start the server with:"
|
|||
|
msgstr ""
|
|||
|
"Для вашего сервера Monotone должна использоваться отдельная база данных, "
|
|||
|
"потому что Monotone блокирует базу данных пока она служит другим.\n"
|
|||
|
"Сделайте копию вашей разработческой базы данных, затем запустите сервер:"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/guides/monotone.html:477
|
|||
|
msgid ""
|
|||
|
"If your key is protected with a passphrase, Monotone may request the "
|
|||
|
"passphrase\n"
|
|||
|
" when the first client connects. You can work around this by connecting "
|
|||
|
"making the first client connection to your server\n"
|
|||
|
" (or by clearing the password for your transport key)."
|
|||
|
msgstr ""
|
|||
|
"Если ваш ключ защищен паролем, Monotone запросит этот пароль\n"
|
|||
|
"когда подключится первый клиент. Вы можете обойти это, собственноручно "
|
|||
|
"выполнив первое подключения клиента к вашему серверу \n"
|
|||
|
"(или очистив пароль к вашему transport ключу)."
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/guides/monotone.html:485
|
|||
|
msgid ""
|
|||
|
"For your server to be accessible for others over I2P, you will need to "
|
|||
|
"create a\n"
|
|||
|
" server tunnel for it. Use the \"Standard\" tunnel type and \"Bulk\" "
|
|||
|
"profile."
|
|||
|
msgstr ""
|
|||
|
"Чтобы ваш сервер был доступен другим в сети I2P, для этого вам нужно "
|
|||
|
"создать \n"
|
|||
|
"серверный туннель. Используйте \"Standard\" тип туннеля и \"Bulk\" "
|
|||
|
"профиль."
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/guides/monotone.html:495
|
|||
|
msgid ""
|
|||
|
"Debian (amongst other distributions) has integrated Monotone into their\n"
|
|||
|
" framework of daemons/services. Although Monotone servers can still be "
|
|||
|
"run\n"
|
|||
|
" \"the ordinary way\" on Debian systems, doing it the \"Debian way\" may"
|
|||
|
" be more straightforward."
|
|||
|
msgstr ""
|
|||
|
"В Debian (наряду с другими поставками) есть интегрированный в \n"
|
|||
|
"фреймворк демонов/сервисов Monotone. Также сервера Monotone можно "
|
|||
|
"запустить \n"
|
|||
|
"\"обычным способом\" на системах Debian, запуск в стиле \"Debian\" может "
|
|||
|
"быть более простым."
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/guides/monotone.html:503
|
|||
|
msgid ""
|
|||
|
"Permissions are granted by editing the files\n"
|
|||
|
" <code>/etc/monotone/read-permissions</code> and\n"
|
|||
|
" <code>/etc/monotone/write-permissions</code>. You'll also need to edit\n"
|
|||
|
" <code>/etc/default/monotone</code> to enable monotone to start at boot "
|
|||
|
"or to\n"
|
|||
|
" customize the host, port, or database location."
|
|||
|
msgstr ""
|
|||
|
"Разрешения выдаются редактированием файлов\n"
|
|||
|
"<code>/etc/monotone/read-permissions</code> и\n"
|
|||
|
"<code>/etc/monotone/write-permissions</code>. Вам также нужно "
|
|||
|
"отредактировать\n"
|
|||
|
"<code>/etc/default/monotone</code> чтобы включить запуск monotone при "
|
|||
|
"загрузке или \n"
|
|||
|
"изменить хост, порт, или расположение базы данных."
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/guides/new-developers.html:2
|
|||
|
msgid "New Developer's Guide"
|
|||
|
msgstr "Руководство Нового Разработчика"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/guides/new-developers.html:4
|
|||
|
msgid ""
|
|||
|
"\n"
|
|||
|
"So you want to start work on I2P? Great!\n"
|
|||
|
"Here's a quick guide to getting started\n"
|
|||
|
"on contributing to the website or the software, doing development or "
|
|||
|
"creating translations."
|
|||
|
msgstr ""
|
|||
|
"\n"
|
|||
|
"Итак, вы хотите начать работать над I2P? Отлично!\n"
|
|||
|
"Вот краткое руководство для начала\n"
|
|||
|
"работы над веб-сайтом или ПО, разработки или создания переводов."
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/guides/new-developers.html:9
|
|||
|
#, python-format
|
|||
|
msgid ""
|
|||
|
"\n"
|
|||
|
"Not quite ready for coding?\n"
|
|||
|
"Try <a href=\"%(volunteer)s\">getting involved</a> first."
|
|||
|
msgstr ""
|
|||
|
"\n"
|
|||
|
"Не совсем готовы для написания кода?\n"
|
|||
|
"Попробуйте <a href=\"%(volunteer)s\">поучаствовать</a> для начала."
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/guides/new-developers.html:16
|
|||
|
#: i2p2www/pages/site/get-involved/guides/new-developers.html:27
|
|||
|
msgid "Basic study"
|
|||
|
msgstr "Начальное изучение"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/guides/new-developers.html:17
|
|||
|
#: i2p2www/pages/site/get-involved/guides/new-developers.html:41
|
|||
|
msgid "Getting the I2P code"
|
|||
|
msgstr "Получение кода I2P"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/guides/new-developers.html:18
|
|||
|
#: i2p2www/pages/site/get-involved/guides/new-developers.html:112
|
|||
|
msgid "Building I2P"
|
|||
|
msgstr "Сборка I2P"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/guides/new-developers.html:19
|
|||
|
#: i2p2www/pages/site/get-involved/guides/new-developers.html:133
|
|||
|
msgid "Development ideas"
|
|||
|
msgstr "Идеи разработок"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/guides/new-developers.html:20
|
|||
|
#: i2p2www/pages/site/get-involved/guides/new-developers.html:141
|
|||
|
msgid "Making the results available"
|
|||
|
msgstr "Сделайте результат доступным"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/guides/new-developers.html:21
|
|||
|
#: i2p2www/pages/site/get-involved/guides/new-developers.html:162
|
|||
|
msgid "Get to know us!"
|
|||
|
msgstr "Узнайте о нас!"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/guides/new-developers.html:22
|
|||
|
#: i2p2www/pages/site/get-involved/guides/new-developers.html:168
|
|||
|
msgid "Translations"
|
|||
|
msgstr "Переводы"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/guides/new-developers.html:23
|
|||
|
#: i2p2www/pages/site/get-involved/guides/new-developers.html:174
|
|||
|
msgid "Tools"
|
|||
|
msgstr "Средства"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/guides/new-developers.html:29
|
|||
|
msgid ""
|
|||
|
"Basic development on the I2P router or the embedded applications uses "
|
|||
|
"Java as the main development language.\n"
|
|||
|
"If you don't have experience with Java, you can always have a look at <a "
|
|||
|
"href=\"http://www.mindview.net/Books/TIJ/\">Thinking in Java</a>."
|
|||
|
msgstr ""
|
|||
|
"Основная разработка маршрутизатора I2P или встроенных приложений "
|
|||
|
"выполняется на Java, как главном языке разработки.\n"
|
|||
|
"Если у вас нет опыта с Java, вы всегда можете обратиться к <a "
|
|||
|
"href=\"http://www.mindview.net/Books/TIJ/\">Thinking in Java</a>."
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/guides/new-developers.html:33
|
|||
|
#, python-format
|
|||
|
msgid ""
|
|||
|
"Study the <a href=\"%(intro)s\">how intro</a>,\n"
|
|||
|
"the <a href=\"%(docs)s\">other \"how\" documents</a>,\n"
|
|||
|
"the <a href=\"%(techintro)s\">tech intro</a>,\n"
|
|||
|
"and associated documents.\n"
|
|||
|
"These will give you a good overview of how I2P is structured and what "
|
|||
|
"different things it does."
|
|||
|
msgstr ""
|
|||
|
"Изучите <a href=\"%(intro)s\">how intro</a>,\n"
|
|||
|
"<a href=\"%(docs)s\">другие \"how\" документы</a>,\n"
|
|||
|
"<a href=\"%(techintro)s\">tech intro</a>,\n"
|
|||
|
"и связанные с ними документы.\n"
|
|||
|
"Это даст вам хороший обзор того, как устроен I2P и какие различные вещи "
|
|||
|
"он выполняет."
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/guides/new-developers.html:43
|
|||
|
msgid ""
|
|||
|
"For development on the i2p router or the embedded applications,\n"
|
|||
|
"get the monotone source repository installed - short instructions:"
|
|||
|
msgstr ""
|
|||
|
"Для разработки маршрутизатора I2P или встроенных приложений, \n"
|
|||
|
"установите хранилище исходников monotone - краткая инструкция:"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/guides/new-developers.html:48
|
|||
|
msgid ""
|
|||
|
"Install <a href=\"http://www.monotone.ca/\">monotone</a>.\n"
|
|||
|
"Monotone is a version control system.\n"
|
|||
|
"We use it because it allows us to keep track of who does what changes to "
|
|||
|
"the source code (and for a lot of complicated things, but 'keeping track "
|
|||
|
"of changes' is the basic idea)."
|
|||
|
msgstr ""
|
|||
|
"Установите <a href=\"http://www.monotone.ca/\">monotone</a>.\n"
|
|||
|
"Monotone это система контроля версий.\n"
|
|||
|
"Мы используем ее, потому что она позволяет следить за тем что и кто "
|
|||
|
"изменяет в исходных кодах (и для большого числа сложных вещей, но "
|
|||
|
"'следить за изменениями' это основная задача)."
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/guides/new-developers.html:53
|
|||
|
msgid ""
|
|||
|
"Skim over the <a "
|
|||
|
"href=\"http://www.monotone.ca/docs/Tutorial.html\">monotone tutorial</a>,"
|
|||
|
" to make sure you understand the concepts."
|
|||
|
msgstr ""
|
|||
|
"Загляните в <a href=\"http://www.monotone.ca/docs/Tutorial.html\">учебник"
|
|||
|
" monotone</a>, чтобы убедиться, что вы понимаете концепцию."
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/guides/new-developers.html:57
|
|||
|
msgid ""
|
|||
|
"If you want to remain anonymous, you need to do an additional step, to "
|
|||
|
"set up a connection to a monotone server over I2P:"
|
|||
|
msgstr ""
|
|||
|
"Если вы хотите остаться анонимным, вам нужно выполнить дополнительные "
|
|||
|
"шаги, чтобы подключиться к серверу monotone через I2P:"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/guides/new-developers.html:60
|
|||
|
#, python-format
|
|||
|
msgid ""
|
|||
|
"Enable the <a href=\"%(i2ptunnel)s\">i2ptunnel</a> client tunnel on port "
|
|||
|
"8998 pointing to mtn.i2p2.i2p."
|
|||
|
msgstr ""
|
|||
|
"Включите клиентский туннель <a href=\"%(i2ptunnel)s\">i2ptunnel</a> на "
|
|||
|
"порту 8998, указывающий на mtn.i2p2.i2p."
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/guides/new-developers.html:64
|
|||
|
msgid ""
|
|||
|
"Pick a directory where you want to put all your I2P files, and create a "
|
|||
|
"monotone database:"
|
|||
|
msgstr ""
|
|||
|
"Выберите директорию, в которую вы хотите выгрузить все ваши файлы I2P, и "
|
|||
|
"создайте базу данных monotone:"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/guides/new-developers.html:67
|
|||
|
msgid ""
|
|||
|
"Define the trust list by creating <code>~/.monotone/monotonerc</code> (or"
|
|||
|
" <code>_MTN/monotonerc</code> in the i2p.i2p workspace) with the "
|
|||
|
"following contents:"
|
|||
|
msgstr ""
|
|||
|
"Определите список доверия, создав <code>~/.monotone/monotonerc</code> "
|
|||
|
"(или <code>_MTN/monotonerc</code> в workspace i2p.i2p) со следующим "
|
|||
|
"содержимым:"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/guides/new-developers.html:72
|
|||
|
#, python-format
|
|||
|
msgid ""
|
|||
|
"Copy and paste the <a href=\"%(devkeys)s\">developer's commit keys</a> "
|
|||
|
"into a new file (e.g. <code>keys.txt</code>) in the same directory\n"
|
|||
|
" that <code>i2p.mtn</code> is in. Import the keys into your database "
|
|||
|
"with <br><code><pre> mtn -d i2p.mtn read < keys.txt</pre></code>"
|
|||
|
msgstr ""
|
|||
|
"Скопируйте и вставьте <a href=\"%(devkeys)s\">commit ключи "
|
|||
|
"разработчиков</a> в новый файл (например, <code>keys.txt</code>) в той же"
|
|||
|
" директории, \n"
|
|||
|
"где находится <code>i2p.mtn</code>. Импортируйте ключи в вашу базу данных"
|
|||
|
" с <br><code><pre> mtn -d i2p.mtn read < keys.txt</pre></code>"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/guides/new-developers.html:76
|
|||
|
msgid ""
|
|||
|
"Pull the I2P sources to your machine. This may take a long time, "
|
|||
|
"especially if you are doing this over I2P!"
|
|||
|
msgstr ""
|
|||
|
"Выгрузите исходники I2P на ваш компьютер. Это может занять много времени,"
|
|||
|
" особенно, если вы делаете это через I2P!"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/guides/new-developers.html:78
|
|||
|
msgid "Anonymously:"
|
|||
|
msgstr "Анонимно:"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/guides/new-developers.html:81
|
|||
|
msgid "Non-anonymously:"
|
|||
|
msgstr "Не анонимно:"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/guides/new-developers.html:83
|
|||
|
msgid ""
|
|||
|
"Alternatively, instead of 'mtn.i2p2.de', you can also download from mtn"
|
|||
|
".i2p-projekt.de."
|
|||
|
msgstr ""
|
|||
|
"Также, вместо 'mtn.i2p2.de' вы можете выполнять загрузку с mtn.i2p-"
|
|||
|
"projekt.de."
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/guides/new-developers.html:90
|
|||
|
msgid ""
|
|||
|
"All the sources are now present on your machine, in the database file. To"
|
|||
|
" make them available in a directory, you need to check them out:"
|
|||
|
msgstr ""
|
|||
|
"Теперь все исходники есть на вашем компьютере, в файле базы данных. Чтобы"
|
|||
|
" они были доступны в директории, вам нужно их извлечь:"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/guides/new-developers.html:92
|
|||
|
msgid ""
|
|||
|
"The above command creates a directory i2p.i2p, which contains all of the "
|
|||
|
"I2P sources."
|
|||
|
msgstr ""
|
|||
|
"Команда выше создает директорию i2p.i2p, которая содержит все исходники "
|
|||
|
"I2P."
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/guides/new-developers.html:96
|
|||
|
msgid "Remarks"
|
|||
|
msgstr "Примечания"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/guides/new-developers.html:97
|
|||
|
msgid ""
|
|||
|
"\n"
|
|||
|
"To download the website files instead of the I2P source files, use "
|
|||
|
"'i2p.www' instead of 'i2p.i2p'."
|
|||
|
msgstr ""
|
|||
|
"\n"
|
|||
|
"Чтобы загрузить файлы веб-сайта вместо файлов исходников I2P, используйте"
|
|||
|
" 'i2p.www' вместо 'i2p.i2p'."
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/guides/new-developers.html:100
|
|||
|
msgid ""
|
|||
|
"The initial pull may take several hours using the tunnel.\n"
|
|||
|
"If it fails after a partial pull, simply rerun it, it will start where it"
|
|||
|
" left off.\n"
|
|||
|
"If you are in a hurry, use the non-anonymous access."
|
|||
|
msgstr ""
|
|||
|
"Начальная выгрузка может занять несколько часов при использовании "
|
|||
|
"туннеля.\n"
|
|||
|
"Если она прервется после частичной выгрузки, просто перезапустите ее, она"
|
|||
|
" продолжится с прерванного.\n"
|
|||
|
"Если вы торопитесь, используйте не анонимный доступ."
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/guides/new-developers.html:105
|
|||
|
#, python-format
|
|||
|
msgid ""
|
|||
|
"A full list of branches, including i2p.i2p and i2p.www can be found on <a"
|
|||
|
" href=\"%(viewmtn)s\">viewmtn</a>."
|
|||
|
msgstr ""
|
|||
|
"Полный список веток, включая i2p.i2p и i2p.www, можно найти на <a "
|
|||
|
"href=\"%(viewmtn)s\">viewmtn</a>."
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/guides/new-developers.html:108
|
|||
|
#, python-format
|
|||
|
msgid ""
|
|||
|
"A long explanation about using monotone is available on the <a "
|
|||
|
"href=\"%(monotone)s\">monotone page</a>."
|
|||
|
msgstr ""
|
|||
|
"Длинное описание использования monotone доступно на <a "
|
|||
|
"href=\"%(monotone)s\">странице monotone</a>."
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/guides/new-developers.html:114
|
|||
|
#, python-format
|
|||
|
msgid ""
|
|||
|
"To compile the code, you need the Sun Java Development Kit 6 or higher, "
|
|||
|
"or equivalent JDK\n"
|
|||
|
"(<a href=\"%(sunjdk6)s\">Sun JDK 6</a> strongly recommended) and\n"
|
|||
|
"<a href=\"http://ant.apache.org/\">Apache ant</a>\n"
|
|||
|
"version 1.7.0 or higher.\n"
|
|||
|
"If you go are working on the main I2P code, you can go into the i2p.i2p "
|
|||
|
"directory and run 'ant' to see the build options."
|
|||
|
msgstr ""
|
|||
|
"Чтобы упростить создание кода, вам понадобится Sun Java Development Kit 6"
|
|||
|
" или выше, ли подобный JDK\n"
|
|||
|
"(<a href=\"%(sunjdk6)s\">Sun JDK 6</a> настоятельно рекомендуется) и\n"
|
|||
|
"<a href=\"http://ant.apache.org/\">Apache ant</a>\n"
|
|||
|
"версии 1.7.0 или выше.\n"
|
|||
|
"Если вы работаете над основным кодом I2P, вы можете зайти в директорию "
|
|||
|
"i2p.i2p и запустить 'ant', чтобы увидеть опции сборки."
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/guides/new-developers.html:122
|
|||
|
msgid ""
|
|||
|
"To build or work on console translations, you need\n"
|
|||
|
"the xgettext, msgfmt, and msgmerge tools from the\n"
|
|||
|
"<a href=\"http://www.gnu.org/software/gettext/\">GNU gettext package</a>."
|
|||
|
msgstr ""
|
|||
|
"Для сборки или работы на переводами консоли, вам нужны \n"
|
|||
|
"средства xgettext, msgfmt и msgmerge из \n"
|
|||
|
"<a href=\"http://www.gnu.org/software/gettext/\">пакета GNU gettext</a>."
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/guides/new-developers.html:128
|
|||
|
#, python-format
|
|||
|
msgid ""
|
|||
|
"For development on new applications,\n"
|
|||
|
"see the <a href=\"%(apps)s\">application development guide</a>."
|
|||
|
msgstr ""
|
|||
|
"Для разработки новый приложений, \n"
|
|||
|
"смотри <a href=\"%(apps)s\">руководство по разработке приложений</a>."
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/guides/new-developers.html:134
|
|||
|
#, python-format
|
|||
|
msgid ""
|
|||
|
"See <a href=\"http://%(zzz)s/forums/3\">zzz's TODO lists</a>,\n"
|
|||
|
"<a href=\"%(todo)s\">this website's TODO list</a> or\n"
|
|||
|
"<a href=\"%(trac)s\">Trac</a>\n"
|
|||
|
"for ideas."
|
|||
|
msgstr ""
|
|||
|
"Смотри <a href=\"http://%(zzz)s/forums/3\">списки TODO zzz's</a>,\n"
|
|||
|
"<a href=\"%(todo)s\">список TODO этого веб-сайта</a> или\n"
|
|||
|
"<a href=\"%(trac)s\">Trac</a>\n"
|
|||
|
"для поиска идей."
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/guides/new-developers.html:143
|
|||
|
#, python-format
|
|||
|
msgid ""
|
|||
|
"See the bottom of <a href=\"%(licenses)s#commit\">the licenses page</a> "
|
|||
|
"for\n"
|
|||
|
"commit privilege requirements. You need these to put code into i2p.i2p "
|
|||
|
"(not required for the website!)."
|
|||
|
msgstr ""
|
|||
|
"Необходимые привилегии для фиксации ищи в конце \n"
|
|||
|
"<a href=\"%(licenses)s#commit\">страницы лицензий</a>. Вам они "
|
|||
|
"понадобятся для размещения кода в i2p.i2p (не требуется для веб-сайта!)."
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/guides/new-developers.html:148
|
|||
|
msgid "Short version of how to generate and use keys if you plan to commit:"
|
|||
|
msgstr ""
|
|||
|
"Краткая версия описания генерации и использования ключей, если вы "
|
|||
|
"планируете выполнять фиксацию:"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/guides/new-developers.html:150
|
|||
|
msgid "use an empty passphrase"
|
|||
|
msgstr "используйте пустой пароль"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/guides/new-developers.html:151
|
|||
|
msgid "enter a passphrase"
|
|||
|
msgstr "введите пароль"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/guides/new-developers.html:152
|
|||
|
#, python-format
|
|||
|
msgid ""
|
|||
|
"<a href=\"mailto:%(email)s\">send</a> this to a mtn repo operator to get "
|
|||
|
"push privileges"
|
|||
|
msgstr ""
|
|||
|
"<a href=\"mailto:%(email)s\">отправьте</a> это оператору mtn repo, чтобы "
|
|||
|
"получить привилегию на размещение"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/guides/new-developers.html:153
|
|||
|
#, python-format
|
|||
|
msgid ""
|
|||
|
"send this to <a href=\"mailto:%(email)s\">a release manager</a> to get "
|
|||
|
"commit privileges - not required for website"
|
|||
|
msgstr ""
|
|||
|
"отправьте это <a href=\"mailto:%(email)s\">релиз-менеджеру</a>, чтобы "
|
|||
|
"получить привилегии фиксации - не требуется для веб-сайта"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/guides/new-developers.html:154
|
|||
|
msgid "check in with this key"
|
|||
|
msgstr "чекиньте с этим ключом"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/guides/new-developers.html:155
|
|||
|
msgid "push with this key"
|
|||
|
msgstr "извлекайте с этим ключом"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/guides/new-developers.html:157
|
|||
|
#, python-format
|
|||
|
msgid "Long version: see the <a href=\"%(monotone)s\">monotone page</a>."
|
|||
|
msgstr "Длинная версия: смотри <a href=\"%(monotone)s\">страницу monotone</a>."
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/guides/new-developers.html:163
|
|||
|
#, python-format
|
|||
|
msgid ""
|
|||
|
"The developers hang around on IRC. They can be reached on the Freenode "
|
|||
|
"network, OFTC, and on the I2P internal networks. The usual place to look "
|
|||
|
"is #i2p-dev. Join the channel and say hi!\n"
|
|||
|
"We also have <a href=\"%(guidelines)s\">additional guidelines for regular"
|
|||
|
" developers</a>."
|
|||
|
msgstr ""
|
|||
|
"Разработчики общаются в IRC. Их можно найти в сети Freenode, OFTC и во "
|
|||
|
"внутренней сети I2P. Обычно нужно искать в #i2p-dev. Присоединитесь к "
|
|||
|
"каналу и скажите привет!\n"
|
|||
|
"Также у нас есть <a href=\"%(guidelines)s\">дополнительные руководства "
|
|||
|
"для постоянных разработчиков</a>."
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/guides/new-developers.html:169
|
|||
|
#, python-format
|
|||
|
msgid ""
|
|||
|
"Website and router console translators: See the <a "
|
|||
|
"href=\"%(newtrans)s\">New Translator's Guide</a>\n"
|
|||
|
"for next steps."
|
|||
|
msgstr ""
|
|||
|
"Переводчики веб-сайта и консоли маршрутизатора: смотрите <a "
|
|||
|
"href=\"%(newtrans)s\">Руководство Нового Переводчика</a> \n"
|
|||
|
"для продолжения."
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/guides/new-developers.html:175
|
|||
|
msgid ""
|
|||
|
"I2P is open source software that is mostly developed using open sourced\n"
|
|||
|
"toolkits. The I2P project recently acquired a license for the YourKit "
|
|||
|
"Java\n"
|
|||
|
"Profiler. Open source projects are eligible to receive a free license "
|
|||
|
"provided\n"
|
|||
|
"that YourKit is referenced on the project web site. Please get in touch "
|
|||
|
"if you\n"
|
|||
|
"are interested in profiling the I2P codebase."
|
|||
|
msgstr ""
|
|||
|
"I2P это По с открытым исходным кодом, которое в основном разрабатывается "
|
|||
|
"с использованием инструментов \n"
|
|||
|
"с открытым исходным кодом. Проект I2P недавно приобрел лицензию на "
|
|||
|
"YourKit Java\n"
|
|||
|
"Profiler. У проектов с открытым исходным кодом есть право на получение "
|
|||
|
"бесплатной лицензии, гарантирующей, \n"
|
|||
|
"что на веб-сайте проекта есть ссылка на YourKit. Пожалуйста, свяжитесь, "
|
|||
|
"если вы \n"
|
|||
|
"заинтересованы в профилировании базы кодов I2P."
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/guides/new-developers.html:183
|
|||
|
#, python-format
|
|||
|
msgid ""
|
|||
|
"YourKit is kindly supporting open source projects with its full-featured "
|
|||
|
"Java Profiler.\n"
|
|||
|
"YourKit, LLC is the creator of innovative and intelligent tools for "
|
|||
|
"profiling\n"
|
|||
|
"Java and .NET applications. Take a look at YourKit's leading software "
|
|||
|
"products:\n"
|
|||
|
"<a href=\"%(java)s\">YourKit Java Profiler</a> and\n"
|
|||
|
"<a href=\"%(dotnet)s\">YourKit .NET Profiler</a>."
|
|||
|
msgstr ""
|
|||
|
"YourKit любезно предоставляет проектам с открытым исходным кодом "
|
|||
|
"полностью функциональный Java Profiler.\n"
|
|||
|
"YourKit, LLC - создатель инновационного и умного средства профилирования\n"
|
|||
|
"Java и .NET приложений. Взгляните на ведущие программные продукты "
|
|||
|
"YourKit:\n"
|
|||
|
"<a href=\"%(java)s\">YourKit Java Profiler</a> и\n"
|
|||
|
"<a href=\"%(dotnet)s\">YourKit .NET Profiler</a>."
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/guides/new-translators.html:2
|
|||
|
msgid "New Translator's Guide"
|
|||
|
msgstr "Руководство Нового Переводчика"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/guides/new-translators.html:4
|
|||
|
msgid "Here's a very quick guide to getting started."
|
|||
|
msgstr "Это очень краткое руководство для начала работы."
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/guides/new-translators.html:6
|
|||
|
msgid "How to Translate the Website"
|
|||
|
msgstr "Как переводить Веб-сайт"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/guides/new-translators.html:8
|
|||
|
#, python-format
|
|||
|
msgid ""
|
|||
|
"Translation of the website is done with .po files. The easiest way by far"
|
|||
|
" to\n"
|
|||
|
"translate the website is to sign up for an account at \n"
|
|||
|
"<a href=\"%(transifex)s\">Transifex</a> and request to join a translation"
|
|||
|
" team. \n"
|
|||
|
"Alternatively it can be done \"the old way\" as outlined below."
|
|||
|
msgstr ""
|
|||
|
"Перевод веб-сайта выполняется в файлах .po. До сих пор самый простой "
|
|||
|
"способ \n"
|
|||
|
"перевода веб-сайта - получить аккаунт на \n"
|
|||
|
"<a href=\"%(transifex)s\">Transifex</a> и присоединиться к команде "
|
|||
|
"переводчиков. \n"
|
|||
|
"Или можно переводить \"по старинке\", как описано ниже."
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/guides/new-translators.html:17
|
|||
|
#: i2p2www/pages/site/get-involved/guides/new-translators.html:82
|
|||
|
msgid "Preparation"
|
|||
|
msgstr "Подготовка"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/guides/new-translators.html:19
|
|||
|
#: i2p2www/pages/site/get-involved/guides/new-translators.html:84
|
|||
|
#, python-format
|
|||
|
msgid ""
|
|||
|
"Come to #i2p-dev on irc and talk to people.\n"
|
|||
|
"Claim the language -\n"
|
|||
|
"To make sure other coworkers don't bump onto the files you are working "
|
|||
|
"on,\n"
|
|||
|
"please update the translation status on <a href=\"%(url)s\">this wiki "
|
|||
|
"page</a>."
|
|||
|
msgstr ""
|
|||
|
"Зайдите на #i2p-dev в IRC и поговорите с людьми.\n"
|
|||
|
"Запросите язык - \n"
|
|||
|
"Чтобы бы уверенными, что ваши соратники не затрут файлы, над которыми вы "
|
|||
|
"работаете, \n"
|
|||
|
"пожалуйста, обновляйте статус перевода на <a href=\"%(url)s\">этой wiki "
|
|||
|
"страничке</a>."
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/guides/new-translators.html:25
|
|||
|
#, python-format
|
|||
|
msgid ""
|
|||
|
"Follow the <a href=\"%(newdevs)s\">new developer's guide</a>,\n"
|
|||
|
"Including the installation of monotone,\n"
|
|||
|
"checking out i2p.www branch, and generate your own monotone keys.\n"
|
|||
|
"It is not required that you sign a dev agreement."
|
|||
|
msgstr ""
|
|||
|
"Следуйте <a href=\"%(newdevs)s\">руководству нового разработчика</a>,\n"
|
|||
|
"включая перевод monotone,\n"
|
|||
|
"извлеките ветку i2p.www и сгенерируйте ваши собственные ключи monotone.\n"
|
|||
|
"Вам не требуется подписывать соглашение разработчика."
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/guides/new-translators.html:33
|
|||
|
msgid ""
|
|||
|
"<b>Create files:</b>\n"
|
|||
|
"If the file for your language does not exist yet:"
|
|||
|
msgstr ""
|
|||
|
"<b>Создайте файлы:</b>\n"
|
|||
|
"Если файла для вашего языка еще нет:"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/guides/new-translators.html:38
|
|||
|
msgid ""
|
|||
|
"Run \"<code>./extract-messages.sh</code>\" to generate a "
|
|||
|
"<code>messages.pot</code> in the base directory.\n"
|
|||
|
"Edit the header of this file, then run \"<code>./init-new-po.sh "
|
|||
|
"locale</code>\" to generate the file\n"
|
|||
|
"<code>i2p2www/translations/locale/LC_MESSAGES/messages.po</code>. "
|
|||
|
"\"<code>mtn add</code>\" this file."
|
|||
|
msgstr ""
|
|||
|
"Выполните \"<code>./extract-messages.sh</code>\" чтобы сгенерировать "
|
|||
|
"<code>messages.pot</code> в основной директории.\n"
|
|||
|
"Отредактируйте заголовок файла, затем выполните \"<code>./init-new-po.sh "
|
|||
|
"locale</code>\" чтобы сгенерировать файл\n"
|
|||
|
"<code>i2p2www/translations/locale/LC_MESSAGES/messages.po</code>. "
|
|||
|
"\"<code>mtn add</code>\" этот файл."
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/guides/new-translators.html:43
|
|||
|
msgid ""
|
|||
|
"Edit <code>i2p2www/pages/global/lang.html</code> and add a line for your "
|
|||
|
"language (copy an existing line)."
|
|||
|
msgstr ""
|
|||
|
"Отредактируйте <code>i2p2www/pages/global/lang.html</code> и добавьте "
|
|||
|
"строку для вашего языка (скопируйте какую-нибудь строку)."
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/guides/new-translators.html:46
|
|||
|
msgid ""
|
|||
|
"Add a flag image file to <code>i2p2www/static/images/flags/</code> for "
|
|||
|
"the menu (copy from the router)."
|
|||
|
msgstr ""
|
|||
|
"Добавьте файл с изображением флага в "
|
|||
|
"<code>i2p2www/static/images/flags/</code> для меню (скопируйте из "
|
|||
|
"маршрутизатора)."
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/guides/new-translators.html:52
|
|||
|
msgid ""
|
|||
|
"<b>Edit files:</b>\n"
|
|||
|
"Edit <code>i2p2www/translations/locale/LC_MESSAGES/messages.po</code>.\n"
|
|||
|
"To work with .po files efficiently, you may wish to use <a "
|
|||
|
"href=\"http://www.poedit.net/download.php\">POEdit</a>"
|
|||
|
msgstr ""
|
|||
|
"<b>Отредактируйте файлы:</b>\n"
|
|||
|
"Отредактируйте "
|
|||
|
"<code>i2p2www/translations/locale/LC_MESSAGES/messages.po</code>.\n"
|
|||
|
"Чтобы эффективно работать с файлами .po, возможно, вы захотите "
|
|||
|
"использовать <a href=\"http://www.poedit.net/download.php\">POEdit</a>"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/guides/new-translators.html:58
|
|||
|
#: i2p2www/pages/site/get-involved/guides/new-translators.html:151
|
|||
|
msgid ""
|
|||
|
"<b>Check in:</b>\n"
|
|||
|
"\"<code>mtn pull</code>\", \"<code>mtn update</code>\". Then check in by "
|
|||
|
"\"<code>mtn ci -k yourname@mail.i2p file1 file2 ...</code>\"\n"
|
|||
|
"This collects the diff info of your changed file into your local repo. "
|
|||
|
"Then \"<code>mtn sync mtn.i2p2.de -k yourname-transport@mail.i2p "
|
|||
|
"i2p.i2p</code>\".\n"
|
|||
|
"This synchronizes your local repo with the repo on the target machine."
|
|||
|
msgstr ""
|
|||
|
"<b>Разместите:</b>\n"
|
|||
|
"\"<code>mtn pull</code>\", \"<code>mtn update</code>\". Затем выполните "
|
|||
|
"размещение \"<code>mtn ci -k yourname@mail.i2p file1 file2 ...</code>\"\n"
|
|||
|
"Так вы соберете информацию а различиям в измененных вами файлах по вашему"
|
|||
|
" локальному репозиторию. Затем \"<code>mtn sync mtn.i2p2.de -k yourname-"
|
|||
|
"transport@mail.i2p i2p.i2p</code>\".\n"
|
|||
|
"Так вы синхронизируете ваш локальный репозиторий с репозиторием на "
|
|||
|
"целевом компьютере."
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/guides/new-translators.html:65
|
|||
|
#: i2p2www/pages/site/get-involved/guides/new-translators.html:158
|
|||
|
msgid "Repeat. Check in often. Don't wait until it is perfect."
|
|||
|
msgstr "Повторите. Размещайте чаще. Не ждите пока оно станет совершенным."
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/guides/new-translators.html:72
|
|||
|
msgid "How to Translate the Router Console"
|
|||
|
msgstr "Как Переводить Консоль Маршрутизатора"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/guides/new-translators.html:74
|
|||
|
#, python-format
|
|||
|
msgid ""
|
|||
|
"The easiest way by far to translate the router console is to sign up for "
|
|||
|
"an account at \n"
|
|||
|
"<a href=\"%(transifex)s\">Transifex</a> and request to join a translation"
|
|||
|
" team. \n"
|
|||
|
"Alternatively it can be done \"the old way\" as outlined below."
|
|||
|
msgstr ""
|
|||
|
"До сих пор самый простой способ перевода консоли маршрутизатора - "
|
|||
|
"получить аккаунт на \n"
|
|||
|
"<a href=\"%(transifex)s\">Transifex</a> и присоединиться к команде "
|
|||
|
"переводчиков. \n"
|
|||
|
"Или можно переводить \"по старинке\", как описано ниже."
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/guides/new-translators.html:90
|
|||
|
#, python-format
|
|||
|
msgid ""
|
|||
|
"Follow the <a href=\"%(newdevs)s\">new developer's guide</a>,\n"
|
|||
|
"including the installation of monotone and the gettext tools,\n"
|
|||
|
"checking out i2p.i2p branch, and generate your own monotone keys."
|
|||
|
msgstr ""
|
|||
|
"Следуйте <a href=\"%(newdevs)s\">руководству нового разработчика</a>,\n"
|
|||
|
"включая установку monotone and средств gettext,\n"
|
|||
|
"извлеките ветку i2p.i2p, и сгенерируйте свои собственные ключи monotone."
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/guides/new-translators.html:95
|
|||
|
msgid "Generate your own gpg key and sign the dev agreement."
|
|||
|
msgstr "Сгенерируйте ваш собственный gpg ключ и подпишите соглашение разработчика."
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/guides/new-translators.html:101
|
|||
|
msgid ""
|
|||
|
"Before starting a console translation, better help translate some i2p "
|
|||
|
"webpages first.\n"
|
|||
|
"At least an i2p homepage in your language would be great."
|
|||
|
msgstr ""
|
|||
|
"До начала перевода консоли маршрутизатора, лучше сначал помогите "
|
|||
|
"перевести несколько веб-страниц i2p.\n"
|
|||
|
"Хотя бы домашнюю страницу i2p на ваш язык, это было бы здорово."
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/guides/new-translators.html:106
|
|||
|
msgid ""
|
|||
|
"<b>What to translate:</b>\n"
|
|||
|
"There are about 15 files in the i2p.i2p branch that needs translation:"
|
|||
|
msgstr ""
|
|||
|
"<b>Что переводить:</b>\n"
|
|||
|
"Есть около 15 файлов в ветке i2p.i2p, которые нужно перевести:"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/guides/new-translators.html:132
|
|||
|
msgid ""
|
|||
|
"Where xx is your language code like fr/de/ch/zh/...\n"
|
|||
|
"There may be or may not be files with your lang code. If not, you can "
|
|||
|
"create your own. by copying and renaming other language files you know "
|
|||
|
"with your own lang code."
|
|||
|
msgstr ""
|
|||
|
"Где xx это код вашего языка, как fr/de/ch/zh/...\n"
|
|||
|
"Файл с кодом вашего языка может быть, может и нет. Если его нет, вы "
|
|||
|
"можете его создать. Скопировав файл другого известного вам языка и "
|
|||
|
"переименовав его в код вашего языка."
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/guides/new-translators.html:137
|
|||
|
msgid ""
|
|||
|
"<b>Create files:</b>\n"
|
|||
|
"If the file for your language does not exist yet, copy another language "
|
|||
|
"file to a new file <code>foo_xx.bar</code> for your language.\n"
|
|||
|
"Then \"<code>mtn add</code>\" the file.\n"
|
|||
|
"After creating a .po file, edit the headers. Then run \"<code>ant "
|
|||
|
"distclean poupdate</code>\"."
|
|||
|
msgstr ""
|
|||
|
"<b>Создайте файлы:</b>\n"
|
|||
|
"Если файла для вашего языка еще нет, скопируйте файл другого языка в "
|
|||
|
"новый файл <code>foo_xx.bar</code> для вашего языка.\n"
|
|||
|
"Затем \"<code>mtn add</code>\" файл.\n"
|
|||
|
"После создания файла .po, отредактируйте заголовки. Затем выполните "
|
|||
|
"\"<code>ant distclean poupdate</code>\"."
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/guides/new-translators.html:144
|
|||
|
msgid ""
|
|||
|
"<b>Start to work:</b>\n"
|
|||
|
"Edit the HTML files with any text editor.\n"
|
|||
|
"Be sure not to use an editor in HTML mode that reformats everything.\n"
|
|||
|
"To work with .po files efficiently, you may wish to use <a "
|
|||
|
"href=\"http://www.poedit.net/download.php\">POEdit</a>"
|
|||
|
msgstr ""
|
|||
|
"<b>Начните работу:</b>\n"
|
|||
|
"Отредактируйте файлы HTML в любом текстовом редакторе.\n"
|
|||
|
"Не нужно использовать редакторы в режиме HTML, которые отформатируют весь"
|
|||
|
" текст.\n"
|
|||
|
"Для более эффективной работы с файлами .po, вы, возможно, захотите "
|
|||
|
"использовать <a href=\"http://www.poedit.net/download.php\">POEdit</a>"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/guides/new-translators.html:163
|
|||
|
msgid ""
|
|||
|
"As you can see, it's not that difficult.\n"
|
|||
|
"If you have questions about the meaning of the terms in the console, ask "
|
|||
|
"in <code>#i2p-dev</code> on IRC."
|
|||
|
msgstr ""
|
|||
|
"Как вы видите, это не так сложно.\n"
|
|||
|
"Если у вас есть вопросы насчет значения терминов в консоли, спросите в "
|
|||
|
"<code>#i2p-dev</code> в IRC."
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/guides/new-translators.html:169
|
|||
|
msgid "FAQ"
|
|||
|
msgstr "ЧАВо"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/guides/new-translators.html:171
|
|||
|
msgid ""
|
|||
|
"Q: Why do I have to install monotone, Java, jsp, learn about .po files "
|
|||
|
"and html, etc.? Why can't I just do a translation and email it to you?"
|
|||
|
msgstr ""
|
|||
|
"В: Зачем мне нужно устанавливать monotone, Java, jsp, знать о файлах .po "
|
|||
|
"и html и т.д.? Почему я не могу просто переводить и отправлять все вам на"
|
|||
|
" почту?"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/guides/new-translators.html:175
|
|||
|
msgid "A: Several reasons:"
|
|||
|
msgstr "О: Несколько причин:"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/guides/new-translators.html:178
|
|||
|
#, python-format
|
|||
|
msgid ""
|
|||
|
"You might be interested in translating via Transifex. Request to join a "
|
|||
|
"translation team <a href=\"%(transifex)s\">here</a>."
|
|||
|
msgstr ""
|
|||
|
"Возможно вы заинтересуетесь переводом через Transifex. Присоединитесь к "
|
|||
|
"команде переводчиков <a href=\"%(transifex)s\">тут</a>."
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/guides/new-translators.html:182
|
|||
|
msgid ""
|
|||
|
"We don't have anybody who has time to accept manual contributions and "
|
|||
|
"submit them to our source control system on your behalf. Even if we did, "
|
|||
|
"it doesn't scale."
|
|||
|
msgstr ""
|
|||
|
"У нас нет людей, у которых есть время для приема помощи вручную и "
|
|||
|
"размещения в системе контроля версий от вашего имени. Даже если бы и "
|
|||
|
"были, это плохо масштабируется."
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/guides/new-translators.html:186
|
|||
|
msgid ""
|
|||
|
"Maybe you are thinking translation is a one-step process. It isn't. You "
|
|||
|
"can't do it all at once. You will make mistakes. You need to test it and "
|
|||
|
"tweak it to make it look right <i>before</i> you submit it. Developers "
|
|||
|
"will update or add to the English text, thus requiring a translation "
|
|||
|
"update."
|
|||
|
msgstr ""
|
|||
|
"Может вы думаете, что перевод это одношаговый процесс. Это не так. Вы не "
|
|||
|
"можете выполнить его за один раз. Вы будете совершать ошибки. Вам нужно "
|
|||
|
"его протестировать и сделать его верным <i>до того</i>, как вы его "
|
|||
|
"утвердите. Разработчики обновляют или добавляют Английский текст, поэтому"
|
|||
|
" требуется обновление перевода."
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/guides/new-translators.html:190
|
|||
|
msgid ""
|
|||
|
"Having translators use a source control system directly provides "
|
|||
|
"authentication and accountablility - we know who is doing what, and we "
|
|||
|
"can track changes, and revert them if necessary."
|
|||
|
msgstr ""
|
|||
|
"Наличие переводчиков, использующих систему контроля версий, увязано с "
|
|||
|
"аутентификацией и отчетностью - мы знаем кто что делает, и мы можем "
|
|||
|
"отследить изменения, и отменить их в случае необходимости."
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/guides/new-translators.html:194
|
|||
|
msgid ""
|
|||
|
".po files are not difficult. If you don't want to work directly with "
|
|||
|
"them, we recommend 'poedit'."
|
|||
|
msgstr ""
|
|||
|
"в файлах .po нет ничего сложного. Если вы не хотите работать "
|
|||
|
"непосредственно с ними, мы рекомендуем 'poedit'."
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/guides/new-translators.html:198
|
|||
|
msgid ""
|
|||
|
"HTML files are not difficult. Just ignore the html stuff and translate "
|
|||
|
"the text."
|
|||
|
msgstr ""
|
|||
|
"В файлах HTML нет ничего сложного. Просто игнорируйте все тэги и "
|
|||
|
"переводите текст."
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/guides/new-translators.html:202
|
|||
|
msgid ""
|
|||
|
"Installing and using monotone is not that difficult. Several of the "
|
|||
|
"translators and other contributors to I2P are non-programmers, and they "
|
|||
|
"use monotone regularly. Monotone is simply a source control system, it is"
|
|||
|
" not about \"coding\"."
|
|||
|
msgstr ""
|
|||
|
"Установка и использование monotone не так сложны. Несколько переводчиков "
|
|||
|
"и других помощников I2P не являются программистами, и они регулярно "
|
|||
|
"используют monotone. Monotone - это просто система контроля версий, в нем"
|
|||
|
" нет ничего \"программистского\"."
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/guides/new-translators.html:206
|
|||
|
msgid ""
|
|||
|
"Our items to translate are not \"documents\". They are html files and po "
|
|||
|
"files, with a specific format and character encoding (UTF-8) that must be"
|
|||
|
" maintained, and not corrupted by email programs or other methods of "
|
|||
|
"transfer."
|
|||
|
msgstr ""
|
|||
|
"Наша единица перевода - это не \"документ\". Это файлы html и .po, в "
|
|||
|
"определенном формате и кодировкой символов (UTF-8), это нужно "
|
|||
|
"поддерживать, и не поломать при отправке по почте или другими методами "
|
|||
|
"передачи."
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/guides/new-translators.html:210
|
|||
|
msgid ""
|
|||
|
"We looked at 'pootle' as a front-end for translators. It didn't work "
|
|||
|
"well, needed an administrator, and a pootle-based process would suffer "
|
|||
|
"from a number of the above flaws."
|
|||
|
msgstr ""
|
|||
|
"Мы рассматриваем 'pootle' в качестве фронт-энда для переводчиков. Он "
|
|||
|
"работает не так как нужно, нуждается в администрировании, и "
|
|||
|
"pootle-подобный процесс страдает от ряда вышеописанных недостатков."
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/guides/new-translators.html:215
|
|||
|
msgid ""
|
|||
|
"<b>In summary:</b>\n"
|
|||
|
"Yes, we know it is somewhat of a hurdle to get started. It's really the "
|
|||
|
"only possible way we can do it. Give it a try, it really isn't that hard."
|
|||
|
msgstr ""
|
|||
|
"<b>В итоге:</b>\n"
|
|||
|
"Да, мы знаем, что у начинающих есть преграды. Это действительно "
|
|||
|
"единственный способ. Попробуйте, это на самом деле не так сложно."
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/guides/new-translators.html:220
|
|||
|
msgid "More Information"
|
|||
|
msgstr "Больше информации"
|
|||
|
|
|||
|
#: i2p2www/pages/site/get-involved/guides/new-translators.html:221
|
|||
|
#, python-format
|
|||
|
msgid ""
|
|||
|
"The #i2p-dev channel on IRC, or the <a "
|
|||
|
"href=\"http://%(zzz)s/forums/14\">translation forum on %(zzz)s</a>."
|
|||
|
msgstr ""
|
|||
|
"Канал #i2p-dev в IRC, или <a href=\"http://%(zzz)s/forums/14\">форум "
|
|||
|
"перевода на %(zzz)s</a>."
|
|||
|
|
|||
|
#~ msgid "To Do List"
|
|||
|
#~ msgstr "Список To Do"
|
|||
|
|
|||
|
#~ msgid "Bounties"
|
|||
|
#~ msgstr "Награды"
|
|||
|
|
|||
|
#~ msgid "MTN Keys"
|
|||
|
#~ msgstr "Ключи MNT"
|
|||
|
|
|||
|
#~ msgid "Monotone"
|
|||
|
#~ msgstr "Monotone"
|
|||
|
|