text:
from aiogram import Bot as AioBot, Dispatcher
from aiogram.dispatcher.webhook import WebhookRequestHandler
from aiogram.dispatcher.webhook import SendMessage
from aiogram import exceptions
from aiogram import types
from contextvars import ContextVar
from aiohttp.web_exceptions import HTTPNotFound
from aioredis.commands import create_redis_pool
from aioredis import Redis
from tortoise.expressions import F
import logging
import typing as ty
from olgram.settings import ServerSettings
from olgram.models.models import Bot, GroupChat, BannedUser
from locales.locale import _, translators
from server.inlines import inline_handler

_logger = logging.getLogger(__name__)
_logger.setLevel(logging.INFO)

db_bot_instance: ContextVar[Bot] = ContextVar('db_bot_instance')

_redis: ty.Optional[Redis] = None

def _get_translator(message: types.Message) -> ty.Callable:
    if not message.from_user.locale:
        return _
    return translators.get(message.from_user.locale.language, _)

async def init_redis():
    global _redis
    _redis = await create_redis_pool(ServerSettings.redis_path())

def _message_unique_id(bot_id: int, message_id: int) -> str:
    return f"{bot_id}_{message_id}"

def _thread_uniqie_id(bot_id: int, chat_id: int) -> str:
    return f"thread_{bot_id}_{chat_id}"

def _last_message_uid(bot_id: int, chat_id: int) -> str:
    return f"lm_{bot_id}_{chat_id}"

def _antiflood_marker_uid(bot_id: int, chat_id: int) -> str:
    return f"af_{bot_id}_{chat_id}"

def _on_security_policy(message: types.Message, bot):
    _ = _get_translator(message)
    text = _("Политика конфиденциальности\n\n"
             "Этот бот не хранит ваши сообщения, имя пользователя и @username. При отправке сообщения (кроме команд "
             "/start и /security_policy) ваш идентификатор пользователя записывается в кеш на некоторое время и потом "
             "удаляется из кеша. Этот идентификатор используется только для общения с оператором; боты Olgram "
             "не делают массовых рассылок.\n\n")
    if bot.enable_additional_info:
        text += _("При отправке сообщения (кроме команд /start и /security_policy) оператор видит ваши имя "
                  "пользователя, @username и идентификатор пользователя в силу настроек, которые оператор указал при "
                  "создании бота.")
    else:
        text += _("В зависимости от ваших настроек конфиденциальности Telegram, оператор может видеть ваш username, "
                  "имя пользователя и другую информацию.")

    return SendMessage(chat_id=message.chat.id,
                       text=text,
                       parse_mode="HTML")

async def send_user_message(message: types.Message, super_chat_id: int, bot):
    """Переслать сообщение от пользователя, добавлять к нему user info при необходимости"""
    if bot.enable_additional_info:
        user_info = _("Сообщение от пользователя ")
        user_info += message.from_user.full_name
        if message.from_user.username:
            user_info += " | @" + message.from_user.username
        user_info += f" | #ID{message.from_user.id}"

        # Добавлять информацию в конец текста
        if message.content_type == types.ContentType.TEXT and len(message.text) + len(user_info) < 4093:  # noqa:E721
            new_message = await message.bot.send_message(super_chat_id, message.text + "\n\n" + user_info)
        else:  # Не добавлять информацию в конец текста, информация отдельным сообщением
            new_message = await message.bot.send_message(super_chat_id, text=user_info)
            new_message_2 = await message.copy_to(super_chat_id, reply_to_message_id=new_message.message_id)
            await _redis.set(_message_unique_id(bot.pk, new_message_2.message_id), message.chat.id,
                             pexpire=ServerSettings.redis_timeout_ms())
        await _redis.set(_message_unique_id(bot.pk, new_message.message_id), message.chat.id,
                         pexpire=ServerSettings.redis_timeout_ms())
        return new_message
    else:
        try:
            new_message = await message.forward(super_chat_id)
        except exceptions.MessageCantBeForwarded:
            new_message = await message.copy_to(super_chat_id)
        await _redis.set(_message_unique_id(bot.pk, new_message.message_id), message.chat.id,
                         pexpire=ServerSettings.redis_timeout_ms())
        return new_message

async def send_to_superchat(is_super_group: bool, message: types.Message, super_chat_id: int, bot):
    """Пересылка сообщения от пользователя оператору (логика потоков сообщений)"""
    if is_super_group and bot.enable_threads:
        thread_first_message = await _redis.get(_thread_uniqie_id(bot.pk, message.chat.id))
        if thread_first_message:
            # переслать в супер-чат, отвечая на предыдущее сообщение
            try:
                new_message = await message.copy_to(super_chat_id, reply_to_message_id=int(thread_first_message))
                await _redis.set(_message_unique_id(bot.pk, new_message.message_id), message.chat.id,
                                 pexpire=ServerSettings.redis_timeout_ms())
            except exceptions.BadRequest:
                new_message = await send_user_message(message, super_chat_id, bot)
                await _redis.set(_thread_uniqie_id(bot.pk, message.chat.id), new_message.message_id,
                                 pexpire=ServerSettings.thread_timeout_ms())
        else:
            # переслать супер-чат
            new_message = await send_user_message(message, super_chat_id, bot)
            await _redis.set(_thread_uniqie_id(bot.pk, message.chat.id), new_message.message_id,
                             pexpire=ServerSettings.thread_timeout_ms())
    else:  # личные сообщения не поддерживают потоки сообщений: просто отправляем сообщение
        await send_user_message(message, super_chat_id, bot)

async def handle_user_message(message: types.Message, super_chat_id: int, bot):
    """Обычный пользователь прислал сообщение в бот, нужно переслать его операторам"""
    _ = _get_translator(message)
    is_super_group = super_chat_id < 0

    # Проверить, не забанен ли пользователь
    banned = await bot.banned_users.filter(telegram_id=message.chat.id)
    if banned:
        return SendMessage(chat_id=message.chat.id,
                           text=_("Вы заблокированы в этом боте"))

    # Проверить анти-флуд
    if bot.enable_antiflood:
        if await _redis.get(_antiflood_marker_uid(bot.pk, message.chat.id)):
            return SendMessage(chat_id=message.chat.id,
                               text=_("Слишком много сообщений, подождите одну минуту"))
        await _redis.setex(_antiflood_marker_uid(bot.pk, message.chat.id), 60, 1)

    # Пересылаем сообщение в супер-чат
    try:
        await send_to_superchat(is_super_group, message, super_chat_id, bot)
    except (exceptions.Unauthorized, exceptions.ChatNotFound):
        return SendMessage(chat_id=message.chat.id, text=_("Не удаётся связаться с владельцем бота"))
    except exceptions.TelegramAPIError as err:
        _logger.error(f"(exception on forwarding) {err}")
        return

    bot.incoming_messages_count = F("incoming_messages_count") + 1
    await bot.save(update_fields=["incoming_messages_count"])

    # И отправить пользователю специальный текст, если он указан и если давно не отправляли
    if bot.second_text:
        send_auto = not await _redis.get(_last_message_uid(bot.pk, message.chat.id))
        await _redis.setex(_last_message_uid(bot.pk, message.chat.id), 60 * 60 * 3, 1)
        if send_auto:
            return SendMessage(chat_id=message.chat.id, text=bot.second_text, parse_mode="HTML")

async def handle_operator_message(message: types.Message, super_chat_id: int, bot):
    """Оператор написал что-то, нужно переслать сообщение обратно пользователю, или забанить его и т.д."""
    _ = _get_translator(message)

    if message.reply_to_message:

        if message.reply_to_message.from_user.id != message.bot.id:
            return  # нас интересуют только ответы на сообщения бота

        # В супер-чате кто-то ответил на сообщение пользователя, нужно переслать тому пользователю
        chat_id = await _redis.get(_message_unique_id(bot.pk, message.reply_to_message.message_id))
        if not chat_id:
            chat_id = message.reply_to_message.forward_from_chat
            if not chat_id:
                return SendMessage(chat_id=message.chat.id,
                                   text=_("Невозможно переслать сообщение: автор не найден (сообщение слишком "
                                          "старое?)"),
                                   parse_mode="HTML")
        chat_id = int(chat_id)

        if message.text == "/ban":
            user, create = await BannedUser.get_or_create(telegram_id=chat_id, bot=bot)
            await user.save()
            return SendMessage(chat_id=message.chat.id, text=_("Пользователь заблокирован"))

        if message.text == "/unban":
            banned_user = await bot.banned_users.filter(telegram_id=chat_id).first()
            if not banned_user:
                return SendMessage(chat_id=message.chat.id, text=_("Пользователь не был забанен"))
            else:
                await banned_user.delete()
                return SendMessage(chat_id=message.chat.id, text=_("Пользователь разбанен"))

        try:
            await message.copy_to(chat_id)
        except (exceptions.MessageError, exceptions.Unauthorized):
            await message.reply(_("Невозможно переслать сообщение (автор заблокировал бота?)"),
                                parse_mode="HTML")
            return

        bot.outgoing_messages_count = F("outgoing_messages_count") + 1
        await bot.save(update_fields=["outgoing_messages_count"])

    elif super_chat_id > 0:
        # в супер-чате кто-то пишет сообщение сам себе, только для личных сообщений
        await message.forward(super_chat_id)
        # И отправить пользователю специальный текст, если он указан
        if bot.second_text:
            return SendMessage(chat_id=message.chat.id, text=bot.second_text, parse_mode="HTML")

async def message_handler(message: types.Message, *args, **kwargs):
    _ = _get_translator(message)
    bot = db_bot_instance.get()

    if message.text and message.text == "/start":
        # На команду start нужно ответить, не пересылая сообщение никуда
        text = bot.start_text
        if bot.enable_olgram_text:
            text += _(ServerSettings.append_text())
        return SendMessage(chat_id=message.chat.id, text=text, parse_mode="HTML")

    if message.text and message.text == "/security_policy":
        # На команду security_policy нужно ответить, не пересылая сообщение никуда
        return _on_security_policy(message, bot)

    super_chat_id = await bot.super_chat_id()

    if message.chat.id != super_chat_id:
        # Это обычный чат
        return await handle_user_message(message, super_chat_id, bot)
    else:
        # Это супер-чат
        return await handle_operator_message(message, super_chat_id, bot)

async def edited_message_handler(message: types.Message, *args, **kwargs):
    return await message_handler(message, *args, **kwargs, is_edited=True)

async def receive_invite(message: types.Message):
    bot = db_bot_instance.get()
    for member in message.new_chat_members:
        if member.id == message.bot.id:
            chat, _ = await GroupChat.get_or_create(chat_id=message.chat.id,
                                                    defaults={"name": message.chat.full_name})
            chat.name = message.chat.full_name
            await chat.save()
            if chat not in await bot.group_chats.all():
                await bot.group_chats.add(chat)
                await bot.save()
            break

async def receive_group_create(message: types.Message):
    bot = db_bot_instance.get()

    chat, _ = await GroupChat.get_or_create(chat_id=message.chat.id,
                                            defaults={"name": message.chat.full_name})
    chat.name = message.chat.full_name
    await chat.save()
    if chat not in await bot.group_chats.all():
        await bot.group_chats.add(chat)
        await bot.save()

async def receive_left(message: types.Message):
    bot = db_bot_instance.get()
    if message.left_chat_member.id == message.bot.id:
        chat = await bot.group_chats.filter(chat_id=message.chat.id).first()
        if chat:
            await bot.group_chats.remove(chat)
            bot_group_chat = await bot.group_chat
            if bot_group_chat == chat:
                bot.group_chat = None
            await bot.save()

async def receive_inline(inline_query):
    _logger.info("inline handler")
    bot = db_bot_instance.get()
    return await inline_handler(inline_query, bot)

async def receive_migrate(message: types.Message):
    bot = db_bot_instance.get()
    from_id = message.chat.id
    to_id = message.migrate_to_chat_id

    chats = await bot.group_chats.filter(chat_id=from_id)
    for chat in chats:
        chat.chat_id = to_id
        await chat.save(update_fields=["chat_id"])

class CustomRequestHandler(WebhookRequestHandler):

    def __init__(self, *args, **kwargs):
        self._dispatcher = None
        super(CustomRequestHandler, self).__init__(*args, **kwargs)

    async def _create_dispatcher(self):
        key = self.request.url.path[1:]

        bot = await Bot.filter(code=key).first()
        if not bot:
            return None
        db_bot_instance.set(bot)
        dp = Dispatcher(AioBot(bot.decrypted_token()))

        supported_messages = [types.ContentType.TEXT,
                              types.ContentType.CONTACT,
                              types.ContentType.ANIMATION,
                              types.ContentType.AUDIO,
                              types.ContentType.DOCUMENT,
                              types.ContentType.PHOTO,
                              types.ContentType.STICKER,
                              types.ContentType.VIDEO,
                              types.ContentType.VOICE,
                              types.ContentType.LOCATION]
        dp.register_message_handler(message_handler, content_types=supported_messages)
        dp.register_edited_message_handler(edited_message_handler, content_types=supported_messages)

        dp.register_message_handler(receive_invite, content_types=[types.ContentType.NEW_CHAT_MEMBERS])
        dp.register_message_handler(receive_left, content_types=[types.ContentType.LEFT_CHAT_MEMBER])
        dp.register_message_handler(receive_migrate, content_types=[types.ContentType.MIGRATE_TO_CHAT_ID])
        dp.register_message_handler(receive_group_create, content_types=[types.ContentType.GROUP_CHAT_CREATED])
        dp.register_inline_handler(receive_inline)

        return dp

    async def post(self):
        dispatcher = await self._create_dispatcher()
        if not dispatcher:
            raise HTTPNotFound()

        Dispatcher.set_current(dispatcher)
        AioBot.set_current(dispatcher.bot)
        return await super(CustomRequestHandler, self).post()

    def get_dispatcher(self):
        """
        Get Dispatcher instance from environment

        :return: :class:`aiogram.Dispatcher`
        """
        return Dispatcher.get_current()


text:
import gettext
from olgram.settings import BotSettings
from os.path import dirname

locales_dir = dirname(__file__)

def dummy_translator(x: str) -> str:
    return x

lang = BotSettings.language()
if lang == "ru":
    _ = dummy_translator
else:
    t = gettext.translation("olgram", localedir=locales_dir, languages=[lang])
    _ = t.gettext

translators = {
    "ru": dummy_translator,
    "uk": gettext.translation("olgram", localedir=locales_dir, languages=["uk"]).gettext,
    "zh": gettext.translation("olgram", localedir=locales_dir, languages=["zh"]).gettext,
    "en": gettext.translation("olgram", localedir=locales_dir, languages=["en"]).gettext,
}

repo_name: civsocit/olgram

repo_language: Python

mime_type: text/x-po


text:
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR ORGANIZATION
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
msgid ""
msgstr ""
"Project-Id-Version: \n"
"POT-Creation-Date: 2022-09-02 05:07+0400\n"
"PO-Revision-Date: 2022-09-02 05:12+0400\n"
"Last-Translator: \n"
"Language-Team: \n"
"Language: uk_UA\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
"n%10<=4 && (n%100<12 || n%100>14) ? 1 : 2);\n"
"Generated-By: pygettext.py 1.5\n"
"X-Generator: Poedit 3.1\n"

#: olgram/commands/admin.py:21 olgram/commands/info.py:21
#: olgram/commands/promo.py:23 olgram/commands/promo.py:39
msgid "Недостаточно прав"
msgstr "Недостатньо прав"

#: olgram/commands/admin.py:27
msgid "Нужно указать имя бота"
msgstr "Потрібно вказати ім'я бота"

#: olgram/commands/admin.py:33
msgid "Такого бота нет в системе"
msgstr "Такого бота немає в системі"

#: olgram/commands/admin.py:39 olgram/commands/admin.py:53
msgid "Пропустить"
msgstr "Пропустити"

#: olgram/commands/admin.py:42
msgid ""
"Введите текст, который будет отправлен владельцу бота {0}. Напишите "
"'Пропустить' чтобы отменить"
msgstr ""
"Введіть текст, який буде надіслано власнику бота {0}. Напишіть 'Пропустити', "
"щоб скасувати"

#: olgram/commands/admin.py:50
msgid "Поддерживается только текст"
msgstr "Підтримується лише текст"

#: olgram/commands/admin.py:55 olgram/commands/admin.py:71
msgid "Отменено"
msgstr "Скасовано"

#: olgram/commands/admin.py:61 olgram/commands/admin.py:69
msgid "Отправить"
msgstr "Надіслати"

