i18n headers

This commit is contained in:
mniip
2020-03-20 08:40:01 +03:00
parent 51f77f08b7
commit 5b20bc534f
7 changed files with 15 additions and 11 deletions

View File

@@ -568,7 +568,7 @@ void BlueScreen(String detailMessage)
String errorTitle = "ERROR";
String errorDetails = "Details: " + detailMessage;
String errorHelp = "An unrecoverable fault has occurred, please report the error by visiting the website below\n"
SCHEME SERVER;
+ ByteString(SCHEME SERVER).FromAscii();
int currentY = 0, width, height;
int errorWidth = 0;
Graphics::textsize(errorHelp, errorWidth, height);

View File

@@ -35,7 +35,7 @@ public:
int Build;
int Time;
BuildType Type;
UpdateInfo() : File(""), Changelog(""), Major(0), Minor(0), Build(0), Time(0), Type(Stable) {}
UpdateInfo() : File(""), Changelog(""_ascii), Major(0), Minor(0), Build(0), Time(0), Type(Stable) {}
UpdateInfo(int major, int minor, int build, ByteString file, String changelog, BuildType type) : File(file), Changelog(changelog), Major(major), Minor(minor), Build(build), Time(0), Type(type) {}
UpdateInfo(int time, ByteString file, String changelog, BuildType type) : File(file), Changelog(changelog), Major(0), Minor(0), Build(0), Time(time), Type(type) {}
};

View File

@@ -174,8 +174,8 @@ template<typename T, T... cs> inline String operator""_i18n()
// Macros are hard
// Expand i18nMulti("a", "b") into i18nMultiImpl<decltype("a"_chars), decltype("b"_chars)>()
#define NARG_SELECT(_1, _2, _3, _4, _5, _6, _7, _8, _9, N, ...) N
#define NARG(...) NARG_SELECT(__VA_ARGS__, 9, 8, 7, 6, 5, 4, 3, 2, 1)
#define NARG_SELECT(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, N, ...) N
#define NARG(...) NARG_SELECT(__VA_ARGS__, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1)
#define i18nMultiNargH(N, ...) i18nMultiNarg(N, __VA_ARGS__)
#define i18nMultiNarg(N, ...) i18nMulti_##N(__VA_ARGS__)
#define i18nMulti(...) i18nMultiNargH(NARG(__VA_ARGS__), __VA_ARGS__)
@@ -188,6 +188,9 @@ template<typename T, T... cs> inline String operator""_i18n()
#define i18nMulti_7(s1, s2, s3, s4, s5, s6, s7) i18nMultiImpl<decltype(s1##_chars), decltype(s2##_chars), decltype(s3##_chars), decltype(s4##_chars), decltype(s5##_chars), decltype(s6##_chars), decltype(s7##_chars)>()
#define i18nMulti_8(s1, s2, s3, s4, s5, s6, s7, s8) i18nMultiImpl<decltype(s1##_chars), decltype(s2##_chars), decltype(s3##_chars), decltype(s4##_chars), decltype(s5##_chars), decltype(s6##_chars), decltype(s7##_chars), decltype(s8##_chars)>()
#define i18nMulti_9(s1, s2, s3, s4, s5, s6, s7, s8, s9) i18nMultiImpl<decltype(s1##_chars), decltype(s2##_chars), decltype(s3##_chars), decltype(s4##_chars), decltype(s5##_chars), decltype(s6##_chars), decltype(s7##_chars), decltype(s8##_chars), decltype(s9##_chars)>()
#define i18nMulti_10(s1, s2, s3, s4, s5, s6, s7, s8, s9, s10) i18nMultiImpl<decltype(s1##_chars), decltype(s2##_chars), decltype(s3##_chars), decltype(s4##_chars), decltype(s5##_chars), decltype(s6##_chars), decltype(s7##_chars), decltype(s8##_chars), decltype(s9##_chars), decltype(s10##_chars)>()
#define i18nMulti_11(s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11) i18nMultiImpl<decltype(s1##_chars), decltype(s2##_chars), decltype(s3##_chars), decltype(s4##_chars), decltype(s5##_chars), decltype(s6##_chars), decltype(s7##_chars), decltype(s8##_chars), decltype(s9##_chars), decltype(s10##_chars), decltype(s11##_chars)>()
#define i18nMulti_12(s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12) i18nMultiImpl<decltype(s1##_chars), decltype(s2##_chars), decltype(s3##_chars), decltype(s4##_chars), decltype(s5##_chars), decltype(s6##_chars), decltype(s7##_chars), decltype(s8##_chars), decltype(s9##_chars), decltype(s10##_chars), decltype(s11##_chars), decltype(s12##_chars)>()
template<typename... Ts> std::array<String, sizeof...(Ts)> i18nMultiImpl()
{

View File

@@ -15,10 +15,10 @@ class ConfirmPrompt : public ui::Window
ResultCallback callback;
public:
ConfirmPrompt(String title, String message, ResultCallback callback_ = {}, String buttonText = String("Confirm"));
ConfirmPrompt(String title, String message, ResultCallback callback_ = {}, String buttonText = "Confirm"_i18n);
virtual ~ConfirmPrompt() = default;
static bool Blocking(String title, String message, String buttonText = String("Confirm"));
static bool Blocking(String title, String message, String buttonText = "Confirm"_i18n);
void OnDraw() override;
};

