TGViewer
Python Academy Python Academy @python_academy · 44.2K subscribers
Post #1532 10K
Локализация в 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
  • 👍 13
  • ❤ 2
  • 🔥 2
  • 👎 1
More from @python_academy
  1. Oct 2, 2026Scrapy: Мощный инструмент для веб-скрапинга на Python Scrapy - это высокоэффективная библи…
  2. Oct 1, 2026⁠Упаковка параметров с помощью urlencode Довольно часто приходится работать с разнообразны…
  3. Sep 30, 2026Асинхронные запросы с aiohttp Модуль aiohttp представляет из себя асинхронный HTTP клиент/…
  4. Sep 29, 2026Typeshed Typeshed — это коллекция заглушек (stubs) для стандартной библиотеки Python, библ…
  5. Sep 28, 2026SCons SCons — это современная система сборки программного обеспечения, основанная на Pytho…
  6. Sep 27, 2026Что такое глубокая копия? Глубокая копия используется для хранения значений, которые уже с…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →