Skip to content

Commit 0843c54

Browse files
committed
feat(本地化): 添加玩家和服务上下线回调的本地化支持
添加Launcher模块中玩家和服务上下线回调的本地化键值及实现 将硬编码的日志消息替换为本地化字符串调用 更新中英文资源文件包含新增的本地化内容
1 parent c55d9ca commit 0843c54

5 files changed

Lines changed: 106 additions & 11 deletions

File tree

GameFrameX.Launcher/StartUp/Discovery/AppStartUpDiscoveryCenter.cs

Lines changed: 27 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@
3737
using GameFrameX.DiscoveryCenterManager.Server;
3838
using GameFrameX.Foundation.Extensions;
3939
using GameFrameX.Foundation.Utility;
40+
using GameFrameX.Foundation.Localization.Core;
4041

4142
namespace GameFrameX.Launcher.StartUp.Discovery;
4243

@@ -61,7 +62,8 @@ public override async Task StartAsync()
6162
}
6263
catch (Exception e)
6364
{
64-
LogHelper.Warning($"SERVER {ServerType} EXECUTION EXCEPTION");
65+
LogHelper.Warning(LocalizationService.GetString(
66+
GameFrameX.Localization.Keys.Launcher.ServerExecutionException, e.Message));
6567
LogHelper.Fatal(e);
6668
}
6769

@@ -95,7 +97,9 @@ private async void SendMessage(IAppSession session, INetworkMessage message)
9597
{
9698
var serverInfo = _namingServiceManager.GetNodeBySessionId(session.SessionID);
9799
var toServerType = serverInfo != null ? serverInfo.Type : ServerType;
98-
LogHelper.Debug($"---发送[{ServerType} To {toServerType}] {debugMessage.ToFormatMessageString()}");
100+
LogHelper.Debug(LocalizationService.GetString(
101+
GameFrameX.Localization.Keys.Launcher.SendMessage,
102+
ServerType, toServerType, debugMessage.ToFormatMessageString()));
99103
}
100104
}
101105

@@ -113,7 +117,9 @@ protected override ValueTask PackageHandler(IAppSession session, IMessage messag
113117
{
114118
var serverInfo = _namingServiceManager.GetNodeBySessionId(session.SessionID);
115119
var from = serverInfo != null ? serverInfo.Type.ToString() : ServerType.ToString();
116-
LogHelper.Debug($"---收到[{from} To {ServerType}] {message.ToFormatMessageString()}");
120+
LogHelper.Debug(LocalizationService.GetString(
121+
GameFrameX.Localization.Keys.Launcher.ReceiveMessage,
122+
from, ServerType, message.ToFormatMessageString()));
117123
}
118124
}
119125