View File

@@ -8,7 +8,7 @@ public:
std::vector<unsigned int> DisplayModes;
unsigned int ColourMode;
RenderPreset(): Name(""), ColourMode(0) {}
RenderPreset(): Name(""_ascii), ColourMode(0) {}
RenderPreset(String name, std::vector<unsigned int> renderModes, std::vector<unsigned int> displayModes, unsigned int colourMode):
Name(name),
RenderModes(renderModes),

View File

@@ -47,7 +47,7 @@ class SignTool: public Tool
public:
GameModel * gameModel;
SignTool(GameModel *model):
Tool(0, "SIGN", "Sign. Displays text. Click on a sign to edit it or anywhere else to place a new one.", 0, 0, 0, "DEFAULT_UI_SIGN", SignTool::GetIcon),
Tool(0, "SIGN"_ascii, "Sign. Displays text. Click on a sign to edit it or anywhere else to place a new one."_i18n, 0, 0, 0, "DEFAULT_UI_SIGN", SignTool::GetIcon),
gameModel(model)
{
}
@@ -65,7 +65,7 @@ class SampleTool: public Tool
GameModel * gameModel;
public:
SampleTool(GameModel *model):
Tool(0, "SMPL", "Sample an element on the screen.", 0, 0, 0, "DEFAULT_UI_SAMPLE", SampleTool::GetIcon),
Tool(0, "SMPL"_ascii, "Sample an element on the screen."_i18n, 0, 0, 0, "DEFAULT_UI_SAMPLE", SampleTool::GetIcon),
gameModel(model)
{
}
@@ -82,7 +82,7 @@ class PropertyTool: public Tool
{
public:
PropertyTool():
Tool(0, "PROP", "Property Drawing Tool. Use to alter the properties of elements in the field.", 0xfe, 0xa9, 0x00, "DEFAULT_UI_PROPERTY", NULL)
Tool(0, "PROP"_ascii, "Property Drawing Tool. Use to alter the properties of elements in the field."_i18n, 0xfe, 0xa9, 0x00, "DEFAULT_UI_PROPERTY", NULL)
{
}
StructProperty::PropertyType propType;

View File

@@ -84,9 +84,10 @@ public:
class InvalidConversionException: public GeneralException
{
static auto getErrorMsg() { return i18nMulti("Invalid conversion from ", " to "); }
public:
InvalidConversionException(ValueType from_, ValueType to_):
GeneralException("Invalid conversion from " + AnyType::TypeName(from_).FromAscii() + " to " + AnyType::TypeName(to_).FromAscii()) {
GeneralException(getErrorMsg()[0] + AnyType::TypeName(from_).FromAscii() + getErrorMsg()[1] + AnyType::TypeName(to_).FromAscii()) {
}
};