more ai generated doc with human review
This commit is contained in:
@@ -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:
|
||||
|
||||
Reference in New Issue
Block a user