@@ -161,15 +167,19 @@ protected override ValueTask PackageHandler(IAppSession session, IMessage messag
161167
var reqRegisterPlayer = (ReqPlayerRegister)messageObject.DeserializeMessageObject();
162168
// 注册玩家
163169
NamingPlayerManager.Instance.Add(reqRegisterPlayer.PlayerId, reqRegisterPlayer.ServerId, reqRegisterPlayer.ServerInstanceId);
164-
LogHelper.Info($"注册玩家成功:{reqRegisterPlayer.PlayerId} {reqRegisterPlayer}");
170+
LogHelper.Info(LocalizationService.GetString(
171+
GameFrameX.Localization.Keys.Launcher.PlayerRegisterSuccess,
172+
reqRegisterPlayer.PlayerId, reqRegisterPlayer));
165173
return ValueTask.CompletedTask;
166174
}
167175
case (byte)MessageOperationType.PlayerUnRegister:
168176
{
169177
var reqRegisterPlayer = (ReqPlayerUnRegister)messageObject.DeserializeMessageObject();
170178
// 注销玩家
171179
NamingPlayerManager.Instance.TryRemove(reqRegisterPlayer.PlayerId, out var playerInfo);
172-
LogHelper.Info($"注销玩家成功:{reqRegisterPlayer.PlayerId} {reqRegisterPlayer}");
180+
LogHelper.Info(LocalizationService.GetString(
181+
GameFrameX.Localization.Keys.Launcher.PlayerUnregisterSuccess,
182+
reqRegisterPlayer.PlayerId, reqRegisterPlayer));
173183
return ValueTask.CompletedTask;
174184
}
175185
case (byte)MessageOperationType.ServiceRegister:
@@ -178,15 +188,19 @@ protected override ValueTask PackageHandler(IAppSession session, IMessage messag
178188
// 注册服务
179189
var serviceInfo = new ServiceInfo(reqRegisterServer.ServerType, session, session.SessionID, reqRegisterServer.ServerName, reqRegisterServer.ServerId, reqRegisterServer.ServerInstanceId, reqRegisterServer.InnerHost, reqRegisterServer.InnerPort, reqRegisterServer.OuterHost, reqRegisterServer.OuterPort);
180190
_namingServiceManager.Add(serviceInfo);
181-
LogHelper.Info($"注册服务成功:{reqRegisterServer.ServerType} {reqRegisterServer.ServerName} {reqRegisterServer}");
191+
LogHelper.Info(LocalizationService.GetString(
192+
GameFrameX.Localization.Keys.Launcher.ServiceRegisterSuccess,
193+
reqRegisterServer.ServerType, reqRegisterServer.ServerName, reqRegisterServer));
182194
return ValueTask.CompletedTask;
183195
}
184196
case (byte)MessageOperationType.ServiceUnRegister:
185197
{
186198
var reqServiceUnRegister = (ReqServiceUnRegister)messageObject.DeserializeMessageObject();
187199
// 注销服务
188200
_namingServiceManager.TryRemoveByInstanceId(reqServiceUnRegister.ServerInstanceId);
189-
LogHelper.Info($"注销服务成功:{reqServiceUnRegister.ServerId} {reqServiceUnRegister.ServerInstanceId} ");
201+
LogHelper.Info(LocalizationService.GetString(
202+
GameFrameX.Localization.Keys.Launcher.ServiceUnregisterSuccess,
203+
reqServiceUnRegister.ServerId, reqServiceUnRegister.ServerInstanceId));
190204
return ValueTask.CompletedTask;
191205
}
192206
case (byte)MessageOperationType.ConnectService:
@@ -225,13 +239,17 @@ protected override ValueTask PackageHandler(IAppSession session, IMessage messag
225239

226240
protected override ValueTask OnConnected(IAppSession appSession)
227241
{
228-
LogHelper.Info("有外部服务连接到中心服务器成功" + "。链接信息:SessionID:" + appSession.SessionID + " RemoteEndPoint:" + appSession.RemoteEndPoint);
242+
LogHelper.Info(LocalizationService.GetString(
243+
GameFrameX.Localization.Keys.Launcher.ExternalServiceConnected,
244+
appSession.SessionID, appSession.RemoteEndPoint));
229245
return ValueTask.CompletedTask;
230246
}
231247

232248
protected override ValueTask OnDisconnected(IAppSession appSession, CloseEventArgs args)
233249
{
234-
LogHelper.Info("有外部服务从中心服务器断开。链接信息:断开原因:" + args.Reason);
250+
LogHelper.Info(LocalizationService.GetString(
251+
GameFrameX.Localization.Keys.Launcher.ExternalServiceDisconnected,
252+
args.Reason));
235253
_namingServiceManager.TryRemoveBySessionId(appSession.SessionID);
236254
return ValueTask.CompletedTask;
237255
}

GameFrameX.Launcher/StartUp/Discovery/AppStartUpDiscoveryCenterByServer.cs

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@
3434
using GameFrameX.Foundation.Json;
3535
using GameFrameX.NetWork.Abstractions;
3636
using GameFrameX.Proto.BuiltIn;
37+
using GameFrameX.Foundation.Localization.Core;
3738
using Mapster;
3839

3940
namespace GameFrameX.Launcher.StartUp.Discovery;
@@ -56,7 +57,9 @@ public AppStartUpDiscoveryCenter()
5657

5758
private void OnPlayerRemove(IPlayerInfo playerInfo)
5859
{
59-
LogHelper.DebugConsole("玩家下线回调,通知其他服务器:" + JsonHelper.Serialize(playerInfo));
60+
LogHelper.DebugConsole(LocalizationService.GetString(
61+
GameFrameX.Localization.Keys.Launcher.PlayerOfflineCallback,
62+
JsonHelper.Serialize(playerInfo)));
6063

6164
var serverList = _namingServiceManager.GetOuterNodes();
6265
serverList = serverList.Where(m => m.ServerId == 8000).ToList();
@@ -73,7 +76,9 @@ private void OnPlayerRemove(IPlayerInfo playerInfo)
7376

7477
private void OnPlayerAdd(IPlayerInfo playerInfo)
7578
{
76-
LogHelper.DebugConsole("玩家上线回调,通知其他服务器:" + JsonHelper.Serialize(playerInfo));
79+
LogHelper.DebugConsole(LocalizationService.GetString(
80+
GameFrameX.Localization.Keys.Launcher.PlayerOnlineCallback,
81+
JsonHelper.Serialize(playerInfo)));
7782
var serverList = _namingServiceManager.GetOuterNodes();
7883
serverList = serverList.Where(m => m.ServerId == GlobalConst.SocialServiceServerId).ToList();
7984

GameFrameX.Localization/Keys.Launcher.cs

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -258,5 +258,45 @@ public static class Launcher
258258
/// 参数: {0} - 断开原因
259259
/// </remarks>
260260
public const string ExternalServiceDisconnected = "Launcher.ExternalServiceDisconnected";
261+
262+
/// <summary>
263+
/// 玩家下线回调,通知其他服务器: {0} / Player offline callback, notify other servers: {0}
264+
/// </summary>
265+
/// <remarks>
266+
/// 键名: Launcher.PlayerOfflineCallback
267+
/// 用途: 记录玩家下线时的调试信息
268+
/// 参数: {0} - 玩家信息的JSON序列化结果
269+
/// </remarks>
270+
public const string PlayerOfflineCallback = "Launcher.PlayerOfflineCallback";
271+
272+
/// <summary>
273+
/// 玩家上线回调,通知其他服务器: {0} / Player online callback, notify other servers: {0}
274+
/// </summary>
275+
/// <remarks>
276+
/// 键名: Launcher.PlayerOnlineCallback
277+
/// 用途: 记录玩家上线时的调试信息
278+
/// 参数: {0} - 玩家信息的JSON序列化结果
279+
/// </remarks>
280+
public const string PlayerOnlineCallback = "Launcher.PlayerOnlineCallback";
281+
282+
/// <summary>
283+
/// 服务下线回调,通知其他服务器: {0} / Service offline callback, notify other servers: {0}
284+
/// </summary>
285+
/// <remarks>
286+
/// 键名: Launcher.ServiceOfflineCallback
287+
/// 用途: 记录服务下线时的调试信息
288+
/// 参数: {0} - 服务信息
289+
/// </remarks>
290+
public const string ServiceOfflineCallback = "Launcher.ServiceOfflineCallback";
291+
292+
/// <summary>
293+
/// 服务上线回调,通知其他服务器: {0} / Service online callback, notify other servers: {0}
294+
/// </summary>
295+
/// <remarks>
296+
/// 键名: Launcher.ServiceOnlineCallback
297+
/// 用途: 记录服务上线时的调试信息
298+
/// 参数: {0} - 服务信息
299+
/// </remarks>
300+
public const string ServiceOnlineCallback = "Launcher.ServiceOnlineCallback";
261301
}
262302
}

GameFrameX.Localization/Localization/Messages/Resources.resx

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -428,6 +428,22 @@
428428
<value>External service disconnected from discovery center. Connection info: Disconnect reason:{0}</value>
429429
</data>
430430

431+
<data name="Launcher.PlayerOfflineCallback" xml:space="preserve">
432+
<value>Player offline callback, notify other servers: {0}</value>
433+
</data>
434+
435+
<data name="Launcher.PlayerOnlineCallback" xml:space="preserve">
436+
<value>Player online callback, notify other servers: {0}</value>
437+
</data>
438+
439+
<data name="Launcher.ServiceOfflineCallback" xml:space="preserve">
440+
<value>Service offline callback, notify other servers: {0}</value>
441+
</data>
442+
443+
<data name="Launcher.ServiceOnlineCallback" xml:space="preserve">
444+
<value>Service online callback, notify other servers: {0}</value>
445+
</data>
446+
431447
<!-- StartUp module log and error keys -->
432448
<data name="StartUp.ServerStopped" xml:space="preserve">
433449
<value>Server type: {0} stopped! Termination reason: {1} Configuration: {2}</value>

GameFrameX.Localization/Localization/Messages/Resources.zh-CN.resx

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -460,6 +460,22 @@
460460
<value>有外部服务从中心服务器断开。链接信息:断开原因:{0}</value>
461461
</data>
462462

463+
<data name="Launcher.PlayerOfflineCallback" xml:space="preserve">
464+
<value>玩家下线回调,通知其他服务器: {0}</value>
465+
</data>
466+
467+
<data name="Launcher.PlayerOnlineCallback" xml:space="preserve">
468+
<value>玩家上线回调,通知其他服务器: {0}</value>
469+
</data>
470+
471+
<data name="Launcher.ServiceOfflineCallback" xml:space="preserve">
472+
<value>服务下线回调,通知其他服务器: {0}</value>
473+
</data>
474+
475+
<data name="Launcher.ServiceOnlineCallback" xml:space="preserve">
476+
<value>服务上线回调,通知其他服务器: {0}</value>
477+
</data>
478+
463479
<!-- StartUp模块日志和错误键名 -->
464480
<data name="StartUp.ServerStopped" xml:space="preserve">
465481
<value>服务器类型:{0} 停止! 终止原因:{1} 配置信息: {2}</value>

0 commit comments

Comments
 (0)