翻訳
MoripaFishingの表示文言は、AdventureのMiniMessageTranslationStore(キーはmoripafishing:translations)に登録され、GlobalTranslator経由で解決されます。そのため翻訳値にはMiniMessage記法をそのまま書けます。
翻訳ファイル
翻訳ファイルはplugins/MoripaFishing/translation/に<ロケール>.propertiesという名前で配置します。ファイルはUTF-8で保存してください。
plugins/MoripaFishing/translation/
├── en_US.properties
├── ja_JP.properties
└── fr_FR.properties # 任意のロケールを追加できる- 初回起動時に、同梱の
ja_JP.propertiesとen_US.propertiesがコピーされます。既にファイルがある場合は上書きしません。 - ディレクトリ内の
<ロケール>.propertiesはすべて読み込まれます。ファイル名(ja_JP、fr_FR、enなど)がそのままロケールになります。 - ファイル名は
言語(小文字 2〜3 文字)または言語_国(国は大文字 2 文字)の形にしてください。en_us.propertiesやmessages.propertiesのようにこの形に合わないファイルは、警告を出して読み込みません。 - 同梱されているロケールのファイルは、同梱の既定値の上に重ねて読み込まれます。ファイルに書いたキーだけが上書きされ、書いていないキーは同梱の既定値が使われるため、プラグインの更新で追加されたキーも表示されます。
なおconfig.jsonのdefaultLocale(既定値はja_JP)が翻訳ストアの既定ロケールになり、プレイヤーのロケールに対応する翻訳が無い場合のフォールバック先として使われます。
翻訳は/mf reloadで再読み込みできます。このコマンドにはmoripafishing.command.reload権限が必要です。翻訳ファイルの読み込みに失敗した場合(不正な\uXXXXエスケープなど)は、以前の翻訳がそのまま使われます。
自動登録される翻訳キー
以下のキーは各JSON設定のdisplayNameやnameのロケールマップから登録されます。propertiesファイルに同じキーとロケールの翻訳がある場合は、propertiesファイルが優先されます。
| キー | 由来 |
|---|---|
moripa_fishing.fish.<fish_id>.name | 魚設定のdisplayName。魚アイテムの表示名になります |
moripa_fishing.rarity.<rarity_id>.name | レアリティ設定のdisplayName |
moripa_fishing.world.<world_id>.name | ワールド設定のname |
魚
Params
既定のlore(下記)と魚設定のloreでは、以下のタグをプレースホルダとして利用できます。
| 概要 | タグ | 例 |
|---|---|---|
| 魚のサイズ(常に小数点以下2桁) | <size>, <arg:0> | 53.20 |
| 魚のレアリティ(翻訳済みの表示名) | <rarity>, <arg:1> | コモン |
| つりびとの名前 | <angler>, <arg:2> | Chocolatt |
| ワールド名(翻訳済みの表示名) | <world>, <arg:3> | つりとぴあ |
| 釣り上げた日時(ZonedDateTimeをそのまま文字列化した値) | <timestamp>, <arg:4> | 2025-05-01T00:00+09:00[Asia/Tokyo] |
<rarity>と<world>には、翻訳済みのComponentが直接埋め込まれます。<size>はサーバーのロケールに関係なく小数点に.を使います。<timestamp>は整形されないため、読みやすい日時にしたい場合はloreの書き方で工夫してください。
デフォルト
すべての魚に共通して表示される3行です。値はja_JP.propertiesとen_US.propertiesで定義します。
moripa_fishing.fish.lore.default.rarity : レアリティについて
moripa_fishing.fish.lore.default.size : サイズについて
moripa_fishing.fish.lore.default.angler : つりびとについて
初期状態のja_JP.propertiesは次のようになっています。
moripa_fishing.fish.lore.default.rarity=<white><gray>レアリティ: </gray><rarity>
moripa_fishing.fish.lore.default.size=<white><gray>サイズ: </gray><size> cm
moripa_fishing.fish.lore.default.angler=<white><gray>釣った人: </gray><angler>なおloreは常にイタリック装飾が解除された状態で表示されます。
魚ごとの説明文
魚設定のloreは翻訳キーとしては登録されず、アイテムを作る時点でMiniMessageとして解釈されます。既定の3行の後に、プレイヤーのロケールのlore(無ければdefaultLocaleのlore)が続けて表示されます。上のプレースホルダーはここでも使えます。詳しくはさかなを参照してください。
仕組み
仕組み
moripa_fishing.fish.lore.default.rarityは
<white><gray>レアリティ: </gray><rarity>もしくは
<white><gray>Rarity: </gray><rarity>に解釈されます。
その後<rarity>には、
moripa_fishing.rarity.<rarity_id>.nameを
プレイヤーのロケールで翻訳した結果が埋め込まれます。
今回commonであるとすると、
moripa_fishing.rarity.common.nameが解決され、
コモンもしくはCommonになります。
結果として、ja_JPでは
<white><gray>レアリティ: </gray>コモン、
en_USでは
<white><gray>Rarity: </gray>Commonと表示されます。