Use gettext for more basic user interface strings

This commit is contained in:
Perttu Ahola 2012-06-04 23:24:31 +03:00
parent ed772da0cc
commit 7eabde6aee
3 changed files with 60 additions and 59 deletions

View File

@ -105,14 +105,14 @@ void GUIKeyChangeMenu::regenerateGui(v2u32 screensize)
v2s32 topleft(0, 0); v2s32 topleft(0, 0);
changeCtype(""); changeCtype("");
{ {
core::rect < s32 > rect(0, 0, 500, 20); core::rect < s32 > rect(0, 0, 600, 40);
rect += topleft + v2s32(25, 3); rect += topleft + v2s32(25, 3);
//gui::IGUIStaticText *t = //gui::IGUIStaticText *t =
Environment->addStaticText(wgettext("KEYBINDINGS (If this menu screws up, see minetest.conf)"), Environment->addStaticText(wgettext("Keybindings. (If this menu screws up, remove stuff from minetest.conf)"),
rect, false, true, this, -1); rect, false, true, this, -1);
//t->setTextAlignment(gui::EGUIA_CENTER, gui::EGUIA_UPPERLEFT); //t->setTextAlignment(gui::EGUIA_CENTER, gui::EGUIA_UPPERLEFT);
} }
v2s32 offset(25, 40); v2s32 offset(25, 60);
// buttons // buttons
{ {
@ -299,7 +299,7 @@ void GUIKeyChangeMenu::regenerateGui(v2u32 screensize)
} }
//next col //next col
offset = v2s32(250, 40); offset = v2s32(250, 60);
{ {
core::rect < s32 > rect(0, 0, 100, 20); core::rect < s32 > rect(0, 0, 100, 20);
rect += topleft + v2s32(offset.X, offset.Y); rect += topleft + v2s32(offset.X, offset.Y);

View File

@ -214,11 +214,11 @@ void GUIMainMenu::regenerateGui(v2u32 screensize)
rect += m_topleft_client + v2s32(0, -30); rect += m_topleft_client + v2s32(0, -30);
gui::IGUITabControl *e = Environment->addTabControl( gui::IGUITabControl *e = Environment->addTabControl(
rect, this, true, true, GUI_ID_TAB_CONTROL); rect, this, true, true, GUI_ID_TAB_CONTROL);
e->addTab(L"Singleplayer"); e->addTab(wgettext("Singleplayer"));
e->addTab(L"Multiplayer"); e->addTab(wgettext("Multiplayer"));
e->addTab(L"Advanced"); e->addTab(wgettext("Advanced"));
e->addTab(L"Settings"); e->addTab(wgettext("Settings"));
e->addTab(L"Credits"); e->addTab(wgettext("Credits"));
e->setActiveTab(m_data->selected_tab); e->setActiveTab(m_data->selected_tab);
} }
#endif #endif

View File