#: olgram/commands/admin.py:62
msgid "Отменить"
msgstr "Скасувати"

#: olgram/commands/admin.py:81
msgid "Отправлено"
msgstr "Надіслано"

#: olgram/commands/bot_actions.py:22
msgid "Бот удалён"
msgstr "Бот видалений"

#: olgram/commands/bot_actions.py:38 olgram/commands/bot_actions.py:50
msgid "Текст сброшен"
msgstr "Текст скинутий"

#: olgram/commands/bot_actions.py:64
msgid "Выбран личный чат"
msgstr "Вибраний особистий чат"

#: olgram/commands/bot_actions.py:77
msgid "Бот вышел из чатов"
msgstr "Бот вийшов із чатів"

#: olgram/commands/bot_actions.py:83
msgid "Нельзя привязать бота к этому чату"
msgstr "Не можна прив'язати робота до цього чату"

#: olgram/commands/bot_actions.py:87
msgid "Выбран чат {0}"
msgstr "Вибраний чат {0}"

#: olgram/commands/bots.py:46
msgid ""
"У вас уже слишком много ботов. Удалите какой-нибудь свой бот из Olgram(/"
"mybots -> (Выбрать бота) -> Удалить бот)"
msgstr ""
"У вас вже надто багато роботів. Видаліть якийсь свій бот з Olgram(/mybots -> "
"(Вибрати бота) -> Видалити бот)"

#: olgram/commands/bots.py:50
msgid ""
"\n"
"    Чтобы подключить бот, вам нужно выполнить три действия:\n"
"\n"
"    1. Перейдите в бот @BotFather, нажмите START и отправьте команду /"
"newbot\n"
"    2. Введите название бота, а потом username бота.\n"
"    3. После создания бота перешлите ответное сообщение в этот бот или "
"скопируйте и пришлите token бота.\n"
"\n"
"    Важно: не подключайте боты, которые используются в других сервисах "
"(Manybot, Chatfuel, Livegram и других).\n"
"    "
msgstr ""
"\n"
"     Щоб підключити бот, вам потрібно виконати три дії:\n"
"\n"
"     1. Перейдіть до бот @BotFather, натисніть START і надішліть команду /"
"newbot\n"
"     2. Введіть назву бота, а потім username бота.\n"
"     3. Після створення бота перешліть повідомлення у цей бот або скопіюйте "
"і надішліть token бота.\n"
"\n"
"     Важливо: не підключайте роботи, які використовуються в інших сервісах "
"(Manybot, Chatfuel, Livegram та інших).\n"
"     \n"
"     "

#: olgram/commands/bots.py:70
msgid ""
"\n"
"        Это не токен бота.\n"
"\n"
"        Токен выглядит вот так: 123456789:AAAA-"
"abc123_AbcdEFghijKLMnopqrstu12\n"
"        "
msgstr ""
"\n"
"        Це не токен робота.\n"
"\n"
"         Токен виглядає ось так: 123456789:AAAA-"
"abc123_AbcdEFghijKLMnopqrstu12\n"
"         "

#: olgram/commands/bots.py:77
msgid ""
"\n"
"        Не удалось запустить этого бота: неверный токен\n"
"        "
msgstr ""
"\n"
"        Не вдалося запустити цього бота: неправильний токен\n"
"        "

#: olgram/commands/bots.py:82
msgid ""
"\n"
"        Не удалось запустить этого бота: непредвиденная ошибка\n"
"        "
msgstr ""
"\n"
"        Не вдалося запустити цього бота: непередбачена помилка\n"
"        "

#: olgram/commands/bots.py:87
msgid ""
"\n"
"        Такой бот уже есть в базе данных\n"
"        "
msgstr ""
"\n"
"        Такий бот вже є у базі даних\n"
"        "

#: olgram/commands/bots.py:122
msgid "Бот добавлен! Список ваших ботов: /mybots"
msgstr "Бот доданий! Список ваших роботів: /mybots"

#: olgram/commands/info.py:34
msgid "Количество ботов: {0}\n"
msgstr "Кількість ботів: {0}\n"

#: olgram/commands/info.py:35
msgid "Количество пользователей (у конструктора): {0}\n"
msgstr "Кількість користувачів (у конструктора): {0}\n"

#: olgram/commands/info.py:36
msgid "Шаблонов ответов: {0}\n"
msgstr "Шаблонів відповідей: {0}\n"

#: olgram/commands/info.py:37
msgid "Входящих сообщений у всех ботов: {0}\n"
msgstr "Вхідних повідомлень у всіх роботів: {0}\n"

#: olgram/commands/info.py:38
msgid "Исходящих сообщений у всех ботов: {0}\n"
msgstr "Вихідних повідомлень у всіх роботів: {0}\n"

#: olgram/commands/info.py:39
msgid "Промо-кодов выдано: {0}\n"
msgstr "Промо-кодів видано: {0}\n"

#: olgram/commands/menu.py:31
msgid ""
"\n"
"        У вас нет добавленных ботов.\n"
"\n"
"        Отправьте команду /addbot, чтобы добавить бот.\n"
"        "
msgstr ""
"\n"
"        У вас немає доданих роботів.\n"
"\n"
"        Надішліть команду /addbot, щоб додати бот.\n"
"        \n"
"        "

#: olgram/commands/menu.py:46
msgid "Ваши боты"
msgstr "Ваші боти"

#: olgram/commands/menu.py:67
msgid "Личные сообщения"
msgstr "Особисті повідомлення"

#: olgram/commands/menu.py:72
msgid "❗ Выйти из всех чатов"
msgstr "❗ Вийти зі всіх чатів"

#: olgram/commands/menu.py:77 olgram/commands/menu.py:122
#: olgram/commands/menu.py:148 olgram/commands/menu.py:184
#: olgram/commands/menu.py:247
msgid "<< Назад"
msgstr "<< Назад"

#: olgram/commands/menu.py:83
msgid ""
"\n"
"        Этот бот не добавлен в чаты, поэтому все сообщения будут приходить "
"вам в бот.\n"
"        Чтобы подключить чат — добавьте бот @{0} в чат, откройте это меню "
"ещё раз и выберите добавленный чат.\n"
"        Если ваш бот состоял в групповом чате до того, как его добавили в "
"Olgram - удалите бота из чата и добавьте\n"
"        снова.\n"
"        "
msgstr ""
"\n"
"        Цей бот не доданий до чатів, тому всі повідомлення будуть приходити "
"вам у бот.\n"
"        Щоб підключити чат — додайте бот @{0} до чату, відкрийте це меню ще "
"раз і виберіть доданий чат.\n"
"        Якщо ваш бот перебував у груповому чаті до того, як його додали до "
"Olgram - видаліть бота з чату та додайте\n"
"        знову.\n"
"        \n"
"        "

#: olgram/commands/menu.py:90
msgid ""
"\n"
"        В этом разделе вы можете привязать бота @{0} к чату.\n"
"        Выберите чат, куда бот будет пересылать сообщения.\n"
"        "
msgstr ""
"\n"
"        У цьому розділі ви можете прив'язати робота @{0} до чату.\n"
"        Виберіть чат, куди бот пересилатиме повідомлення.\n"
"        \n"
"        "

#: olgram/commands/menu.py:102
msgid "Текст"
msgstr "Текст"

#: olgram/commands/menu.py:107
msgid "Чат"
msgstr "Чат"

#: olgram/commands/menu.py:112
msgid "Удалить бот"
msgstr "Видалити бот"

#: olgram/commands/menu.py:117
msgid "Статистика"
msgstr "Статистика"

#: olgram/commands/menu.py:126
msgid "Опции"
msgstr "Опції"

#: olgram/commands/menu.py:131
msgid ""
"\n"
"    Управление ботом @{0}.\n"
"\n"
"    Если у вас возникли вопросы по настройке бота, то посмотрите нашу "
"справку /help или напишите нам\n"
"    @civsocit_feedback_bot\n"
"    "
msgstr ""
"\n"
"    Управління роботом @{0}.\n"
"\n"
"    Якщо у вас виникли питання з налаштування бота, подивіться нашу довідку /"
"help або напишіть нам\n"
"    @civsocit_feedback_bot\n"
"    "

#: olgram/commands/menu.py:143
msgid "Да, удалить бот"
msgstr "Так, видалити бот"

#: olgram/commands/menu.py:152
msgid ""
"\n"
"    Вы уверены, что хотите удалить бота @{0}?\n"
"    "
msgstr ""
"\n"
"    Ви впевнені, що хочете видалити бота @{0}?\n"
"    "

#: olgram/commands/menu.py:161
msgid "Потоки сообщений"
msgstr "Потоки повідомлень"

#: olgram/commands/menu.py:166
msgid "Данные пользователя"
msgstr "Дані користувача"

#: olgram/commands/menu.py:171
msgid "Антифлуд"
msgstr "Антифлуд"

#: olgram/commands/menu.py:178
msgid "Olgram подпись"
msgstr "Olgram підпис"

#: olgram/commands/menu.py:189 olgram/commands/menu.py:190
msgid "включены"
msgstr "включені"

#: olgram/commands/menu.py:189 olgram/commands/menu.py:190
msgid "выключены"
msgstr "вимкнені"

#: olgram/commands/menu.py:191
#, fuzzy
#| msgid "включены"
msgid "включен"
msgstr "включені"

#: olgram/commands/menu.py:191
#, fuzzy
#| msgid "выключены"
msgid "выключен"
msgstr "вимкнені"

#: olgram/commands/menu.py:192
msgid ""
"\n"
"    Потоки сообщений: {0}\n"
"    Данные пользователя: {1}\n"
"    Антифлуд: {2}\n"
"    "
msgstr ""
"\n"
"    Потоки повідомлень: {0}\n"
"    Дані користувача: {1}\n"
"    Anti-flood: {2}"

#: olgram/commands/menu.py:199
msgid "включена"
msgstr "включена"

#: olgram/commands/menu.py:199
msgid "выключена"
msgstr "вимкнена"

#: olgram/commands/menu.py:200
msgid "Olgram подпись: {0}"
msgstr "Olgram підпис: {0}"

#: olgram/commands/menu.py:210 olgram/commands/menu.py:272
#: olgram/commands/menu.py:314
msgid "<< Завершить редактирование"
msgstr "<< Завершити редагування"

#: olgram/commands/menu.py:214
msgid "Автоответчик"
msgstr "Автовідповідач"

#: olgram/commands/menu.py:219 olgram/commands/menu.py:286
msgid "Сбросить текст"
msgstr "Скинути текст"

#: olgram/commands/menu.py:224
msgid ""
"\n"
"    Сейчас вы редактируете текст, который отправляется после того, как "
"пользователь отправит вашему боту @{0}\n"
"    команду /start\n"
"\n"
"    Текущий текст:\n"
"
\n"
"    {1}\n"
"
\n"
"    Отправьте сообщение, чтобы изменить текст.\n"
"    "
msgstr ""
"\n"
"    Зараз ви редагуєте текст, який надсилається після того, як користувач "
"надішле вашому боту @{0}\n"
"    команду /start\n"
"\n"
"    Поточний текст:\n"
"
\n"
"    {1}\n"
"
\n"
"    Надішліть повідомлення, щоб змінити текст.\n"
"    \n"
"    "

#: olgram/commands/menu.py:251
msgid ""
"\n"
"    Статистика по боту @{0}\n"
"\n"
"    Входящих сообщений: {1}\n"
"    Ответных сообщений: {2}\n"
"    Шаблоны ответов: {3}\n"
"    Забанено пользователей: {4}\n"
"    "
msgstr ""
"\n"
"    Статистика з роботи @{0}\n"
"\n"
"    Вхідних повідомлень: {1}\n"
"    Повідомлень у відповідь: {2}\n"
"    Шаблони відповідей: {3}\n"
"    Забанено користувачів: {4}\n"
"    "

#: olgram/commands/menu.py:276
msgid "Предыдущий текст"
msgstr "Попередній текст"

#: olgram/commands/menu.py:281
msgid "Шаблоны ответов..."
msgstr "Шаблони відповідей..."

#: olgram/commands/menu.py:291
msgid ""
"\n"
"    Сейчас вы редактируете текст автоответчика. Это сообщение отправляется в "
"ответ на все входящие сообщения @{0} автоматически. По умолчанию оно "
"отключено.\n"
"\n"
"    Текущий текст:\n"
"
\n"
"    {1}\n"
"
\n"
"    Отправьте сообщение, чтобы изменить текст.\n"
"    "
msgstr ""
"\n"
"    Зараз ви редагуєте текст автовідповідача. Це повідомлення надсилається у "
"відповідь на всі вхідні повідомлення @{0} автоматично. За замовчуванням його "
"вимкнено.\n"
"\n"
"    Поточний текст:\n"
"
\n"
"    {1}\n"
"
\n"
"    Надішліть повідомлення, щоб змінити текст.\n"
"    "

#: olgram/commands/menu.py:301
msgid "(отключено)"
msgstr "(відключено)"

#: olgram/commands/menu.py:318
msgid ""
"\n"
"    Сейчас вы редактируете шаблоны ответов для @{0}. Текущие шаблоны:\n"
"\n"
"
\n"
"    {1}\n"
"
\n"
"    Отправьте какую-нибудь фразу (например: \"Ваш заказ готов, ожидайте!\"), "
"чтобы добавить её в шаблон.\n"
"    Чтобы удалить шаблон из списка, отправьте его номер в списке (например, "
"4)\n"
"    "
msgstr ""
"\n"
"    Зараз ви редагуєте шаблони для @{0}. Поточні шаблони:\n"
"\n"
"
\n"
"    {1}\n"
"
\n"
"    Надішліть якусь фразу (наприклад: \"Ваше замовлення готове, чекайте!\"), "
"щоб додати її до шаблону.\n"
"    Щоб видалити шаблон зі списку, відправте його у списку (наприклад, 4)\n"
"    \n"
"    "

#: olgram/commands/menu.py:337
msgid "(нет шаблонов)"
msgstr "(Немає шаблонів)"

#: olgram/commands/menu.py:376
msgid "У вас нет шаблонов, чтобы их удалять"
msgstr "У вас немає шаблонів, щоб їх видаляти"

#: olgram/commands/menu.py:378
msgid "Неправильное число. Чтобы удалить шаблон, введите число от 0 до {0}"
msgstr "Неправильне число. Щоб видалити шаблон, введіть число від 0 до {0}"

#: olgram/commands/menu.py:386
msgid "У вашего бота уже слишком много шаблонов"
msgstr "У вашого бота вже дуже багато шаблонів"

#: olgram/commands/menu.py:390
msgid "Такой текст уже есть в списке шаблонов"
msgstr "Такий текст вже є у списку шаблонів"

#: olgram/commands/menu.py:408
msgid "У вас нет прав на этого бота"
msgstr "У вас немає прав на цього бота"

#: olgram/commands/promo.py:27
msgid ""
"Новый промокод\n"
"```{0}```"
msgstr ""
"Новий промокод\n"
"```{0}```"

#: olgram/commands/promo.py:46
msgid "Неправильный токен"
msgstr "Неправильний токен"

#: olgram/commands/promo.py:49
msgid "Такого кода не существует"
msgstr "Такого коду не існує"

#: olgram/commands/promo.py:59
msgid "Промокод отозван"
msgstr "Промокод відкликаний"

#: olgram/commands/promo.py:70
msgid ""
"Укажите аргумент: промокод. Например:
/setpromo my-promo-code
"
msgstr ""
"Зазначте аргумент: промокод. Наприклад:
/setpromo my-promo-code
"

#: olgram/commands/promo.py:78 olgram/commands/promo.py:82
msgid "Промокод не найден"
msgstr "Промокод не знайдено"

#: olgram/commands/promo.py:85
msgid "Промокод уже использован"
msgstr "Промокод уже використаний"

#: olgram/commands/promo.py:91
msgid "Промокод активирован! Спасибо 🙌"
msgstr "Промокод активовано! Дякую 🙌"

#: olgram/commands/start.py:23
msgid ""
"\n"
"    Olgram Bot — это конструктор ботов обратной связи в Telegram. Подробнее "
"читайте здесь. Следите за "
"обновлениями здесь.\n"
"\n"
"    Используйте эти команды, чтобы управлять этим ботом:\n"
"\n"
"    /addbot - добавить бот\n"
"    /mybots - управление ботами\n"
"\n"
"    /help - помощь\n"
"    "
msgstr ""
"\n"
"    Olgram Bot - це конструктор роботів зворотного зв'язку в Telegram. "
"Докладніше читайте тут. "
"Слідкуйте за оновленнями тут.\n"
"\n"
"    Використовуйте ці команди, щоб керувати цим ботом:\n"
"\n"
"    /addbot - додати бот\n"
"    /mybots - керування ботами\n"
"\n"
"    /help - допомога\n"
"    \n"
"    "

