view src/gui/translate/config.cc @ 322:c32467cd06bb

core/strings: add Strings::Translate function as tr() -> ToUtf8String
author Paper <paper@paper.us.eu.org>
date Wed, 12 Jun 2024 22:15:53 -0400
parents b1f625b0227c
children
line wrap: on
line source

#include "core/config.h"
#include "core/strings.h"
#include "gui/translate/config.h"

#include <QCoreApplication>

#include <unordered_map>

namespace Translate {

Theme::Theme ToTheme(const std::string& theme) {
	const std::unordered_map<std::string, Theme::Theme> map = {
	    {"Default", Theme::Theme::Default   },
        {"Light",   Theme::Theme::Light},
        {"Dark",    Theme::Theme::Dark }
    };

	if (map.find(theme) == map.end())
		return Theme::Theme::Default;
	return map.at(theme);
}

std::string ToString(const Theme::Theme& theme) {
	switch (theme) {
		default:
		case Theme::Theme::Default: return "Default";
		case Theme::Theme::Light: return "Light";
		case Theme::Theme::Dark: return "Dark";
	}
}

std::string ToLocalString(const Theme::Theme& theme) {
	switch (theme) {
		default:
		case Theme::Theme::Default: return Strings::Translate("Default");
		case Theme::Theme::Light: return Strings::Translate("Light");
		case Theme::Theme::Dark: return Strings::Translate("Dark");
	}
}

} // namespace Translate