Merge pull request #1 from Web13234/master

Some optimizations about localized text
This commit is contained in:
Cold-Mint 2024-06-08 21:12:12 +08:00 committed by GitHub
commit 0dd3de228e
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
34 changed files with 41 additions and 33 deletions

View File

@ -1,5 +1,5 @@
id,zh,en,jp id,zh,en,ja
#kill self #suicide
#自杀 #自杀
death_info_self_1,{0}误伤了自己。,{0} accidentally shot himself.,{0}誤って自分を傷つけました。 death_info_self_1,{0}误伤了自己。,{0} accidentally shot themself.,{0}誤って自分を傷つけました。
death_info_self_2,{0}忘记了瞄准。,{0} forgot to aim.,{0}照準を忘れました。 death_info_self_2,{0}忘记了瞄准。,{0} forgot to aim.,{0}照準を忘れました。
1 id,zh,en,jp id,zh,en,ja
2 #kill self #suicide
3 #自杀 #自杀
4 death_info_self_1,{0}误伤了自己。,{0} accidentally shot himself.,{0}誤って自分を傷つけました。 death_info_self_1,{0}误伤了自己。,{0} accidentally shot themself.,{0}誤って自分を傷つけました。
5 death_info_self_2,{0}忘记了瞄准。,{0} forgot to aim.,{0}照準を忘れました。 death_info_self_2,{0}忘记了瞄准。,{0} forgot to aim.,{0}照準を忘れました。

View File

@ -6,10 +6,10 @@ uid="uid://dwx0hwuy0uqio"
[deps] [deps]
files=["res://locals/DeathInfo.zh.translation", "res://locals/DeathInfo.en.translation", "res://locals/DeathInfo.jp.translation"] files=["res://locals/DeathInfo.zh.translation", "res://locals/DeathInfo.en.translation", "res://locals/DeathInfo.ja.translation"]
source_file="res://locals/DeathInfo.csv" source_file="res://locals/DeathInfo.csv"
dest_files=["res://locals/DeathInfo.zh.translation", "res://locals/DeathInfo.en.translation", "res://locals/DeathInfo.jp.translation"] dest_files=["res://locals/DeathInfo.zh.translation", "res://locals/DeathInfo.en.translation", "res://locals/DeathInfo.ja.translation"]
[params] [params]

Binary file not shown.

Binary file not shown.

View File

@ -1,2 +1,2 @@
id,zh,en,jp id,zh,en,ja
Left Mouse Button,鼠标左键,Left Mouse Button,マウスの左ボタンです Left Mouse Button,鼠标左键,Left Mouse Button,マウスの左ボタンです
1 id zh en jp ja
2 Left Mouse Button 鼠标左键 Left Mouse Button マウスの左ボタンです マウスの左ボタンです

View File

