ArcdpsExtension
 
Loading...
Searching...
No Matches
ArcdpsExtension::Localization Class Referencefinal

#include <Localization.h>

Inheritance diagram for ArcdpsExtension::Localization:
Collaboration diagram for ArcdpsExtension::Localization:

Public Member Functions

 Localization ()
 
const std::string & Translate (size_t pId) const
 
template<typename E >
requires std::is_enum_v<E>
const std::string & Translate (E pId) const
 
template<typename Num >
requires std::is_integral_v<Num> && (!std::same_as<Num, size_t>)
const std::string & Translate (Num pId) const
 
void AddTranslation (gwlanguage pLang, const char *pText)
 
void AddTranslation (gwlanguage pLang, const char8_t *pText)
 
void AddTranslation (gwlanguage pLang, const std::string &pText)
 
void Load (gwlanguage pLang, const std::ranges::common_range auto &pRange)
 
void ChangeLanguage (gwlanguage pLang)
 
void OverrideTranslation (gwlanguage pLanguage, size_t pTranslation, const std::string &pText)
 
template<typename E >
requires std::is_enum_v<E>
const std::string & OverrideTranslation (gwlanguage pLanguage, E pTranslation, const std::string &pText)
 
template<typename Num >
requires std::is_integral_v<Num> && (!std::same_as<Num, size_t>)
void OverrideTranslation (gwlanguage pLanguage, Num pTranslation, const std::string &pText)
 
template<typename T >
void OverrideTranslation (gwlanguage pLanguage, T pTranslation, const std::string &pText)
 
- Public Member Functions inherited from ArcdpsExtension::Singleton< Localization >
 ~Singleton () override
 
- Public Member Functions inherited from ArcdpsExtension::BaseSingleton
virtual ~BaseSingleton ()=default
 

Static Public Member Functions

template<typename T >
static const std::string & STranslate (T pId)
 
static void SChangeLanguage (gwlanguage pLang)
 
- Static Public Member Functions inherited from ArcdpsExtension::Singleton< Localization >
static T2 & instance ()
 
static T2 & init (Args &&... args)
 
static void f (std::function< void(T2 &)> action)
 
static void f (std::function< void(Localization &)> action)
 
static void reset ()
 

Additional Inherited Members

- Static Protected Member Functions inherited from ArcdpsExtension::BaseSingleton
static BaseSingletonStore (std::unique_ptr< BaseSingleton > &&ptr)
 
static void Clear (BaseSingleton *ptr)
 

Detailed Description

How to use:
Call Load() with your translations you want to add. Things are added to the back of the list with all Extension based translations at the beginning. So make sure, your IDs enum or whatever you use, starts with one higher than the last used one. Also make sure you add all 4 translations and they are of the same size. Call it within mod_init or as early as possible.

Call ChangeLanguage when you want to change the language. Call it once to setup the language the user has in mod_init

Constructor & Destructor Documentation

◆ Localization()

ArcdpsExtension::Localization::Localization ( )

Member Function Documentation

◆ AddTranslation() [1/3]

void ArcdpsExtension::Localization::AddTranslation ( gwlanguage  pLang,
const char *  pText 
)
inline

◆ AddTranslation() [2/3]

void ArcdpsExtension::Localization::AddTranslation ( gwlanguage  pLang,
const char8_t *  pText 
)
inline

◆ AddTranslation() [3/3]

void ArcdpsExtension::Localization::AddTranslation ( gwlanguage  pLang,
const std::string &  pText 
)
inline

◆ ChangeLanguage()

void ArcdpsExtension::Localization::ChangeLanguage ( gwlanguage  pLang)

◆ Load()

void ArcdpsExtension::Localization::Load ( gwlanguage  pLang,
const std::ranges::common_range auto &  pRange 
)
inline

◆ OverrideTranslation() [1/4]

template<typename E >
requires std::is_enum_v<E>
const std::string & ArcdpsExtension::Localization::OverrideTranslation ( gwlanguage  pLanguage,
pTranslation,
const std::string &  pText 
)
inline

◆ OverrideTranslation() [2/4]

template<typename Num >
requires std::is_integral_v<Num> && (!std::same_as<Num, size_t>)
void ArcdpsExtension::Localization::OverrideTranslation ( gwlanguage  pLanguage,
Num  pTranslation,
const std::string &  pText 
)
inline

◆ OverrideTranslation() [3/4]

void ArcdpsExtension::Localization::OverrideTranslation ( gwlanguage  pLanguage,
size_t  pTranslation,
const std::string &  pText 
)

◆ OverrideTranslation() [4/4]

template<typename T >
void ArcdpsExtension::Localization::OverrideTranslation ( gwlanguage  pLanguage,
pTranslation,
const std::string &  pText 
)
inline

◆ SChangeLanguage()

void ArcdpsExtension::Localization::SChangeLanguage ( gwlanguage  pLang)
static

◆ STranslate()

template<typename T >
static const std::string & ArcdpsExtension::Localization::STranslate ( pId)
inlinestatic

◆ Translate() [1/3]

template<typename E >
requires std::is_enum_v<E>
const std::string & ArcdpsExtension::Localization::Translate ( pId) const
inline

◆ Translate() [2/3]

template<typename Num >
requires std::is_integral_v<Num> && (!std::same_as<Num, size_t>)
const std::string & ArcdpsExtension::Localization::Translate ( Num  pId) const
inline

◆ Translate() [3/3]

const std::string & ArcdpsExtension::Localization::Translate ( size_t  pId) const

The documentation for this class was generated from the following files: