Rust プラグインをローカライズする
Published on 2024/08/15Tags
概要
Rust プラグインをローカライズします。
参考情報
関連情報
デフォルトの文言を設定
Rust プラグインのチャットコマンドを実装する で作成した ActivePlayers.cs
ファイルをローカライズします。
-
Dictionary を使用するため、
System.Collections.Generic
をインポートします。using System.Collections.Generic;
-
LoadDefaultMessages メソッドをオーバーライドして、デフォルトの文言を設定します。言語コードは ISO 639 language code を指定します。
// English lang.RegisterMessages(new Dictionary<string, string> { ["ActivePlayerName"] = "Active Player: {0}" }, this); // Japanese lang.RegisterMessages(new Dictionary<string, string> { ["ActivePlayerName"] = "アクティブプレーヤー: {0}" }, this, "ja");
-
ActivePlayersCommand メソッドでデフォルトの文言を取得します。
string activePlayerNameMessage = lang.GetMessage("ActivePlayerName", this, player.UserIDString);
-
デフォルトの文言をチャットに表示します。
foreach (BasePlayer activePlayer in BasePlayer.activePlayerList) { PrintToChat(player, string.Format(activePlayerNameMessage, activePlayer.displayName)); }
-
全てのソースコードは次の通りです。
using System.Collections.Generic; namespace Oxide.Plugins { [Info("Active Players", "Unknown Author", "0.1.0")] [Description("This plugin displays all active usernames in the chat.")] class ActivePlayers : RustPlugin { void Init() { } protected override void LoadDefaultMessages() { // English lang.RegisterMessages(new Dictionary<string, string> { ["ActivePlayerName"] = "Active Player: {0}" }, this); // Japanese lang.RegisterMessages(new Dictionary<string, string> { ["ActivePlayerName"] = "アクティブプレーヤー: {0}" }, this, "ja"); } [ChatCommand("activeplayers")] void ActivePlayersCommand(BasePlayer player, string command, string[] args) { string activePlayerNameMessage = lang.GetMessage("ActivePlayerName", this, player.UserIDString); foreach (BasePlayer activePlayer in BasePlayer.activePlayerList) { PrintToChat(player, string.Format(activePlayerNameMessage, activePlayer.displayName)); } } } }
デフォルトの文言を上書き
プラグインの文言をサーバー側で上書きします。
-
サーバーの
oxide/lang/ja
にある JSON ファイルActivePlayers.json
を VSCode で開きます。 -
ActivePlayerName
の文言を書き換えます。{ "ActivePlayerName": "現在ログイン中のユーザー: {0}" }
プラグインの動作確認
-
ActivePlayers.cs
ファイルをサーバーの oxide/plugins フォルダにコピーします。 -
サーバーを起動します。
-
Rust を起動してサーバーに接続します。
-
チャットに
/activeplayers
を入力します。