OSDN Git Service

Merge pull request #3788 from hengband/release/3.0.1.3-Beta
[hengbandforosx/hengbandosx.git] / src / system / angband-version.cpp
1 #include "system/angband-version.h"
2 #include "system/angband-exceptions.h"
3 #include "system/angband.h"
4
5 std::string get_version()
6 {
7     std::string_view expr;
8     switch (VERSION_STATUS) {
9     case VersionStatusType::ALPHA:
10         expr = "Alpha";
11         break;
12     case VersionStatusType::BETA:
13         expr = "Beta";
14         break;
15     case VersionStatusType::RELEASE_CANDIDATE:
16         expr = "RC";
17         break;
18     case VersionStatusType::RELEASE:
19         expr = "";
20         break;
21     default:
22         THROW_EXCEPTION(std::logic_error, "Invalid version status was specified!");
23     }
24
25     if (VERSION_STATUS != VersionStatusType::RELEASE) {
26         return format(_("変愚蛮怒 %d.%d.%d%s%d", "Hengband %d.%d.%d%s%d"), H_VER_MAJOR, H_VER_MINOR, H_VER_PATCH, expr.data(), H_VER_EXTRA);
27     } else {
28         concptr mode = IS_STABLE_VERSION ? _("安定版", "Stable") : _("開発版", "Developing");
29         return format(_("変愚蛮怒 %d.%d.%d.%d(%s)", "Hengband %d.%d.%d.%d(%s)"), H_VER_MAJOR, H_VER_MINOR, H_VER_PATCH, H_VER_EXTRA, mode);
30     }
31 }