
Комментарии 8
А есть ли смысл начинать использовать Fluent, если уже существует MessageFormat 2.0?
Я только залез в перевод, еще изучил Babel (из древних свитков), спасибо за новую инфу
так это для Java, я так понял
MessageFormat 2.0 это спецификация, к языкам программирования она не имеет отношения, для питона реализации тоже есть
Понял, спасибо
Нашел для питона
https://messageformat2.readthedocs.io/en/latest/
Только в доках мало инфы, не понял как он переводит (сам?)
Сделал себе одну функцию для автоперевода всех сообщений, она переводит любой текст на любой язык с помощью ии, и запоминает переводы в бд и оперативке что бы не дергать ии и бд постоянно. В коде все куски текста просто обернуты в нее (на самом деле не совсем так, обычно есть словарик где собраны все тексты для удобства).
Можно не парится по поводу исходного языка и опечаток, робот всё сам поймет и исправит.
def tr(
text: str,
to_lang: str,
help: str = "", # подробная подсказка для переводчика, генерируется тоже с помощью ии
save_cache: bool = True,
user_id: str = ""
) -> str:
...
lang = get_user_lang(message.from_user)
texts = {
"gen_instruction": tr(
"Генерация изображений с помощью модели",
lang,
help="Instruction prefix in help message. E.g., 'Generate images using the model Pollinations zimage'",
),
"fail": tr(
"Не удалось ничего нарисовать.",
lang,
help="Error message shown when the image generator returns no results.",
),
}
...
bot_reply(message, texts["fail"])
...
Перевод Telegram бота (Aiogram3) через Fluent