1
0
mirror of synced 2025-01-31 03:53:44 +01:00

Main menu is now fully text/translated in 3 languages, change the ids in the dictionnaries to make them more coherent, changed the multiline display to Near (Far before) might need few UI adjustements

This commit is contained in:
0aubsq 2021-10-26 18:22:21 +02:00
parent 400dd348c7
commit 495a719843
10 changed files with 135 additions and 66 deletions

View File

@ -3,6 +3,8 @@
- This document describes all the indexes used by the fonction `CLangManager.LangInstance.GetString(idx)`.
```
# Config menu text (000XX)
0 : "System language" description
1 : "System language" option title
2 : "<< Back to left menu" option title
@ -15,17 +17,31 @@
9 : "Risky" description
10 : "Song speed" option title
11 : "Song speed" description
12 : Reached floor (Tower)
13 : Floor suffix (1 character)
14 : Points accronym (1 character)
15 : Score
16 : "Layout type" option title
17 : "Layout type" description
18 : Ensou main menu button
19 : Dan main menu button
20 : Tower main menu button
21 : Shop main menu button
22 : Bouken main menu button
23 : Settings main menu button
24 : Quit main menu button
# Main Menu text (001XX)
100 : Ensou main menu button
101 : Dan main menu button
102 : Tower main menu button
103 : Shop main menu button
104 : Bouken main menu button
105 : Settings main menu button
106 : Quit main menu button
150 : Ensou main menu box text
151 : Dan main menu box text
152 : Tower main menu box text
153 : Shop main menu box text
154 : Bouken main menu box text
155 : Settings main menu box text
156 : Quit main menu box text
# Tower text (0100X)
1000 : Reached floor (Tower)
1001 : Floor suffix (1 character)
1002 : Points accronym (1 character)
1003 : Score
```

View File

@ -444,7 +444,8 @@ namespace TJAPlayer3
g.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighQuality;
StringFormat sf = new StringFormat();
sf.LineAlignment = StringAlignment.Far; // 画面下部(垂直方向位置)
// sf.LineAlignment = StringAlignment.Far; // 画面下部(垂直方向位置)
sf.LineAlignment = StringAlignment.Near; // 画面下部(垂直方向位置)
sf.Alignment = StringAlignment.Center; // 画面中央(水平方向位置)
sf.FormatFlags = StringFormatFlags.NoWrap; // どんなに長くて単語の区切りが良くても改行しない (AioiLight)
sf.Trimming = StringTrimming.None; // どんなに長くてもトリミングしない (AioiLight)

View File

@ -37,10 +37,6 @@ namespace TJAPlayer3
"Note: It also changes the songs' pitch.\n" +
"In case TimeStretch=ON, some sound\n" +
"lag occurs slower than x0.900.",
[12] = "Reached floor",
[13] = "F",
[14] = "P",
[15] = "Score",
[16] = "Layout type",
[17] = "You can change the layout type \ndisplayed on the song select screen.\n" +
"0 : Regular (Up to down diagonal)\n" +
@ -48,13 +44,27 @@ namespace TJAPlayer3
"2 : Down to up diagonal\n" +
"3 : Half-circle facing right\n" +
"4 : Half-circle facing left",
[18] = "Rhythm Game",
[19] = "Exam Dojo",
[20] = "Taiko towers",
[21] = "Shop",
[22] = "Taiko adventure",
[23] = "Settings",
[24] = "Exit",
[100] = "Rhythm Game",
[101] = "Exam Dojo",
[102] = "Taiko towers",
[103] = "Shop",
[104] = "Taiko adventure",
[105] = "Settings",
[106] = "Exit",
[150] = "Play your favorite\nsongs at your own pace !",
[151] = "Play multiple charts in continuation\nfollowing challenging exams\nin order to get a PASS rank !",
[152] = "Play long charts within a limited\ncount of lives and reach\nthe tower roof !",
[153] = "Buy new songs, petit-chara or characters\nusing the medals you won in game !",
[154] = "Surpass various obstacles and\nunlock new content and horizons !",
[155] = "Change your game style\n or general settings !",
[156] = "Quit the game.\nSee you next time !",
[1000] = "Reached floor",
[1001] = "F",
[1002] = "P",
[1003] = "Score",
};
}
}

View File