@ -6,10 +6,10 @@ uid="uid://dvvc7sup2d2ii"
[deps] [deps]
files=["res://locals/InputMapping.zh.translation", "res://locals/InputMapping.en.translation", "res://locals/InputMapping.jp.translation"] files=["res://locals/InputMapping.zh.translation", "res://locals/InputMapping.en.translation", "res://locals/InputMapping.ja.translation"]
source_file="res://locals/InputMapping.csv" source_file="res://locals/InputMapping.csv"
dest_files=["res://locals/InputMapping.zh.translation", "res://locals/InputMapping.en.translation", "res://locals/InputMapping.jp.translation"] dest_files=["res://locals/InputMapping.zh.translation", "res://locals/InputMapping.en.translation", "res://locals/InputMapping.ja.translation"]
[params] [params]

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -1,9 +1,9 @@
id,zh,en,jp id,zh,en,ja
map_generator_is_running,地图生成器正在运行中,请稍后重试。,"Map Generator is running, please try again later.",マップ生成器が動作中ですので、後ほどリトライしてください。 map_generator_is_running,地图生成器正在运行中,请稍后重试。,"Map Generator is running, please try again later.",マップ生成器が動作中ですので、後ほどリトライしてください。
missing_parameters,缺少参数。,Missing parameters.,パラメータが不足しています。 missing_parameters,缺少参数。,Missing parameters.,パラメータが不足しています。
room_root_node_must_be_node2d,房间根节点必须是 Node2D。,Room root node must be Node2D.,ルートードはNode2Dでなければなりません。 room_root_node_must_be_node2d,房间根节点必须是 Node2D。,Room root node must be an instance of Node2D.,ルートードはNode2Dでなければなりません。
width_or_height_of_room_slot_must_be_1,房间槽的宽度或高度必须为1。,The width or height of the room slot must be 1.,部屋の溝の幅または高さは1でなければなりません。 width_or_height_of_room_slot_must_be_1,房间槽的宽度或高度必须为1。,The width or height of the room slot must be 1.,部屋の溝の幅または高さは1でなければなりません。
connected_room_timeout,连接房间超时。,Connecting the room timed out.,接続部屋はタイムアウトです。 connected_room_timeout,连接房间超时。,Timeout when connecting rooms.,接続部屋はタイムアウトです。
projectiles_is_empty,未设置抛射体。,The projectile is not set.,射出体は設置されていません。 projectiles_is_empty,未设置抛射体。,The projectile is not set.,射出体は設置されていません。
map_generator_missing_parameters,地图生成器缺少参数。,Map generator missing parameters.,マップジェネレータが不足しています。 map_generator_missing_parameters,地图生成器缺少参数。,Map generator missing parameters.,マップジェネレータが不足しています。
map_generator_attempts_to_parse_empty_layout_diagrams,地图生成器尝试解析空的布局图。,Map generator attempts to parse empty layout diagrams.,マップジェネレータは空のレイアウト図を解析しようとしています。 map_generator_attempts_to_parse_empty_layout_diagrams,地图生成器尝试解析空的布局图。,Map generator attempts to parse empty layout diagrams.,マップジェネレータは空のレイアウト図を解析しようとしています。
@ -11,7 +11,7 @@ map_generator_has_no_starting_room_data,地图生成器没有起点房间数据
room_placement_strategy_terminates_map_generation,房间的放置策略终止了地图生成。,The room placement strategy terminates map generation.,部屋の配置ポリシーはマップ作成を終了します。 room_placement_strategy_terminates_map_generation,房间的放置策略终止了地图生成。,The room placement strategy terminates map generation.,部屋の配置ポリシーはマップ作成を終了します。
start_room_placement_information_returns_empty,起始房间放置信息返回空。,Start room placement information returns empty.,スタートルーム放置情報は空に戻ります。 start_room_placement_information_returns_empty,起始房间放置信息返回空。,Start room placement information returns empty.,スタートルーム放置情報は空に戻ります。
start_room_placement_failed,起始房间放置失败。,Start room placement failed.,スタートルーム放置失敗です。 start_room_placement_failed,起始房间放置失败。,Start room placement failed.,スタートルーム放置失敗です。
room_data_missing,房间数据缺失。,Room data missing.,部屋データが欠落しています。 room_data_missing,房间数据缺失。,Missing room data.,部屋データが欠落しています。
failed_to_calculate_the_room_location,计算房间{0}位置时失败。,Failed to calculate the location of room {0}.,部屋{0}の位置を計算するのに失敗します。 failed_to_calculate_the_room_location,计算房间{0}位置时失败。,Failed to calculate the location of room {0}.,部屋{0}の位置を計算するのに失敗します。
place_existing_rooms,放置已存在的房间{0}。,Place existing rooms {0}.,既存の部屋を置きます{0}。 place_existing_rooms,放置已存在的房间{0}。,Place existing rooms {0}.,既存の部屋を置きます{0}。
room_placement_failed,房间{0}放置失败。,Room {0} placement failed.,部屋{0}の放置に失敗します。 room_placement_failed,房间{0}放置失败。,Room {0} placement failed.,部屋{0}の放置に失敗します。

