forked from Mirrorlandia_minetest/minetest
Use CUSTOM_LOCALEDIR if specified
This commit is contained in:
parent
31b6d26784
commit
645e208673
@ -12,6 +12,7 @@
|
|||||||
#define VERSION_STRING "@VERSION_STRING@"
|
#define VERSION_STRING "@VERSION_STRING@"
|
||||||
#define PRODUCT_VERSION_STRING "@VERSION_MAJOR@.@VERSION_MINOR@"
|
#define PRODUCT_VERSION_STRING "@VERSION_MAJOR@.@VERSION_MINOR@"
|
||||||
#define STATIC_SHAREDIR "@SHAREDIR@"
|
#define STATIC_SHAREDIR "@SHAREDIR@"
|
||||||
|
#define STATIC_LOCALEDIR "@LOCALEDIR@"
|
||||||
#define BUILD_TYPE "@CMAKE_BUILD_TYPE@"
|
#define BUILD_TYPE "@CMAKE_BUILD_TYPE@"
|
||||||
#cmakedefine01 RUN_IN_PLACE
|
#cmakedefine01 RUN_IN_PLACE
|
||||||
#cmakedefine01 USE_GETTEXT
|
#cmakedefine01 USE_GETTEXT
|
||||||
|
@ -472,10 +472,10 @@ static bool init_common(int *log_level, const Settings &cmd_args, int argc, char
|
|||||||
httpfetch_init(g_settings->getS32("curl_parallel_limit"));
|
httpfetch_init(g_settings->getS32("curl_parallel_limit"));
|
||||||
|
|
||||||
#ifdef _MSC_VER
|
#ifdef _MSC_VER
|
||||||
init_gettext((porting::path_share + DIR_DELIM + "locale").c_str(),
|
init_gettext(porting::path_locale.c_str(),
|
||||||
g_settings->get("language"), argc, argv);
|
g_settings->get("language"), argc, argv);
|
||||||
#else
|
#else
|
||||||
init_gettext((porting::path_share + DIR_DELIM + "locale").c_str(),
|
init_gettext(porting::path_locale.c_str(),
|
||||||
g_settings->get("language"));
|
g_settings->get("language"));
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -136,6 +136,8 @@ void signal_handler_init(void)
|
|||||||
// Default to RUN_IN_PLACE style relative paths
|
// Default to RUN_IN_PLACE style relative paths
|
||||||
std::string path_share = "..";
|
std::string path_share = "..";
|
||||||
std::string path_user = "..";
|
std::string path_user = "..";
|
||||||
|
std::string path_locale = path_share + DIR_DELIM + "locale";
|
||||||
|
|
||||||
|
|
||||||
std::string getDataPath(const char *subpath)
|
std::string getDataPath(const char *subpath)
|
||||||
{
|
{
|
||||||
@ -503,13 +505,17 @@ void initializePaths()
|
|||||||
path_share = execpath;
|
path_share = execpath;
|
||||||
path_user = execpath;
|
path_user = execpath;
|
||||||
}
|
}
|
||||||
|
|
||||||
#else
|
#else
|
||||||
infostream << "Using system-wide paths (NOT RUN_IN_PLACE)" << std::endl;
|
infostream << "Using system-wide paths (NOT RUN_IN_PLACE)" << std::endl;
|
||||||
|
|
||||||
if (!setSystemPaths())
|
if (!setSystemPaths())
|
||||||
errorstream << "Failed to get one or more system-wide path" << std::endl;
|
errorstream << "Failed to get one or more system-wide path" << std::endl;
|
||||||
|
|
||||||
|
#endif
|
||||||
|
#ifdef STATIC_LOCALEDIR
|
||||||
|
path_locale = STATIC_LOCALEDIR[0] ? STATIC_LOCALEDIR : getDataPath("locale");
|
||||||
|
#else
|
||||||
|
path_locale = getDataPath("locale");
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
infostream << "Detected share path: " << path_share << std::endl;
|
infostream << "Detected share path: " << path_share << std::endl;
|
||||||
|
@ -142,6 +142,11 @@ extern std::string path_share;
|
|||||||
*/
|
*/
|
||||||
extern std::string path_user;
|
extern std::string path_user;
|
||||||
|
|
||||||
|
/*
|
||||||
|
Path to gettext locale files
|
||||||
|
*/
|
||||||
|
extern std::string path_locale;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
Get full path of stuff in data directory.
|
Get full path of stuff in data directory.
|
||||||
Example: "stone.png" -> "../data/stone.png"
|
Example: "stone.png" -> "../data/stone.png"
|
||||||
@ -149,7 +154,7 @@ extern std::string path_user;
|
|||||||
std::string getDataPath(const char *subpath);
|
std::string getDataPath(const char *subpath);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
Initialize path_share and path_user.
|
Initialize path_*.
|
||||||
*/
|
*/
|
||||||
void initializePaths();
|
void initializePaths();
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user