@ -37,10 +37,6 @@ namespace TJAPlayer3
"Note: Cette option change aussi le ton de la musique.\n" +
"Si TimeStretch=ON, il peut y avoir du\n" +
"lag si la vitesse générale est inférieure à x0.900.",
[12] = "Étage atteint",
[13] = "",
[14] = "P",
[15] = "Score",
[16] = "Disposition des blocs",
[17] = "Cette option détermine l'ordonnancement \ndes blocs dans le menu de selection \n des musiques en mode partie rapide.\n" +
"0 : Standard (Diagonale haut-bas)\n" +
@ -48,13 +44,27 @@ namespace TJAPlayer3
"2 : Diagonale bas-haut\n" +
"3 : Demi-cercle orienté à droite\n" +
"4 : Demi-cercle orienté à gauche",
[18] = "Partie rapide",
[19] = "Défis du Dojo",
[20] = "Tours rhytmiques",
[21] = "Magasin",
[22] = "Aventure",
[23] = "Paramètres",
[24] = "Quitter le jeu",
[100] = "Partie rapide",
[101] = "Défis du Dojo",
[102] = "Tours rhytmiques",
[103] = "Magasin",
[104] = "Aventure",
[105] = "Paramètres",
[106] = "Quitter le jeu",
[150] = "Jouez vos sons favoris\nà votre propre rhythme !",
[151] = "Jouez plusieurs sons à la suite\nen suivant des règles exigentes\ndans le but de reussir le défi !",
[152] = "Jouez de longs sons avec un\nnombre de vies limité et\natteignez le sommet de la tour !",
[153] = "Achetez de nouveaux sons ou personnages\ngrâce aux médailles acquises en jeu !",
[154] = "Surmontez une multitude d'obstables\nafin de découvrir du nouveau contenu\net de nouveaux horizons !",
[155] = "Changez votre style de jeu\n ou les paramètres généraux !",
[156] = "Quitter le jeu.\nÀ bientôt !",
[1000] = "Étage atteint",
[1001] = "",
[1002] = "P",
[1003] = "Score",
};
}
}

View File

@ -37,10 +37,6 @@ namespace TJAPlayer3
"TimeStretchがONのときに、演奏\n" +
"速度をx0.850以下にすると、チップの\n" +
"ズレが大きくなります。",
[12] = "到達階数",
[13] = "階",
[14] = "点",
[15] = "スコア",
[16] = "選曲画面設計",
[17] = "選曲画面の設計のの変更ができます。\n" +
"0=>通常の設計(上下斜)\n" +
@ -48,13 +44,27 @@ namespace TJAPlayer3
"2=>下上斜\n" +
"3=>右向け半丸\n" +
"4=>左向け半丸",
[18] = "演奏ゲーム",
[19] = "段位道場",
[20] = "太鼓タワー",
[21] = "メダル商店",
[22] = "太鼓大冒険",
[23] = "設定",
[24] = "ゲーム終了",
[100] = "演奏ゲーム",
[101] = "段位道場",
[102] = "太鼓タワー",
[103] = "メダル商店",
[104] = "太鼓大冒険",
[105] = "設定",
[106] = "ゲーム終了",
[150] = "すきな曲や、むずかしさを\nえらんであそべるよ",
[151] = "3曲連続して演奏しながら、\nお願の合格を目指そう\n合格すると腕前が認定されるよ",
[152] = "有限のライフを持って、\nタワーの頂上を達するため\n挑戦できるよ",
[153] = "稼いだメダルを費やして、\n新しい曲やプチキャラを買えるよ",
[154] = "様々な障害を挑んで、\n新しい地域を発見出来るよ",
[155] = "ゲームスタイルや\n一般的な設定を設けられるよ",
[156] = "セッションを終了できるよ。\nまた遊んでね",
[1000] = "到達階数",
[1001] = "階",
[1002] = "点",
[1003] = "スコア",
};
}
}

View File