1 id zh en jp ja
2 map_generator_is_running 地图生成器正在运行中,请稍后重试。 Map Generator is running, please try again later. マップ生成器が動作中ですので、後ほどリトライしてください。
3 missing_parameters 缺少参数。 Missing parameters. パラメータが不足しています。
4 room_root_node_must_be_node2d 房间根节点必须是 Node2D。 Room root node must be Node2D. Room root node must be an instance of Node2D. ルートノードはNode2Dでなければなりません。
5 width_or_height_of_room_slot_must_be_1 房间槽的宽度或高度必须为1。 The width or height of the room slot must be 1. 部屋の溝の幅または高さは1でなければなりません。
6 connected_room_timeout 连接房间超时。 Connecting the room timed out. Timeout when connecting rooms. 接続部屋はタイムアウトです。
7 projectiles_is_empty 未设置抛射体。 The projectile is not set. 射出体は設置されていません。
8 map_generator_missing_parameters 地图生成器缺少参数。 Map generator missing parameters. マップジェネレータが不足しています。
9 map_generator_attempts_to_parse_empty_layout_diagrams 地图生成器尝试解析空的布局图。 Map generator attempts to parse empty layout diagrams. マップジェネレータは空のレイアウト図を解析しようとしています。
11 room_placement_strategy_terminates_map_generation 房间的放置策略终止了地图生成。 The room placement strategy terminates map generation. 部屋の配置ポリシーはマップ作成を終了します。
12 start_room_placement_information_returns_empty 起始房间放置信息返回空。 Start room placement information returns empty. スタートルーム放置情報は空に戻ります。
13 start_room_placement_failed 起始房间放置失败。 Start room placement failed. スタートルーム放置失敗です。
14 room_data_missing 房间数据缺失。 Room data missing. Missing room data. 部屋データが欠落しています。
15 failed_to_calculate_the_room_location 计算房间{0}位置时失败。 Failed to calculate the location of room {0}. 部屋{0}の位置を計算するのに失敗します。
16 place_existing_rooms 放置已存在的房间{0}。 Place existing rooms {0}. 既存の部屋を置きます{0}。
17 room_placement_failed 房间{0}放置失败。 Room {0} placement failed. 部屋{0}の放置に失敗します。

View File

@ -6,10 +6,10 @@ uid="uid://btmjafjh5r6bk"
[deps] [deps]
files=["res://locals/Log.zh.translation", "res://locals/Log.en.translation", "res://locals/Log.jp.translation"] files=["res://locals/Log.zh.translation", "res://locals/Log.en.translation", "res://locals/Log.ja.translation"]
source_file="res://locals/Log.csv" source_file="res://locals/Log.csv"
dest_files=["res://locals/Log.zh.translation", "res://locals/Log.en.translation", "res://locals/Log.jp.translation"] dest_files=["res://locals/Log.zh.translation", "res://locals/Log.en.translation", "res://locals/Log.ja.translation"]
[params] [params]

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -1,4 +1,4 @@
id,zh,en,jp id,zh,en,ja
product_name,异界旅人,A traveler from another world,異界の旅人です product_name,异界旅人,A traveler from another world,異界の旅人です
start_game,开始游戏,Start game,ゲームを始めます start_game,开始游戏,Start game,ゲームを始めます
settings,设置,Settings,備え付け settings,设置,Settings,備え付け

1 id zh en jp ja
2 product_name 异界旅人 A traveler from another world 異界の旅人です
3 start_game 开始游戏 Start game ゲームを始めます
4 settings 设置 Settings 備え付け

View File

@ -6,10 +6,10 @@ uid="uid://bpdkorm7lprma"
[deps] [deps]
files=["res://locals/UI.zh.translation", "res://locals/UI.en.translation", "res://locals/UI.jp.translation"] files=["res://locals/UI.zh.translation", "res://locals/UI.en.translation", "res://locals/UI.ja.translation"]
source_file="res://locals/UI.csv" source_file="res://locals/UI.csv"
dest_files=["res://locals/UI.zh.translation", "res://locals/UI.en.translation", "res://locals/UI.jp.translation"] dest_files=["res://locals/UI.zh.translation", "res://locals/UI.en.translation", "res://locals/UI.ja.translation"]
[params] [params]