@ -778,46 +778,46 @@ int main(int argc, char *argv[])
// List all allowed options // List all allowed options
core::map<std::string, ValueSpec> allowed_options; core::map<std::string, ValueSpec> allowed_options;
allowed_options.insert("help", ValueSpec(VALUETYPE_FLAG, allowed_options.insert("help", ValueSpec(VALUETYPE_FLAG,
"Show allowed options")); _("Show allowed options")));
allowed_options.insert("config", ValueSpec(VALUETYPE_STRING, allowed_options.insert("config", ValueSpec(VALUETYPE_STRING,
"Load configuration from specified file")); _("Load configuration from specified file")));
allowed_options.insert("port", ValueSpec(VALUETYPE_STRING, allowed_options.insert("port", ValueSpec(VALUETYPE_STRING,
"Set network port (UDP)")); _("Set network port (UDP)")));
allowed_options.insert("disable-unittests", ValueSpec(VALUETYPE_FLAG, allowed_options.insert("disable-unittests", ValueSpec(VALUETYPE_FLAG,
"Disable unit tests")); _("Disable unit tests")));
allowed_options.insert("enable-unittests", ValueSpec(VALUETYPE_FLAG, allowed_options.insert("enable-unittests", ValueSpec(VALUETYPE_FLAG,
"Enable unit tests")); _("Enable unit tests")));
allowed_options.insert("map-dir", ValueSpec(VALUETYPE_STRING, allowed_options.insert("map-dir", ValueSpec(VALUETYPE_STRING,
"Same as --world (deprecated)")); _("Same as --world (deprecated)")));
allowed_options.insert("world", ValueSpec(VALUETYPE_STRING, allowed_options.insert("world", ValueSpec(VALUETYPE_STRING,
"Set world path (implies local game) ('list' lists all)")); _("Set world path (implies local game) ('list' lists all)")));
allowed_options.insert("worldname", ValueSpec(VALUETYPE_STRING, allowed_options.insert("worldname", ValueSpec(VALUETYPE_STRING,
"Set world by name (implies local game)")); _("Set world by name (implies local game)")));
allowed_options.insert("info", ValueSpec(VALUETYPE_FLAG, allowed_options.insert("info", ValueSpec(VALUETYPE_FLAG,
"Print more information to console")); _("Print more information to console")));
allowed_options.insert("verbose", ValueSpec(VALUETYPE_FLAG, allowed_options.insert("verbose", ValueSpec(VALUETYPE_FLAG,
"Print even more information to console")); _("Print even more information to console")));
allowed_options.insert("trace", ValueSpec(VALUETYPE_FLAG, allowed_options.insert("trace", ValueSpec(VALUETYPE_FLAG,
"Print enormous amounts of information to log and console")); _("Print enormous amounts of information to log and console")));
allowed_options.insert("logfile", ValueSpec(VALUETYPE_STRING, allowed_options.insert("logfile", ValueSpec(VALUETYPE_STRING,
"Set logfile path ('' = no logging)")); _("Set logfile path ('' = no logging)")));
allowed_options.insert("gameid", ValueSpec(VALUETYPE_STRING, allowed_options.insert("gameid", ValueSpec(VALUETYPE_STRING,
"Set gameid (\"--gameid list\" prints available ones)")); _("Set gameid (\"--gameid list\" prints available ones)")));
#ifndef SERVER #ifndef SERVER
allowed_options.insert("speedtests", ValueSpec(VALUETYPE_FLAG, allowed_options.insert("speedtests", ValueSpec(VALUETYPE_FLAG,
"Run speed tests")); _("Run speed tests")));
allowed_options.insert("address", ValueSpec(VALUETYPE_STRING, allowed_options.insert("address", ValueSpec(VALUETYPE_STRING,
"Address to connect to. ('' = local game)")); _("Address to connect to. ('' = local game)")));
allowed_options.insert("random-input", ValueSpec(VALUETYPE_FLAG, allowed_options.insert("random-input", ValueSpec(VALUETYPE_FLAG,
"Enable random user input, for testing")); _("Enable random user input, for testing")));
allowed_options.insert("server", ValueSpec(VALUETYPE_FLAG, allowed_options.insert("server", ValueSpec(VALUETYPE_FLAG,
"Run dedicated server")); _("Run dedicated server")));
allowed_options.insert("name", ValueSpec(VALUETYPE_STRING, allowed_options.insert("name", ValueSpec(VALUETYPE_STRING,
"Set player name")); _("Set player name")));
allowed_options.insert("password", ValueSpec(VALUETYPE_STRING, allowed_options.insert("password", ValueSpec(VALUETYPE_STRING,
"Set password")); _("Set password")));
allowed_options.insert("go", ValueSpec(VALUETYPE_FLAG, allowed_options.insert("go", ValueSpec(VALUETYPE_FLAG,
"Disable main menu")); _("Disable main menu")));
#endif #endif
Settings cmd_args; Settings cmd_args;
@ -826,7 +826,7 @@ int main(int argc, char *argv[])
if(ret == false || cmd_args.getFlag("help") || cmd_args.exists("nonopt1")) if(ret == false || cmd_args.getFlag("help") || cmd_args.exists("nonopt1"))
{ {
dstream<<"Allowed options:"<<std::endl; dstream<<_("Allowed options:")<<std::endl;
for(core::map<std::string, ValueSpec>::Iterator for(core::map<std::string, ValueSpec>::Iterator
i = allowed_options.getIterator(); i = allowed_options.getIterator();
i.atEnd() == false; i++) i.atEnd() == false; i++)
@ -836,7 +836,7 @@ int main(int argc, char *argv[])
if(i.getNode()->getValue().type == VALUETYPE_FLAG) if(i.getNode()->getValue().type == VALUETYPE_FLAG)
{} {}
else else
os1<<" <value>"; os1<<_(" <value>");
dstream<<padStringRight(os1.str(), 24); dstream<<padStringRight(os1.str(), 24);
if(i.getNode()->getValue().help != NULL) if(i.getNode()->getValue().help != NULL)
@ -853,7 +853,7 @@ int main(int argc, char *argv[])
// If trace is enabled, enable logging of certain things // If trace is enabled, enable logging of certain things
if(cmd_args.getFlag("trace")){ if(cmd_args.getFlag("trace")){
dstream<<"Enabling trace level debug output"<<std::endl; dstream<<_("Enabling trace level debug output")<<std::endl;
log_trace_level_enabled = true; log_trace_level_enabled = true;
dout_con_ptr = &verbosestream; // this is somewhat old crap dout_con_ptr = &verbosestream; // this is somewhat old crap
socket_enable_debug_output = true; // socket doesn't use log.h socket_enable_debug_output = true; // socket doesn't use log.h
@ -912,7 +912,7 @@ int main(int argc, char *argv[])
// List worlds if requested // List worlds if requested
if(cmd_args.exists("world") && cmd_args.get("world") == "list"){ if(cmd_args.exists("world") && cmd_args.get("world") == "list"){
dstream<<"Available worlds:"<<std::endl; dstream<<_("Available worlds:")<<std::endl;
std::vector<WorldSpec> worldspecs = getAvailableWorlds(); std::vector<WorldSpec> worldspecs = getAvailableWorlds();
print_worldspecs(worldspecs, dstream); print_worldspecs(worldspecs, dstream);
return 0; return 0;
@ -920,7 +920,7 @@ int main(int argc, char *argv[])
// Print startup message // Print startup message
infostream<<PROJECT_NAME<< infostream<<PROJECT_NAME<<
" with SER_FMT_VER_HIGHEST="<<(int)SER_FMT_VER_HIGHEST " "<<_("with")<<" SER_FMT_VER_HIGHEST="<<(int)SER_FMT_VER_HIGHEST
<<", "<<BUILD_INFO <<", "<<BUILD_INFO
<<std::endl; <<std::endl;
@ -1032,7 +1032,7 @@ int main(int argc, char *argv[])
if(commanded_world.size() > worldmt.size() && if(commanded_world.size() > worldmt.size() &&
commanded_world.substr(commanded_world.size()-worldmt.size()) commanded_world.substr(commanded_world.size()-worldmt.size())
== worldmt){ == worldmt){
dstream<<"Supplied world.mt file - stripping it off."<<std::endl; dstream<<_("Supplied world.mt file - stripping it off.")<<std::endl;
commanded_world = commanded_world.substr( commanded_world = commanded_world.substr(
0, commanded_world.size()-worldmt.size()); 0, commanded_world.size()-worldmt.size());
} }
@ -1047,8 +1047,8 @@ int main(int argc, char *argv[])
std::string name = worldspecs[i].name; std::string name = worldspecs[i].name;
if(name == commanded_worldname){ if(name == commanded_worldname){
if(commanded_world != ""){ if(commanded_world != ""){
dstream<<"--worldname takes precedence over previously " dstream<<_("--worldname takes precedence over previously "
<<"selected world."<<std::endl; "selected world.")<<std::endl;
} }
commanded_world = worldspecs[i].path; commanded_world = worldspecs[i].path;
found = true; found = true;
@ -1056,8 +1056,8 @@ int main(int argc, char *argv[])
} }
} }
if(!found){ if(!found){
dstream<<"World '"<<commanded_worldname<<"' not " dstream<<_("World")<<" '"<<commanded_worldname<<_("' not "
<<"available. Available worlds:"<<std::endl; "available. Available worlds:")<<std::endl;
print_worldspecs(worldspecs, dstream); print_worldspecs(worldspecs, dstream);
return 1; return 1;
} }
@ -1092,7 +1092,7 @@ int main(int argc, char *argv[])
// World directory // World directory
std::string world_path; std::string world_path;
verbosestream<<"Determining world path"<<std::endl; verbosestream<<_("Determining world path")<<std::endl;
bool is_legacy_world = false; bool is_legacy_world = false;
// If a world was commanded, use it // If a world was commanded, use it
if(commanded_world != ""){ if(commanded_world != ""){
@ -1116,8 +1116,8 @@ int main(int argc, char *argv[])
} }
} }
if(world_path == ""){ if(world_path == ""){
dstream<<"World '"<<commanded_worldname<<"' not " dstream<<_("World")<<" '"<<commanded_worldname<<"' "<<_("not "
<<"available. Available worlds:"<<std::endl; "available. Available worlds:")<<std::endl;
print_worldspecs(worldspecs, dstream); print_worldspecs(worldspecs, dstream);
return 1; return 1;
} }
@ -1125,13 +1125,13 @@ int main(int argc, char *argv[])
// If there is only a single world, use it // If there is only a single world, use it
if(worldspecs.size() == 1){ if(worldspecs.size() == 1){
world_path = worldspecs[0].path; world_path = worldspecs[0].path;
dstream<<"Automatically selecting world at [" dstream<<_("Automatically selecting world at")<<" ["
<<world_path<<"]"<<std::endl; <<world_path<<"]"<<std::endl;
// If there are multiple worlds, list them // If there are multiple worlds, list them
} else if(worldspecs.size() > 1){ } else if(worldspecs.size() > 1){
dstream<<"Multiple worlds are available."<<std::endl; dstream<<_("Multiple worlds are available.")<<std::endl;
dstream<<"Please select one using --worldname <name>" dstream<<_("Please select one using --worldname <name>"
<<" or --world <path>"<<std::endl; " or --world <path>")<<std::endl;
print_worldspecs(worldspecs, dstream); print_worldspecs(worldspecs, dstream);
return 1; return 1;
// If there are no worlds, automatically create a new one // If there are no worlds, automatically create a new one
@ -1148,11 +1148,11 @@ int main(int argc, char *argv[])
errorstream<<"No world path specified or found."<<std::endl; errorstream<<"No world path specified or found."<<std::endl;
return 1; return 1;
} }
verbosestream<<"Using world path ["<<world_path<<"]"<<std::endl; verbosestream<<_("Using world path")<<" ["<<world_path<<"]"<<std::endl;
// We need a gamespec. // We need a gamespec.
SubgameSpec gamespec; SubgameSpec gamespec;
verbosestream<<"Determining gameid/gamespec"<<std::endl; verbosestream<<_("Determining gameid/gamespec")<<std::endl;
// If world doesn't exist // If world doesn't exist
if(!getWorldExists(world_path)) if(!getWorldExists(world_path))
{ {
@ -1191,7 +1191,7 @@ int main(int argc, char *argv[])
<<std::endl; <<std::endl;
return 1; return 1;
} }
verbosestream<<"Using gameid ["<<gamespec.id<<"]"<<std::endl; verbosestream<<_("Using gameid")<<" ["<<gamespec.id<<"]"<<std::endl;
// Create server // Create server
Server server(world_path, configpath, gamespec, false); Server server(world_path, configpath, gamespec, false);
@ -1376,7 +1376,7 @@ int main(int argc, char *argv[])
while(device->run() && kill == false) while(device->run() && kill == false)
{ {
// Set the window caption // Set the window caption
device->setWindowCaption(L"Minetest [Main Menu]"); device->setWindowCaption((std::wstring(L"Minetest [")+wgettext("Main Menu")+L"]").c_str());
// This is used for catching disconnects // This is used for catching disconnects
try try
@ -1461,7 +1461,7 @@ int main(int argc, char *argv[])
// If a world was commanded, append and select it // If a world was commanded, append and select it
if(commanded_world != ""){ if(commanded_world != ""){
std::string gameid = getWorldGameId(commanded_world, true); std::string gameid = getWorldGameId(commanded_world, true);
std::string name = "[--world parameter]"; std::string name = _("[--world parameter]");
if(gameid == ""){ if(gameid == ""){
gameid = g_settings->get("default_game"); gameid = g_settings->get("default_game");
name += " [new]"; name += " [new]";
@ -1598,7 +1598,7 @@ int main(int argc, char *argv[])
+ wide_to_narrow(menudata.create_world_name); + wide_to_narrow(menudata.create_world_name);
// Create world if it doesn't exist // Create world if it doesn't exist
if(!initializeWorld(path, menudata.create_world_gameid)){ if(!initializeWorld(path, menudata.create_world_gameid)){
error_message = L"Failed to initialize world"; error_message = wgettext("Failed to initialize world");
errorstream<<wide_to_narrow(error_message)<<std::endl; errorstream<<wide_to_narrow(error_message)<<std::endl;
continue; continue;
} }
@ -1610,15 +1610,15 @@ int main(int argc, char *argv[])
if(current_address == "") if(current_address == "")
{ {
if(menudata.selected_world == -1){ if(menudata.selected_world == -1){
error_message = L"No world selected and no address " error_message = wgettext("No world selected and no address "
L"provided. Nothing to do."; "provided. Nothing to do.");
errorstream<<wide_to_narrow(error_message)<<std::endl; errorstream<<wide_to_narrow(error_message)<<std::endl;
continue; continue;
} }
// Load gamespec for required game // Load gamespec for required game
gamespec = findWorldSubgame(worldspec.path); gamespec = findWorldSubgame(worldspec.path);
if(!gamespec.isValid() && !commanded_gamespec.isValid()){ if(!gamespec.isValid() && !commanded_gamespec.isValid()){
error_message = L"Could not find or load game \"" error_message = wgettext("Could not find or load game \"")
+ narrow_to_wide(worldspec.gameid) + L"\""; + narrow_to_wide(worldspec.gameid) + L"\"";
errorstream<<wide_to_narrow(error_message)<<std::endl; errorstream<<wide_to_narrow(error_message)<<std::endl;
continue; continue;
@ -1632,7 +1632,8 @@ int main(int argc, char *argv[])
} }
if(!gamespec.isValid()){ if(!gamespec.isValid()){
error_message = L"Invalid gamespec. (world_gameid=" error_message = wgettext("Invalid gamespec.");
error_message += L" (world_gameid="
+narrow_to_wide(worldspec.gameid)+L")"; +narrow_to_wide(worldspec.gameid)+L")";
errorstream<<wide_to_narrow(error_message)<<std::endl; errorstream<<wide_to_narrow(error_message)<<std::endl;
continue; continue;
@ -1671,7 +1672,7 @@ int main(int argc, char *argv[])
} //try } //try
catch(con::PeerNotFoundException &e) catch(con::PeerNotFoundException &e)
{ {
error_message = L"Connection error (timed out?)"; error_message = wgettext("Connection error (timed out?)");
errorstream<<wide_to_narrow(error_message)<<std::endl; errorstream<<wide_to_narrow(error_message)<<std::endl;
} }
catch(ServerError &e) catch(ServerError &e)
@ -1682,12 +1683,12 @@ int main(int argc, char *argv[])
catch(ModError &e) catch(ModError &e)
{ {
errorstream<<e.what()<<std::endl; errorstream<<e.what()<<std::endl;
error_message = narrow_to_wide(e.what()) + L"\nCheck debug.txt for details."; error_message = narrow_to_wide(e.what()) + wgettext("\nCheck debug.txt for details.");
} }
#ifdef NDEBUG #ifdef NDEBUG
catch(std::exception &e) catch(std::exception &e)
{ {
std::string narrow_message = "Some exception, what()=\""; std::string narrow_message = "Some exception: \"";
narrow_message += e.what(); narrow_message += e.what();
narrow_message += "\""; narrow_message += "\"";
errorstream<<narrow_message<<std::endl; errorstream<<narrow_message<<std::endl;