@@ -1282,9 +1282,8 @@ bool Game::createSingleplayerServer(const std::string &map_dir,
12821282 }
12831283
12841284 if (bind_addr.isIPv6 () && !g_settings->getBool (" enable_ipv6" )) {
1285- *error_message = " Unable to listen on " +
1286- bind_addr.serializeString () +
1287- " because IPv6 is disabled" ;
1285+ *error_message = fmtgettext (" Unable to listen on %s because IPv6 is disabled" ,
1286+ bind_addr.serializeString ().c_str ());
12881287 errorstream << *error_message << std::endl;
12891288 return false ;
12901289 }
@@ -1317,7 +1316,7 @@ bool Game::createClient(const GameStartData &start_data)
13171316 if (!could_connect) {
13181317 if (error_message->empty () && !connect_aborted) {
13191318 // Should not happen if error messages are set properly
1320- *error_message = " Connection failed for unknown reason" ;
1319+ *error_message = gettext ( " Connection failed for unknown reason" ) ;
13211320 errorstream << *error_message << std::endl;
13221321 }
13231322 return false ;
@@ -1326,7 +1325,7 @@ bool Game::createClient(const GameStartData &start_data)
13261325 if (!getServerContent (&connect_aborted)) {
13271326 if (error_message->empty () && !connect_aborted) {
13281327 // Should not happen if error messages are set properly
1329- *error_message = " Connection failed for unknown reason" ;
1328+ *error_message = gettext ( " Connection failed for unknown reason" ) ;
13301329 errorstream << *error_message << std::endl;
13311330 }
13321331 return false ;
@@ -1342,8 +1341,8 @@ bool Game::createClient(const GameStartData &start_data)
13421341 /* Camera
13431342 */
13441343 camera = new Camera (*draw_control, client, m_rendering_engine);
1345- if (!camera-> successfullyCreated (*error_message ))
1346- return false ;
1344+ if (client-> modsLoaded ( ))
1345+ client-> getScript ()-> on_camera_ready (camera) ;
13471346 client->setCamera (camera);
13481347
13491348 /* Clouds
@@ -1456,15 +1455,14 @@ bool Game::connectToServer(const GameStartData &start_data,
14561455 local_server_mode = true ;
14571456 }
14581457 } catch (ResolveError &e) {
1459- *error_message = std::string (" Couldn't resolve address: " ) + e.what ();
1458+ *error_message = fmtgettext (" Couldn't resolve address: %s" , e.what ());
1459+
14601460 errorstream << *error_message << std::endl;
14611461 return false ;
14621462 }
14631463
14641464 if (connect_address.isIPv6 () && !g_settings->getBool (" enable_ipv6" )) {
1465- *error_message = " Unable to connect to " +
1466- connect_address.serializeString () +
1467- " because IPv6 is disabled" ;
1465+ *error_message = fmtgettext (" Unable to connect to %s because IPv6 is disabled" , connect_address.serializeString ().c_str ());
14681466 errorstream << *error_message << std::endl;
14691467 return false ;
14701468 }
@@ -1518,8 +1516,7 @@ bool Game::connectToServer(const GameStartData &start_data,
15181516 break ;
15191517
15201518 if (client->accessDenied ()) {
1521- *error_message = " Access denied. Reason: "
1522- + client->accessDeniedReason ();
1519+ *error_message = fmtgettext (" Access denied. Reason: %s" , client->accessDeniedReason ().c_str ());
15231520 *reconnect_requested = client->reconnectRequested ();
15241521 errorstream << *error_message << std::endl;
15251522 break ;
@@ -1545,7 +1542,7 @@ bool Game::connectToServer(const GameStartData &start_data,
15451542 wait_time += dtime;
15461543 // Only time out if we aren't waiting for the server we started
15471544 if (!start_data.address .empty () && wait_time > 10 ) {
1548- *error_message = " Connection timed out." ;
1545+ *error_message = gettext ( " Connection timed out." ) ;
15491546 errorstream << *error_message << std::endl;
15501547 break ;
15511548 }
@@ -1593,7 +1590,7 @@ bool Game::getServerContent(bool *aborted)
15931590 return false ;
15941591
15951592 if (client->getState () < LC_Init) {
1596- *error_message = " Client disconnected" ;
1593+ *error_message = gettext ( " Client disconnected" ) ;
15971594 errorstream << *error_message << std::endl;
15981595 return false ;
15991596 }
@@ -1675,8 +1672,7 @@ inline void Game::updateInteractTimers(f32 dtime)
16751672inline bool Game::checkConnection ()
16761673{
16771674 if (client->accessDenied ()) {
1678- *error_message = " Access denied. Reason: "
1679- + client->accessDeniedReason ();
1675+ *error_message = fmtgettext (" Access denied. Reason: %s" , client->accessDeniedReason ().c_str ());
16801676 *reconnect_requested = client->reconnectRequested ();
16811677 errorstream << *error_message << std::endl;
16821678 return false ;
@@ -4351,14 +4347,15 @@ void the_game(bool *kill,
43514347 }
43524348
43534349 } catch (SerializationError &e) {
4354- error_message = std::string ( " A serialization error occurred: \n " )
4355- + e. what ( ) + " \n\n The server is probably "
4356- " running a different version of " PROJECT_NAME_C " . " ;
4350+ const std::string ver_err = fmtgettext ( " The server is probably running a different version of %s. " , PROJECT_NAME_C);
4351+ error_message = strgettext ( " A serialization error occurred: " ) +" \n "
4352+ + e. what () + " \n\n " + ver_err ;
43574353 errorstream << error_message << std::endl;
43584354 } catch (ServerError &e) {
43594355 error_message = e.what ();
43604356 errorstream << " ServerError: " << error_message << std::endl;
43614357 } catch (ModError &e) {
4358+ // DO NOT TRANSLATE the `ModError`, it's used by ui.lua
43624359 error_message = std::string (" ModError: " ) + e.what () +
43634360 strgettext (" \n Check debug.txt for details." );
43644361 errorstream << error_message << std::endl;
0 commit comments