Binary file not shown.

Binary file not shown.

View File

@ -1,3 +1,3 @@
id,zh,en,jp id,zh,en,ja
staff_of_the_undead,死灵法杖,StaffOfTheUndead,ネクロポリスの杖です staff_of_the_undead,死灵法杖,StaffOfTheUndead,ネクロポリスの杖です
staff_of_the_undead_desc,发射诅咒,可将敌人转化为邪恶的怪物。,Cast a curse that transforms enemies into evil monsters.,呪いを発射して、敵を邪悪な怪物に変えることができます。 staff_of_the_undead_desc,发射诅咒,可将敌人转化为邪恶的怪物。,Cast a curse that transforms enemies into evil monsters.,呪いを発射して、敵を邪悪な怪物に変えることができます。
1 id zh en jp ja
2 staff_of_the_undead 死灵法杖 StaffOfTheUndead ネクロポリスの杖です ネクロポリスの杖です
3 staff_of_the_undead_desc 发射诅咒,可将敌人转化为邪恶的怪物。 Cast a curse that transforms enemies into evil monsters. 呪いを発射して、敵を邪悪な怪物に変えることができます。 呪いを発射して、敵を邪悪な怪物に変えることができます。

View File

@ -2,14 +2,14 @@
importer="csv_translation" importer="csv_translation"
type="Translation" type="Translation"
uid="uid://dmhmjvtquyu16" uid="uid://ci3wou75hhj6e"
[deps] [deps]
files=["res://locals/Weapon.zh.translation", "res://locals/Weapon.en.translation", "res://locals/Weapon.jp.translation"] files=["res://locals/Weapon.zh.translation", "res://locals/Weapon.en.translation", "res://locals/Weapon.ja.translation"]
source_file="res://locals/Weapon.csv" source_file="res://locals/Weapon.csv"
dest_files=["res://locals/Weapon.zh.translation", "res://locals/Weapon.en.translation", "res://locals/Weapon.jp.translation"] dest_files=["res://locals/Weapon.zh.translation", "res://locals/Weapon.en.translation", "res://locals/Weapon.ja.translation"]
[params] [params]

Binary file not shown.

Binary file not shown.

View File

@ -1,6 +1,6 @@
id,zh,en,jp id,zh,en,ja
slogan_1,游戏属于每一个人。,The game belongs to everyone.,ゲームはすべての人のものです。 slogan_0,游戏属于每一个人。,The game belongs to everyone.,ゲームはすべての人のものです。
slogan_2,如果你想要得到爱,你就播种爱。,"If you want love, you sow love.",愛を手に入れたければ、愛の種をまきます。 slogan_1,如果你想要得到爱,你就播种爱。,"If you want love, you sow love.",愛を手に入れたければ、愛の種をまきます。
slogan_3,快乐?伤心?痛苦?,Happy? Sad? Pain?,楽しいですか?悲しいですか?苦しいですか? slogan_2,快乐?伤心?痛苦?,Happy? Sad? Pain?,楽しいですか?悲しいですか?苦しいですか?
slogan_4,kaWaYi!,kaWaYi!,kaWaYi! slogan_3,Kawaii!,Kawaii!,Kawaii!
slogan_5,魔法是想象的世界。,Magic is an imaginary world.,魔法は想像の世界です。 slogan_4,魔法是想象的世界。,Magic is an imaginary world.,魔法は想像の世界です。
1 id zh en jp ja
2 slogan_1 slogan_0 游戏属于每一个人。 The game belongs to everyone. ゲームはすべての人のものです。 ゲームはすべての人のものです。
3 slogan_2 slogan_1 如果你想要得到爱,你就播种爱。 If you want love, you sow love. 愛を手に入れたければ、愛の種をまきます。 愛を手に入れたければ、愛の種をまきます。
4 slogan_3 slogan_2 快乐?伤心?痛苦? Happy? Sad? Pain? 楽しいですか?悲しいですか?苦しいですか? 楽しいですか?悲しいですか?苦しいですか?
5 slogan_4 slogan_3 kaWaYi! Kawaii! kaWaYi! Kawaii! kaWaYi! Kawaii!
6 slogan_5 slogan_4 魔法是想象的世界。 Magic is an imaginary world. 魔法は想像の世界です。 魔法は想像の世界です。

