commit 380bb98e33b00d9540e49bfb456a152df7acf197 Author: Phillip Stephens Date: Mon Apr 30 09:56:14 2018 -0700 Initial Commit diff --git a/Editor/locale/CMakeLists.txt b/Editor/locale/CMakeLists.txt new file mode 100644 index 000000000..fc4666043 --- /dev/null +++ b/Editor/locale/CMakeLists.txt @@ -0,0 +1,8 @@ +bintoc(en_US.cpp en_US.yaml L_en_US) +bintoc(en_GB.cpp en_GB.yaml L_en_GB) +bintoc(ja_JP.cpp ja_JP.yaml L_ja_JP) +add_library(UrdeLocales + en_US.yaml en_US.cpp + en_GB.yaml en_GB.cpp + ja_JP.yaml ja_JP.cpp + locale.hpp locale.cpp) diff --git a/Editor/locale/en_GB.yaml b/Editor/locale/en_GB.yaml new file mode 100644 index 000000000..595f29f28 --- /dev/null +++ b/Editor/locale/en_GB.yaml @@ -0,0 +1,18 @@ +en_GB: + color: "Colour" + branch: "Branch" + commit: "Commit" + date: "Date" + new_project: "New Project" + open_project: "Open Project" + extract_game: "Extract Game" + name: "Name" + type: "Type" + size: "Size" + directory: "Directory" + file: "File" + file_name: "File Name" + cancel: "Cancel" + system_locations: "System Locations" + recent_projects: "Recent Projects" + recent_files: "Recent Files" diff --git a/Editor/locale/en_US.yaml b/Editor/locale/en_US.yaml new file mode 100644 index 000000000..a66066a8d --- /dev/null +++ b/Editor/locale/en_US.yaml @@ -0,0 +1,18 @@ +en_US: + color: "Color" + branch: "Branch" + commit: "Commit" + date: "Date" + new_project: "New Project" + open_project: "Open Project" + extract_game: "Extract Game" + name: "Name" + type: "Type" + size: "Size" + directory: "Directory" + file: "File" + file_name: "File Name" + cancel: "Cancel" + system_locations: "System Locations" + recent_projects: "Recent Projects" + recent_files: "Recent Files" diff --git a/Editor/locale/ja_JP.yaml b/Editor/locale/ja_JP.yaml new file mode 100644 index 000000000..144468948 --- /dev/null +++ b/Editor/locale/ja_JP.yaml @@ -0,0 +1,18 @@ +ja_JP: + color: "色" + branch: "分派" + commit: "預ける" + date: "年月日" + new_project: "新しいプロジェクト" + open_project: "プロジェクトを開きます" + extract_game: "ビデオゲームを抽出" + name: "名" + type: "タイプ" + size: "サイズ" + directory: "ディレクトリ" + file: "ファイル" + file_name: "ファイル名" + cancel: "キャンセル" + system_locations: "システムの場所" + recent_projects: "最近使ったプロジェクト" + recent_files: "最近使用したファイル" diff --git a/Editor/locale/locale.cpp b/Editor/locale/locale.cpp new file mode 100644 index 000000000..c979e4dce --- /dev/null +++ b/Editor/locale/locale.cpp @@ -0,0 +1,69 @@ +#include "locale.hpp" +#include +#include +#include + +#undef min +#undef max + +extern "C" const uint8_t L_en_US[]; +extern "C" size_t L_en_US_SZ; + +extern "C" const uint8_t L_en_GB[]; +extern "C" size_t L_en_GB_SZ; + +extern "C" const uint8_t L_ja_JP[]; +extern "C" size_t L_ja_JP_SZ; + +namespace urde +{ + +using namespace std::literals; + +static const specter::Locale Locales[] = +{ + {"en_US"sv, "US English"sv, L_en_US, L_en_US_SZ}, + {"en_GB"sv, "British English"sv, L_en_GB, L_en_GB_SZ}, + {"ja_JP"sv, "Japanese"sv, L_ja_JP, L_ja_JP_SZ} +}; + +std::vector> ListLocales() +{ + constexpr size_t localeCount = std::extent::value; + std::vector> ret; + ret.reserve(localeCount); + for (size_t i=0 ; i::value; + for (size_t i=0 ; i::value; + for (size_t i=0 ; i + +namespace urde +{ + +std::vector> ListLocales(); +const specter::Locale* LookupLocale(std::string_view name); +const specter::Locale* SystemLocaleOrEnglish(); + +} + +#endif // URDE_LOCALE_HPP