@ -107,21 +107,30 @@ namespace TJAPlayer3
return;
if (!string.IsNullOrEmpty(TJAPlayer3.ConfigIni.FontName))
{
this.pfMenuTitle = new CPrivateFastFont(new FontFamily(TJAPlayer3.ConfigIni.FontName), 36);
}
else
{
this.pfMenuTitle = new CPrivateFastFont(new FontFamily("MS UI Gothic"), 36);
}
this.ttkEnsou = new TitleTextureKey(CLangManager.LangInstance.GetString(18), this.pfMenuTitle, Color.White, Color.FromArgb(233, 53, 71), 700, Color.Black);
this.ttkDan = new TitleTextureKey(CLangManager.LangInstance.GetString(19), this.pfMenuTitle, Color.White, Color.FromArgb(71, 64, 135), 700, Color.Black);
this.ttkTower = new TitleTextureKey(CLangManager.LangInstance.GetString(20), this.pfMenuTitle, Color.White, Color.FromArgb(255, 180, 42), 700, Color.Black);
this.ttkShop = new TitleTextureKey(CLangManager.LangInstance.GetString(21), this.pfMenuTitle, Color.White, Color.FromArgb(16, 255, 255), 700, Color.Black);
this.ttkBouken = new TitleTextureKey(CLangManager.LangInstance.GetString(22), this.pfMenuTitle, Color.White, Color.FromArgb(128, 0, 128), 700, Color.Black);
this.ttkSettings = new TitleTextureKey(CLangManager.LangInstance.GetString(23), this.pfMenuTitle, Color.White, Color.FromArgb(128, 128, 128), 700, Color.Black);
this.ttkExit = new TitleTextureKey(CLangManager.LangInstance.GetString(24), this.pfMenuTitle, Color.White, Color.FromArgb(72, 72, 72), 700, Color.Black);
if (!string.IsNullOrEmpty(TJAPlayer3.ConfigIni.BoxFontName))
this.pfBoxText = new CPrivateFastFont(new FontFamily(TJAPlayer3.ConfigIni.BoxFontName), 15);
else
this.pfBoxText = new CPrivateFastFont(new FontFamily("MS UI Gothic"), 15);
this.ttkEnsou = new TitleTextureKey(CLangManager.LangInstance.GetString(100), this.pfMenuTitle, Color.White, Color.FromArgb(233, 53, 71), 700, Color.Black);
this.ttkDan = new TitleTextureKey(CLangManager.LangInstance.GetString(101), this.pfMenuTitle, Color.White, Color.FromArgb(71, 64, 135), 700, Color.Black);
this.ttkTower = new TitleTextureKey(CLangManager.LangInstance.GetString(102), this.pfMenuTitle, Color.White, Color.FromArgb(255, 180, 42), 700, Color.Black);
this.ttkShop = new TitleTextureKey(CLangManager.LangInstance.GetString(103), this.pfMenuTitle, Color.White, Color.FromArgb(16, 255, 255), 700, Color.Black);
this.ttkBouken = new TitleTextureKey(CLangManager.LangInstance.GetString(104), this.pfMenuTitle, Color.White, Color.FromArgb(128, 0, 128), 700, Color.Black);
this.ttkSettings = new TitleTextureKey(CLangManager.LangInstance.GetString(105), this.pfMenuTitle, Color.White, Color.FromArgb(128, 128, 128), 700, Color.Black);
this.ttkExit = new TitleTextureKey(CLangManager.LangInstance.GetString(106), this.pfMenuTitle, Color.White, Color.FromArgb(72, 72, 72), 700, Color.Black);
this.ttkBoxText = new TitleTextureKey[(int)E戻り値.EXIT];
for (int i = 0; i < this.ttkBoxText.Length; i++)
{
this.ttkBoxText[i] = new TitleTextureKey(CLangManager.LangInstance.GetString(150 + i), this.pfBoxText, Color.White, Color.Black, 1000);
}
base.OnManagedリソースの作成();
}
@ -131,6 +140,7 @@ namespace TJAPlayer3
return;
TJAPlayer3.t安全にDisposeする(ref pfMenuTitle);
TJAPlayer3.t安全にDisposeする(ref pfBoxText);
base.OnManagedリソースの解放();
}
@ -613,10 +623,17 @@ namespace TJAPlayer3
TJAPlayer3.stage選曲.act曲リスト.ResolveTitleTexture(idxToTex(i))?.t2D中心基準描画(TJAPlayer3.app.Device, 631, 379 - BarAnimeCount / 1.5f);
TJAPlayer3.Tx.ModeSelect_Bar_Text[i].Opacity = (int)(BarAnimeCount * 2.55f);
TJAPlayer3.Tx.ModeSelect_Bar_Text[i]?.t2D中心基準描画(TJAPlayer3.app.Device, 640, 355 + 132 / 2, new Rectangle(0, 122, 642, 148));
// TJAPlayer3.Tx.ModeSelect_Bar_Text[i].Opacity = (int)(BarAnimeCount * 2.55f);
// TJAPlayer3.Tx.ModeSelect_Bar_Text[i]?.t2D中心基準描画(TJAPlayer3.app.Device, 640, 355 + 132 / 2, new Rectangle(0, 122, 642, 148));
if (i < this.ttkBoxText.Length)
{
CTexture currentText = TJAPlayer3.stage選曲.act曲リスト.ResolveTitleTexture(this.ttkBoxText[i]);
currentText.Opacity = (int)(BarAnimeCount * 2.55f);
currentText?.t2D中心基準描画(TJAPlayer3.app.Device, 640, 331 + 132 / 2);
}
}
else
@ -772,6 +789,8 @@ namespace TJAPlayer3
private PuchiChara PuchiChara;
private CPrivateFastFont pfMenuTitle;
private CPrivateFastFont pfBoxText;
private TitleTextureKey ttkEnsou;
private TitleTextureKey ttkDan;
private TitleTextureKey ttkTower;
@ -780,6 +799,8 @@ namespace TJAPlayer3
private TitleTextureKey ttkSettings;
private TitleTextureKey ttkExit;
private TitleTextureKey[] ttkBoxText;
private bool bバナパス読み込み;
private bool bバナパス読み込み失敗;
private bool bプレイヤーエントリー;