#: olgram/commands/start.py:43
msgid ""
"\n"
"    Читайте инструкции на нашем сайте https://olgram.readthedocs.io\n"
"    Техническая поддержка: @civsocit_feedback_bot\n"
"    Версия {0}\n"
"    "
msgstr ""
"\n"
"    Читайте інструкції на нашому сайті https://olgram.readthedocs.io\n"
"    Технічна підтримка: @civsocit_feedback_bot\n"
"    Версія {0}\n"
"    \n"
"    "

#: olgram/models/models.py:30
msgid ""
"\n"
"    Здравствуйте!\n"
"    Напишите ваш вопрос и мы ответим вам в ближайшее время.\n"
"    "
msgstr ""
"\n"
"    Доброго дня!\n"
"    Напишіть ваше запитання, і ми відповімо вам найближчим часом.\n"
"    \n"
"    "

#: olgram/utils/permissions.py:40
msgid "Владелец бота ограничил доступ к этому функционалу 😞"
msgstr "Власник бота обмежив доступ до цього функціоналу 😞"

#: olgram/utils/permissions.py:52
msgid "Владелец бота ограничил доступ к этому функционалу😞"
msgstr "Власник бота обмежив доступ до цього функціоналу 😞"

#: server/custom.py:55
msgid ""
"Политика конфиденциальности\n"
"\n"
"Этот бот не хранит ваши сообщения, имя пользователя и @username. При "
"отправке сообщения (кроме команд /start и /security_policy) ваш "
"идентификатор пользователя записывается в кеш на некоторое время и потом "
"удаляется из кеша. Этот идентификатор используется только для общения с "
"оператором; боты Olgram не делают массовых рассылок.\n"
"\n"
msgstr ""
"Політика конфіденційності\n"
"\n"
"Цей бот не зберігає ваші повідомлення, ім'я користувача та @username. При "
"надсиланні повідомлення (крім команд /start та /security_policy) ваш "
"ідентифікатор користувача записується в кеш на деякий час і потім "
"видаляється з кеша. Цей ідентифікатор використовується лише для спілкування "
"з оператором; боти Olgram не роблять масових розсилок.\n"
"\n"

#: server/custom.py:61
msgid ""
"При отправке сообщения (кроме команд /start и /security_policy) оператор "
"видит ваши имя пользователя, @username и идентификатор пользователя в "
"силу настроек, которые оператор указал при создании бота."
msgstr ""
"При надсиланні повідомлення (крім команд /start та /security_policy) "
"оператор бачить ваше ім'я користувача, @username та ідентифікатор "
"користувача через налаштування, які оператор вказав при створенні бота."

#: server/custom.py:65
msgid ""
"В зависимости от ваших настроек конфиденциальности Telegram, оператор может "
"видеть ваш username, имя пользователя и другую информацию."
msgstr ""
"Залежно від ваших налаштувань конфіденційності Telegram оператор може бачити "
"ваш username, ім'я користувача та іншу інформацію."

#: server/custom.py:76
msgid "Сообщение от пользователя "
msgstr "Допис від користувача "

#: server/custom.py:135
msgid "Вы заблокированы в этом боте"
msgstr "Ви заблоковані у цьому боті"

#: server/custom.py:141
msgid "Слишком много сообщений, подождите одну минуту"
msgstr "Забагато повідомлень, зачекайте одну хвилину"

#: server/custom.py:148
msgid "Не удаётся связаться с владельцем бота"
msgstr "Не вдається зв'язатися з власником бота"

#: server/custom.py:179
msgid ""
"Невозможно переслать сообщение: автор не найден (сообщение слишком "
"старое?)"
msgstr ""
"Неможливо надіслати повідомлення: автора не знайдено (повідомлення "
"занадто старе?)"

#: server/custom.py:187
msgid "Пользователь заблокирован"
msgstr "Користувач заблоковано"

#: server/custom.py:192
msgid "Пользователь не был забанен"
msgstr "Користувач не був забанений"

#: server/custom.py:195
msgid "Пользователь разбанен"
msgstr "Користувач розбанений"

#: server/custom.py:200
msgid "Невозможно переслать сообщение (автор заблокировал бота?)"
msgstr "Неможливо надіслати повідомлення (автор заблокував робота?)"

#: server/server.py:41
msgid "(Пере)запустить бота"
msgstr "(Пере) запустити бота"

#: server/server.py:42
msgid "Политика конфиденциальности"
msgstr "Політика конфіденційності"

#~ msgid ""
#~ "\n"
#~ "\n"
#~ "Этот бот создан с помощью @OlgramBot"
#~ msgstr ""
#~ "\n"
#~ "\n"
#~ "Цей бот створено за допомогою @OlgramBot"


text:
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR ORGANIZATION
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
msgid ""
msgstr ""
"Project-Id-Version: \n"
"POT-Creation-Date: 2022-03-22 04:36+0300\n"
"PO-Revision-Date: 2022-03-22 04:55+0300\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: pygettext.py 1.5\n"
"X-Generator: Poedit 3.0\n"
"Last-Translator: \n"
"Plural-Forms: nplurals=1; plural=0;\n"
"Language: zh_CN\n"

#: olgram/commands/bot_actions.py:21
msgid "Бот удалён"
msgstr "移除机器人"

#: olgram/commands/bot_actions.py:37 olgram/commands/bot_actions.py:49
msgid "Текст сброшен"
msgstr "重置文本"

#: olgram/commands/bot_actions.py:63
msgid "Выбран личный чат"
msgstr "选择了私聊"

#: olgram/commands/bot_actions.py:68
msgid "Нельзя привязать бота к этому чату"
msgstr "你不能将机器人链接到这个群聊"

#: olgram/commands/bot_actions.py:72
msgid "Выбран чат {0}"
msgstr "聊天选择 {0}"

#: olgram/commands/bots.py:42
msgid "У вас уже слишком много ботов."
msgstr "你已经有太多的机器人了。"

#: olgram/commands/bots.py:45
msgid ""
"\n"
"    Чтобы подключить бот, вам нужно выполнить три действия:\n"
"\n"
"    1. Перейдите в бот @BotFather, нажмите START и отправьте команду /"
"newbot\n"
"    2. Введите название бота, а потом username бота.\n"
"    3. После создания бота перешлите ответное сообщение в этот бот или "
"скопируйте и пришлите token бота.\n"
"\n"
"    Важно: не подключайте боты, которые используются в других сервисах "
"(Manybot, Chatfuel, Livegram и других).\n"
"    "
msgstr ""
"\n"
"    要连接机器人，你需要遵循三个步骤。\n"
"\n"
"    1. 转到机器人@BotFather，按/START键并发送/newbot\n"
"    2. 输入机器人的名字，然后输入机器人的用户名。\n"
"    3. 一旦创建了机器人，就向这个机器人转发一条回复信息，或者复制并发送机器人"
"的令牌。\n"
"\n"
"    重要：不要连接用于其他服务的机器人（Manybot、Chatfuel、Livegram和其"
"他）。\n"
"    "

#: olgram/commands/bots.py:65
msgid ""
"\n"
"        Это не токен бота.\n"
"\n"
"        Токен выглядит вот так: 123456789:AAAA-"
"abc123_AbcdEFghijKLMnopqrstu12\n"
"        "
msgstr ""
"\n"
"        这不是一个机器人令牌。\n"
"\n"
"        该令牌看起来像这样：123456789:AAAA-abc123_AbcdEFghijKLMnopqrstu12\n"
"        "

#: olgram/commands/bots.py:72
msgid ""
"\n"
"        Не удалось запустить этого бота: неверный токен\n"
"        "
msgstr ""
"\n"
"        运行此机器人失败：错误的令牌\n"
"        "

#: olgram/commands/bots.py:77
msgid ""
"\n"
"        Не удалось запустить этого бота: непредвиденная ошибка\n"
"        "
msgstr ""
"\n"
"        该机器人无法启动：意外错误\n"
"        "

#: olgram/commands/bots.py:82
msgid ""
"\n"
"        Такой бот уже есть в базе данных\n"
"        "
msgstr ""
"\n"
"        这个机器人已经在数据库中出现了\n"
"        "

#: olgram/commands/bots.py:114
msgid "Бот добавлен! Список ваших ботов: /mybots"
msgstr "机器人已加入! 你的机器人列表：/mybots"

#: olgram/commands/info.py:21
msgid "Недостаточно прав"
msgstr "没有足够的权利"

#: olgram/commands/info.py:32
msgid "Количество ботов: {0}\n"
msgstr "机器人的数量。{0}\n"

#: olgram/commands/info.py:33
msgid "Количество пользователей (у конструктора): {0}\n"
msgstr "用户的数量（在构造器处）。{0}\n"

#: olgram/commands/info.py:34
msgid "Шаблонов ответов: {0}\n"
msgstr "回复模板。{0}\n"

#: olgram/commands/info.py:35
msgid "Входящих сообщений у всех ботов: {0}\n"
msgstr "所有的机器人都有传入的信息。{0}\n"

#: olgram/commands/info.py:36
msgid "Исходящих сообщений у всех ботов: {0}\n"
msgstr "所有的机器人都有外发信息。{0}\n"

#: olgram/commands/menu.py:31
msgid ""
"\n"
"        У вас нет добавленных ботов.\n"
"\n"
"        Отправьте команду /addbot, чтобы добавить бот.\n"
"        "
msgstr ""
"\n"
"        你没有添加任何机器人。\n"
"\n"
"        发送命令/addbot来添加一个机器人。\n"
"        "

#: olgram/commands/menu.py:46
msgid "Ваши боты"
msgstr "你的机器人"

#: olgram/commands/menu.py:67
msgid "Личные сообщения"
msgstr "个人留言"

#: olgram/commands/menu.py:72 olgram/commands/menu.py:117
#: olgram/commands/menu.py:143 olgram/commands/menu.py:166
#: olgram/commands/menu.py:222
msgid "<< Назад"
msgstr "<< 返回"

#: olgram/commands/menu.py:78
msgid ""
"\n"
"        Этот бот не добавлен в чаты, поэтому все сообщения будут приходить "
"вам в бот.\n"
"        Чтобы подключить чат — добавьте бот @{0} в чат, откройте это меню "
"ещё раз и выберите добавленный чат.\n"
"        Если ваш бот состоял в групповом чате до того, как его добавили в "
"Olgram - удалите бота из чата и добавьте\n"
"        снова.\n"
"        "
msgstr ""
"\n"
"        这个机器人没有被添加到聊天记录中，所以所有的信息都会在机器人中找到"
"你。\n"
"        要连接群聊--将机器人@{0}添加到群聊中，再次打开此菜单并选择添加的群"
"聊。\n"
"        如果你的机器人在添加到Olgram之前是在群组中，请将其从群聊中删"
"除，然后添加到群组中。\n"
"        再次。\n"
"        "

#: olgram/commands/menu.py:85
msgid ""
"\n"
"        В этом разделе вы можете привязать бота @{0} к чату.\n"
"        Выберите чат, куда бот будет пересылать сообщения.\n"
"        "
msgstr ""
"\n"
"        在本节中，您可以将@{0}机器人绑定到一个群聊中。\n"
"        选择机器人将转发消息的群聊。\n"
"        "

#: olgram/commands/menu.py:97
msgid "Текст"
msgstr "自动回复"

#: olgram/commands/menu.py:102
msgid "Чат"
msgstr "群聊"

#: olgram/commands/menu.py:107
msgid "Удалить бот"
msgstr "删除机器人"

#: olgram/commands/menu.py:112
msgid "Статистика"
msgstr "统计数据"

#: olgram/commands/menu.py:121
msgid "Опции"
msgstr "选择"

#: olgram/commands/menu.py:126
msgid ""
"\n"
"    Управление ботом @{0}.\n"
"\n"
"    Если у вас возникли вопросы по настройке бота, то посмотрите нашу "
"справку /help или напишите нам\n"
"    @civsocit_feedback_bot\n"
"    "
msgstr ""
"\n"
"    机器人管理@{0}。\n"
"\n"
"    如果你有任何关于机器人配置的问题，请参阅我们的帮助/help\n"
"    "

#: olgram/commands/menu.py:138
msgid "Да, удалить бот"
msgstr "是的，删除该机器人"

#: olgram/commands/menu.py:147
msgid ""
"\n"
"    Вы уверены, что хотите удалить бота @{0}?\n"
"    "
msgstr ""
"\n"
"    你确定要删除机器人@{0}吗？\n"
"    "

#: olgram/commands/menu.py:156
msgid "Потоки сообщений"
msgstr "信息流"

#: olgram/commands/menu.py:161
msgid "Данные пользователя"
msgstr "用户数据"

#: olgram/commands/menu.py:171 olgram/commands/menu.py:172
msgid "включены"
msgstr "包括"

#: olgram/commands/menu.py:171 olgram/commands/menu.py:172
msgid "выключены"
msgstr "关闭"

#: olgram/commands/menu.py:173
msgid ""
"\n"
"    Потоки сообщений: {0}\n"
"    Данные пользователя: {1}\n"
"    "
msgstr ""
"\n"
"    "
"信息流: {0}\n"
"    用户数据: {1}\n"
"    "

#: olgram/commands/menu.py:185 olgram/commands/menu.py:247
#: olgram/commands/menu.py:289
msgid "<< Завершить редактирование"
msgstr "<< 完成编辑"

#: olgram/commands/menu.py:189
msgid "Автоответчик"
msgstr "自动回复"

#: olgram/commands/menu.py:194 olgram/commands/menu.py:261
msgid "Сбросить текст"
msgstr "重置文本"

#: olgram/commands/menu.py:199
msgid ""
"\n"
"    Сейчас вы редактируете текст, который отправляется после того, как "
"пользователь отправит вашему боту @{0}\n"
"    команду /start\n"
"\n"
"    Текущий текст:\n"
"
\n"
"    {1}\n"
"
\n"
"    Отправьте сообщение, чтобы изменить текст.\n"
"    "
msgstr ""
"\n"
"    你现在正在编辑用户向你的机器人发送@{0}之后的文本。\n"
"    /start\n"
"\n"
"    目前的文本。\n"
"
\n"
"    {1}\n"
"
\n"
"    发送消息，改变文本。\n"
"    "

#: olgram/commands/menu.py:226
msgid ""
"\n"
"    Статистика по боту @{0}\n"
"\n"
"    Входящих сообщений: {1}\n"
"    Ответных сообщений: {2}\n"
"    Шаблоны ответов: {3}\n"
"    Забанено пользователей: {4}\n"
"    "
msgstr ""
"\n"
"    机器人统计 @{0}\n"
"\n"
"    收到的信息: {1}\n"
"    回复信息: {2}\n"
"    回复模板: {3}\n"
"    被禁止的用户: {4}\n"
"    "

#: olgram/commands/menu.py:251
msgid "Предыдущий текст"
msgstr ""

#: olgram/commands/menu.py:256
msgid "Шаблоны ответов..."
msgstr "回复模板..."

#: olgram/commands/menu.py:266
msgid ""
"\n"
"    Сейчас вы редактируете текст автоответчика. Это сообщение отправляется в "
"ответ на все входящие сообщения @{0} автоматически. По умолчанию оно "
"отключено.\n"
"\n"
"    Текущий текст:\n"
"
\n"
"    {1}\n"
"
\n"
"    Отправьте сообщение, чтобы изменить текст.\n"
"    "
msgstr ""
"\n"
"    你现在正在编辑自动回复的文本。该信息会自动响应所有收到的@{0}信息而发送。"
"默认情况下，它是禁用的。\n"
"\n"
"    目前的文本。\n"
"
\n"
"    {1}\n"
"
。\n"
"    发送消息，改变文本。\n"
"    "

#: olgram/commands/menu.py:276
msgid "(отключено)"
msgstr "(关闭)"

#: olgram/commands/menu.py:293
msgid ""
"\n"
"    Сейчас вы редактируете шаблоны ответов для @{0}. Текущие шаблоны:\n"
"\n"
"
\n"
"    {1}\n"
"
\n"
"    Отправьте какую-нибудь фразу (например: \"Ваш заказ готов, ожидайте!\"), "
"чтобы добавить её в шаблон.\n"
"    Чтобы удалить шаблон из списка, отправьте его номер в списке (например, "
"4)\n"
"    "
msgstr ""
"\n"
"    你现在正在编辑@{0}的回复模板。目前的模板。\n"
"\n"
"
\n"
"    {1}\n"
"
。\n"
"    发送一个短语（例如：\"您的订单已准备好，请等待！\"），将其添加到模板"
"中。\n"
"    要从列表中删除一个模板，请发送它在列表中的编号（如4）。\n"
"    "

