mirror of
https://github.com/Grasscutters/Grasscutter.git
synced 2025-12-19 18:34:49 +01:00
Add multilingual support
Add multilingual support
This commit is contained in:
@@ -32,7 +32,7 @@ public final class DispatchHttpJsonHandler implements HttpContextHandler {
|
||||
public void handle(Request req, Response res) throws IOException {
|
||||
// Checking for ALL here isn't required as when ALL is enabled enableDevLogging() gets enabled
|
||||
if(Grasscutter.getConfig().DebugMode == ServerDebugMode.MISSING && Arrays.stream(missingRoutes).anyMatch(x -> x == req.baseUrl())) {
|
||||
Grasscutter.getLogger().info(String.format("[Dispatch] Client %s %s request: %s", req.ip(), req.method(), req.baseUrl()) + (Grasscutter.getConfig().DebugMode == ServerDebugMode.MISSING ? "(MISSING)" : ""));
|
||||
Grasscutter.getLogger().info(String.format(Grasscutter.getLanguage().Client_request, req.ip(), req.method(), req.baseUrl()) + (Grasscutter.getConfig().DebugMode == ServerDebugMode.MISSING ? "(MISSING)" : ""));
|
||||
}
|
||||
res.send(response);
|
||||
}
|
||||
|
||||
@@ -211,21 +211,21 @@ public final class DispatchServer {
|
||||
sslContextFactory.setKeyStorePassword(Grasscutter.getConfig().getDispatchOptions().KeystorePassword);
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
Grasscutter.getLogger().warn("[Dispatch] Unable to load keystore. Trying default keystore password...");
|
||||
Grasscutter.getLogger().warn(Grasscutter.getLanguage().Not_load_keystore);
|
||||
|
||||
try {
|
||||
sslContextFactory.setKeyStorePath(keystoreFile.getPath());
|
||||
sslContextFactory.setKeyStorePassword("123456");
|
||||
Grasscutter.getLogger().warn("[Dispatch] The default keystore password was loaded successfully. Please consider setting the password to 123456 in config.json.");
|
||||
Grasscutter.getLogger().warn(Grasscutter.getLanguage().Use_default_keystore);
|
||||
} catch (Exception e2) {
|
||||
Grasscutter.getLogger().warn("[Dispatch] Error while loading keystore!");
|
||||
Grasscutter.getLogger().warn(Grasscutter.getLanguage().Load_keystore_error);
|
||||
e2.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
serverConnector = new ServerConnector(server, sslContextFactory);
|
||||
} else {
|
||||
Grasscutter.getLogger().warn("[Dispatch] No SSL cert found! Falling back to HTTP server.");
|
||||
Grasscutter.getLogger().warn(Grasscutter.getLanguage().Not_find_ssl_cert);
|
||||
Grasscutter.getConfig().getDispatchOptions().UseSSL = false;
|
||||
|
||||
serverConnector = new ServerConnector(server);
|
||||
@@ -245,11 +245,11 @@ public final class DispatchServer {
|
||||
}
|
||||
});
|
||||
|
||||
httpServer.get("/", (req, res) -> res.send("Welcome to Grasscutter"));
|
||||
httpServer.get("/", (req, res) -> res.send(Grasscutter.getLanguage().Welcome));
|
||||
|
||||
httpServer.raw().error(404, ctx -> {
|
||||
if(Grasscutter.getConfig().DebugMode == ServerDebugMode.MISSING) {
|
||||
Grasscutter.getLogger().info(String.format("[Dispatch] Potential unhandled %s request: %s", ctx.method(), ctx.url()));
|
||||
Grasscutter.getLogger().info(String.format(Grasscutter.getLanguage().Potential_unhandled_request, ctx.method(), ctx.url()));
|
||||
}
|
||||
ctx.contentType("text/html");
|
||||
ctx.result("<!doctype html><html lang=\"en\"><body><img src=\"https://http.cat/404\" /></body></html>"); // I'm like 70% sure this won't break anything.
|
||||
@@ -327,7 +327,7 @@ public final class DispatchServer {
|
||||
return;
|
||||
}
|
||||
LoginResultJson responseData = new LoginResultJson();
|
||||
Grasscutter.getLogger().info(String.format("[Dispatch] Client %s is trying to log in via token", req.ip()));
|
||||
Grasscutter.getLogger().info(String.format(Grasscutter.getLanguage().Client_login_token, req.ip()));
|
||||
|
||||
// Login
|
||||
Account account = DatabaseHelper.getAccountById(requestData.uid);
|
||||
@@ -335,17 +335,17 @@ public final class DispatchServer {
|
||||
// Test
|
||||
if (account == null || !account.getSessionKey().equals(requestData.token)) {
|
||||
responseData.retcode = -111;
|
||||
responseData.message = "Game account cache information error";
|
||||
responseData.message = Grasscutter.getLanguage().Game_account_cache_error;
|
||||
|
||||
Grasscutter.getLogger()
|
||||
.info(String.format("[Dispatch] Client %s failed to log in via token", req.ip()));
|
||||
.info(String.format(Grasscutter.getLanguage().Client_token_login_failed, req.ip()));
|
||||
} else {
|
||||
responseData.message = "OK";
|
||||
responseData.data.account.uid = requestData.uid;
|
||||
responseData.data.account.token = requestData.token;
|
||||
responseData.data.account.email = account.getEmail();
|
||||
|
||||
Grasscutter.getLogger().info(String.format("[Dispatch] Client %s logged in via token as %s",
|
||||
Grasscutter.getLogger().info(String.format(Grasscutter.getLanguage().Client_login_in_token,
|
||||
req.ip(), responseData.data.account.uid));
|
||||
}
|
||||
|
||||
@@ -376,10 +376,10 @@ public final class DispatchServer {
|
||||
// Test
|
||||
if (account == null || !account.getSessionKey().equals(loginData.token)) {
|
||||
responseData.retcode = -201;
|
||||
responseData.message = "Wrong session key.";
|
||||
responseData.message = Grasscutter.getLanguage().Wrong_session_key;
|
||||
|
||||
Grasscutter.getLogger().info(
|
||||
String.format("[Dispatch] Client %s failed to exchange combo token", req.ip()));
|
||||
String.format(Grasscutter.getLanguage().Client_failed_exchange_combo_token, req.ip()));
|
||||
} else {
|
||||
responseData.message = "OK";
|
||||
responseData.data.open_id = loginData.uid;
|
||||
@@ -387,7 +387,7 @@ public final class DispatchServer {
|
||||
responseData.data.combo_token = account.generateLoginToken();
|
||||
|
||||
Grasscutter.getLogger().info(
|
||||
String.format("[Dispatch] Client %s succeed to exchange combo token", req.ip()));
|
||||
String.format(Grasscutter.getLanguage().Client_exchange_combo_token, req.ip()));
|
||||
}
|
||||
|
||||
res.send(responseData);
|
||||
@@ -453,7 +453,7 @@ public final class DispatchServer {
|
||||
httpServer.get("/gcstatic/*", new StaticFileHandler());
|
||||
|
||||
httpServer.listen(Grasscutter.getConfig().getDispatchOptions().Port);
|
||||
Grasscutter.getLogger().info("[Dispatch] Dispatch server started on port " + httpServer.raw().port());
|
||||
Grasscutter.getLogger().info(String.format(Grasscutter.getLanguage().Dispatch_start_server_port, httpServer.raw().port()));
|
||||
}
|
||||
|
||||
private Map<String, String> parseQueryString(String qs) {
|
||||
|
||||
@@ -52,21 +52,21 @@ public class DefaultAuthenticationHandler implements AuthenticationHandler {
|
||||
responseData.data.account.email = account.getEmail();
|
||||
|
||||
Grasscutter.getLogger()
|
||||
.info(String.format("[Dispatch] Client %s failed to log in: Account %s created",
|
||||
.info(String.format(Grasscutter.getLanguage().Client_failed_login_account_create,
|
||||
req.ip(), responseData.data.account.uid));
|
||||
} else {
|
||||
responseData.retcode = -201;
|
||||
responseData.message = "Username not found, create failed.";
|
||||
responseData.message = Grasscutter.getLanguage().Username_not_found_create_failed;
|
||||
|
||||
Grasscutter.getLogger().info(String.format(
|
||||
"[Dispatch] Client %s failed to log in: Account create failed", req.ip()));
|
||||
Grasscutter.getLogger().info(String.format(Grasscutter.getLanguage().Client_failed_login_account_create_failed
|
||||
, req.ip()));
|
||||
}
|
||||
} else {
|
||||
responseData.retcode = -201;
|
||||
responseData.message = "Username not found.";
|
||||
responseData.message = Grasscutter.getLanguage().Username_not_found;
|
||||
|
||||
Grasscutter.getLogger().info(String
|
||||
.format("[Dispatch] Client %s failed to log in: Account no found", req.ip()));
|
||||
.format(Grasscutter.getLanguage().Client_failed_login_account_no_found, req.ip()));
|
||||
}
|
||||
} else {
|
||||
// Account was found, log the player in
|
||||
@@ -75,7 +75,7 @@ public class DefaultAuthenticationHandler implements AuthenticationHandler {
|
||||
responseData.data.account.token = account.generateSessionKey();
|
||||
responseData.data.account.email = account.getEmail();
|
||||
|
||||
Grasscutter.getLogger().info(String.format("[Dispatch] Client %s logged in as %s", req.ip(),
|
||||
Grasscutter.getLogger().info(String.format(Grasscutter.getLanguage().Client_login, req.ip(),
|
||||
responseData.data.account.uid));
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user