Локализация в Python с помощью модуля gettext
В процессе разработки программ иногда необходимо предоставить поддержку разных языков. Модуль gettext в Python предоставляет удобный механизм локализации, который позволяет адаптировать ваше приложение для различных языковых сообществ.
Что такое gettext?
gettext - это модуль Python, предназначенный для обеспечения поддержки интернационализации и локализации. Он позволяет создавать переводы строк на различные языки, обеспечивая легкость адаптации приложения под разные культурные контексты.
Пример использования gettext:
import gettext
from pathlib import Path
translations = gettext.translation('your_app', localedir=Path('locales'), languages=['ru'])
translations.install()
print(_("Hello, gettext!"))
В данном примере мы используем модуль gettext для загрузки файлов перевода из директории 'locales' для русского языка. Функция _() используется для обозначения строк, подлежащих локализации.
Создание файлов перевода:
Для создания файлов перевода можно воспользоваться утилитой pybabel:
pybabel extract -F babel.cfg -o messages.pot your_app
pybabel init -i messages.pot -d locales -l ru
gettext также предоставляет множество возможностей для более сложных сценариев локализации, таких как форматирование чисел, дат и поддержка множественных форм.
#python#gettext#i18n
Анализ текста
Второй пост из серии про анализ тг-чата. В первом показывала, как получить архив чата и вытащить из него сообщения. На этот раз разбираю, как посчитать частотность слов и определить части речи✒️
Файл ipynb с кодом и примечаниями выложила на github:
https://github.com/alsosha/text_analysis/blob/main/text_analysis.ipynb
Остается пост про генерацию облака слов, постараюсь с ним не затягивать😜
P.S. В карточках упомянула, что кроме pymorphy3 есть и другие подобные библиотеки. Например, spacy, natasha, nltk и т.д. Сравнение результатов лемматизации нашла вот тут, а общее сравнение библиотек тут. Можно попробовать разное и подобрать удобный вариант под себя💞
#python
Парсинг тг-чата
Показывала тут дата-открытки с облаками слов из всех сообщений коллеги и обещала рассказать о процессе парсинга тг-чата и анализе текста с помощью python. Рассказываю и делюсь кодом👾
Файл ipynb выложила на github. Внутри не только код, но и комментарии с объяснением алгоритма:
https://github.com/alsosha/tg_chat_parser/blob/main/tg_chat_parser.ipynb
Для наглядности также сделала карточки — изучайте и задавайте вопросы в комментариях, если будут💞
Впереди еще два поста: про анализ текста и генерацию облака слов в svg бесплатно и без регистрации😄
P.S. Еще недавно выложила код для анализа видео и рассказала про алгоритм в карточках.
#python
Закинула на github файл с кодом (python) для анализа цвета видео👾
https://github.com/alsosha/video_color_analysis/blob/main/video_analysis.ipynb
В прошлом году постила алгоритм и его описание тремя отдельными частями:
1. Подготовка данных
2. Анализ данных
3. Визуализация данных
Пример применения кода — мой небольшой проект про цвета трилогии "Матрица".
#python
📰 JDownloader site hacked to replace installers with Python RAT malware
The website for the popular JDownloader download manager was compromised earlier this week to distribute malicious Windows and Linux installers, with the Windows payload found deploying a Python-based remote access trojan.
🔗 Source: https://www.bleepingcomputer.com/news/security/jdownloader-site-hacked-to-replace-installers-with-python-rat-malware/
#linux#python
📰 PyPI Packages Deliver ZiChatBot Malware via Zulip APIs on Windows and Linux
Cybersecurity researchers have discovered three packages on the Python Package Index (PyPI) repository that are designed to stealthily deliver a previously unknown malware family called ZiChatBot on Windows and Linux systems."While these wheel packages do implement the features described on their PyPI web pages, their true purpose is to covertly deliver malicious files," Kaspersky.
🔗 Source: https://thehackernews.com/2026/05/pypi-packages-deliver-zichatbot-malware.html
#linux#python
https://docs.python.org/3/library/gettext.html
The #gettext module provides internationalization (#I18N) and localization (#L10N) services for your #Python modules and applications. It supports both the #GNU gettext message catalog #API and a higher level, class-based API that may be more appropriate for Python files. The interface described below allows you to write your module and application messages in one natural #language, and provide a catalog of #translated messages for running under different natural languages.
Some hints on localizing your Python modules and applications are also given.
📰 LiteLLM loses game of Trivy pursuit, gets compromised
Python interface for LLMs infected with malware via polluted CI/CD pipeline Two versions of LiteLLM, an open source interface for accessing multiple large language models, have been removed from the Python Package Index (PyPI) following a supply chain attack that injected them with malicious credential-stealing code.…
🔗 Source: https://go.theregister.com/feed/www.theregister.com/2026/03/24/trivy_compromise_litellm/
#python#opensource