#: olgram/commands/menu.py:312
msgid "(нет шаблонов)"
msgstr "(没有模板)"

#: olgram/commands/menu.py:351
msgid "У вас нет шаблонов, чтобы их удалять"
msgstr "你没有模板来删除它们"

#: olgram/commands/menu.py:353
msgid "Неправильное число. Чтобы удалить шаблон, введите число от 0 до {0}"
msgstr "不正确的数字。要删除一个模式，请在0和{0}之间输入一个数字。"

#: olgram/commands/menu.py:361
msgid "У вашего бота уже слишком много шаблонов"
msgstr "你的机器人已经有太多的模式了"

#: olgram/commands/menu.py:365
msgid "Такой текст уже есть в списке шаблонов"
msgstr "此文本已在模板列表中"

#: olgram/commands/menu.py:383
msgid "У вас нет прав на этого бота"
msgstr "你对这个机器人没有任何权利"

#: olgram/commands/start.py:23
msgid ""
"\n"
"    Olgram Bot — это конструктор ботов обратной связи в Telegram. Подробнее "
"читайте здесь.\n"
"\n"
"    Используйте эти команды, чтобы управлять этим ботом:\n"
"\n"
"    /addbot - добавить бот\n"
"    /mybots - управление ботами\n"
"\n"
"    /help - помощь\n"
"    "
msgstr ""
"\n"
"    Olgram Bot — 是一个Telegram反馈机器人的构建者。阅读更多 在此阅读.\n"
"\n"
"    使用这些命令来控制这个机器人:\n"
"\n"
"    /addbot - 绑定机器人\n"
"    /mybots - 机器人控制\n"
"\n"
"    /help - 帮助\n"
"    "

#: olgram/commands/start.py:42
msgid ""
"\n"
"    Читайте инструкции на нашем сайте https://olgram.readthedocs.io\n"
"    Техническая поддержка: @civsocit_feedback_bot\n"
"    Версия {0}\n"
"    "
msgstr ""
"\n"
"    请阅读我们网站上的说明 https://olgram.readthedocs.io\n"
"    版本{0}\n"
"    "

#: olgram/models/models.py:30
msgid ""
"\n"
"    Здравствуйте!\n"
"    Напишите ваш вопрос и мы ответим вам в ближайшее время.\n"
"    "
msgstr ""
"\n"
"    你好!\n"
"    请写下您的问题，我们将很快给您答复。\n"
"    "

#: olgram/utils/permissions.py:40
msgid "Владелец бота ограничил доступ к этому функционалу 😞"
msgstr "机器人所有者已经限制了对该功能的访问 😞"

#: olgram/utils/permissions.py:52
msgid "Владелец бота ограничил доступ к этому функционалу😞"
msgstr "机器人主人限制了对该功能的访问😞。"

#: server/custom.py:40
msgid ""
"Политика конфиденциальности\n"
"\n"
"Этот бот не хранит ваши сообщения, имя пользователя и @username. При "
"отправке сообщения (кроме команд /start и /security_policy) ваш "
"идентификатор пользователя записывается в кеш на некоторое время и потом "
"удаляется из кеша. Этот идентификатор используется только для общения с "
"оператором; боты Olgram не делают массовых рассылок.\n"
"\n"
msgstr ""
"隐私政策</b\n"
"\n"
"这个机器人不存储你的信息、用户名或@用户名。当你发送消息时（除/start和/"
"security_policy外），你的用户名会被缓存一段时间，然后从缓存中删除。这个ID只用"
"于与运营商沟通；Olgram机器人不做批量信息发送。\n"
"\n"

#: server/custom.py:46
msgid ""
"При отправке сообщения (кроме команд /start и /security_policy) оператор "
"видит ваши имя пользователя, @username и идентификатор пользователя в "
"силу настроек, которые оператор указал при создании бота."
msgstr ""
"当发送消息时（除了/start和/security_policy），操作者看到你的用户名、@"
"用户名和用户ID，凭借的是操作者在创建机器人时指定的设置。"

#: server/custom.py:50
msgid ""
"В зависимости от ваших настроек конфиденциальности Telegram, оператор может "
"видеть ваш username, имя пользователя и другую информацию."
msgstr ""
"根据你的Telegram隐私设置，运营商可能会看到你的用户名，用户名和其他信息。"

#: server/custom.py:61
msgid "Сообщение от пользователя "
msgstr "用户的信息 "

#: server/custom.py:88
msgid "Вы заблокированы в этом боте"
msgstr "你在这个机器人中被封锁了"

#: server/custom.py:128
msgid ""
"Невозможно переслать сообщение: автор не найден (сообщение слишком "
"старое?)"
msgstr "无法转发信息：找不到作者（信息太旧？）"

#: server/custom.py:136
msgid "Пользователь заблокирован"
msgstr "用户被封锁了"

#: server/custom.py:141
msgid "Пользователь не был забанен"
msgstr "该用户没有被禁止"

#: server/custom.py:144
msgid "Пользователь разбанен"
msgstr "解禁用户"

#: server/custom.py:149
msgid "Невозможно переслать сообщение (автор заблокировал бота?)"
msgstr "无法转发该信息（作者已经屏蔽了机器人？）"

#: server/server.py:41
msgid "(Пере)запустить бота"
msgstr "(重新)启动机器人"

#: server/server.py:42
msgid "Политика конфиденциальности"
msgstr "隐私政策"

msgid "\n\nЭтот бот создан с помощью @OlgramBot"
msgstr "\n\n "


text:
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR ORGANIZATION
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
msgid ""
msgstr ""
"Project-Id-Version: \n"
"POT-Creation-Date: 2022-09-02 05:02+0400\n"
"PO-Revision-Date: 2022-09-02 05:07+0400\n"
"Last-Translator: \n"
"Language-Team: \n"
"Language: en_US\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"Generated-By: pygettext.py 1.5\n"
"X-Generator: Poedit 3.1\n"

#: olgram/commands/admin.py:21 olgram/commands/info.py:21
#: olgram/commands/promo.py:23 olgram/commands/promo.py:39
msgid "Недостаточно прав"
msgstr "Not enough permissions"

#: olgram/commands/admin.py:27
msgid "Нужно указать имя бота"
msgstr "You need to specify the bot's name"

#: olgram/commands/admin.py:33
msgid "Такого бота нет в системе"
msgstr "There is no such bot"

#: olgram/commands/admin.py:39 olgram/commands/admin.py:53
msgid "Пропустить"
msgstr "Skip"

#: olgram/commands/admin.py:42
msgid ""
"Введите текст, который будет отправлен владельцу бота {0}. Напишите "
"'Пропустить' чтобы отменить"
msgstr ""
"Enter the text that will be sent to the owner of the bot {0}. Write 'Skip' "
"to cancel"

#: olgram/commands/admin.py:50
msgid "Поддерживается только текст"
msgstr "Only text is supported"

#: olgram/commands/admin.py:55 olgram/commands/admin.py:71
msgid "Отменено"
msgstr "Cancelled"

#: olgram/commands/admin.py:61 olgram/commands/admin.py:69
msgid "Отправить"
msgstr "Send"

#: olgram/commands/admin.py:62
msgid "Отменить"
msgstr "Cancel"

#: olgram/commands/admin.py:81
msgid "Отправлено"
msgstr "Sent"

#: olgram/commands/bot_actions.py:22
msgid "Бот удалён"
msgstr "Bot removed"

#: olgram/commands/bot_actions.py:38 olgram/commands/bot_actions.py:50
msgid "Текст сброшен"
msgstr "Text is reset"

#: olgram/commands/bot_actions.py:64
msgid "Выбран личный чат"
msgstr "Personal chat selected"

#: olgram/commands/bot_actions.py:77
msgid "Бот вышел из чатов"
msgstr "Bot leaved chats"

#: olgram/commands/bot_actions.py:83
msgid "Нельзя привязать бота к этому чату"
msgstr "You can't bind a bot to this chat room"

#: olgram/commands/bot_actions.py:87
msgid "Выбран чат {0}"
msgstr "Selected chat {0}"

#: olgram/commands/bots.py:46
msgid ""
"У вас уже слишком много ботов. Удалите какой-нибудь свой бот из Olgram(/"
"mybots -> (Выбрать бота) -> Удалить бот)"
msgstr ""
"You already have too many bots. Remove any of your bots from Olgram(/mybots -"
"> (Select bot) -> Remove bot)"

#: olgram/commands/bots.py:50
msgid ""
"\n"
"    Чтобы подключить бот, вам нужно выполнить три действия:\n"
"\n"
"    1. Перейдите в бот @BotFather, нажмите START и отправьте команду /"
"newbot\n"
"    2. Введите название бота, а потом username бота.\n"
"    3. После создания бота перешлите ответное сообщение в этот бот или "
"скопируйте и пришлите token бота.\n"
"\n"
"    Важно: не подключайте боты, которые используются в других сервисах "
"(Manybot, Chatfuel, Livegram и других).\n"
"    "
msgstr ""
"\n"
"    To connect the bot, you need to follow three steps:\n"
"\n"
"    1. Go to bot @BotFather, press START and send command /newbot\n"
"    2. Enter the bot's name and then the bot's username.\n"
"    3. Once the bot is created, forward a reply message to this bot or copy "
"and send the bot's token.\n"
"\n"
"    Important: do not connect bots that are used in other services (Manybot, "
"Chatfuel, Livegram and others).\n"
"    "

#: olgram/commands/bots.py:70
msgid ""
"\n"
"        Это не токен бота.\n"
"\n"
"        Токен выглядит вот так: 123456789:AAAA-"
"abc123_AbcdEFghijKLMnopqrstu12\n"
"        "
msgstr ""
"\n"
"        This is not a bot token.\n"
"\n"
"        The token looks like this: 123456789:AAAA-"
"abc123_AbcdEFghijKLMnopqrstu12\n"
"        "

#: olgram/commands/bots.py:77
msgid ""
"\n"
"        Не удалось запустить этого бота: неверный токен\n"
"        "
msgstr ""
"\n"
"        Failed to start this bot: Wrong token\n"
"        "

#: olgram/commands/bots.py:82
msgid ""
"\n"
"        Не удалось запустить этого бота: непредвиденная ошибка\n"
"        "
msgstr ""
"\n"
"        Failed to start this bot: unexpected error\n"
"        "

#: olgram/commands/bots.py:87
msgid ""
"\n"
"        Такой бот уже есть в базе данных\n"
"        "
msgstr ""
"\n"
"        Such a bot is already in the database\n"
"        "

#: olgram/commands/bots.py:122
msgid "Бот добавлен! Список ваших ботов: /mybots"
msgstr "Bot added! List of your bots: /mybots"

#: olgram/commands/info.py:34
msgid "Количество ботов: {0}\n"
msgstr "Number of bots: {0}\n"

#: olgram/commands/info.py:35
msgid "Количество пользователей (у конструктора): {0}\n"
msgstr "Number of users (at the constructor): {0}\n"

#: olgram/commands/info.py:36
msgid "Шаблонов ответов: {0}\n"
msgstr "Answer templates: {0}\n"

#: olgram/commands/info.py:37
msgid "Входящих сообщений у всех ботов: {0}\n"
msgstr "Incoming messages from all bots: {0}\n"

#: olgram/commands/info.py:38
msgid "Исходящих сообщений у всех ботов: {0}\n"
msgstr "All bots have outgoing messages: {0}\n"

#: olgram/commands/info.py:39
msgid "Промо-кодов выдано: {0}\n"
msgstr "Promo codes issued: {0}\n"

#: olgram/commands/menu.py:31
msgid ""
"\n"
"        У вас нет добавленных ботов.\n"
"\n"
"        Отправьте команду /addbot, чтобы добавить бот.\n"
"        "
msgstr ""
"\n"
"        You do not have any bots added.\n"
"\n"
"        Send the command /addbot to add a bot.\n"
"        "

#: olgram/commands/menu.py:46
msgid "Ваши боты"
msgstr "Your bots"

#: olgram/commands/menu.py:67
msgid "Личные сообщения"
msgstr "Personal messages"

#: olgram/commands/menu.py:72
msgid "❗ Выйти из всех чатов"
msgstr "❗ Leave all chats"

#: olgram/commands/menu.py:77 olgram/commands/menu.py:122
#: olgram/commands/menu.py:148 olgram/commands/menu.py:184
#: olgram/commands/menu.py:247
msgid "<< Назад"
msgstr "<< Back"

#: olgram/commands/menu.py:83
msgid ""
"\n"
"        Этот бот не добавлен в чаты, поэтому все сообщения будут приходить "
"вам в бот.\n"
"        Чтобы подключить чат — добавьте бот @{0} в чат, откройте это меню "
"ещё раз и выберите добавленный чат.\n"
"        Если ваш бот состоял в групповом чате до того, как его добавили в "
"Olgram - удалите бота из чата и добавьте\n"
"        снова.\n"
"        "
msgstr ""
"\n"
"        This bot is not added to the chats, so all messages will come to you "
"in the bot.\n"
"        To add a chat - add the bot @{0} to the chat, open this menu again "
"and select the added chat.\n"
"        If your bot was in a group chat before you added it to Olgram - "
"remove the bot from the chat and add\n"
"        again.\n"
"        "

#: olgram/commands/menu.py:90
msgid ""
"\n"
"        В этом разделе вы можете привязать бота @{0} к чату.\n"
"        Выберите чат, куда бот будет пересылать сообщения.\n"
"        "
msgstr ""
"\n"
"        In this section you can bind the @{0} bot to a chat room.\n"
"        Select the chat room where the bot will forward messages.\n"
"        "

#: olgram/commands/menu.py:102
msgid "Текст"
msgstr "Text"

#: olgram/commands/menu.py:107
msgid "Чат"
msgstr "Chat"

#: olgram/commands/menu.py:112
msgid "Удалить бот"
msgstr "Delete bot"

#: olgram/commands/menu.py:117
msgid "Статистика"
msgstr "Statistics"

#: olgram/commands/menu.py:126
msgid "Опции"
msgstr "Options"

#: olgram/commands/menu.py:131
msgid ""
"\n"
"    Управление ботом @{0}.\n"
"\n"
"    Если у вас возникли вопросы по настройке бота, то посмотрите нашу "
"справку /help или напишите нам\n"
"    @civsocit_feedback_bot\n"
"    "
msgstr ""
"\n"
"    Bot management @{0}.\n"
"\n"
"    If you have any questions about configuring the bot, see our help /help "
"or email us\n"
"    @civsocit_feedback_bot\n"
"    "

#: olgram/commands/menu.py:143
msgid "Да, удалить бот"
msgstr "Yes, delete the bot"

#: olgram/commands/menu.py:152
msgid ""
"\n"
"    Вы уверены, что хотите удалить бота @{0}?\n"
"    "
msgstr ""
"\n"
"    Are you sure you want to delete the bot @{0}?\n"
"    "

#: olgram/commands/menu.py:161
msgid "Потоки сообщений"
msgstr "Message threads"

#: olgram/commands/menu.py:166
msgid "Данные пользователя"
msgstr "User data"

#: olgram/commands/menu.py:171
msgid "Антифлуд"
msgstr "Antiflood"

#: olgram/commands/menu.py:178
msgid "Olgram подпись"
msgstr "Olgram signature"

#: olgram/commands/menu.py:189 olgram/commands/menu.py:190
msgid "включены"
msgstr "enabled"

#: olgram/commands/menu.py:189 olgram/commands/menu.py:190
msgid "выключены"
msgstr "disabled"

#: olgram/commands/menu.py:191
#, fuzzy
#| msgid "включены"
msgid "включен"
msgstr "enabled"

#: olgram/commands/menu.py:191
#, fuzzy
#| msgid "выключены"
msgid "выключен"
msgstr "disabled"

#: olgram/commands/menu.py:192
msgid ""
"\n"
"    Потоки сообщений: {0}\n"
"    Данные пользователя: {1}\n"
"    Антифлуд: {2}\n"
"    "
msgstr ""
"\n"
"    Threads: {0}\n"
"    User data: {1}\n"
"    Antiflood: {2}"

#: olgram/commands/menu.py:199
msgid "включена"
msgstr "enabled"

