Toast Engine
Toggle main menu visibility
Loading...
Searching...
No Matches
localization.hpp
Go to the documentation of this file.
1
8
9
#pragma once
10
#include <cstdint>
11
#include <optional>
12
#include <string>
13
#include <string_view>
14
#include <
toast/assets/core_types.hpp
>
15
#include <
toast/export.hpp
>
16
#include <unordered_map>
17
#include <vector>
18
19
namespace
ui {
20
class
LocalizationTable;
21
}
22
23
namespace
assets {
24
25
class
TOAST_API LocalizationBase :
public
Asset {
26
public
:
27
explicit
LocalizationBase(std::vector<uint8_t> data);
28
void
reload(std::vector<uint8_t> data);
29
30
[[nodiscard]]
31
auto
languages()
const
noexcept
->
const
std::vector<std::string>& {
32
return
m_languages;
33
}
34
35
[[nodiscard]]
36
auto
ids()
const
noexcept
->
const
std::vector<std::string>& {
37
return
m_ids;
38
}
39
40
[[nodiscard]]
41
auto
has(std::string_view
id
)
const
-> bool;
42
43
[[nodiscard]]
44
auto
cell(std::string_view
id
, std::string_view language)
const
-> std::optional<std::string>;
45
46
protected
:
47
std::vector<std::string> m_languages;
48
std::vector<std::string> m_ids;
49
std::unordered_map<std::string, std::vector<std::string>> m_rows;
50
51
[[nodiscard]]
52
auto
languageIndex(std::string_view language)
const
-> int;
53
};
54
55
class
TOAST_API
Localization
final :
public
LocalizationBase {
56
public
:
57
using
LocalizationBase::LocalizationBase;
58
59
[[nodiscard]]
60
auto
type()
const
-> std::string_view
override
{
61
return
"localization"
;
62
}
63
64
[[nodiscard]]
65
auto
text(std::string_view
id
, std::string_view language)
const
-> std::string;
66
};
67
68
class
TOAST_API
ImageLocalization
final :
public
LocalizationBase {
69
public
:
70
using
LocalizationBase::LocalizationBase;
71
72
[[nodiscard]]
73
auto
type()
const
-> std::string_view
override
{
74
return
"image_localization"
;
75
}
76
77
[[nodiscard]]
78
auto
image(std::string_view
id
, std::string_view language)
const
-> std::string;
79
};
80
81
}
assets::ImageLocalization
Definition
localization.hpp:68
assets::Localization
Definition
localization.hpp:55
core_types.hpp
Base types for the asset system.
export.hpp
engine
src
toast
ui
assets
localization.hpp
Generated by
1.17.0