make credits translatable

This commit is contained in:
tildearrow 2024-05-28 15:15:56 -05:00
parent 43b928045e
commit 81720924ea

View file

@ -22,19 +22,19 @@
#include <math.h> #include <math.h>
const char* aboutLine[]={ const char* aboutLine[]={
"tildearrow", _N("tildearrow"),
"is proud to present", _N("is proud to present"),
"", "",
("Furnace " DIV_VERSION), ("Furnace " DIV_VERSION),
"", "",
"the biggest multi-system chiptune tracker!", _N("the biggest multi-system chiptune tracker!"),
"featuring DefleMask song compatibility.", _N("featuring DefleMask song compatibility."),
"", "",
"> CREDITS <", _N("> CREDITS <"),
"", "",
"-- program --", _N("-- program --"),
"tildearrow", "tildearrow",
"A M 4 N (intro tune)", _N("A M 4 N (intro tune)"),
"akumanatt", "akumanatt",
"cam900", "cam900",
"djtuBIG-MaliceX", "djtuBIG-MaliceX",
@ -49,14 +49,14 @@ const char* aboutLine[]={
"System64", "System64",
"techmetx11", "techmetx11",
"", "",
"-- graphics/UI design --", _N("-- graphics/UI design --"),
"tildearrow", "tildearrow",
"BlastBrothers", "BlastBrothers",
"Electric Keet", "Electric Keet",
"Mahbod Karamoozian", "Mahbod Karamoozian",
"Raijin", "Raijin",
"", "",
"-- documentation --", _N("-- documentation --"),
"brickblock369", "brickblock369",
"cam900", "cam900",
"DeMOSic", "DeMOSic",
@ -66,7 +66,7 @@ const char* aboutLine[]={
"Lunathir", "Lunathir",
"tildearrow", "tildearrow",
"", "",
"-- demo songs --", _N("-- demo songs --"),
"0x5066", "0x5066",
"Abstract 64", "Abstract 64",
"Aburtos", "Aburtos",
@ -192,7 +192,7 @@ const char* aboutLine[]={
"Zaxolotl", "Zaxolotl",
"ZoomTen (Zumi)", "ZoomTen (Zumi)",
"", "",
"-- additional feedback/fixes --", _N("-- additional feedback/fixes --"),
"Electric Keet", "Electric Keet",
"fd", "fd",
"GENATARi", "GENATARi",
@ -203,99 +203,106 @@ const char* aboutLine[]={
"plane", "plane",
"TheEssem", "TheEssem",
"", "",
"-- Metal backend test team --", _N("-- Metal backend test team --"),
"Diggo", "Diggo",
"konard", "konard",
"NaxeCode", "NaxeCode",
"scratchminer", "scratchminer",
""
_N("-- DirectX 9 backend test team --"),
"EpicTyphlosion",
"Lunathir",
"Mr. Hassium",
"wbcbz7",
"Yuzu4K",
"", "",
"powered by:", _N("powered by:"),
"Dear ImGui by Omar Cornut", _N("Dear ImGui by Omar Cornut"),
"SDL2 by Sam Lantinga", _N("SDL2 by Sam Lantinga"),
#ifdef HAVE_FREETYPE #ifdef HAVE_FREETYPE
"FreeType", "FreeType",
#endif #endif
"zlib by Jean-loup Gailly", _N("zlib by Jean-loup Gailly"),
"and Mark Adler", _N("and Mark Adler"),
"libsndfile by Erik de Castro Lopo", _N("libsndfile by Erik de Castro Lopo"),
"Portable File Dialogs by Sam Hocevar", _N("Portable File Dialogs by Sam Hocevar"),
"Native File Dialog by Frogtoss Games", _N("Native File Dialog by Frogtoss Games"),
"PortAudio", "PortAudio",
"Weak-JACK by x42", _N("Weak-JACK by x42"),
"RtMidi by Gary P. Scavone", _N("RtMidi by Gary P. Scavone"),
"FFTW by Matteo Frigo and Steven G. Johnson", _N("FFTW by Matteo Frigo and Steven G. Johnson"),
"backward-cpp by Google", _N("backward-cpp by Google"),
"adpcm by superctr", _N("adpcm by superctr"),
"adpcm-xq by David Bryant", _N("adpcm-xq by David Bryant"),
"Nuked-OPL3/OPLL/OPM/OPN2/PSG by nukeykt", _N("Nuked-OPL3/OPLL/OPM/OPN2/PSG by nukeykt"),
"YM3812-LLE, YMF262-LLE, YMF276-LLE and YM2608-LLE by nukeykt", _N("YM3812-LLE, YMF262-LLE, YMF276-LLE and YM2608-LLE by nukeykt"),
"ESFMu (modified version) by Kagamiin~", _N("ESFMu (modified version) by Kagamiin~"),
"ymfm by Aaron Giles", _N("ymfm by Aaron Giles"),
"emu2413 by Digital Sound Antiques", _N("emu2413 by Digital Sound Antiques"),
"MAME SN76496 by Nicola Salmoria", _N("MAME SN76496 by Nicola Salmoria"),
"MAME AY-3-8910 by Couriersud", _N("MAME AY-3-8910 by Couriersud"),
"with AY8930 fixes by Eulous, cam900 and Grauw", _N("with AY8930 fixes by Eulous, cam900 and Grauw"),
"MAME SAA1099 by Juergen Buchmueller and Manuel Abadia", _N("MAME SAA1099 by Juergen Buchmueller and Manuel Abadia"),
"MAME Namco WSG by Nicola Salmoria and Aaron Giles", _N("MAME Namco WSG by Nicola Salmoria and Aaron Giles"),
"MAME RF5C68 core by Olivier Galibert and Aaron Giles", _N("MAME RF5C68 core by Olivier Galibert and Aaron Giles"),
"MAME MSM5232 core by Jarek Burczynski and Hiromitsu Shioya", _N("MAME MSM5232 core by Jarek Burczynski and Hiromitsu Shioya"),
"MAME MSM6258 core by Barry Rodewald", _N("MAME MSM6258 core by Barry Rodewald"),
"MAME YMZ280B core by Aaron Giles", _N("MAME YMZ280B core by Aaron Giles"),
"MAME GA20 core by Acho A. Tang and R. Belmont", _N("MAME GA20 core by Acho A. Tang and R. Belmont"),
"MAME SegaPCM core by Hiromitsu Shioya and Olivier Galibert", _N("MAME SegaPCM core by Hiromitsu Shioya and Olivier Galibert"),
"SAASound by Dave Hooper and Simon Owen", _N("SAASound by Dave Hooper and Simon Owen"),
"SameBoy by Lior Halphon", _N("SameBoy by Lior Halphon"),
"Mednafen PCE, WonderSwan, T6W28 and Virtual Boy audio cores", _N("Mednafen PCE, WonderSwan, T6W28 and Virtual Boy audio cores"),
"SNES DSP core by Blargg", _N("SNES DSP core by Blargg"),
"puNES (NES, MMC5 and FDS) by FHorse", _N("puNES (NES, MMC5 and FDS) by FHorse"),
"NSFPlay (NES and FDS) by Brad Smith and Brezza", _N("NSFPlay (NES and FDS) by Brad Smith and Brezza"),
"reSID by Dag Lem", _N("reSID by Dag Lem"),
"reSIDfp by Dag Lem, Antti Lankila", _N("reSIDfp by Dag Lem, Antti Lankila"),
"and Leandro Nini", _N("and Leandro Nini"),
"dSID by DefleMask Team based on jsSID", _N("dSID by DefleMask Team based on jsSID"),
"Stella by Stella Team", _N("Stella by Stella Team"),
"QSound emulator by superctr and Valley Bell", _N("QSound emulator by superctr and Valley Bell"),
"VICE VIC-20 sound core by Rami Rasanen and viznut", _N("VICE VIC-20 sound core by Rami Rasanen and viznut"),
"VICE TED sound core by Andreas Boose, Tibor Biczo", _N("VICE TED sound core by Andreas Boose, Tibor Biczo"),
"and Marco van den Heuvel", _N("and Marco van den Heuvel"),
"VERA sound core by Frank van den Hoef", _N("VERA sound core by Frank van den Hoef"),
"mzpokeysnd POKEY emulator by Michael Borisov", _N("mzpokeysnd POKEY emulator by Michael Borisov"),
"ASAP POKEY emulator by Piotr Fusik", _N("ASAP POKEY emulator by Piotr Fusik"),
"ported by laoo to C++", _N("ported by laoo to C++"),
"vgsound_emu (second version, modified version) by cam900", _N("vgsound_emu (second version, modified version) by cam900"),
"SM8521 emulator (modified version) by cam900", _N("SM8521 emulator (modified version) by cam900"),
"D65010G031 emulator (modified version) by cam900", _N("D65010G031 emulator (modified version) by cam900"),
"Namco C140/C219 emulator (modified version) by cam900", _N("Namco C140/C219 emulator (modified version) by cam900"),
"PowerNoise emulator by scratchminer", _N("PowerNoise emulator by scratchminer"),
"ep128emu by Istvan Varga", _N("ep128emu by Istvan Varga"),
"NDS sound emulator by cam900", _N("NDS sound emulator by cam900"),
"", "",
"greetings to:", _N("greetings to:"),
"NEOART Costa Rica", "NEOART Costa Rica",
"Xenium Demoparty", "Xenium Demoparty",
"all members of Deflers of Noice!", _N("all members of Deflers of Noice!"),
"", "",
"copyright © 2021-2024 tildearrow", _N("copyright © 2021-2024 tildearrow"),
"(and contributors).", _N("(and contributors)."),
"licensed under GPLv2+! see", _N("licensed under GPLv2+! see"),
"LICENSE for more information.", _N("LICENSE for more information."),
"", "",
"help Furnace grow:", _N("help Furnace grow:"),
"https://github.com/tildearrow/furnace", "https://github.com/tildearrow/furnace",
"", "",
"contact tildearrow at:", _N("contact tildearrow at:"),
"https://tildearrow.org/?p=contact", "https://tildearrow.org/?p=contact",
"", "",
"disclaimer:", _N("disclaimer:"),
"despite the fact this program works", _N("despite the fact this program works"),
"with the .dmf file format, it is NOT", _N("with the .dmf file format, it is NOT"),
"affiliated with Delek or DefleMask in", _N("affiliated with Delek or DefleMask in"),
"any way, nor it is a replacement for", _N("any way, nor it is a replacement for"),
"the original program.", _N("the original program."),
"", "",
"it also comes with ABSOLUTELY NO WARRANTY.", _N("it also comes with ABSOLUTELY NO WARRANTY."),
"", "",
"thanks to all contributors/bug reporters!" _N("thanks to all contributors/bug reporters!")
}; };
const size_t aboutCount=sizeof(aboutLine)/sizeof(aboutLine[0]); const size_t aboutCount=sizeof(aboutLine)/sizeof(aboutLine[0]);
@ -356,24 +363,24 @@ void FurnaceGUI::drawAbout() {
} }
for (size_t i=0; i<aboutCount; i++) { for (size_t i=0; i<aboutCount; i++) {
double posX=(canvasW/2.0)+(sin(double(i)*0.5+double(aboutScroll)/(90.0*dpiScale))*120*dpiScale)-(ImGui::CalcTextSize(aboutLine[i]).x*0.5); double posX=(canvasW/2.0)+(sin(double(i)*0.5+double(aboutScroll)/(90.0*dpiScale))*120*dpiScale)-(ImGui::CalcTextSize(_(aboutLine[i])).x*0.5);
double posY=(canvasH-aboutScroll+42*i*dpiScale); double posY=(canvasH-aboutScroll+42*i*dpiScale);
if (posY<-80*dpiScale || posY>canvasH) continue; if (posY<-80*dpiScale || posY>canvasH) continue;
dl->AddText(bigFont,bigFont->FontSize, dl->AddText(bigFont,bigFont->FontSize,
ImVec2(posX+dpiScale,posY+dpiScale), ImVec2(posX+dpiScale,posY+dpiScale),
0xff000000,aboutLine[i]); 0xff000000,_(aboutLine[i]));
dl->AddText(bigFont,bigFont->FontSize, dl->AddText(bigFont,bigFont->FontSize,
ImVec2(posX+dpiScale,posY-dpiScale), ImVec2(posX+dpiScale,posY-dpiScale),
0xff000000,aboutLine[i]); 0xff000000,_(aboutLine[i]));
dl->AddText(bigFont,bigFont->FontSize, dl->AddText(bigFont,bigFont->FontSize,
ImVec2(posX-dpiScale,posY+dpiScale), ImVec2(posX-dpiScale,posY+dpiScale),
0xff000000,aboutLine[i]); 0xff000000,_(aboutLine[i]));
dl->AddText(bigFont,bigFont->FontSize, dl->AddText(bigFont,bigFont->FontSize,
ImVec2(posX-dpiScale,posY-dpiScale), ImVec2(posX-dpiScale,posY-dpiScale),
0xff000000,aboutLine[i]); 0xff000000,_(aboutLine[i]));
dl->AddText(bigFont,bigFont->FontSize, dl->AddText(bigFont,bigFont->FontSize,
ImVec2(posX,posY), ImVec2(posX,posY),
0xffffffff,aboutLine[i]); 0xffffffff,_(aboutLine[i]));
} }
ImGui::PopFont(); ImGui::PopFont();
@ -390,7 +397,7 @@ void FurnaceGUI::drawAbout() {
if (ImGui::IsKeyPressed(ImGuiKey_Space)) { if (ImGui::IsKeyPressed(ImGuiKey_Space)) {
aboutOpen=false; aboutOpen=false;
if (modified) { if (modified) {
showWarning("Unsaved changes! Save changes before playing?",GUI_WARN_CV); showWarning(_("Unsaved changes! Save changes before playing?"),GUI_WARN_CV);
} else { } else {
cvOpen=true; cvOpen=true;
cvNotSerious=true; cvNotSerious=true;