View File

@ -6,10 +6,10 @@ uid="uid://dbgkevd34vb0d"
[deps] [deps]
files=["res://locals/Slogan.zh.translation", "res://locals/Slogan.en.translation", "res://locals/Slogan.jp.translation"] files=["res://locals/Slogan.zh.translation", "res://locals/Slogan.en.translation", "res://locals/Slogan.ja.translation"]
source_file="res://locals/Slogan.csv" source_file="res://locals/Slogan.csv"
dest_files=["res://locals/Slogan.zh.translation", "res://locals/Slogan.en.translation", "res://locals/Slogan.jp.translation"] dest_files=["res://locals/Slogan.zh.translation", "res://locals/Slogan.en.translation", "res://locals/Slogan.ja.translation"]
[params] [params]

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -146,7 +146,7 @@ hotbar_previous={
[internationalization] [internationalization]
locale/translations=PackedStringArray("res://locals/UI.en.translation", "res://locals/UI.zh.translation", "res://locals/Log.en.translation", "res://locals/Log.zh.translation", "res://locals/Weapon.en.translation", "res://locals/Weapon.zh.translation", "res://locals/InputMapping.en.translation", "res://locals/InputMapping.zh.translation", "res://locals/InputMapping.jp.translation", "res://locals/Log.jp.translation", "res://locals/UI.jp.translation", "res://locals/Weapon.jp.translation", "res://locals/Slogan.en.translation", "res://locals/Slogan.jp.translation", "res://locals/Slogan.zh.translation", "res://locals/DeathInfo.en.translation", "res://locals/DeathInfo.jp.translation", "res://locals/DeathInfo.zh.translation") locale/translations=PackedStringArray("res://locals/DeathInfo.en.translation", "res://locals/DeathInfo.ja.translation", "res://locals/DeathInfo.zh.translation", "res://locals/InputMapping.en.translation", "res://locals/InputMapping.ja.translation", "res://locals/InputMapping.zh.translation", "res://locals/Log.en.translation", "res://locals/Log.ja.translation", "res://locals/Log.zh.translation", "res://locals/Slogan.en.translation", "res://locals/Slogan.ja.translation", "res://locals/Slogan.zh.translation", "res://locals/UI.en.translation", "res://locals/UI.ja.translation", "res://locals/UI.zh.translation", "res://locals/Weapon.en.translation", "res://locals/Weapon.ja.translation", "res://locals/Weapon.zh.translation")
[layer_names] [layer_names]

View File

@ -1,4 +1,5 @@
using ColdMint.scripts.utils; using ColdMint.scripts.utils;
using Godot; using Godot;
namespace ColdMint.scripts; namespace ColdMint.scripts;
@ -9,7 +10,14 @@ namespace ColdMint.scripts;
/// </summary> /// </summary>
public static class SloganProvider public static class SloganProvider
{ {
private const int MaxSloganIndex = 5; static SloganProvider()
{
// Calculate SloganCount From translation file
var sloganTrans = ResourceLoader.Load<OptimizedTranslation>("res://locals/Slogan.en.translation")!;
SloganCount = sloganTrans.GetTranslatedMessageList().Length;
}
private static int SloganCount { get; }
/// <summary> /// <summary>
@ -19,7 +27,7 @@ public static class SloganProvider
/// <returns></returns> /// <returns></returns>
public static string? GetSlogan() public static string? GetSlogan()
{ {
var index = GD.Randi() % MaxSloganIndex + 1; var index = GD.Randi() % SloganCount;
return TranslationServerUtils.Translate("slogan_" + index); return TranslationServerUtils.Translate($"slogan_{index}");
} }
} }