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 ()
 
std::string_view Translate (size_t pId) const
 
std::string_view Translate (auto lang, size_t pId) const
 
template<typename E >
requires std::is_enum_v<E>
std::string_view Translate (E pId) const
 
template<typename E >
requires std::is_enum_v<E>
std::string_view Translate (auto lang, E pId) const
 
template<typename Num >
requires std::is_integral_v<Num> && (!std::same_as<Num, size_t>)
std::string_view Translate (Num pId) const
 
template<typename Num >
requires std::is_integral_v<Num> && (!std::same_as<Num, size_t>)
std::string_view Translate (auto lang, Num pId) const
 
void AddTranslation (gwlanguage pLang, const char8_t *pText)
 
template<typename... Args>
void AddTranslation (gwlanguage pLang, Args &&... args)
 
void Load (gwlanguage pLang, const std::ranges::common_range auto &pRange)
 
void ChangeLanguage (gwlanguage pLang)
 
template<typename... Args>
void OverrideTranslation (gwlanguage pLanguage, size_t pTranslation, Args &&... args)
 
template<typename E , typename... Args>
requires std::is_enum_v<E>
void OverrideTranslation (gwlanguage pLanguage, E pTranslation, Args &&... args)
 
template<typename Num , typename... Args>
requires std::is_integral_v<Num> && (!std::same_as<Num, size_t>)
void OverrideTranslation (gwlanguage pLanguage, Num pTranslation, Args &&... args)
 
- 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... Args>
static std::string_view STranslate (Args... args)
 
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 5 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/2]

template<typename... Args>
void ArcdpsExtension::Localization::AddTranslation ( gwlanguage  pLang,
Args &&...  args 
)
inline

◆ AddTranslation() [2/2]

void ArcdpsExtension::Localization::AddTranslation ( gwlanguage  pLang,
const char8_t *  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/3]

template<typename E , typename... Args>
requires std::is_enum_v<E>
void ArcdpsExtension::Localization::OverrideTranslation ( gwlanguage  pLanguage,
pTranslation,
Args &&...  args 
)
inline

◆ OverrideTranslation() [2/3]

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

◆ OverrideTranslation() [3/3]

template<typename... Args>
void ArcdpsExtension::Localization::OverrideTranslation ( gwlanguage  pLanguage,
size_t  pTranslation,
Args &&...  args 
)
inline

◆ SChangeLanguage()

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

◆ STranslate()

template<typename... Args>
static std::string_view ArcdpsExtension::Localization::STranslate ( Args...  args)
inlinestatic
Returns
null terminated string_view. Use .data() instead of c_str() if you need a const char*

◆ Translate() [1/6]

template<typename E >
requires std::is_enum_v<E>
std::string_view ArcdpsExtension::Localization::Translate ( auto  lang,
pId 
) const
inline

◆ Translate() [2/6]

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

◆ Translate() [3/6]

std::string_view ArcdpsExtension::Localization::Translate ( auto  lang,
size_t  pId 
) const
inline

◆ Translate() [4/6]

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

◆ Translate() [5/6]

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

◆ Translate() [6/6]

std::string_view ArcdpsExtension::Localization::Translate ( size_t  pId) const

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