Русско-английский словарь, перевод на английский язык
wordmap
Русско-английский словарь — показательная эрудиция
Русско-английский словарь — прерогатива воспользоваться вариативным функционалом, насчитывающим несколько сотен тысяч уникальных английских слов. Чтобы воспользоваться сервисом, потребуется указать предпочтенное слово на русском языке: перевод на английский будет отображен во всплывающем списке.
Русско-английский словарь — автоматизированная система, которая отображает результаты поиска по релевантности. Нужный перевод на английский будет в верхней части списка: альтернативные слова указываются в порядке частоты их применения носителями языка. При нажатии на запрос откроется страница с выборкой фраз: система отобразит примеры использования искомого слова.
Русско-английский словарь содержит строку для поиска, где указывается запрос, а после запускается непосредственный поиск. Система может «предлагать» пользователю примеры по использованию слова: «здравствуйте» на английском языке, «хризантема» на английском языке.
Применение сервиса и достоинства
Перевод на английский язык с сервисом WordMap — возможность улучшить словарный запас учащегося. Дополнительные преимущества в эксплуатации WordMap:
- Слова с различным значением, которые оптимизированы под любой уровень владения английским языком;
- Русско-английский словарь содержит примеры, позволяющие усовершенствовать практические навыки разговорного английского;
- В списке результатов указаны всевозможные синонимы и паронимы, которые распространены в сложном английском языке.
Онлайн-сервис WordMap предлагает пространство для совершенствования интеллектуальных способностей, способствует результативной подготовке к сдаче экзамена. Быстрый перевод на английский может быть использован с игровой целью: посоревноваться с коллегой или одноклубником; бросить вызов преподавателю, превзойдя ожидания собственного ментора.
Только что искали:
обголодавшим 4 секунды назад
возможности сознания 5 секунд назад
кауркою 5 секунд назад
махизм 6 секунд назад
поголр 6 секунд назад
вставка 6 секунд назад
трисад 9 секунд назад
сутарн 9 секунд назад
воздать 13 секунд назад
слесарящие 15 секунд назад
произведённое действие 20 секунд назад
сменившая 20 секунд назад
ебаснт 23 секунды назад
отрасль 23 секунды назад
штицберг 24 секунды назад
Ваша оценка
Закрыть
Спасибо за вашу оценку!
Закрыть
Последние игры в словабалдучепуху
Имя | Слово | Угадано | Время | Откуда |
---|---|---|---|---|
Игрок 1 | препараторская | 26 слов | 3 минуты назад | 176.59.146.189 |
Игрок 2 | редактирование | 233 слова | 1 час назад | 93. 80.183.216 |
Игрок 3 | нет | 0 слов | 4 часа назад | 188.168.155.221 |
Игрок 4 | патологоанатомия | 105 слов | 5 часов 8 секунд назад | 93.80.183.216 |
Игрок 5 | трансформаторщик | 222 слова | 5 часов назад | 93.80.183.216 |
Игрок 6 | законопроект | 94 слова | 5 часов назад | 93.80.183.216 |
Игрок 7 | законопроект | 89 слов | 17 часов назад | 91.132.23.36 |
Играть в Слова! |
Имя | Слово | Счет | Откуда | |
---|---|---|---|---|
Игрок 1 | кручь | 50:44 | 26 минут назад | 109. |
Игрок 2 | саква | 53:52 | 43 минуты назад | 109.94.10.201 |
Игрок 3 | шайка | 54:52 | 55 минут назад | 109.94.10.201 |
Игрок 4 | парение | 121:124 | 59 минут назад | 91.220.230.29 |
Игрок 5 | шайка | 45:47 | 1 час назад | 109.94.10.201 |
Игрок 6 | 116:106 | 1 час назад | 91.220.230.29 | |
Игрок 7 | виток | 61:53 | 1 час назад | 176.59.114.181 |
Играть в Балду! |
Имя | Игра | Вопросы | Откуда | |
---|---|---|---|---|
Тамара | На одного | 10 вопросов | 6 часов назад | 212. 164.64.214 |
Тамара | 10 вопросов | 6 часов назад | 212.164.64.214 | |
Мария | На одного | 10 вопросов | 6 часов назад | 212.164.64.214 |
Вика | На одного | 10 вопросов | 6 часов назад | 212.164.64.214 |
Тамара | На одного | 5 вопросов | 6 часов назад | 212.164.64.214 |
Вика | На одного | 10 вопросов | 7 часов назад | |
Абоба | На одного | 20 вопросов | 19 часов назад | 92.46.99.225 |
Играть в Чепуху! |
ThinkAutomation | Список действий
Автоматизация может содержать любое количество действий . Каждое из действий является необязательным. Вы можете запустить одно или несколько действий в зависимости от ваших требований. Вы можете добавить несколько экземпляров каждого типа действия — например, вы можете отправлять несколько исходящих сообщений электронной почты, добавляя несколько действий
ThinkAutomation включает набор встроенных действий для общих задач. Вы также можете загрузить дополнительные действия из нашей онлайн-библиотеки и создать свои собственные настраиваемые действия с помощью конструктора настраиваемых действий.
Извлечение поля
Проанализируйте и извлеките данные из входящего сообщения и назначьте результат имени поля .
Установить переменную
Присвоить значение переменной с помощью различных операций установки.
Выполнение сценария
Выполнение пользовательского кода C# или Visual Basic .NET.
Обновить базу данных A
Обновить базу данных SQL, используя извлеченных полей из входящего сообщения.
Обработка вложений
Сохранение вложений в определенные папки в вашей файловой системе.
Переместить входящее сообщение
Переместить входящее сообщение электронной почты в другую папку исходной учетной записи электронной почты.
Комментарий
Добавьте строку комментария к автоматизации и при необходимости сохраните значение комментария в журнале.
Поиск в базе данных
Выполнить запрос к базе данных SQL и присвоить значения столбца переменные .
Открыть средство чтения базы данных
Открыть средство чтения базы данных для использования с блоком For..Each .
Выполнить команду базы данных
Выполнить команду базы данных или хранимую процедуру.
Обновление базы данных с помощью пользовательского SQL
Выполнение пользовательских команд обновления или вставки.
Обновить MongoDB
Создать или обновить документы MongoDB.
Поиск в базе данных MongoDB
Найдите документ в базе данных MongoDB и назначьте его переменной .
Встроенное хранилище данных
Сохранение и запрос данных с помощью встроенной базы данных документов.
Хранилище встроенных файлов
Сохранение и запрос файлов с помощью встроенной базы данных документов.
Обновить файл Excel
Обновить файл Microsoft Excel.
Поиск в Excel
Поиск определенных значений ячеек и диапазонов ячеек из файла Excel и присвоение переменные .
Обновить файл CSV
Добавить строку в файл CSV.
Чтение файла CSV
Чтение файла CSV.
Счетчик
Обновление значения счетчика.
Отправить электронное письмо
Отправить исходящее электронное письмо немедленно или в запланированную дату в будущем.
Удалить запланированное исходящее сообщение
Удалить ожидающие запланированные сообщения электронной почты для данного получателя.
Переслать исходное сообщение
Переслать входящее сообщение и при желании добавить или удалить вложения.
Ожидание ответа пользователя
Запрос подтверждения от пользователя перед продолжением выполнения.
Отправить встречу
Создает встречу на любом сервере календаря, совместимом с iCalendar.
Отправить сообщение Slack
Отправить сообщение в канал Slack.
Отправить твит
Отправить твит в Twitter или ответить на входящий твит.
Создать документ
Создать отформатированный документ и сохранить его в различных форматах.
Создать электронную таблицу
Создать электронную таблицу и сохранить ее в различных форматах.
Преобразование документа
Преобразование документа или входящего вложения из и в различные форматы.
Преобразование документа в текст
Преобразование документов различных форматов в обычный текст или извлечение данных формы PDF.
Преобразование документа PDF
Преобразование документа PDF или вложения в файлы изображений, текст или html.
Подписать документ PDF
Добавление цифровой подписи к документу PDF.
Сохранить как PDF
Сохраните входящее сообщение или любой файл HTML или URL-адрес в виде документа PDF.
Слияние Word
Выполняет слияние документа Word или вложений и сохраняет объединенный документ как новый файл.
Печать
Печать входящего сообщения и/или вложений.
Выполнить отчет
Создайте отчет, используя предопределенный шаблон отчета, и экспортируйте его в различные форматы.
PDF в текст с помощью PDFPig
Используйте библиотеку PDFPig от uglytoad для преобразования документа PDF в обычный текст. Это может дать лучшие результаты для некоторых документов, чем встроенное извлечение PDF. …
Копировать файл в папку
Копирует файл в другую папку. Отметка «Уникальное имя файла?» добавит уникальную строку символов к имени файла. Возвращает полный путь к новому файлу.
Вставить CSV в файл XLS (97 — 2003)
Вставляет данные CSV в лист XLS 97 — 2003. Требуется, чтобы файл уже был создан, а имя рабочего листа должно быть указано, куда будет вставлен CSV. …
Получить/обновить контакт
Получить или обновить контакт для учетной записи Office 365.
Создать встречу
Создать встречу для учетной записи Office 365.
Обновить входящее сообщение
Обновить флаги входящего сообщения.
Отправить сообщение Teams
Отправить сообщение в канал Microsoft Teams.
Операция с текстом
Выполнение различных операций с текстовыми значениями.
Операция с датой
Выполнение различных операций со значениями даты.
Операции с файлами
Выполнение различных операций с файлами и папками.
Math
Выполнение математических вычислений и сохранение результата в переменной .
Разобрать строку CSV
Извлечь данные столбца из текстового значения, разделенного запятыми.
Шифрование
Шифрование/дешифрование текстовых данных или файлов.
Сжатие
Сжатие/распаковка текстовых данных или файлов.
Создать хэш
Создать хеш-значения для текстовых данных или файлов.
Установить флаг хранилища сообщений
Присвоить флаг сообщению, хранящемуся в хранилище сообщений.
Задать уровень ведения журнала
Задайте количество деталей, записываемых в журнал автоматизации.
Создать пароль
Создать случайный пароль и присвоить значение переменной .
Найти и заменить
Находит и заменяет текст в любой переменной .
Создайте JSON
Создайте документ Json и назначьте его переменной .
Обновление JSON
Создайте или обновите несколько путей Json в тексте Json и верните обновленный Json в переменную .
Преобразование JSON в HTML
Преобразование JSON в удобочитаемую таблицу HTML и назначение HTML переменной .
Чтение/запись текстового файла
Запись данных в текстовый файл или чтение существующего текстового файла и присвоение содержимого переменной .
Токенизировать
Разметить любой текст и назначить токены, разделенные запятыми, переменной .
Извлечение подписи электронной почты
Анализ контактной информации и информации о компании из нижних колонтитулов подписи электронной почты.
Преобразование текста в речь
Преобразовать текст в речевой файл WAV и вернуть путь к файлу WAV в переменная .
Извлечение поля HTML
Это действие обеспечивает дополнительную функциональность стандартного действия «Извлечь поле» при работе с содержимым HTML. Текущие функции включают: Извлечение… Значение атрибута Где… …
Коллекция пар «ключ-значение»
Позволяет хранить коллекцию пар «ключ-значение». Поддерживает установку значений, получение значений и выборку всех ключей в коллекции. …
Текст в одну строку
Преобразует введенный текст в одну строку. Предоставление значения разделителя преобразует текст в одну строку и помещает выбранный разделитель между каждой новой строкой. Любые пустые строки будут удалены.
Если Блок
Условное выполнение одного или нескольких действий на основе условия .
Вызов автоматизации
Вызов другой автоматизации со значением и присвоение возвращаемого значения переменной .
Возврат
Завершить выполнение автоматизации и вернуть значение.
Завершить обработку
Завершить выполнение автоматизации без возврата значения.
Для каждого
Создайте цикл для различных свойств и выполняйте Действия внутри цикла.
Select Case
Условное выполнение одного или нескольких действий в соответствующем блоке Case .
Перейти к этикетке
Переместить обработку на метку.
При ошибке
Управление тем, что должно произойти в случае возникновения ошибки при последующих действиях.
Создать перенаправление веб-формы
Для автоматизаций, вызываемых из источника сообщений веб-формы. Перенаправьте отправленную форму на другую веб-форму или URL-адрес ThinkAutomation.
Sleep
Приостанавливает выполнение текущей автоматизации на X миллисекунд.
DNS-поиск
Выполните поиск DNS и назначьте возвращенные данные переменной .
Ping
>Пропингуйте любой хост и верните результаты в переменную .
Выполнить команду Secure Shell
Выполнить команду SSH на любом хосте и присвоить ответ переменной .
Получение сущности CRM
Чтение значений сущности из Microsoft Dynamics, Salesforce, Sugar или Zoho CRM.
Обновить объект CRM
Добавить или обновить объекты Microsoft Dynamics, Salesforce, Sugar или Zoho CRM.
Запрос объектов CRM
Выполните общий запрос для чтения одного или нескольких объектов CRM в виде текста Json, CSV или Markdown.
Xero Contact
Чтение, создание и обновление контактов Xero Accounting.
Xero Получить историю контактов
Получить историю заметок Xero Contact. Содержимое может быть возвращено в виде строки CSV, Markdown или Json. Сначала используйте действие Xero Get Contact, чтобы получить ContactID.
Учетная запись Xero
В действии учетной записи Xero доступны следующие функции: Создать учетную запись Обновить учетную запись Получить учетную запись Удалить учетную запись
В рамках действия Xero Quote доступны следующие функции: Создать предложение Обновить предложение В этом документе описано, как их успешно использовать, включая любые значения перечисления, которые могут вам понадобиться, и. ..
Xero Invoice
В рамках действия Xero Invoice доступны следующие функции: Create Invoice Update Invoice Get Invoice URL Этот документ документирует, как их успешно использовать, включая любое перечисление v…
HTTP Get
Прочитайте любую веб-страницу и назначьте возвращенный HTML или обычный текст переменной .
HTTP Post
Отправка данных на любую веб-страницу с помощью HTTP POST.
Скачать файл
Загрузите файл по HTTP и верните локальный путь в переменную .
Вход OAuth
Получите токен авторизации от конечной точки OAuth для использования в последующих действиях.
Облачное хранилище
Загрузка или выгрузка файлов в различные поставщики облачных хранилищ.
Чтение документа JSON
Разобрать документ JSON с любого URL-адреса и присвоить значения элементов переменным .
Ожидание веб-перехватчика
Дождитесь стороннего вызова веб-перехватчика.
Вызов веб-службы Soap
Выполнение веб-службы SOAP или .NET и присвоение результатов переменным .
Загрузка на FTP
Загрузка файлов или вложений на сервер FTP или SFTP.
Загрузка по FTP
Загрузка файлов с FTP- или SFTP-сервера.
Получить информацию о браузере
Извлечь имя браузера, версию и информацию об операционной системе из пользовательского агента.
Wrap HTML
Оборачивает текст внутри тегов HTML с дополнительным стилем.
Получить Gravatar для электронной почты
Загружает Gravatar для любого заданного адреса электронной почты (если Gravatar существует). Сохраняет загруженное изображение (.jpg) в указанную папку и возвращает путь к файлу.
Получение рейтинга спама
Использует спам-API Postmark (интерфейс RESTfull для инструмента фильтрации SpamAssassin) для анализа электронной почты и получения рейтинга спама. Передайте полный MIME-текст электронного письма.
Перевод
Перевод текста с одного языка на другой и присвоение результата переменной .
Определить язык
Определить язык любого текста и присвоить код языка переменной .
Произнести текст
Возвращает URL-адрес файла WAV или MP3, содержащего произносимый текст на нужном языке.
Поиск GeoIP
Выполнение поиска любого IP-адреса, URL-адреса, доменного имени или адреса электронной почты с помощью GeoIP. Назначение информации о стране, регионе и городе на переменные .
Направления Google Maps (HTML)
Использование Google «направлений» API для предоставления маршрута между двумя точками. Может принимать почтовые индексы, размещать идентификаторы или текстовые описания. Возвращает направления в формате HTML, а также расстояние и время. …
GetAddress — Поиск адреса
Это действие поддерживает поиск адресов по почтовому индексу и последующее заполнение конкретного адреса для получения полной информации с использованием API getAddress. io. …
Twilio Совершение телефонного звонка
Совершение телефонного звонка и при необходимости переадресация звонка на другой номер.
Twilio Отправить SMS-сообщение
Отправить SMS-сообщение через Twilio.
Twilio Ожидание ответа на SMS
Отправьте SMS-сообщение через Twilio и дождитесь ответа.
Нормализовать номер телефона
Преобразование номера телефона в правильную интернационализированную версию.
Оценка настроения
Выполнить анализ тональности любого текста и вернуть результат в переменную .
Обучение настроению
Обучение базы данных анализа настроений.
Классификация тональности
Присвоить наиболее подходящее имя класса тональности для любого текста переменной .
Файл Azure
Загрузка или отправка файлов в общие ресурсы службы хранилища Azure.
Ссылка для получения файла Azure
Получите URL-адреса файлов в общей папке службы хранилища Azure и назначьте их переменной .
Azure Cosmos DB
Обновление или запрос документов в контейнере Cosmos.
Большой двоичный объект Azure
Получить или разместить большие двоичные объекты Azure.
Таблица Azure
Получение или размещение объектов таблицы Azure.
Очередь Azure
Получение или размещение сообщений очереди Azure.
Распознавание форм Azure
Извлечение текста, пар «ключ-значение» и таблиц из документов, форм, квитанций, счетов-фактур и визитных карточек с помощью службы Azure Form Recognizer.
Выполнение PowerShell
Выполнение команд PowerShell и присвоение результатов переменной .
Запустить программу
Выполнить исполняемый файл Windows и назначить вывод переменной .
Установка переменной среды
Установка переменной среды.
Получить переменную среды
Считывает переменную среды и возвращает значение.
Получить значение реестра
Считывает системный реестр на наличие указанного ключа и имени значения. Возвращает значение.
Установить значение реестра
Добавляет или обновляет системный реестр для указанного ключа и имени значения.
Amazon Отправить SMS
Отправить SMS-сообщение с помощью сервиса Amazon SNS.
Amazon Queue
Добавить элемент в очередь Amazon.
Amazon Glacier
Загрузите файлы или вложения в хранилище Amazon Glacier.
Amazon S3
Загрузите файлы или вложения в корзину Amazon S3.
Azure Извлечение текста из изображения
Использует API компьютерного зрения Microsoft Azure для извлечения текста из изображения. Вам необходимо иметь учетную запись Azure и создать конечную точку Cognative Services.
Azure Analyze Image
Использует Microsoft Azure Computer Vision API для анализа изображения и возврата текстовой информации. Вам необходимо иметь учетную запись Azure и создать конечную точку Cognative Services.
Azure Извлечение ключевых фраз из текста
Использует API Microsoft Azure Text Analytics для извлечения ключевых фраз из текста. Вам необходимо иметь учетную запись Azure и создать конечную точку Cognative Services Text Analytics.
Azure Извлечение именованных сущностей из текста
Использует API Microsoft Azure Text Analytics для извлечения именованных сущностей из текста. Вам необходимо иметь учетную запись Azure и создать конечную точку Cognative Services Text Analytics.
Azure Analyze Sentiment
Использует API Microsoft Azure Text Analytics для анализа тональности любого текста. Вам необходимо иметь учетную запись Azure и создать конечную точку Cognative Services Text Analytics.
Проверка орфографии (Bing Spell Check)
Azure Translate
Использует Microsoft Azure Cognative Services Translate API для перевода любого текста с одного языка на другой. Вам необходимо иметь учетную запись Azure и создать конечную точку Cognative Services Translate.
Преобразование валюты
Преобразование суммы из одной валюты в другую с использованием последних обменных курсов.
Получить цену криптовалюты
Считывает текущую цену криптовалюты по отношению к другой валюте. Использует API freeCoinGecko. Название монеты должно быть названием монеты, например: Биткойн, Солана, Эфириум и т. д. …
Пример пользовательского действия
Пример пользовательского действия. Возвращает полное имя для заданных имени, фамилии и титула.
Получить пользователя
Получает информацию о пользователе из Microsoft Graph для заданного адреса электронной почты. Адрес электронной почты должен существовать в вашей организации.
Получить информацию о присутствии пользователя
Получает информацию о присутствии пользователя из Microsoft Graph для заданного идентификатора пользователя. Идентификатор пользователя можно получить с помощью действия «Получить пользователя». Пользователь должен существовать в вашей организации.
Создать страницу Talkyard
Создает новую страницу на платформе Talkyard. При успешном запросе URL-адрес страницы будет присвоен соответствующей выходной переменной. …
VirusTotal — Сканировать файл или URL-адрес
Возвращает процентное значение от 0 до 100 на основе значений «Вредоносный» и «Подозреваемый» из VirusTotal. …
TeamPasswordManager — Получить пароль
Возвращает пароль из TeamPasswordManager. При запросе пароля у вас есть 2 варианта его получения: 1) Укажите идентификатор пароля, если он известен. …
Dynamics — Entity
Это действие предназначено для локальной версии Dynamics 365. …
Pipedrive
В рамках действия Pipedrive вы можете выполнять следующие действия на объектов внутри платформы. …
Autotask — Заявка
Создает и обновляет заявки Autotask.
Autotask — Получить контакт
Получает идентификатор контакта Autotask из адреса электронной почты.
Autotask — Получить значение поля билета
Получает определенный идентификатор объекта Autotask на основе его аналога метки. В настоящее время поддерживает: Queue Issue Sub-Issue Billing Code
Tessitura — Добавить примечание
Добавляет примечание к компоненту Tessitura. Действие «Создает/выбирает компонент» > «Создает/выбирает план» > «Создает шаг плана» (с примечанием). …
Тест пакета NuGet
Простое пользовательское действие для демонстрации использования пакетов NuGet с пользовательскими действиями ThinkAutomation. Это настраиваемое действие использует RestSharp для выполнения запроса GET для получения IP-адреса пользователя.
PayPal — Получить транзакцию
Получает транзакцию PayPal за последние x дней для определенного идентификатора транзакции. Возвращает объект JSON транзакции. …
Redis — заданное значение
Получает значение в хранилище Redis для заданного ключа и значения. Возвращает «true», если переменная была установлена, и «false» в противном случае.
Redis — получить значение
Получает значение из хранилища Redis для заданного ключа.
Получает элемент в списке SharePoint. При предоставлении соответствующих критериев запроса будет получен первый соответствующий элемент. …
Обновляет элемент в списке SharePoint. При предоставлении соответствующих критериев запроса будет обновлен первый соответствующий элемент. Если поля запроса не указаны, будет создан новый элемент списка. …
Загружает файл в библиотеку документов SharePoint. Чтобы загрузить в определенную папку, заполните поле «Каталог для загрузки» соответствующим каталогом, например. «моя папка/моя подпапка». …
WhosOn — извлечение JSON из архива
Читает содержимое запроса архива чата WhosOn и форматирует стенограмму в читаемый текст. Действие также поддерживает извлечение имени и адреса электронной почты посетителей.
QuickBooks — клиент
Создает, обновляет и получает клиента QuickBooks на основе набора определенных пользователем условий. При успешном запросе возвращается идентификатор клиента.
QuickBooks — счет-фактура
Создает, обновляет, аннулирует и удаляет счет QuickBooks на основе набора определенных пользователем условий. При успешном запросе возвращается идентификатор счета. …
Shopify — Заказ
Выполняет ряд операций с заказом Shopify. …
WooCommerce — Заказ
Выполняет ряд операций с заказом WooCommerce. …
Stripe — Балансовая транзакция
Получает балансовую транзакцию от Stripe. Будет возвращен объект или массив JSON с возможностью назначения отдельных полей для первой или последней записи.
Stripe — Клиент
Выполняет ряд операций с клиентом Stripe. …
Stripe — Request Payment
Запрашивает платеж с помощью Stripe и возвращает ссылку, которую затем можно использовать для оплаты. …
django-database-translation · PyPI
DESCRIPTIONИзначально Django обрабатывает только жестко запрограммированный перевод текста. Этот пакет призван помочь вам в переводе записей вашей базы данных. Как показано ниже, его довольно легко настроить и использовать.
Три основных действия программы:
- Автоматически создает записи базы данных для любого поля, которое необходимо перевести
- Легко переводите свои экземпляры перед отправкой их в свой шаблон/контекст/json
Обратите внимание, это не ПЕРЕВОД для вас . Он создает записи в базе данных для ваших переводов, которые вы должны заполнить. Вот как это работает на практике:
- Я зарегистрировал 3 языка: французский, английский, итальянский
- Я зарегистрировал модель «Проект» и сказал, что ее нужно перевести
- Я зарегистрировал 2 поля в модели проекта, «имя» и «описание», как поля, требующие перевода
- Всякий раз, когда я создаю новый проект, будут создаваться 6 новых записей перевода: «имя» на 3 языках и «описание» на 3 языках.
- Если я войду в админку «Проекта», я смогу напрямую редактировать эти 6 переводов
- Чтобы использовать переводы во внешнем интерфейсе, просто переведите свой объект с помощью наших служебных функций, прежде чем добавлять их в свой контекст/шаблон/JSON
Обратите внимание, что этот пакет работает ОБРАТНО . При развертывании этого приложения будут созданы записи перевода для всех существующих экземпляров.
-
Поле
(ddt_fields) -
Элемент
(ddt_items) -
(ddt_languages) -
Перевод
(ddt_translations)
-
TranslatedField
, которое является полем, которое будет использоваться для любого поля, которое должно быть переведено -
TranslatedModel
для расширения любой модели, имеющей хотя бы одинTranslatedField
-
Перевод Админ
для расширения любого администратора, чья модель наследуется отTranslatedModel
-
LanguageSelection
, форма, которую можно использовать во внешнем интерфейсе для выбора языка -
update_user_language
, функция, которая обновляет язык пользователя как для django, так и для нашего приложения
-
all_instances_as_translated_dict
: Применяет «instance_as_translated_dict» к итерации экземпляров -
get_current_language
: возвращает экземпляр языка, используемый нашим пользователем, или устанавливает значение по умолчанию -
instance_as_translated_dict
: возвращает экземпляр модели в словарь, содержащий все его поля
Он содержит другие элементы, но это то, что вы будете использовать в 99% случаев.
НАСТРОЙКА 1. УстановкаСначала мы должны установить пакет:
- Установить пакет с
pip установить django-database-translation
- В
settings.py
вINSTALLED_APPS
добавьте"django_database_translation"
(обратите внимание, что на этот раз мы используем подчеркивание ) - Затем запустите команду
python manage.py makemigrations django_database_translation
- Затем запустите команду
python manage.py migrate django_database_translation
, чтобы создать 4 новые таблицы
Суть здесь в том, чтобы «отметить», какие модели имеют поля, которые необходимо перевести. В результате мы расширим модели и изменим поля:
- Расширим модель, используя
TranslatedModel
для любой модели, которая содержит TranslatedFields - Измените любое поле, которое будет преобразовано в
TranslatedField
(это ForeignKey для нашей модели Item)
Вот пример кода:
из даты и времени импорта даты и времени
из моделей импорта django. db
из django_database_translation.fields импортировать TranslatedField
из django_database_translation.models импортировать TranslatedModel
class Project(TranslatedModel): # <-- Расширенный класс
title = TranslatedField( # <-- Поле изменено
related_name="portfolio_project_title",
verbose_name="Заголовок"
)
description = TranslatedField( # <-- Поле изменено
related_name="portfolio_project_description",
verbose_name="Описание"
)
date_posted = models.DateField(
db_index = Верно,
по умолчанию = datetime.now,
help_text="Дата отображается во внешнем интерфейсе",
ноль = ложь,
verbose_name="Опубликовано",
)
Когда все будет готово, запустите команды makemigrations
и migrate
, чтобы обновить собственную базу данных новыми изменениями.
Теперь, когда наши модели обновлены, мы можем обновить их администраторов. Обратите внимание, что вы должны обновлять только администраторов моделей, которые были расширены с помощью TranslatedModel
.
Просто расширьте возможности администратора с помощью класса TranslatedAdmin
:
из django.contrib import admin
из django_database_translation.admin импорт TranslatedAdmin
из проекта импорта .models
@admin.register(Проект)
class ProjectAdmin(TranslatedAdmin): # <-- Расширенный класс
# Ваш код здесь
Теперь вы сможете редактировать переводы прямо из админки.
4. Вручную заполните Язык и Поле в админке Теперь нам нужно вручную создать несколько записей в обеих наших моделях Язык
и Поле
. Не беспокойтесь о Item
и Translation
, их содержимое будет сгенерировано автоматически.
В этой таблице просто создайте все языки, доступные на вашем веб-сайте. Убедитесь, что django_language_name
соответствует записи в LANGUAGES
из settings. py
.
# Если settings.py такой:
ЯЗЫКИ = (
("fr-fr", "французский"),
("en-us", "английский"),
)
# Убедитесь, что ваше "django_language_name" либо "fr-fr", либо "en-us"
--> Поле Здесь вы должны просто зарегистрировать все поля, которые вы изменили, на TranslatedField
. Убедитесь, что их имя совпадает с фактическим названием поля.
Теперь, когда все настроено, вы можете зайти в админку и войти в любую запись вашей базы данных. Если это модель, которая использует TranslatedModel
и ее администратором является TranslatedAdmin
, вы сможете увидеть переводы непосредственно в ее администраторе. Идите вперед и переводите все, что должно быть переведено. 10. Обновление языка пользователя1128 i18n и модули перевода
(gettext и т.п.). Чтобы упростить жизнь, мы создали функцию update_user_language . Это обновит текущий язык django и нашего модуля для этого пользователя. Вот как это работает:
- Создать форму, в которой пользователь может выбрать язык
- Обязательно используйте наши записи
Язык
в качестве доступных вариантов - Когда пользователи отправляют форму (и
form.is_valid()
), вызовите эту функцию с объектом запроса и выбранным идентификатором языка. - Сеанс будет обновлен с использованием вашего языка
instance.django_language_name
Пример:
# Мы вызываем это, когда форма действительна
def form_valid (я, форма):
# (...)
language_id = form.cleaned_data['language_id']
update_user_language(self.request, language_id=language_id)
# (...)
Чтобы выиграть время, вы можете использовать форму LanguageSelection
в качестве формы для выбора языка. Это форма с:
- Только одно поле: идентификатор языка
- Это поле является ChoiceField
- Доступные варианты: языковые записи
- Использует либо РАДИО для рендеринга формы
Вот полный пример представления, которое доступно везде на веб-сайте:
из перенаправления импорта django. shortcuts
из django.views.generic импортировать вид
из django_database_translation.forms импортировать LanguageSelection
из django_database_translation.utils импортировать update_user_language
класс UpdateLanguageSelection(View):
"""
Просмотр доступен только через POST, который позволяет вам выбрать свой язык
Форма для отправки POST-запроса в это представление доступна на каждой странице:
- Форма находится в нашем context_processor
- main.html отображает форму
"""
# -------------------------------------------------------
# Настройки
# -------------------------------------------------------
form_class = выбор языка
# -------------------------------------------------------
# Основные методы
# -------------------------------------------------------
def get(self, request, *args, **kwargs):
"""
Определяет, как обрабатывать запрос GET.
В этом случае они не допускаются и будут перенаправлены
"""
вернуть self. redirect_to_current_page()
def post(self, request, *args, **kwargs):
"""
Определяет, как обрабатывать запрос POST.
Он обновит язык сеанса пользователя.
"""
форма = self.form_class (запрос.POST)
если form.is_valid():
ответ = self.form_valid (форма)
еще:
ответ = self.form_invalid (форма)
вернуть ответ
# -------------------------------------------------------
# Вспомогательные методы
# -------------------------------------------------------
def form_invalid (я, форма):
"""Просто перенаправляет на текущую страницу"""
вернуть self.redirect_to_current_page()
def form_valid (я, форма):
"""
Вызывается, если форма действительна и данные очищены
Обновляет текущий язык пользователя, затем перенаправляет его на текущую страницу
"""
language_id = form.cleaned_data['language_id']
update_user_language(self.request, language_id=language_id)
вернуть self. redirect_to_current_page()
деф redirect_to_current_page (я):
"""Перезагружает текущую страницу или перенаправляет вас на домашнюю страницу"""
текущая_страница = self.request.META['HTTP_REFERER']
если не текущая_страница:
текущая_страница = "дом"
вернуть перенаправление (current_page)
2. Отображение переводов Последнее, что осталось сделать, это отобразить переводы. У наших экземпляров есть ключи к Item
, которые затем имеют ключи к Translation
. Чтобы получить переводы, нам нужно соединить Item
с Language
.
Прежде всего, получите язык, используя наш get_current_language
. Это вернет текущий экземпляр Language
пользователя.
Затем, перед отправкой ваших объектов в шаблон/контекст/JSON, переведите их с помощью instance_as_translated_dict
или all_instances_as_translated_dict
. Ваши экземпляры станут словарями, а ключи Item
будут автоматически заменены вашим переведенным текстом. Этим двум функциям можно либо дать язык
, либо угадать его самостоятельно, используя запрос
arg. Если вы собираетесь сделать несколько переводов в одних и тех же функциях, сначала получите язык
. Это позволит избежать создания нового запроса к базе данных каждый раз, чтобы угадать язык.
Ниже вы найдете пример с моделью Project и моделью Job, где мы:
- Переводим проекты, переопределяя метод
get_queryset
- Получение и перевод заданий путем переопределения метода
get_context_data
- В одном случае получаем язык ПОТОМ переводим
- В другом случае мы просто нажимаем запрос, и функция угадывает язык
- (Делается только как витрина)
из django.utils.translation импортировать gettext
из django.views.generic импортировать ListView
из django_database_translation. utils импортировать all_instances_as_translated_dict, get_current_language
из .models импорт Работа, Проект
класс ProjectList(ListView):
# -------------------------------------------------------
# Настройки
# -------------------------------------------------------
модель = проект
template_name = "portfolio/pages/portfolio.html"
context_object_name = "проекты"
заказ = ["-date_posted"]
# -------------------------------------------------------
# Переопределенные методы
# -------------------------------------------------------
def get_context_data (я, ** kwargs):
"""
Метод был переопределен, чтобы сделать следующее:
- Добавьте 'meta_title' в контекст
- Добавить активные «работы» в контекст и перевести их данные
"""
# Получить экземпляры Job и перевести их с помощью запроса
all_jobs = Работа.objects.all()
задания = фильтр (лямбда x: x.count_projects(), all_jobs)
Jobs = all_instances_as_translated_dict(jobs, depth=True, request=self. request)
# Обновить контекст
context = super(ProjectList, self).get_context_data(**kwargs)
контекст.обновление({
"meta_title": gettext("portoflio_meta_title"),
«Работа»: рабочие места,
})
вернуть контекст
деф get_queryset (я):
# Сначала мы получаем язык, а затем используем его для нашего перевода
язык = get_current_language(self.request)
запрос = Project.objects.filter(active=True)
запрос = all_instances_as_translated_dict (запрос, глубина = Истина, язык = язык)
обратный запрос
ДОПОЛНИТЕЛЬНАЯ ИНФОРМАЦИЯ Перевод с глубиной В приведенном выше примере с Project и Job вы заметите, что мы перевели их, используя depth=True
. Это означает, что если наша TranslatedModel
имеет внешние ключи к другим моделям, эти модели также будут переведены. В этом случае, если Project
имеет FK для Job
, мы можем получить доступ к Job. name
по:
- Используя
project["job"]["name"]
в python (поля теперь являются ключами, а не атрибутами ) - Использование
project.job.name
в html/templates ( тот же синтаксис, что и у обычных экземпляров )
Иногда ваша форма будет иметь ChoiceField
, сгенерированный из вашей базы данных. Если используется таблица TranslatedModel
, вам потребуется выбрать правильный язык для своей формы. Поскольку форма не имеет доступа к объект запроса
, вам нужно передать либо язык
, либо запрос
в методе инициализации формы. Вот пример того, как это сделать:
# В вашей форме переопределите метод __init__ следующим образом:
def __init__(я, *args, **kwargs):
self.language = kwargs.pop("язык", нет)
super(YourFormName, self).__init__(*args, **kwargs)
# В вашем VIEW вызовите форму следующим образом:
def function_inside_your_view (я):
# (. ..)
запрос = self.request
язык = get_current_language (запрос)
form = self.form_class(request.GET, language=language) # (или .POST и т. д.)
# (...)
Model.objects.bulk_create() Если модель наследуется от TranslatedModel
, она не сможет использовать свой метод .bulk_create()
. Мы вынуждены деактивировать его, так как наша программа использует сигналы для работы, а .bulk_create()
не запускает сигналы.
Подробный обзор функций utils:
# -------------------------- -------------------------------------------------- ----
# > Импорт
# -------------------------------------------------- -------------------------------
из моделей импорта django.db
из django.db.models.fields.files импортировать ImageFieldFile, FieldFile
активация импорта из django.utils.translation, LANGUAGE_SESSION_KEY
из . models импортировать товар, язык, перевод
# -------------------------------------------------- -------------------------------
# > Функции
# -------------------------------------------------- -------------------------------
def all_instances_as_translated_dict (экземпляры, глубина = Истина, язык = Нет, запрос = Нет):
"""
Описание:
Применяет «instance_as_translated_dict» к итерации экземпляров
Возвращает список диктов, который содержит поля всех ваших экземпляров
Проверьте «instance_as_translated_dict» для получения дополнительной информации.
Аргументы:
instances (iterable): итерируемый экземпляр вашей модели
depth (bool, необязательный): определяет, будет ли FK также преобразован в словари. По умолчанию Истина.
язык (язык, необязательно): экземпляр языка из этого приложения. По умолчанию нет.
запрос (HttpRequest, опция): HttpRequest от Django. По умолчанию нет.
Возвращает:
список: список словарей, где каждый словарь содержит поля/значения начальных экземпляров. """
# Проверка аргументов
если язык None и запрос None:
поднять TypeError("Вы должны указать либо 'язык', либо 'запрос'")
# Получить язык из сеанса
если язык отсутствует:
язык = get_current_language (запрос)
# Цикл по экземплярам
результаты = []
например в случаях:
результат = instance_as_translated_dict (экземпляр, глубина = глубина, язык = язык)
results.append(результат)
возвращать результаты
def get_current_language (запрос, set_default = True, default_id = 1):
"""
Описание:
Возвращает текущий активный язык. Будет установлен язык по умолчанию, если он не найден.
Аргументы:
запрос (HttpRequest): HttpRequest от Django
set_default (логический): указывает, должен ли быть активирован язык по умолчанию (если в настоящее время нет). По умолчанию Истина.
default_id (целое число): PK для экземпляра языка по умолчанию. По умолчанию 1
Возвращает:
Язык: используемый в настоящее время язык из языковой модели нашего приложения. """
# Базовые переменные
язык = Нет
language_name = request.session.get(LANGUAGE_SESSION_KEY, False)
# Получить язык
если имя_языка:
пытаться:
язык = Language.objects.get(django_language_name=language_name)
кроме Language.DoesNotExist:
проходить
# Установите язык по умолчанию, если необходимо
если язык None и set_default:
язык = set_default_language (запрос, default_id)
# Всегда возвращать активный язык
вернуть язык
def get_translation (язык, item_id):
"""
Описание:
Возвращает переведенный текст, используя идентификатор элемента и экземпляр языка.
Аргументы:
язык (Language): экземпляр языка из этого приложения
item_id (int): ключ, содержащийся в «переведенном поле».
Возвращает:
str: переведенный текст
"""
перевод = ""
пытаться:
запись = Translation.objects.get (язык = язык, item_id = item_id)
перевод = запись.текст
кроме Translation. DoesNotExist:
проходить
обратный перевод
def instance_as_translated_dict (экземпляр, глубина = Истина, язык = Нет, запрос = Нет):
"""
Описание:
Возвращает экземпляр модели в dict, содержащий все его поля
Язык можно указать в качестве аргумента или угадать через пользователя "запрос"
Если для параметра «глубина» установлено значение «Истина», ForeignKey также будет преобразован в суб-дикт.
Файлы и изображения заменяются подзаголовком с ключами «путь», «url» и «имя».
Это означает, что вы сможете манипулировать dict в шаблоне HTML так же, как экземпляр
Аргументы:
instance (Model): экземпляр любой из ваших моделей
depth (bool, необязательный): определяет, будет ли FK также преобразован в словари. По умолчанию Истина.
язык (язык, необязательно): экземпляр языка из этого приложения. По умолчанию нет.
запрос (HttpRequest, опция): HttpRequest от Django. По умолчанию нет.
Возвращает:
dict: словарь со всеми полями и значениями экземпляра. """
# Проверка аргументов
если язык None и запрос None:
поднять TypeError("Вы должны указать либо 'язык', либо 'запрос'")
# Получить язык из сеанса
если язык отсутствует:
язык = get_current_language (запрос)
# Цикл по полям
переведенный_дикт = {}
поля = экземпляр._meta.get_fields()
для поля в полях:
значение = getattr (экземпляр, field.name, нет)
если значение не None:
тип_значения = тип (значение)
# Случай 1: Получить перевод
если value_type == Элемент:
new_value = Translation.objects.get(item=value, language=language).text
# Случай 2: перейдите к связанной модели и повторите процесс (если только depth=False)
elif issubclass (value_type, models.Model):
если глубина:
new_value = instance_as_translated_dict (значение, глубина = Истина, язык = язык)
еще:
новое_значение = значение
# Случай 3:
elif value_type в {ImageFieldFile, FieldFile}:
если значение:
новое_значение = {
"имя": getattr(значение, "имя", ""),
"url": getattr(значение, "url", ""),
"путь": getattr(значение, "путь", ""),
}
еще:
новое_значение = ""
# Вариант 4: оставить значение как есть
еще:
новое_значение = значение
translation_dict[имя_поля] = новое_значение
вернуть переведенный_дикт
def set_default_language (запрос, pk = 1):
"""Устанавливает язык по умолчанию, если ни один из них не выбран"""
язык = Language. objects.get(id=pk)
update_user_language (запрос, язык = язык)
вернуть язык
def update_user_language (запрос, язык = нет, language_id = нет):
"""
Описание:
Обновляет текущий язык пользователя в соответствии с рекомендациями Django.
Это позволит выполнять как интерфейсные переводы «Django», так и перевод базы данных «нашего приложения».
Новый язык должен быть передан либо через экземпляр языка, либо через идентификатор.
Аргументы:
request (HttpRequest): объект запроса от Django, используемый для доступа к сеансу.
язык (язык, необязательно): экземпляр языка из этого приложения. По умолчанию нет.
language_id (id, необязательный): идентификатор языка в нашей базе данных. По умолчанию нет.
"""
# Проверка аргументов
если язык равен None и language_id равен None:
поднять TypeError("Вы должны указать либо 'language', либо 'language_id'")
# Получить язык из сеанса
если язык отсутствует:
язык = Language.