more ai generated doc with human review

This commit is contained in:
2026-02-28 12:29:00 +03:00
parent 077f12c9e5
commit 0878891cd8
86 changed files with 2215 additions and 637 deletions

View File

@@ -6,7 +6,7 @@
*/
/*
PIP - Platform Independent Primitives
Translation support
Translation support
Ivan Pelipenko peri4ko@yandex.ru
This program is free software: you can redistribute it and/or modify
@@ -38,15 +38,40 @@
//! \~russian Поддержка перевода
class PIP_EXPORT PITranslator {
public:
//! \~english Translates string "in" with optional context.
//! \~russian Переводит строку "in" с опциональным контекстом.
static PIString tr(const PIString & in, const PIString & context = {});
//! \~english Translates string "in" with optional context.
//! \~russian Переводит строку "in" с опциональным контекстом.
static PIString tr(const char * in, const PIString & context = {}) { return tr(PIString::fromUTF8(in), context); }
//! \~english Returns original string without translation.
//! \~russian Возвращает оригинальную строку без перевода.
static PIString trNoOp(const PIString & in, const PIString & context = {}) { return in; }
//! \~english Returns original string without translation.
//! \~russian Возвращает оригинальную строку без перевода.
static PIString trNoOp(const char * in, const PIString & context = {}) { return trNoOp(PIString::fromUTF8(in), context); }
//! \~english Clears all loaded translations.
//! \~russian Очищает все загруженные переводы.
static void clear();
//! \~english Loads translation for language "short_lang" from directory "dir".
//! \~russian Загружает перевод для языка "short_lang" из директории "dir".
static void loadLang(const PIString & short_lang, PIString dir = {});
//! \~english Loads translation from config "content".
//! \~russian Загружает перевод из конфигурации "content".
static void loadConfig(const PIString & content);
//! \~english Loads translation from binary content.
//! \~russian Загружает перевод из бинарного содержимого.
static bool load(const PIByteArray & content);
//! \~english Loads translation from file.
//! \~russian Загружает перевод из файла.
static bool loadFile(const PIString & path);
private:
@@ -59,10 +84,20 @@ private:
};
//! \~english Context-aware string wrapper for translation.
//! \~russian Контекстно-зависимая обертка строки для перевода.
class PIStringContextTr {
public:
//! \~english Constructs wrapper from string.
//! \~russian Создает обертку из строки.
PIStringContextTr(PIString && s): _s(s) {}
//! \~english Returns translated string.
//! \~russian Возвращает переведенную строку.
operator PIString() const { return PITranslator::tr(_s); }
//! \~english Returns translated string with context.
//! \~russian Возвращает переведенную строку с контекстом.
PIString operator()(const PIString & ctx = {}) const { return PITranslator::tr(_s, ctx); }
private:
@@ -70,10 +105,20 @@ private:
};
//! \~english Context-aware string wrapper without translation (no-op).
//! \~russian Контекстно-зависимая обертка строки без перевода (заглушка).
class PIStringContextTrNoOp {
public:
//! \~english Constructs wrapper from string.
//! \~russian Создает обертку из строки.
PIStringContextTrNoOp(PIString && s): _s(s) {}
//! \~english Returns original string.
//! \~russian Возвращает оригинальную строку.
operator PIString() const { return _s; }
//! \~english Returns original string with context.
//! \~russian Возвращает оригинальную строку с контекстом.
PIString operator()(const PIString & ctx = {}) const { return _s; }
private: