Files
I2P_Website/i2p2www/translations/he/LC_MESSAGES/get-involved.po
2014-02-02 18:59:53 +00:00

5692 lines
288 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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 &euro;/month for 12 months:"
msgstr "Жертвовать по 10 &euro;/месяц в течение 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 &euro;/month for 12 months:"
msgstr "Жертвовать по 20 &euro;/месяц в течение 12 месяцев:"
#: i2p2www/pages/site/get-involved/donate.html:90
msgid "Donate 30 &euro;/month for 12 months:"
msgstr "Жертвовать по 30 &euro;/месяц в течение 12 месяцев:"
#: i2p2www/pages/site/get-involved/donate.html:102
msgid "Donate 50 &euro;/month for 12 months:"
msgstr "Жертвовать по 50 &euro;/месяц в течение 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 &amp; new permuted TunnelVerificationStructure "
"encryption"
msgstr ""
"Идентификатор туннеля для каждого прыжка &amp; переменное шифрование "
"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 &amp; go mix w/ garlics &amp; tunnels"
msgstr "Задержка совместно с чесночной маршрутизацией &amp; туннелями"
#: 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&lt;--B&lt;--C&lt;--D&lt;--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&lt;--B&lt;--C&lt;--D&lt;--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 &euro; to this bounty."
msgstr "Судья - psychonaut, пожертвовавший первые 30 &euro; на эту награду."
#: 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 &euro;"
msgstr "Награда: %(euro)s &euro;"
#: 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&#37; of the streaming lib \n"
"(i2p/apps/ministreaming/ and i2p/apps/streaming/)."
msgstr ""
"Чтобы получить эту награду, новый набор юнит тестов должен \n"
"соответствовать измеренному покрытию кода 90&#37; потоковой библиотеки \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&#37;\n"
"coverage marker (except for log statements)."
msgstr ""
"Чтобы получить эту награду, все вышеперечисленные юнит тесты должны "
"соответствовать \n"
"маркеру покрытия 100&#37; (исключая блок логирования)"
#: 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&hellip;Congratulations! You have "
"successfully updated to the latest I2P sources. They\n"
" should be ready to compile."
msgstr ""
"Т.к. ошибок нет&hellip;Поздравляем! Вы успешно обновились до последних "
"исходников 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"