#: olgram/commands/menu.py:199
msgid "выключена"
msgstr "disabled"

#: olgram/commands/menu.py:200
msgid "Olgram подпись: {0}"
msgstr "Olgram signature: {0}"

#: olgram/commands/menu.py:210 olgram/commands/menu.py:272
#: olgram/commands/menu.py:314
msgid "<< Завершить редактирование"
msgstr "<< Finish editing"

#: olgram/commands/menu.py:214
msgid "Автоответчик"
msgstr "Autoresponder"

#: olgram/commands/menu.py:219 olgram/commands/menu.py:286
msgid "Сбросить текст"
msgstr "Reset text"

#: olgram/commands/menu.py:224
msgid ""
"\n"
"    Сейчас вы редактируете текст, который отправляется после того, как "
"пользователь отправит вашему боту @{0}\n"
"    команду /start\n"
"\n"
"    Текущий текст:\n"
"
\n"
"    {1}\n"
"
\n"
"    Отправьте сообщение, чтобы изменить текст.\n"
"    "
msgstr ""
"\n"
"    You are now editing the text that is sent after the user sends your bot "
"@{0}\n"
"    /start command.\n"
"\n"
"    Current text:\n"
"
\n"
"    {1}\n"
"
\n"
"    Send a message to change the text.\n"
"    "

#: olgram/commands/menu.py:251
msgid ""
"\n"
"    Статистика по боту @{0}\n"
"\n"
"    Входящих сообщений: {1}\n"
"    Ответных сообщений: {2}\n"
"    Шаблоны ответов: {3}\n"
"    Забанено пользователей: {4}\n"
"    "
msgstr ""
"\n"
"    Statistics @{0}\n"
"\n"
"    Income messages: {1}\n"
"    Response messages: {2}\n"
"    Tempaltes: {3}\n"
"    Banned users: {4}\n"
"    "

#: olgram/commands/menu.py:276
msgid "Предыдущий текст"
msgstr "Previous text"

#: olgram/commands/menu.py:281
msgid "Шаблоны ответов..."
msgstr "Answer templates..."

#: olgram/commands/menu.py:291
msgid ""
"\n"
"    Сейчас вы редактируете текст автоответчика. Это сообщение отправляется в "
"ответ на все входящие сообщения @{0} автоматически. По умолчанию оно "
"отключено.\n"
"\n"
"    Текущий текст:\n"
"
\n"
"    {1}\n"
"
\n"
"    Отправьте сообщение, чтобы изменить текст.\n"
"    "
msgstr ""
"\n"
"    You are now editing the autoresponder text. This message is sent in "
"response to all incoming @{0} messages automatically. It is disabled by "
"default.\n"
"\n"
"    Current text:\n"
"
\n"
"    {1}\n"
"
\n"
"    Send a message to change the text.\n"
"    "

#: olgram/commands/menu.py:301
msgid "(отключено)"
msgstr "(disabled)"

#: olgram/commands/menu.py:318
msgid ""
"\n"
"    Сейчас вы редактируете шаблоны ответов для @{0}. Текущие шаблоны:\n"
"\n"
"
\n"
"    {1}\n"
"
\n"
"    Отправьте какую-нибудь фразу (например: \"Ваш заказ готов, ожидайте!\"), "
"чтобы добавить её в шаблон.\n"
"    Чтобы удалить шаблон из списка, отправьте его номер в списке (например, "
"4)\n"
"    "
msgstr ""
"\n"
"    You are currently editing the answer templates for @{0}. Current "
"templates:\n"
"\n"
"
\n"
"    {1}\n"
"
.\n"
"    Send some phrase (e.g., \"Your order is ready, wait!\") to add to the "
"template.\n"
"    To remove a template from the list, send its number in the list (for "
"example, 4) "

#: olgram/commands/menu.py:337
msgid "(нет шаблонов)"
msgstr "(no templates)"

#: olgram/commands/menu.py:376
msgid "У вас нет шаблонов, чтобы их удалять"
msgstr "You don't have templates to delete them"

#: olgram/commands/menu.py:378
msgid "Неправильное число. Чтобы удалить шаблон, введите число от 0 до {0}"
msgstr "To delete a template, enter a number between 0 and {0}"

#: olgram/commands/menu.py:386
msgid "У вашего бота уже слишком много шаблонов"
msgstr "Your bot already has too many templates"

#: olgram/commands/menu.py:390
msgid "Такой текст уже есть в списке шаблонов"
msgstr "This text is already in the list of templates"

#: olgram/commands/menu.py:408
msgid "У вас нет прав на этого бота"
msgstr "You have no permissions to this bot"

#: olgram/commands/promo.py:27
msgid ""
"Новый промокод\n"
"```{0}```"
msgstr ""
"New promo code\n"
"```{0}```"

#: olgram/commands/promo.py:46
msgid "Неправильный токен"
msgstr "Incorrect token"

#: olgram/commands/promo.py:49
msgid "Такого кода не существует"
msgstr "There is no such code"

#: olgram/commands/promo.py:59
msgid "Промокод отозван"
msgstr "Promotion code withdrawn"

#: olgram/commands/promo.py:70
msgid ""
"Укажите аргумент: промокод. Например:
/setpromo my-promo-code
"
msgstr ""
"Specify the argument: promo code. For example:
/setpromo my-promo-"
"code
"

#: olgram/commands/promo.py:78 olgram/commands/promo.py:82
msgid "Промокод не найден"
msgstr "Promo code not found"

#: olgram/commands/promo.py:85
msgid "Промокод уже использован"
msgstr "Promo code has already been used"

#: olgram/commands/promo.py:91
msgid "Промокод активирован! Спасибо 🙌"
msgstr "Promo code activated! Thank you 🙌"

#: olgram/commands/start.py:23
msgid ""
"\n"
"    Olgram Bot — это конструктор ботов обратной связи в Telegram. Подробнее "
"читайте здесь. Следите за "
"обновлениями здесь.\n"
"\n"
"    Используйте эти команды, чтобы управлять этим ботом:\n"
"\n"
"    /addbot - добавить бот\n"
"    /mybots - управление ботами\n"
"\n"
"    /help - помощь\n"
"    "
msgstr ""
"\n"
"    Olgram Bot is a feedback bot contructor for Telegram. More info here.\n"
"\n"
"    Use that commands to control bot:\n"
"\n"
"    /addbot - add bot\n"
"    /mybots - bot control\n"
"\n"
"    /help - help\n"
"    "

#: olgram/commands/start.py:43
msgid ""
"\n"
"    Читайте инструкции на нашем сайте https://olgram.readthedocs.io\n"
"    Техническая поддержка: @civsocit_feedback_bot\n"
"    Версия {0}\n"
"    "
msgstr ""
"\n"
"    Read the instructions on our website at https://olgram.readthedocs.io\n"
"    Technical support: @civsocit_feedback_bot\n"
"    Version {0}\n"
"    "

#: olgram/models/models.py:30
msgid ""
"\n"
"    Здравствуйте!\n"
"    Напишите ваш вопрос и мы ответим вам в ближайшее время.\n"
"    "
msgstr ""
"\n"
"    Hello!\n"
"    Write your question and we will answer you shortly.\n"
"    "

#: olgram/utils/permissions.py:40
msgid "Владелец бота ограничил доступ к этому функционалу 😞"
msgstr "The bot owner has restricted access to this functionality 😞"

#: olgram/utils/permissions.py:52
msgid "Владелец бота ограничил доступ к этому функционалу😞"
msgstr "The owner of the bot has restricted access to this function😞"

#: server/custom.py:55
msgid ""
"Политика конфиденциальности\n"
"\n"
"Этот бот не хранит ваши сообщения, имя пользователя и @username. При "
"отправке сообщения (кроме команд /start и /security_policy) ваш "
"идентификатор пользователя записывается в кеш на некоторое время и потом "
"удаляется из кеша. Этот идентификатор используется только для общения с "
"оператором; боты Olgram не делают массовых рассылок.\n"
"\n"
msgstr ""
"Privacy Policy.\n"
"\n"
"This bot does not store your messages, username and @username. When you send "
"a message (except for /start and /security_policy), your username is cached "
"for a while and then deleted from the cache. This ID is only used for "
"communicating with the operator; Olgram bots do not do mass mailings.\n"
"\n"

#: server/custom.py:61
msgid ""
"При отправке сообщения (кроме команд /start и /security_policy) оператор "
"видит ваши имя пользователя, @username и идентификатор пользователя в "
"силу настроек, которые оператор указал при создании бота."
msgstr ""
"When sending a message (except /start and /security_policy), the operator "
"sees your username, @username and user ID by virtue of the settings "
"that the operator specified when creating the bot."

#: server/custom.py:65
msgid ""
"В зависимости от ваших настроек конфиденциальности Telegram, оператор может "
"видеть ваш username, имя пользователя и другую информацию."
msgstr ""
"Depending on your Telegram privacy settings, the operator may see your "
"username, username and other information."

#: server/custom.py:76
msgid "Сообщение от пользователя "
msgstr "Message from the user "

#: server/custom.py:135
msgid "Вы заблокированы в этом боте"
msgstr "You are blocked in this bot"

#: server/custom.py:141
msgid "Слишком много сообщений, подождите одну минуту"
msgstr "Too many messages, wait one minute"

#: server/custom.py:148
msgid "Не удаётся связаться с владельцем бота"
msgstr "Cannot contact the owner of the bot"

#: server/custom.py:179
msgid ""
"Невозможно переслать сообщение: автор не найден (сообщение слишком "
"старое?)"
msgstr ""
"Cannot forward this message: author not found (message too old?)"

#: server/custom.py:187
msgid "Пользователь заблокирован"
msgstr "User is blocked"

#: server/custom.py:192
msgid "Пользователь не был забанен"
msgstr "The user was not banned"

#: server/custom.py:195
msgid "Пользователь разбанен"
msgstr "A user has been unlocked"

#: server/custom.py:200
msgid "Невозможно переслать сообщение (автор заблокировал бота?)"
msgstr "Cannot forward the message (has the author blocked the bot?)"

#: server/server.py:41
msgid "(Пере)запустить бота"
msgstr "(Re)launch the bot"

#: server/server.py:42
msgid "Политика конфиденциальности"
msgstr "Privacy Policy"

#~ msgid ""
#~ "\n"
#~ "\n"
#~ "Этот бот создан с помощью @OlgramBot"
#~ msgstr ""
#~ "\n"
#~ "\n"
#~ "This bot was created using @OlgramBot"


text:
俺收藏的各色网站

= =

= 新闻时事类 =

下面列出的是新闻报道相关的网站（包括各种报刊、杂志、电台的官方网站等）。

为了看起来方便，按照地区分类。

== 欧洲 ==