View File

@ -225,7 +225,7 @@ namespace TJAPlayer3
#endregion
#region [ ]
//---------------------
int menuY = 162 - 22;
int menuY = 162 - 22 + 13;
int stepY = 39;
for ( int i = 0; i < txMenuItemLeft.GetLength( 0 ); i++ )
{

View File

@ -636,6 +636,7 @@ namespace TJAPlayer3
this.ctScoreFrameAnime = new CCounter();
// strboxText here
if (this.r現在選択中の曲 != null)
{
for (int i = 0; i < 3; i++)

View File

@ -101,8 +101,8 @@ namespace TJAPlayer3
this.pfTowerText = new CPrivateFastFont(new FontFamily("MS UI Gothic"), 28);
}
this.ttkTouTatsuKaiSuu = new TitleTextureKey(CLangManager.LangInstance.GetString(12), pfTowerText, Color.White, Color.Black, 700);
this.ttkKai = new TitleTextureKey(CLangManager.LangInstance.GetString(13), pfTowerText, Color.White, Color.Black, 700);
this.ttkTouTatsuKaiSuu = new TitleTextureKey(CLangManager.LangInstance.GetString(1000), pfTowerText, Color.White, Color.Black, 700);
this.ttkKai = new TitleTextureKey(CLangManager.LangInstance.GetString(1001), pfTowerText, Color.White, Color.Black, 700);
this.ct炎 = new CCounter(0, 6, 50, TJAPlayer3.Timer);

View File

@ -364,11 +364,11 @@ namespace TJAPlayer3
this.pfTowerText72 = new CPrivateFastFont(new FontFamily("MS UI Gothic"), 72);
}
this.ttkMaxFloors = new TitleTextureKey("/" + TJAPlayer3.stage選曲.r確定された曲.arスコア[5]..nTotalFloor.ToString() + CLangManager.LangInstance.GetString(13), pfTowerText48, Color.Black, Color.Transparent, 700);
this.ttkToutatsu = new TitleTextureKey(CLangManager.LangInstance.GetString(12), pfTowerText48, Color.White, Color.Black, 700);
this.ttkTen = new TitleTextureKey(CLangManager.LangInstance.GetString(14), pfTowerText, Color.Black, Color.Transparent, 700);
this.ttkMaxFloors = new TitleTextureKey("/" + TJAPlayer3.stage選曲.r確定された曲.arスコア[5]..nTotalFloor.ToString() + CLangManager.LangInstance.GetString(1001), pfTowerText48, Color.Black, Color.Transparent, 700);
this.ttkToutatsu = new TitleTextureKey(CLangManager.LangInstance.GetString(1000), pfTowerText48, Color.White, Color.Black, 700);
this.ttkTen = new TitleTextureKey(CLangManager.LangInstance.GetString(1002), pfTowerText, Color.Black, Color.Transparent, 700);
this.ttkReachedFloor = new TitleTextureKey(CFloorManagement.LastRegisteredFloor.ToString(), pfTowerText72, Color.Orange, Color.Black, 700);
this.ttkScore = new TitleTextureKey(CLangManager.LangInstance.GetString(15), pfTowerText, Color.Black, Color.Transparent, 700);
this.ttkScore = new TitleTextureKey(CLangManager.LangInstance.GetString(1003), pfTowerText, Color.Black, Color.Transparent, 700);
this.ttkRemaningLifes = new TitleTextureKey(CFloorManagement.CurrentNumberOfLives.ToString(), pfTowerText, Color.Black, Color.Transparent, 700);
this.ttkScoreCount = new TitleTextureKey(TJAPlayer3.stage結果.st演奏記録.Drums.nスコア.ToString(), pfTowerText, Color.Black, Color.Transparent, 700);
}