{|
! 名称 !! 链接 !! 类型 !! 说明
|-
| '''英国广播公司''' ||   ||   || 英文缩写BBC 介绍参见[https://zh.wikipedia.org/wiki/%E8%8B%B1%E5%9B%BD%E5%B9%BF%E6%92%AD%E5%85%AC%E5%8F%B8 维基百科]
|-
|   || [http://www.bbc.co.uk/] || Web || English Homepage
|-
|   || [http://www.bbc.co.uk/zhongwen/simp/] || Web || 简体中文主页
|-
|   || [http://www.bbc.co.uk/zhongwen/trad/] || Web || 繁體中文主頁
|-
|   || [http://www.bbc.co.uk/zhongwen/simp/index.xml BBC新闻订阅] || RSS || 简体中文 摘要输出
|-
|   || [https://twitter.com/BBCchinese @BBCchinese] || Twitter || 简体中文推特
|-
| '''德国之声''' ||   ||   || 介绍参见[https://zh.wikipedia.org/wiki/%E5%BE%B7%E5%9B%BD%E4%B9%8B%E5%A3%B0 维基百科]
|-
|   || [http://www.dw-world.de/] || Web || English Homepage
|-
|   || [http://www.dw-world.de/dw/0,,293,00.html] || Web || 简体中文主页
|-
|   || [http://mobile.dw-world.de/chinese] || WAP || 简体中文手机版主页
|-
|   || [http://feeds.feedburner.com/dw-world 订阅] || RSS || 简体中文 全文输出
|-
| '''路透社''' ||   ||   || 世界三大通讯社之一 介绍参见[https://zh.wikipedia.org/wiki/%E8%B7%AF%E9%80%8F%E7%A4%BE 维基百科]
|-
|   || [http://www.reuters.com/] || Web || English Homepage
|-
|   || [http://cn.reuters.com/] || Web || 路透中文网主页
|-
|   || [http://blogs.cn.reuters.com/feed 路透博客] || RSS || 简体中文 全文输出
|-
|   || [https://twitter.com/reuters Reuters Top News] || Twitter || English Twitter
|-
|   || [https://twitter.com/reutersworld Reuters World] || Twitter || English Twitter
|-
| '''法国国际广播电台''' ||   ||   || 英文缩写RFI 介绍参见[https://zh.wikipedia.org/wiki/%E6%B3%95%E5%9B%BD%E5%9B%BD%E9%99%85%E5%B9%BF%E6%92%AD%E7%94%B5%E5%8F%B0 维基百科]
|-
|   || [http://www.rfi.fr/] || Web || English Homepage
|-
|   || [https://twitter.com/RFI @RFI] || Twitter || English Twitter
|-
|   || [http://www.chinese.rfi.fr/] || Web || 简体中文主页
|-
|   || [http://www.chinese.rfi.fr/contenu/most-read/feed 热点新闻订阅] || RSS || 简体中文 摘要输出
|-
|   || [http://www.chinese.rfi.fr/actufr/pages/001/accueil.xml 最近24小时新闻订阅] || RSS || 简体中文 摘要输出
|-
|   || [https://twitter.com/RFI_Chinois @RFI_Chinois] || Twitter || 简体中文推特
|-
| '''荷兰国际广播电台''' ||   ||   || 英文缩写RNW 介绍参见[https://zh.wikipedia.org/wiki/%E8%8D%B7%E5%85%B0%E5%9B%BD%E9%99%85%E5%B9%BF%E6%92%AD%E7%94%B5%E5%8F%B0 维基百科]
|-
|   || [http://www.rnw.nl/] || Web || English Homepage
|-
|   || [http://www.rnw.nl/chinese] || Web || 简体中文主页
|-
|   || [http://m.rnw.nl/chinese] || Web || 简体中文主页的精简版 面向手机浏览
|-
|   || [https://twitter.com/RNW @RNW] || Twitter || English Twitter
|-
| '''全球之声''' ||   ||   || 介绍参见[https://zh.wikipedia.org/wiki/%E5%85%A8%E7%90%83%E4%B9%8B%E8%81%B2 维基百科]
|-
|   || [http://globalvoicesonline.org] || Web || English Homepage
|-
|   || [https://twitter.com/GlobalVoices @GlobalVoices] || Twitter || English Twitter
|-
|   || [http://zh.globalvoicesonline.org/hans] || Web || 简体中文主页
|-
|   || [http://zh.globalvoicesonline.org/hans/feed/ 新闻订阅] || RSS || 简体中文 摘要输出
|-
|   || [http://zh.globalvoicesonline.org/hant] || Web || 简体中文主页
|-
|   || [http://zh.globalvoicesonline.org/hant/feed/ 新聞訂閲] || RSS || 繁體中文 摘要輸出
|-
| '''无国界记者''' ||   ||   || 英文缩写RSF 介绍参见[https://zh.wikipedia.org/wiki/%E6%97%A0%E5%9B%BD%E7%95%8C%E8%AE%B0%E8%80%85 维基百科]
|-
|   || [http://www.rsf.org/-Anglais-.html] || Web || English Homepage
|-
|   || [http://www.rsf-chinese.org/] || Web || 简体中文主页
|-
|   || [http://www.rsf-chinese.org/spip.php?page=backend 新闻订阅] || RSS || 简体中文 摘要输出
|}

== 北美 ==

{|
! 名称 !! 链接 !! 类型 !! 说明
|-
| '''纽约时报''' ||   ||   || 介绍参见[https://zh.wikipedia.org/wiki/%E7%BA%BD%E7%BA%A6%E6%97%B6%E6%8A%A5 维基百科]
|-
|   || [http://www.nytimes.com/] || Web || English Homepage
|-
|   || [http://cn.nytimes.com/] || Web || 简体中文主页
|-
|   || [http://cn.nytimes.com/zh-hk/] || Web || 繁體中文主頁
|-
|   || [http://cn.nytimes.com/rss/news.xml 订阅] || RSS || 简体中文 全文输出
|-
|   || [https://twitter.com/nytimes @nytimes] || Twitter || English Twitter
|-
|   || [https://twitter.com/NYTchinese @NYTchinese] || Twitter || 简体中文推特
|-
| '''华盛顿邮报''' ||   ||   || 介绍参见[https://zh.wikipedia.org/wiki/%E5%8D%8E%E7%9B%9B%E9%A1%BF%E9%82%AE%E6%8A%A5 维基百科]
|-
|   || [http://www.washingtonpost.com/] || Web || English Homepage
|-
|   || [http://feeds.washingtonpost.com/rss/politics Politics] || RSS || English Summary
|-
|   || [http://feeds.washingtonpost.com/rss/opinions Opinions] || RSS || English Summary
|-
|   || [http://feeds.washingtonpost.com/rss/local Local] || RSS || English Summary
|-
|   || [http://feeds.washingtonpost.com/rss/world World] || RSS || English Summary
|-
|   || [http://feeds.washingtonpost.com/rss/business Business] || RSS || English Summary
|-
|   || [https://twitter.com/washingtonpost @washingtonpost] || Twitter || English Twitter
|-
| '''有线新闻网''' ||   ||   || 英文缩写CNN 介绍参见[https://zh.wikipedia.org/wiki/CNN 维基百科]
|-
|   || [http://www.cnn.com/] || Web || English Homepage
|-
|   || [https://twitter.com/CNN @CNN] || Twitter || CNN on Twitter
|-
|   || [https://twitter.com/CNNbrk @CNNbrk] || Twitter || CNN Breaking News on Twitter
|-
|   || [https://twitter.com/CNNi @CNNi] || Twitter || CNN International on Twitter
|-
| '''美国之音''' ||   ||   || 英文缩写VOA 介绍参见[https://zh.wikipedia.org/wiki/%E7%BE%8E%E5%9B%BD%E4%B9%8B%E9%9F%B3 维基百科]
|-
|   || [http://voanews.com/] || Web || English Homepage
|-
|   || [http://voanews.com/chinese] || Web || 简体中文主页
|-
|   || [http://www.voanews.com/templates/Articles.rss?sectionPath=/chinese/news/china 新闻订阅] || RSS || 简体中文 摘要输出
|-
|   || [https://twitter.com/VOAchinese @VOAchinese] || Twitter || 简体中文推特
|-
| '''自由亚洲电台''' ||   ||   || 英文缩写RFA 介绍参见[https://zh.wikipedia.org/wiki/%E8%87%AA%E7%94%B1%E4%BA%9A%E6%B4%B2%E7%94%B5%E5%8F%B0 维基百科]
|-
|   || [http://www.rfa.org/] || Web || English Home
|-
|   || [http://www.rfa.org/mandarin/] || Web || 简体中文主页
|-
|   || [https://twitter.com/RFAchinese @RFAchinese] || Twitter || 简体中文推特
|-
|   || [http://www.rfa.org/mandarin/zhuanlan/zhongguotoushi/RSS 中国透视订阅] || RSS || 简体中文 摘要输出
|-
|   || [http://www.rfa.org/mandarin/yataibaodao/RSS 亚太报道订阅] || RSS || 简体中文 摘要输出
|-
|   || [http://www.rfa.org/mandarin/pinglun/RSS 特约评论订阅] || RSS || 简体中文 摘要输出
|-
|   || [http://www.rfa.org/mandarin/zhuanlan/diaochabaodao/RSS 调查报道订阅] || RSS || 简体中文 摘要输出
|-
|   || [http://www.rfa.org/mandarin/zhuanlan/huashengdunshouji/RSS 华盛顿手记订阅] || RSS || 简体中文 摘要输出
|-
| '''博讯''' ||   ||   || 介绍参见[https://zh.wikipedia.org/wiki/%E5%8D%9A%E8%AE%AF 维基百科]
|-
|   || [http://www.boxun.com/] || Web || 简体中文主页
|-
|   || [http://www.peacehall.com/] || Web || 另一个域名 内容同上
|-
|   || [http://www.boxun.us/] || Web || English Homepage
|-
|   || [http://news.boxun.com/news/rss/focus.xml 焦点新闻订阅] || RSS || 简体中文 仅标题输出
|-
|   || [http://news.boxun.com/news/rss/pol.xml 政治新闻订阅] || RSS || 简体中文 仅标题输出
|-
| '''北美世界日報''' ||   ||   || 隸屬台灣聯合報系 有親中共傾向 介绍参见[https://zh.wikipedia.org/wiki/%E5%8C%97%E7%BE%8E%E4%B8%96%E7%95%8C%E6%97%A5%E5%A0%B1 维基百科]
|-
|   || [http://www.worldjournal.com/] || Web || 繁體中文主頁
|-
| '''万维读者网''' ||   ||   || 1999年由旅美华人创办 据说2009年股权变更后立场已转变
|-
|   || [http://www.creaders.net/] || Web || 繁體中文主頁
|-
|   || [http://www.creaders.net/?language=gb2312] || Web || 简体中文主页
|-
|   || [http://www.creadersnet.com/] || Web || English Homepage
|}

== 香港 ==

{|
! 名称 !! 链接 !! 类型 !! 说明
|-
| '''明報''' ||   ||   || 大名鼎鼎的金庸創辦 介紹參見[https://zh.wikipedia.org/wiki/%E6%98%8E%E5%A0%B1 維基百科]
|-
|   || [http://www.mingpaonews.com/] || Web || 繁體中文主頁
|-
|   || [https://twitter.com/MingPaoCom @MingPaoCom] || Twitter || 繁體中文推特
|-
| '''蘋果日報''' ||   ||   || 創辦人黎智英 少數批評北京及港府的大報 介紹參見[https://zh.wikipedia.org/wiki/%E8%98%8B%E6%9E%9C%E6%97%A5%E5%A0%B1_(%E9%A6%99%E6%B8%AF) 維基百科]
|-
|   || [http://hk.nextmedia.com/] || Web || 香港版的繁體中文主頁
|-
|   || [https://twitter.com/HKAppleDaily @HKAppleDaily] || Twitter || 香港版的繁體中文推特
|-
| '''亞洲周刊''' ||   ||   || 1994年被明報集團收購 介紹參見[https://zh.wikipedia.org/wiki/%E4%BA%9E%E6%B4%B2%E9%80%B1%E5%88%8A 維基百科]
|-
|   || [http://www.yzzk.com/] || Web || 繁體中文主頁
|-
|   || [http://www.yzzk.com/rss/rss.xml 新聞訂閲] || RSS || 繁體中文 摘要輸出
|-
| '''南華早報''' ||   ||   || 英文縮寫SCMP 政治立場中偏左 介紹參見[https://zh.wikipedia.org/wiki/%E5%8D%97%E8%8F%AF%E6%97%A9%E5%A0%B1 維基百科]
|-
|   || [http://www.scmp.com/] || Web || English Homepage
|-
|   || [http://www.nanzao.com/sc] || Web || 简体中文主页
|-
|   || [http://www.nanzao.com/tc] || Web || 繁體中文主頁
|-
|   || [http://www.nanzao.com/sc/rss/all/rss.xml 订阅] || RSS || 简体中文 全文输出
|-
|   || [http://www.nanzao.com/tc/rss/all/rss.xml 訂閲] || RSS || 繁體中文 全文輸出
|-
|   || [https://twitter.com/SCMP_News @SCMP_News] || Twitter || 繁體中文推特
|-
| '''香港獨立媒體''' ||   ||   || 於2004年七一遊行後成立 介紹參見[https://zh.wikipedia.org/wiki/%E9%A6%99%E6%B8%AF%E7%8D%A8%E7%AB%8B%E5%AA%92%E9%AB%94 維基百科]
|-
|   || [http://www.inmediahk.net/] || Web || 繁體中文主頁
|-
|   || [http://inmediahk.net/full/feed 訂閲] || RSS || 繁體中文 全文輸出
|-
|   || [https://twitter.com/inmediahk @inmediahk] || Twitter || 繁體中文推特
|-
| '''熱血時報''' ||   ||   || 在2012年9月9日成立 立場反共 介紹參見[https://zh.wikipedia.org/wiki/%E7%86%B1%E8%A1%80%E6%99%82%E5%A0%B1 維基百科]
|-
|   || [http://www.passiontimes.hk/] || Web || 繁體中文主頁
|-
|   || [https://twitter.com/Passiontimes @Passiontimes] || Twitter || 繁體中文推特
|-
| '''星島日報''' ||   ||   || 華僑富商胡文虎於1938年創辦 觀點親中共和建制派 介紹參見[https://zh.wikipedia.org/wiki/%E6%98%9F%E5%B3%B6%E6%97%A5%E5%A0%B1 維基百科]
|-
|   || [http://www.singtao.com/] || Web || 繁體中文主頁
|-
| '''香港電視廣播有限公司''' ||   ||   || 英文縮寫TVB 介紹參見[https://zh.wikipedia.org/wiki/%E9%9B%BB%E8%A6%96%E5%BB%A3%E6%92%AD%EF%BC%88%E5%9C%8B%E9%9A%9B%EF%BC%89 維基百科]
|-
|   || [http://www.tvb.com/] || Web || 繁體中文主頁
|-
|   || [https://twitter.com/TVBcom @TVBcom] || Twitter || 繁體中文推特
|-
| '''香港亞洲電視''' ||   ||   || 英文縮寫ATV 介紹參見[https://zh.wikipedia.org/wiki/%E4%BA%9E%E6%B4%B2%E9%9B%BB%E8%A6%96 維基百科]
|-
|   || [http://www.hkatv.com/] || Web || 繁體中文主頁
|-
|   || [http://www.hkatv.com/v5/index_cn.html] || Web || 简体中文主页
|-
| '''香港電臺''' ||   ||   || 英文縮寫RTHK 介紹參見[https://zh.wikipedia.org/wiki/%E9%A6%99%E6%B8%AF%E9%9B%BB%E5%8F%B0 維基百科]
|-
|   || [http://rthk.hk/index.htm] || Web || 繁體中文主頁
|-
|   || [http://gbcode.rthk.org.hk/TuniS/rthk.hk/index.htm] || Web || 简体中文主页
|-
|   || [http://rthk.hk/index_eng.htm] || Web || English Homepage
|}

== 臺灣 ==

{|
! 名称 !! 链接 !! 类型 !! 说明
|-
| '''蘋果日報''' ||   || Web || 創辦人黎智英 介紹參見[https://zh.wikipedia.org/wiki/%E8%98%8B%E6%9E%9C%E6%97%A5%E5%A0%B1_%28%E5%8F%B0%E7%81%A3%29 維基百科]
|-
|   || [http://tw.nextmedia.com/] || Web || 臺灣版的繁體中文主頁
|-
|   || [https://twitter.com/TW_nextmedia @TW_nextmedia] || Twitter || 臺灣版的繁體中文推特
|-
| '''自由時報''' ||   ||   || 英文縮寫LTN 觀點偏綠 介紹參見[https://zh.wikipedia.org/wiki/%E8%87%AA%E7%94%B1%E6%99%82%E5%A0%B1 維基百科]
|-
|   || [http://www.ltn.com.tw/] || Web || 繁體中文主頁
|-
|   || [http://news.ltn.com.tw/rss/focus.xml 焦點新聞] || RSS || 繁體中文 摘要輸出
|-
|   || [http://news.ltn.com.tw/rss/politics.xml 政治新聞] || RSS || 繁體中文 摘要輸出
|-
|   || [http://news.ltn.com.tw/rss/society.xml 社會新聞] || RSS || 繁體中文 摘要輸出
|-
|   || [http://news.ltn.com.tw/rss/world.xml 國際新聞] || RSS || 繁體中文 摘要輸出
|-
| '''中央通訊社''' ||   ||   || 英文縮寫CNA 介紹參見[https://zh.wikipedia.org/wiki/%E4%B8%AD%E5%A4%AE%E9%80%9A%E8%A8%8A%E7%A4%BE 維基百科]
|-
|   || [http://www.cna.com.tw/] || Web || 繁體中文主頁
|-
|   || [http://feeds.feedburner.com/cnaFirstNews 重點新聞] || RSS || 繁體中文 摘要輸出
|-
|   || [http://feeds.feedburner.com/rsscna/politics 政治新聞] || RSS || 繁體中文 摘要輸出
|-
|   || [http://feeds.feedburner.com/rsscna/mainland 國際新聞] || RSS || 繁體中文 摘要輸出
|-
| '''聯合新聞網''' ||   ||   || 聯合報係的核心網站 觀點偏藍 介紹參見[https://zh.wikipedia.org/wiki/%E8%81%AF%E5%90%88%E6%96%B0%E8%81%9E%E7%B6%B2 維基百科]
|-
|   || [http://udn.com/] || Web || 繁體中文主頁
|-
|   || [http://udn.com/udnrss/latest.xml 最新報道訂閲] || RSS || 繁體中文摘要輸出
|-
|   || [http://udn.com/udnrss/international.xml 國際新聞訂閲] || RSS || 繁體中文 摘要輸出
|-
| '''中國時報''' ||   ||   || 觀點偏藍 介紹參見[https://zh.wikipedia.org/wiki/%E4%B8%AD%E5%9C%8B%E6%99%82%E5%A0%B1 維基百科]
|-
|   || [http://www.chinatimes.com/] || Web || 繁體中文主頁
|-
|   || [http://www.chinatimes.com/cn/] || Web || 简体中文主页
|-
| '''東森電視''' ||   ||   || 東森電視臺的官方網站
|-
|   || [http://www.ebc.net.tw/] || Web || 繁體中文主頁
|}

== 日本 ==

{|
! 名称 !! 链接 !! 类型 !! 说明
|-
| 共同通讯社 ||   ||   || 介绍参见[https://zh.wikipedia.org/wiki/%E5%85%B1%E5%90%8C%E9%80%9A%E8%AE%AF%E7%A4%BE 维基百科]
|-
|   || [http://china.kyodonews.jp/] || Web || 简体中文主页
|-
|   || [http://tchina.kyodonews.jp/] || Web || 繁體中文主頁
|-
| 朝日新闻 ||   ||   || 介绍参见[https://zh.wikipedia.org/wiki/%E6%9C%9D%E6%97%A5%E6%96%B0%E8%81%9E 维基百科]
|-
|   || [http://asahichinese.com/locale/change/zh-cn] || Web || 简体中文主页
|-
|   || [http://asahichinese.com/locale/change/zh-tw] || Web || 繁體中文主頁
|}

== 东南亚 ==

{|
! 名称 !! 链接 !! 类型 !! 说明
|-
| '''联合早报''' ||   ||   || 新加坡主要华文报纸 亲中共的趋势逐渐明显 介绍参见[https://zh.wikipedia.org/wiki/%E8%81%94%E5%90%88%E6%97%A9%E6%8A%A5 维基百科]
|-
|   || [http://www.zaobao.com/] || Web || 简体中文主页
|-
|   || [https://twitter.com/ZaoBaoChina @ZaoBaoChina] || Twitter || 简体中文推特
|-
|   || [http://realtime.zaobao.com/news.xml 即时报道订阅] || RSS || 简体中文 仅标题输出
|-
|   || [http://www.zaobao.com/gj/gj.xml 国际新闻订阅] || RSS || 简体中文 仅标题输出
|}

== （其它） ==

{|
! 名称 !! 链接 !! 类型 !! 说明
|-
| '''悉尼先驱晨报''' ||   ||   || 介绍参见[https://zh.wikipedia.org/wiki/%E9%9B%AA%E6%A2%A8%E6%99%A8%E9%8B%92%E5%A0%B1 维基百科]
|-
|   || [http://www.smh.com.au/] || Web || English Homepage
|-
|   || [https://twitter.com/smh @smh] || Twitter || English Twitter
|-
|   || [https://plus.google.com/101207653388221786271 +smh] || G+ || English
|}

----

= 政治类网站 =

== 电子杂志类 ==

{|
! 名称 !! 链接 !! 类型 !! 说明
|-
| '''阳光时务周刊''' ||   ||   || 2011年创办的中文时政杂志 主编长平是大陆知名且敢言的媒体人 介绍参见[https://zh.wikipedia.org/wiki/%E9%99%BD%E5%85%89%E6%99%82%E5%8B%99%E9%80%B1%E5%88%8A 维基百科]
|-
|   || [http://www.isunaffairs.com/] || Web || 繁體中文主頁
|-
|   || [http://www.isunaffairs.com/?feed=rss2 订阅] || RSS || 繁體中文 摘要輸出
|-
|   || [https://plus.google.com/105389029463525925239/posts +阳光时务周刊] || G+ || 简体中文
|-
|   || [https://twitter.com/isunaffairs @isunaffairs] || Twitter || 繁體中文推特
|-
| '''中国报道周刊''' ||   ||   || 内容包括 政治、经济、新闻、学术、历史、军事等
|-
|   || [http://www.china-week.com/] || Web || 简体中文主页
|-
|   || [https://twitter.com/chinaweek @ChinaWeek] || Twitter || 简体中文推特
|-
|   || [http://feeds.feedburner.com/china-week 文章订阅] || RSS || 简体中文 全文输出
|-
| '''民主中国''' ||   ||   || 以政治评论为主
|-
|   || [http://minzhuzhongguo.org/] || Web || 简体中文主页
|-
|   || [http://www.democraticchina.org/] || Web || English Home
|-
|   || [https://twitter.com/minzhuzhongguo @MinZhuZhongGuo] || Twitter || 简体中文推特
|-
| '''北京之春(月刊)''' ||   ||   || [https://zh.wikipedia.org/wiki/%E8%83%A1%E5%B9%B3_%28%E4%BD%9C%E5%AE%B6%29 胡平]担任主编 关注人权、民主化、社会公正
|-
|   || [http://bjzc.org/] || Web || 简体中文主页
|-
|   || [http://bjzc.org/en/] || Web || English Home
|-
|   || [http://beijingspring.com/big5bjs/] || Web || 繁體中文主頁
|-
| '''纵览中国''' ||   ||   || 普林斯顿中国学社主办 关注时政、近代史 介绍参见[https://zh.wikipedia.org/wiki/%E7%B8%B1%E8%A6%BD%E4%B8%AD%E5%9C%8B 维基百科]
|-
|   || [http://www.chinainperspective.com/] || Web || 简体中文主页
|-
|   || [http://www.chinainperspective.com/rss.aspx 订阅] || RSS || 简体中文 摘要输出
|-
| '''開放雜誌(月刊)''' ||   ||   || 位於香港 立場反共 介紹參見[https://zh.wikipedia.org/wiki/%E5%BC%80%E6%94%BE%E6%9D%82%E5%BF%97 維基百科]
|-
|   || [http://www.open.com.hk/] || Web || 繁體中文主頁
|-
|   || [https://twitter.com/openmagazinehk @OpenMagazineHK] || Twitter || 繁體中文推特
|-
| '''观察(双月刊)''' ||   ||   || 综合性刊物 位于美国 包括新闻及各种专栏报道
|-
|   || [http://www.observechina.net/] || Web || 简体中文主页
|-
|   || [http://www.observechina.net/info_eng/Index.asp] || Web || English Home
|-
| '''黄花岗杂志''' ||   ||   || [https://zh.wikipedia.org/wiki/%E8%BE%9B%E7%81%8F%E5%B9%B4 辛灝年]主办，侧重于天朝近代史，于2001年10月10日创刊
|-
|   || [http://www.huanghuagang.org/] || Web || 繁體中文主頁
|}

== 维权 ==

{|
! 名称 !! 链接 !! 类型 !! 说明
|-
| '''新公民运动''' ||   ||   || “新公民运动”的官网 内容包括政治评论、维权、NGO等 介绍参见[https://zh.wikipedia.org/wiki/%E6%96%B0%E5%85%AC%E6%B0%91%E8%BF%90%E5%8A%A8 维基百科]
|-
|   || [http://xgmyd.com/] || Web || 简体中文主页
|-
|   || [http://xgmyd.com/feed] || RSS || 简体中文 全文输出
|-
|   || [https://twitter.com/gongminyundong @GongMinYunDong] || Twitter || 简体中文推特
|-
| '''中国人权''' ||   ||   || 内容包括新闻、维权、六四等 介绍参见[https://zh.wikipedia.org/wiki/%E4%B8%AD%E5%9B%BD%E4%BA%BA%E6%9D%83_%28%E7%BB%84%E7%BB%87%29 维基百科]
|-
|   || [http://www.hrichina.org/] || Web || English Home
|-
|   || [http://www.hrichina.org/cn/] || Web || 简体中文主页
|-
|   || [http://www.hrichina.org/hk/] || Web || 繁體中文主頁
|-
|   || [https://twitter.com/hrichina @hriChina] || Twitter || 简体中文推特
|-
|   || [http://biweekly.hrichina.org/] || Web || 《中国人权双周刊》电子杂志
|-
| '''人权观察''' ||   ||   || 世界性的非政府组织 介绍参见[https://zh.wikipedia.org/wiki/%E4%BA%BA%E6%9D%83%E8%A7%82%E5%AF%9F 维基百科]
|-
|   || [http://www.hrw.org/] || Web || English Home
|-
|   || [http://www.hrw.org/zh-hans] || Web || 简体中文主页
|-
|   || [https://twitter.com/HRW @HRW] || Twitter || English Twitter
|-
|   || [https://twitter.com/hrw_chinese @HRW_chinese] || Twitter || 简体中文推特
|-
| '''参与''' ||   ||   || 内容包括维权和民运等
|-
|   || [http://www.canyu.org/] || Web || 简体中文主页
|-
|   || [http://www.canyu.org/chinese.aspx?big5=1] || Web || 繁體中文主頁
|-
|   || [http://www.canyu.org/rssFeed.aspx] || RSS || 简体中文 摘要输出
|-
| '''六四天网''' ||   ||   || [https://zh.wikipedia.org/wiki/%E9%BB%84%E7%90%A6 黄琦]主办的国内第一家维权网站 介绍参见[https://zh.wikipedia.org/wiki/%E5%85%AD%E5%9B%9B%E5%A4%A9%E7%BD%91 维基百科]
|-
|   || [http://64tianwang.com/] || Web || 简体中文主页
|-
| '''中国劳工通讯''' ||   ||   || 由“六四运动”的工人领袖[https://zh.wikipedia.org/wiki/%E9%9F%A9%E4%B8%9C%E6%96%B9 韩东方]创办
|-
|   || [http://www.clb.org.hk/en/] || Web || English Home
|-
|   || [http://www.clb.org.hk/schi/] || Web || 简体中文主页
|-
|   || [http://www.clb.org.hk/chi/rss.xml] || RSS || 简体中文 全文输出
|-
| '''维权网''' ||   ||   || 如其名，内容主要是维权
|-
|   || [http://www.weiquanwang.org/] || Web || 简体中文主页
|-
|   || [http://wqw2010.blogspot.com/feeds/posts/default] || RSS || 简体中文 全文输出
|}

== “六四”相关 ==

{|
! 名称 !! 链接 !! 类型 !! 说明
|-
| '''维基百科相关词条''' ||   ||   || 这是俺搜罗与“六四”相关的词条
|-
|   || [https://zh.wikipedia.org/wiki/%E5%85%AD%E5%9B%9B%E4%BA%8B%E4%BB%B6 六四事件] || wiki || 比较客观地介绍事件全过程
|-
|   || [https://zh.wikipedia.org/wiki/%E8%83%A1%E8%80%80%E9%82%A6 胡耀邦] || wiki || 他的死成为六四的导火索
|-
|   || [https://zh.wikipedia.org/wiki/%E8%B6%99%E7%B4%AB%E9%99%BD 赵紫阳] || wiki || 他因为不肯镇压学生而被邓小平罢黜
|-
|   || [https://zh.wikipedia.org/wiki/%E5%A4%A9%E5%AE%89%E9%96%80%E6%96%87%E4%BB%B6 《天安门文件》] || wiki || 又名《中国六四真相》 大部分内容来自中共高层泄漏的文件
|-
| '''六四档案''' || [http://www.64memo.com/] || Web || 由[https://zh.wikipedia.org/wiki/%E5%B0%81%E4%BB%8E%E5%BE%B7 封从德]（六四学生领袖之一）创办 有多本六四相关电子书的在线阅读
|-
| '''六四资料@博讯''' || [http://www.boxun.com/hero/64/] || Web || 博讯网汇总的六四相关资料
|-
| '''天安门母亲''' || [http://www.tiananmenmother.org/] || Web || 由死难者家属[https://zh.wikipedia.org/wiki/%E4%B8%81%E5%AD%90%E9%9C%96 丁子霖]等人发起
|-
| '''支聯會''' || [http://www.alliance.org.hk/] || Web || 全稱是“香港市民支援愛國民主運動聯合會” 六四期間大力支持北京的學運
|-
| '''天安门对峙''' || [http://www.tiananmenduizhi.com/] || Web || 《天安门对峙》是一本书 这是此书作者的博客
|-
| '''六四民运志''' ||   ||   || 这是一本关于六四的书
|-
|   || [http://www.ngensis.com/june4/june4s.htm] || Web || 简体中文主页
|-
|   || [http://www.ngensis.com/june4/june4.htm] || Web || 繁體中文主頁
|-
| '''纪录片《天安门》''' ||   ||   || 该纪录片的官方网站 此片的部分内容有争议
|-
|   || [http://www.tsquare.tv/] || Web || English Home
|-
|   || [http://www.tsquare.tv/chinese/] || Web || 简体中文主页
|-
| '''《回顾六四》系列博文''' || [http://program-think.blogspot.com/2011/06/june-fourth-incident-0.html program-think.blogspot.com] || Web || 这是俺写的系列博文 帮不清楚“六四”的网友了解那段历史
|}

== 聚合类 ==

{|
! 名称 !! 链接 !! 类型 !! 说明
|-
| '''中国数字时代''' ||   ||   || 介绍参见[https://zh.wikipedia.org/wiki/%E4%B8%AD%E5%9B%BD%E6%95%B0%E5%AD%97%E6%97%B6%E4%BB%A3 维基百科]
|-
|   || [http://chinadigitaltimes.net/] || Web || English Home
|-
|   || [http://chinadigitaltimes.net/chinese/] || Web || 简体中文主页
|-
|   || [https://chinadigitaltimes.net/feed/ 订阅] || RSS || 简体中文 全文输出
|-
|   || [https://plus.google.com/102352597823180899622/posts +China Digital Times] || G+ || English
|-
|   || [https://plus.google.com/114542928368198238414/posts +中国数字时代] || G+ || 简体中文
|-
|   || [https://twitter.com/cdt @cdt] || Twitter || English
|-
|   || [https://twitter.com/CDTChinese @CDTChinese] || Twitter || 简体中文推特
|-
| '''墙外楼''' ||   ||   || 创办人未知 内容类似于“中国数字时代”
|-
|   || [http://www.letscorp.net/] || Web || 简体中文主页
|-
|   || [http://feeds.feedburner.com/letscorp/aDmw 订阅] || RSS || 简体中文 全文输出；
|-
|   || [https://twitter.com/letscorp @letscorp] || Twitter || 简体中文推特
|-
| '''泡泡''' ||   ||   || 与 [https://zh.wikipedia.org/wiki/GreatFire GreatFire] 是一家子
|-
|   || [https://pao-pao.net/] || Web || 简体中文主页
|-
|   || [https://pao-pao.net/rss.xml 订阅] || RSS || 简体中文 全文输出；
|-
|   || [https://twitter.com/paopaonet @paopaonet] || Twitter || 简体中文推特
|-
| '''奇闻录''' ||   ||   || 主要汇总新浪微博和 Twitter 的热门言论
|-
|   || [http://qiwen.lu/] || Web || 简体中文主页
|-
|   || [http://qiwen.lu/feed 订阅] || RSS || 简体中文 全文输出
|-
|   || [https://twitter.com/qiwenlu @qiwenlu] || Twitter || 简体中文推特
|-
| '''自由微博''' ||   ||   || 与 [https://zh.wikipedia.org/wiki/GreatFire GreatFire] 是一家子 介绍参见[https://zh.wikipedia.org/wiki/%E8%87%AA%E7%94%B1%E5%BE%AE%E5%8D%9A 维基百科]
|-
|   || [https://freeweibo.com/] || Web || 简体中文主页
|-
|   || [https://freeweibo.com/en/] || Web || English Home
|-
|   || [https://freeweibo.com/?rss 订阅] || RSS || 简体中文 全文输出
|-
| '''博谈网''' ||   ||   || 创办人未知 内容类似于“中国数字时代”
|-
|   || [http://www.botanwang.com/] || Web || 简体中文主页
|-
|   || [http://www.botanwang.com/rss.xml 订阅] || RSS || 简体中文 全文输出
|}

----

= 财经类网站 =

下面列出的是侧重于财经报道的网站（包括某些报刊、杂志的官方网站等）。

为了看起来方便，按照地区分类。

== 北美 ==

{|
! 名称 !! 链接 !! 类型 !! 说明
|-
| '''华尔街日报''' ||   ||   || 英文缩写WSJ 介绍参见[https://zh.wikipedia.org/wiki/%E5%8D%8E%E5%B0%94%E8%A1%97%E6%97%A5%E6%8A%A5 维基百科]
|-
|   || [http://online.wsj.com/home-page] || Web || U.S. Edition Homepage
|-
|   || [http://europe.wsj.com/home-page] || Web || Europe Edition Homepage
|-
|   || [http://blogs.wsj.com/] || Web || English Blogs
|-
|   || [https://twitter.com/WSJ @WSJ] || Twitter || English Twitter
|-
|   || [http://chinese.wsj.com/gb/index.asp] || Web || 简体中文主页
|-
|   || [http://chinese.wsj.com/big5/index.asp] || Web || 繁體中文主頁
|-
| '''福布斯''' ||   ||   || 介绍参见[https://zh.wikipedia.org/wiki/%E7%A6%8F%E5%B8%83%E6%96%AF 维基百科]
|-
|   || [http://www.forbes.com/] || Web || English Homepage
|-
|   || [http://www.forbes.com/fast/feed Most popular stories] || RSS || English, summary
|-
|   || [https://twitter.com/forbes @Forbes] || Twitter || English Twitter
|-
|   || [http://www.forbeschina.com/] || Web || 简体中文主页
|-
|   || [http://www.forbes.conn.tw/] || Web || 繁體中文主頁
|-
| '''彭博商业周刊''' ||   ||   || 介绍参见[https://zh.wikipedia.org/wiki/%E5%BD%AD%E5%8D%9A%E5%95%86%E4%B8%9A%E5%91%A8%E5%88%8A 维基百科] 它的“MBA排行榜”很有名
|-
|   || [http://www.businessweek.com/] || Web || English Homepage
|-
|   || [https://twitter.com/BW @BW] || Twitter || English Twitter
|-
| '''财富''' ||   ||   || 介绍参见[https://zh.wikipedia.org/wiki/%E8%B2%A1%E5%AF%8C_%28%E9%9B%9C%E8%AA%8C%29 维基百科] 它的“企业500强排行榜”广为人知
|-
|   || [http://www.fortune.com/] || Web || English Homepage
|-
|   || [https://twitter.com/fortunemagazine @FortuneMagazine] || Twitter || English Twitter
|-
|   || [http://www.fortunechina.com/] || Web || 简体中文主页
|}

== 欧洲 ==

{|
! 名称 !! 链接 !! 类型 !! 说明
|-
| '''金融时报''' ||   ||   || 介绍参见[https://zh.wikipedia.org/wiki/%E9%87%91%E8%9E%8D%E6%99%82%E5%A0%B1 维基百科]
|-
|   || [http://www.ft.com/] || Web || English Homepage
|-
|   || [http://www.ft.com/rss/home/uk Financial Times] || RSS || English, summary
|-
|   || [https://twitter.com/FT @FT] || Twitter || English Twitter
|-
|   || [https://twitter.com/financialtimes @FinancialTimes] || Twitter || English Twitter
|-
|   || [http://www.ftchinese.com/] || Web || 简体中文主页
|-
|   || [http://www.ftchinese.com/rss/news 今日焦点] || RSS || 简体中文 摘要输出
|-
|   || [http://www.ftchinese.com/rss/feed 每日新闻] || RSS || 简体中文 摘要输出
|-
|   || [http://www.ftchinese.com/rss/hotstoryby7day 一周十大热门文章] || RSS || 简体中文 摘要输出
|-
| '''经济学人''' ||   ||   || 介绍参见[https://zh.wikipedia.org/wiki/%E7%BB%8F%E6%B5%8E%E5%AD%A6%E4%BA%BA 维基百科]
|-
|   || [http://www.economist.com/] || Web || English Homepage
|-
|   || [http://www.economist.com/rss/business_rss.xml Business] || RSS || English, summary
|-
|   || [http://www.economist.com/rss/finance_and_economics_rss.xml Finance & economics] || RSS || English, summary
|-
|   || [http://www.economist.com/rss/international_rss.xml International] || RSS || English, summary
|-
|   || [http://www.economist.com/rss/china_rss.xml China] || RSS || English, summary
|-
|   || [https://twitter.com/TheEconomist @TheEconomist] || Twitter || English Twitter
|}

== 天朝 ==

{|
! 名称 !! 链接 !! 类型 !! 说明
|-
| '''财新传媒''' ||   ||   || 介绍参见[https://zh.wikipedia.org/wiki/%E8%B4%A2%E6%96%B0%E4%BC%A0%E5%AA%92 维基百科]
|-
|   || [http://www.caixin.com/] || Web || 简体中文主页
|-
|   || [http://blog.caixin.com/feed 财新博客] || RSS || 简体中文 摘要输出
|-
|   || [https://twitter.com/caing_com @caing_com] || Twitter || 简体中文推特
|-
| '''经济观察报''' ||   ||   || 介绍参见[https://zh.wikipedia.org/wiki/%E7%BB%8F%E6%B5%8E%E8%A7%82%E5%AF%9F%E6%8A%A5 维基百科]
|-
|   || [http://www.eeo.com.cn/] || Web || 简体中文主页
|-
|   || [http://www.eeo.com.cn/ens/] || Web || English Homepage
|-
|   || [http://cn.eeo.feedsportal.com/c/33796/fe.ed/app.eeo.com.cn/?app=rss&controller=index&action=feed&catid=17 政经要闻] || RSS || 简体中文 摘要输出
|-
|   || [http://cn.eeo.feedsportal.com/c/33796/fe.ed/app.eeo.com.cn/?app=rss&controller=index&action=feed&catid=64 商业评论] || RSS || 简体中文 摘要输出
|-
|   || [http://cn.eeo.feedsportal.com/c/33796/fe.ed/app.eeo.com.cn/?app=rss&controller=index&action=feed&catid=96 观察家] || RSS || 简体中文 摘要输出
|-
| '''21世纪经济报道''' ||   ||   || 介绍参见[https://zh.wikipedia.org/wiki/21%E4%B8%96%E7%BA%AA%E7%BB%8F%E6%B5%8E%E6%8A%A5%E9%81%93 维基百科]
|-
|   || [http://www.21cbh.com/] || Web || 简体中文主页
|-
|   || [http://news.21cbh.com/?c=focus 今日焦点] || RSS || 简体中文 全文输出
|-
|   || [http://news.21cbh.com/?c=blog 博客] || RSS || 简体中文 全文输出
|-
| '''财经网''' || [http://www.caijing.com.cn/] || Web || 简体中文主页
|}

== 香港 ==

{|
! 名称 !! 链接 !! 类型 !! 说明
|-
| '''香港經濟日報''' || [http://www.hket.com/] || Web || 繁體中文主頁
|-
| '''香港商报-中國窗''' || [http://www.hkcd.com.hk/] || Web || 繁體中文主頁
|}

== 臺灣 ==

{|
! 名称 !! 链接 !! 类型 !! 说明
|-
| 商业周刊 ||   ||   || 台湾发行量最大的财经类刊物 总部在台北 （跟美国的《商业周刊》没关系）
|-
|   || [http://www.businessweekly.com.tw/] || Web || 繁體中文主頁
|-
|   || [http://feeds.feedburner.com/bw-mix 最新綜合文章] || RSS || 繁體中文 摘要輸出
|-
|   || [http://feeds.feedburner.com/bw-news 每日財經網摘] || RSS || 繁體中文 摘要輸出
|-
|   || [http://feeds.feedburner.com/bw-ranking 本週熱門排行] || RSS || 繁體中文 摘要輸出
|}

== 日本 ==

{|
! 名称 !! 链接 !! 类型 !! 说明
|-
| 日本经济新闻 ||   ||   || 号称日本发行量最大打财经报纸 介绍参见[https://zh.wikipedia.org/wiki/%E6%97%A5%E6%9C%AC%E7%B6%93%E6%BF%9F%E6%96%B0%E8%81%9E 维基百科]
|-
|   || [http://cn.nikkei.com/] || Web || 简体中文主页
|-
|   || [http://zh.cn.nikkei.com/] || Web || 繁體中文主頁
|-
|   || [http://cn.nikkei.com/rss.html 订阅] || RSS || 简体中文 摘要输出
|-
|   || [http://zh.cn.nikkei.com/rss.html 訂閲] || RSS || 繁體中文 摘要輸出
|}

----

= IT技术类网站 =

== 国外 ==

{|
! 名称 !! 链接 !! 类型 !! 说明
|-
| '''连线''' ||   ||   || 介绍参见[https://zh.wikipedia.org/wiki/%E8%BF%9E%E7%BA%BF 维基百科]
|-
|   || [http://wired.com/] || Web || Engilsh Homepage
|-
|   || [http://feeds.wired.com/wired/index Wired Top Stories] || RSS || English, summary, 5 posts/week
|-
|   || [https://twitter.com/WIRED @WIRED] || Twitter || English Twitter
|-
|   || [http://wired.tw/] || Web || 繁體中文主頁 2012年剛上線不久
|-
|   || [http://feeds.feedburner.com/wired/tw WIRED.tw] || RSS || 繁體中文 摘要輸出
|-
|   || [https://twitter.com/WiredTaiwan @WIRED] || Twitter || 繁體中文推特
|-
| '''Ars Technica''' ||   ||   || 介绍参见[https://zh.wikipedia.org/wiki/Ars_Technica 维基百科]
|-
|   || [http://arstechnica.com/] || Web || Engilsh Homepage
|-
|   || [http://feeds.arstechnica.com/arstechnica/index All News Feed] || RSS || English, full text
|-
|   || [http://feeds.arstechnica.com/arstechnica/features Ars Features Feed] || RSS || English, full text
|-
|   || [https://twitter.com/arstechnica @ArsTechnica] || Twitter || English
|-
|   || [https://plus.google.com/+ArsTechnica +ArsTechnica] || G+ || English
|-
| '''TechCrunch''' ||   ||   || 介绍参见[https://zh.wikipedia.org/wiki/TechCrunch 维基百科]
|-
|   || [http://techcrunch.com/] || Web || Engilsh Homepage
|-
|   || [http://techcrunch.cn/] || Web || 简体中文主页
|-
|   || [http://feeds.feedburner.com/TechCrunch/ Feed] || RSS || English, summary
|-
|   || [https://twitter.com/techcrunch @TechCrunch] || Twitter || English
|-
|   || [https://plus.google.com/+TechCrunch +TechCrunch] || G+ || English
|-
| '''Mashable''' ||   ||   || 介绍参见[https://zh.wikipedia.org/wiki/Mashable 维基百科]
|-
|   || [http://mashable.com/] || Web || Engilsh Homepage
|-
|   || [http://feeds.mashable.com/Mashable Feed] || RSS || English, summary
|-
|   || [https://twitter.com/mashable @mashable] || Twitter || English
|-
|   || [https://plus.google.com/+Mashable +Mashable] || G+ || English
|-
| '''Engadget''' ||   ||   || 介绍参见[https://en.wikipedia.org/wiki/Engadget 维基百科]
|-
|   || [http://www.engadget.com/] || Web || Engilsh Homepage
|-
|   || [http://www.engadget.com/rss.xml Feed] || RSS || English, full text, 260 posts/week
|-
|   || [https://twitter.com/engadget @Engadget] || Twitter || English
|-
|   || [https://plus.google.com/+Engadget +Engadget] || G+ || English
|-
|   || [http://cn.engadget.com/] || Web || 简体中文主页
|-
|   || [http://cn.engadget.com/rss.xml 订阅] || RSS || 简体中文 全文输出 平均110帖/周
|-
|   || [http://chinese.engadget.com/] || Web || 繁體中文主頁
|-
|   || [http://chinese.engadget.com/rss.xml 訂閱] || RSS || 繁體中文 全文輸出 平均110帖/周
|-
|   || [https://twitter.com/engadgettaiwan @EngadgetTaiwan] || Twitter || 繁體中文推特
|-
| '''Hacker News''' ||   ||   || 英文缩写HN 介绍参见[https://zh.wikipedia.org/wiki/Hacker_News 维基百科]
|-
|   || [http://news.ycombinator.com/] || Web || Engilsh Homepage
|-
|   || [http://news.ycombinator.com/rss Feed] || RSS || English, full text
|-
|   || [http://www.daemonology.net/hn-daily/index.rss Daily Feed] || RSS || NH的发帖量太大了 这是由第三方提供的每日精选
|-
|   || [https://twitter.com/newsycombinator @HackerNews] || Twitter || English
|-
| '''Reddit''' ||   ||   || 介绍参见[https://zh.wikipedia.org/wiki/Reddit 维基百科]
|-
|   || [https://www.reddit.com/] || Web || Engilsh Homepage
|-
|   || [https://twitter.com/reddit @reddit] || Twitter || English
|-
|   || [https://plus.google.com/+reddit +reddit] || G+ || English
|-
| '''Slashdot''' ||   ||   || 介绍参见[https://zh.wikipedia.org/wiki/Slashdot 维基百科]
|-
|   || [http://www.slashdot.org/] || Web || Engilsh Homepage
|-
|   || [http://rss.slashdot.org/Slashdot/slashdot Feed] || RSS || English, full text, 170 posts/week
|-
|   || [https://twitter.com/slashdot @Slashdot] || Twitter || English
|-
|   || [https://plus.google.com/+slashdot +slashdot] || G+ || English
|-
| '''MIT 技术评论''' ||   ||   || 有一百多年历史 介绍参见[https://zh.wikipedia.org/wiki/%E7%A7%91%E6%8A%80%E5%88%9B%E4%B8%9A 维基百科]
|-
|   || [http://www.technologyreview.com/] || Web || Engilsh Homepage
|-
|   || [http://www.techreviewchina.com/] || Web || 简体中文主页
|-
|   || [http://feeds.technologyreview.com/technology_review_top_stories Technology Review Top Stories] || RSS || English, summary, 100 posts/week
|-
|   || [https://twitter.com/techreview @TechReview] || Twitter || English
|-
|   || [https://plus.google.com/+technologyreview +TechnologyReview] || G+ || English
|}

== 国内 ==

{|
! 名称 !! 链接 !! 类型 !! 说明
|-
| '''Solidot''' ||   ||   || 完全模仿Slashdot 介绍参见[https://zh.wikipedia.org/wiki/Solidot 维基百科]
|-
|   || [http://www.solidot.org/] || Web || 简体中文主页
|-
|   || [http://feeds.feedburner.com/solidot 订阅] || RSS || 简体中文 全文输出 发帖量挺大 平均100帖/周
|-
|   || [https://twitter.com/solidot @solidot] || Twitter || 简体中文推特
|-
| '''爱范儿''' ||   ||   || 介绍参见[https://zh.wikipedia.org/wiki/%E7%88%B1%E8%8C%83%E5%84%BF 维基百科]
|-
|   || [http://www.ifanr.com/] || Web || 简体中文主页
|-
|   || [http://www.ifanr.com/feed 订阅] || RSS || 简体中文 全文输出
|-
|   || [https://twitter.com/ifanr @ifanr] || Twitter || 简体中文推特
|-
| '''36氪''' ||   ||   || 介绍参见[https://zh.wikipedia.org/wiki/36%E6%B0%AA 维基百科]
|-
|   || [http://36kr.com/] || Web || 简体中文主页
|-
|   || [http://36kr.com/feed 订阅] || RSS || 简体中文 全文输出
|-
|   || [https://twitter.com/36kr @36kr] || Twitter || 简体中文推特
|-
| '''cnBeta''' ||   ||   || 介绍参见[https://zh.wikipedia.org/zh/CnBeta.COM 维基百科]
|-
|   || [http://www.cnbeta.com/] || Web || 简体中文主页
|-
|   || [http://rss.cnbeta.com/rss 订阅] || RSS || 简体中文 摘要输出
|-
| '''V2EX''' ||   ||   || 介绍参见[https://zh.wikipedia.org/wiki/V2EX 维基百科]
|-
|   || [https://v2ex.com/] || Web || 简体中文主页
|-
|   || [https://v2ex.com/index.xml 订阅] || RSS || 简体中文 全文输出
|-
|   || [https://twitter.com/v2ex @V2EX] || Twitter || 简体中文推特
|}

----

= 科普类网站 =

{|
! 名称 !! 链接 !! 类型 !! 说明
|-
| '''科学美国人''' ||   ||   || 始于1845年 美国存活至今最长命的杂志 介绍参见[https://zh.wikipedia.org/wiki/%E7%A7%91%E5%AD%A6%E7%BE%8E%E5%9B%BD%E4%BA%BA 维基百科]
|-
|   || [http://www.scientificamerican.com/] || Web || Engilsh Homepage
|-
|   || [http://www.huanqiukexue.com/ 环球科学] || Web || 简体中文主页 授权给《电脑报》杂志社
|-
|   || [http://sa.ylib.com/ 科學人] || Web || 繁體中文主頁 授权给台湾遠流出版公司
|-
| '''科学松鼠会''' ||   ||   || [https://zh.wikipedia.org/wiki/%E5%B5%87%E6%99%93%E5%8D%8E 姬十三]创办 介绍参见[https://zh.wikipedia.org/wiki/%E7%A7%91%E5%AD%A6%E6%9D%BE%E9%BC%A0%E4%BC%9A 维基百科]
|-
|   || [http://songshuhui.net/] || Web || 简体中文主页
|-
|   || [http://songshuhui.net/feed 订阅] || RSS || 简体中文 全文输出
|-
|   || [https://twitter.com/songshuhui @songshuhui] || Twitter || 简体中文推特
|-
| '''新语丝''' ||   ||   || 方舟子创办 介绍参见[https://zh.wikipedia.org/wiki/%E6%96%B0%E8%AF%AD%E4%B8%9D 维基百科]
|-
|   || [http://www.xys.org/] || Web || 简体中文主页
|-
|   || [http://feeds.feedburner.com/xys 订阅] || RSS || 简体中文 全文输出
|-
|   || [https://twitter.com/xys @xys] || Twitter || 简体中文推特
|}

----

= 编程类网站 =

{|
! 名称 !! 链接 !! 类型 !! 说明
|-
| '''Stack Overflow''' ||   ||   || 最好的编程问答网站(没有“之一”) 介绍参见[https://zh.wikipedia.org/wiki/Stack_Overflow 维基百科]
|-
|   || [http://stackoverflow.com/] || Web || Engilsh Homepage
|-
| '''GitHub''' ||   ||   || 最好的开源项目集散地(没有“之一”) 介绍参见[https://zh.wikipedia.org/wiki/GitHub 维基百科]
|-
|   || [https://github.com/] || Web || Engilsh Homepage
|-
| '''Code Project''' ||   ||   || 老牌的编程社区 介绍参见[https://en.wikipedia.org/wiki/Code_Project 维基百科]
|-
|   || [http://codeproject.com/] || Web || Engilsh Homepage
|-
| '''CodeCademy''' ||   ||   || 这个适合新手入门 介绍参见[https://zh.wikipedia.org/wiki/Codecademy 维基百科]
|-
|   || [http://www.codecademy.com/] || Web || Engilsh Homepage
|-
| '''IBM DeveloperWorks''' ||   ||   || 包含各个领域的编程文档 介绍参见[https://en.wikipedia.org/wiki/IBM_DeveloperWorks 维基百科]
|-
|   || [http://www.ibm.com/developerworks] || Web || Engilsh Homepage
|-
|   || [http://www.ibm.com/developerworks/cn/] || Web || 简体中文主页
|-
|   || [http://www.ibm.com/developerworks/views/global/rss/libraryview.jsp Technical Library Feed] || RSS || English, summary
|-
|   || [http://www.ibm.com/developerworks/cn/views/global/rss/libraryview.jsp 文档库订阅] || RSS || 简体中文 摘要输出
|-
|   || [https://twitter.com/developerWorks @developerWorks] || Twitter || English
|-
| '''MSDN''' ||   ||   || Windows平台编程备查 介绍参见[https://zh.wikipedia.org/wiki/MSDN%E6%8A%80%E6%9C%AF%E8%B5%84%E6%BA%90%E5%BA%93 维基百科]
|-
|   || [http://msdn.microsoft.com/en-us/library/] || Web || Engilsh Homepage
|-
|   || [http://msdn.microsoft.com/zh-cn/library/] || Web || 简体中文主页
|}

repo_name: programthink/sites

mime_type: text/plain