1
0
Fork 0
mirror of https://github.com/Orama-Interactive/Pixelorama.git synced 2025-02-08 03:19:49 +00:00
Pixelorama/src/UI/Dialogs/AboutDialog.gd

282 lines
12 KiB
GDScript3
Raw Normal View History

extends WindowDialog
2022-01-24 18:11:39 +00:00
const TRANSLATORS_DICTIONARY := {
"Emmanouil Papadeas (Overloaded)": ["Greek"],
"Xenofon Konitsas (huskee)": ["Greek"],
"Lena Louloudaki (Soliscital)": ["Greek"],
"Hugo Locurcio (Calinou)": ["French"],
"blackjoker77777": ["French"],
"Yoshiip (myoshipro)": ["French"],
"Iorvethe": ["French"],
"Paul Coral (lepaincestbon)": ["French"],
"RED (REDOOO)": ["French"],
"Aidan Olsen (PossiblyAShrub)": ["French"],
"Jean-Loup Macarit (leyk973)": ["French"],
"Lulullia (lulullia902)": ["French"],
"Anne Onyme 017 (Anne17)": ["French"],
"Nicolas.C (nico57c)": ["French"],
"Schweini07": ["German"],
"Martin Zabinski (Martin1991zab)": ["German"],
"Manuel (DrMoebyus)": ["German"],
"Dawid Niedźwiedzki (tiritto) ": ["Polish"],
"Serhiy Dmytryshyn (dies)": ["Polish"],
"Igor Santarek (jegor377)": ["Polish"],
"RainbowP": ["Polish"],
"Michael Alexsander (YeldhamDev)": ["Brazilian Portuguese"],
"Cedulio Cezar (ceduliocezar)": ["Brazilian Portuguese"],
"Alexandre Oliveira (rockytvbr)": ["Brazilian Portuguese"],
"IagoAndrade": ["Brazilian Portuguese"],
"chacal_exodius": ["Brazilian Portuguese"],
"Lucas Santiago (lu.santi.oli)": ["Brazilian Portuguese"],
"TheNoobPro44": ["Brazilian Portuguese"],
"DippoZz": ["Brazilian Portuguese"],
"Luciano Salomoni (LucianoSalomoni)": ["Brazilian Portuguese"],
"Andreev Andrei": ["Russian"],
"ax trifonov (ax34)": ["Russian"],
"Artem (blinovartem)": ["Russian"],
"Иван Соколов (SokoL1337)": ["Russian"],
2022-03-10 22:45:48 +00:00
"Daniil Belyakov (ermegil)": ["Russian"],
2022-01-24 18:11:39 +00:00
"stomleny_cmok": ["Russian", "Ukrainian"],
"Bohdan Matviiv (BodaMat)": ["Ukrainian"],
"Kinwailo": ["Chinese Traditional"],
"曹恩逢 (SiderealArt)": ["Chinese Traditional"],
"Chenxu Wang": ["Chinese Simplified"],
"Catherine Yang (qzcyyw13)": ["Chinese Simplified"],
"王晨旭 (wcxu21)": ["Chinese Simplified"],
"Marco Galli (Gaarco)": ["Italian"],
"StarFang208": ["Italian"],
"Azagaya VJ (azagaya.games)": ["Spanish"],
"Lilly And (KatieAnd)": ["Spanish"],
"UncleFangs": ["Spanish"],
"foralistico": ["Spanish"],
"Jaime Arancibia Soto": ["Spanish", "Catalan"],
"Jose Callejas (satorikeiko)": ["Spanish"],
"Javier Ocampos (Leedeo)": ["Spanish"],
"Art Leeman (artleeman)": ["Spanish"],
2022-03-10 22:45:48 +00:00
"DevCentu": ["Spanish"],
2022-01-24 18:11:39 +00:00
"Seifer23": ["Catalan"],
2022-06-05 14:49:18 +00:00
"Joel García Cascalló (jocsencat) ": ["Catalan"],
2022-01-24 18:11:39 +00:00
"Agnis Aldiņš (NeZvers)": ["Latvian"],
"Edgars Korns (Eddy11)": ["Latvian"],
"Teashrock": ["Esperanto"],
"Blend_Smile": ["Indonesian"],
"NoahParaduck": ["Indonesian"],
"Channeling": ["Indonesian"],
2022-04-10 21:43:44 +00:00
"heydootdoot": ["Indonesian"],
2022-01-24 18:11:39 +00:00
"Martin Novák (novhack)": ["Czech"],
"Lullius": ["Norwegian Bokmål"],
"Aninuscsalas": ["Hungarian"],
"jaehyeon1090": ["Korean"],
"sfun_G": ["Korean"],
"KripC2160": ["Korean", "Japanese"],
"daisuke osada (barlog)": ["Japanese"],
"Motomo.exe": ["Japanese"],
"hebekeg": ["Japanese"],
"M. Gabriel Lup": ["Romanian"],
"ANormalKnife": ["Turkish"],
"kmsecer": ["Turkish"],
"Rıdvan SAYLAR": ["Turkish"],
"latbat58": ["Turkish"],
"M Buhari Horoz (Sorian01)": ["Turkish"],
"br.bahrampour": ["Turkish"],
"gegekyz": ["Turkish"],
"Vancat": ["Turkish"],
2022-03-10 22:45:48 +00:00
"Ferhat Geçdoğan (ferhatgec)": ["Turkish"],
2022-04-10 21:43:44 +00:00
"designy": ["Turkish"],
2022-03-10 22:45:48 +00:00
"GGIEnrike":
[
"Romanian",
"French",
"German",
"Italian",
"Portuguese",
"Serbian (Cyrillic)",
"Brazilian Portuguese"
],
2022-01-24 18:11:39 +00:00
}
export(Array, String, MULTILINE) var licenses: Array
onready var credits = $AboutUI/Credits
onready var groups: Tree = $AboutUI/Credits/Groups
onready var developer_container = $AboutUI/Credits/Developers
onready var contributors_container = $AboutUI/Credits/Contributors
onready var donors_container = $AboutUI/Credits/Donors
onready var translators_container = $AboutUI/Credits/Translators
onready var licenses_container = $AboutUI/Credits/Licenses
onready var developers: Tree = $AboutUI/Credits/Developers/DeveloperTree
onready var contributors: Tree = $AboutUI/Credits/Contributors/ContributorTree
onready var donors: Tree = $AboutUI/Credits/Donors/DonorTree
onready var translators: Tree = $AboutUI/Credits/Translators/TranslatorTree
onready var license_text: TextEdit = $AboutUI/Credits/Licenses/LicenseText
onready var slogan: Label = $AboutUI/IconsButtons/SloganAndLinks/VBoxContainer/PixeloramaSlogan
onready var copyright_label: Label = $AboutUI/Copyright
func _ready() -> void:
create_donors()
create_contributors()
var license_buttons_container = $AboutUI/Credits/Licenses/LicenseButtonsContainer
for button in license_buttons_container.get_children():
button.connect("pressed", self, "_on_LicenseButton_pressed", [button.get_index()])
license_text.text = licenses[0]
func _on_AboutDialog_about_to_show() -> void:
window_title = tr("About Pixelorama") + " " + Global.current_version
var groups_root := groups.create_item()
var developers_button := groups.create_item(groups_root)
var contributors_button := groups.create_item(groups_root)
var donors_button := groups.create_item(groups_root)
var translators_button := groups.create_item(groups_root)
var licenses_button := groups.create_item(groups_root)
developers_button.set_text(0, " " + tr("Developers"))
# We use metadata to avoid being affected by translations
developers_button.set_metadata(0, "Developers")
developers_button.select(0)
contributors_button.set_text(0, " " + tr("Contributors"))
contributors_button.set_metadata(0, "Contributors")
donors_button.set_text(0, " " + tr("Donors"))
donors_button.set_metadata(0, "Donors")
translators_button.set_text(0, " " + tr("Translators"))
translators_button.set_metadata(0, "Translators")
licenses_button.set_text(0, " " + tr("Licenses"))
licenses_button.set_metadata(0, "Licenses")
create_developers()
create_translators()
func _on_AboutDialog_popup_hide() -> void:
groups.clear()
developers.clear()
translators.clear()
func _on_Groups_item_selected() -> void:
for child in credits.get_children():
if child != groups:
child.visible = false
var selected: String = groups.get_selected().get_metadata(0)
if "Developers" in selected:
developer_container.visible = true
elif "Contributors" in selected:
contributors_container.visible = true
elif "Donors" in selected:
donors_container.visible = true
elif "Translators" in selected:
translators_container.visible = true
elif "Licenses" in selected:
licenses_container.visible = true
func _on_Website_pressed() -> void:
OS.shell_open("https://www.orama-interactive.com")
func _on_GitHub_pressed() -> void:
OS.shell_open("https://github.com/Orama-Interactive/Pixelorama")
func _on_Donate_pressed() -> void:
OS.shell_open("https://www.patreon.com/OramaInteractive")
func _on_LicenseButton_pressed(index: int) -> void:
license_text.text = licenses[index]
func create_developers() -> void:
var dev_root := developers.create_item()
developers.create_item(dev_root).set_text(
2022-01-24 18:11:39 +00:00
0, " Emmanouil Papadeas (Overloaded) - " + tr("Lead Programmer")
)
developers.create_item(dev_root).set_text(0, " John Nikitakis (Erevos) - " + tr("UI Designer"))
func create_donors() -> void:
var donors_root := donors.create_item()
donors.create_item(donors_root).set_text(0, " pcmxms - https://www.nonamefornowsoft.com.br/")
donors.create_item(donors_root).set_text(0, " Mike King")
donors.create_item(donors_root).set_text(0, " Guillaume Gautier")
donors.create_item(donors_root).set_text(0, " Hugo Locurcio")
donors.create_item(donors_root).set_text(0, " MysteryStudio")
2021-01-22 22:27:28 +00:00
donors.create_item(donors_root).set_text(0, " Ryan C. Gordon (icculus)")
donors.create_item(donors_root).set_text(0, " Benedikt")
2021-08-28 17:01:05 +00:00
donors.create_item(donors_root).set_text(0, " David Maziarka")
2021-12-07 00:20:12 +00:00
donors.create_item(donors_root).set_text(0, " Jonas Rudlang")
2022-03-10 22:45:48 +00:00
donors.create_item(donors_root).set_text(0, " ShikadiGum")
func create_contributors() -> void:
var contributor_root := contributors.create_item()
contributors.create_item(contributor_root).set_text(0, " Hugo Locurcio (Calinou)")
contributors.create_item(contributor_root).set_text(0, " CheetoHead (greusser)")
contributors.create_item(contributor_root).set_text(0, " Michael Alexsander (YeldhamDev)")
contributors.create_item(contributor_root).set_text(0, " Martin Novák (novhack)")
2021-01-22 22:27:28 +00:00
contributors.create_item(contributor_root).set_text(0, " Laurenz Reinthaler (Schweini07)")
2021-05-04 10:44:06 +00:00
contributors.create_item(contributor_root).set_text(0, " Darshan Phaldesai (luiq54)")
2021-01-22 22:27:28 +00:00
contributors.create_item(contributor_root).set_text(0, " kleonc")
2021-05-04 10:44:06 +00:00
contributors.create_item(contributor_root).set_text(0, " azagaya")
contributors.create_item(contributor_root).set_text(0, " Kinwailo")
contributors.create_item(contributor_root).set_text(0, " Igor Santarek (jegor377)")
2021-05-04 10:44:06 +00:00
contributors.create_item(contributor_root).set_text(0, " Xenofon Konitsas (huskee)")
contributors.create_item(contributor_root).set_text(0, " Martin Zabinski (Martin1991zab)")
contributors.create_item(contributor_root).set_text(0, " Marco Galli (Gaarco)")
2021-05-04 10:44:06 +00:00
contributors.create_item(contributor_root).set_text(0, " Fayez Akhtar (Variable)")
contributors.create_item(contributor_root).set_text(0, " Matheus Pesegoginski (MatheusPese)")
contributors.create_item(contributor_root).set_text(0, " AbhinavKDev (abhinav3967)")
contributors.create_item(contributor_root).set_text(0, " sapient_cogbag")
contributors.create_item(contributor_root).set_text(0, " dasimonde")
contributors.create_item(contributor_root).set_text(0, " Matthew Paul (matthewpaul-us)")
contributors.create_item(contributor_root).set_text(0, " danielnaoexiste")
contributors.create_item(contributor_root).set_text(0, " PinyaColada")
contributors.create_item(contributor_root).set_text(0, " Subhang Nanduri (SbNanduri)")
contributors.create_item(contributor_root).set_text(0, " Dávid Gábor BODOR (dragonfi)")
contributors.create_item(contributor_root).set_text(0, " John Jerome Romero (Wishdream)")
contributors.create_item(contributor_root).set_text(0, " Andreev Andrei")
contributors.create_item(contributor_root).set_text(0, " Aaron Franke (aaronfranke)")
contributors.create_item(contributor_root).set_text(0, " rob-a-bolton")
contributors.create_item(contributor_root).set_text(0, " Vriska Weaver (henlo-birb)")
contributors.create_item(contributor_root).set_text(0, " Rémi Verschelde (akien-mga)")
contributors.create_item(contributor_root).set_text(0, " gschwind")
contributors.create_item(contributor_root).set_text(0, " THWLF")
contributors.create_item(contributor_root).set_text(0, " Gamespleasure")
contributors.create_item(contributor_root).set_text(0, " ballerburg9005")
2021-07-06 11:01:36 +00:00
contributors.create_item(contributor_root).set_text(0, " Kawan Weege (DragonOfWar)")
2021-04-16 19:07:38 +00:00
contributors.create_item(contributor_root).set_text(0, " kevinms")
2021-07-05 16:32:12 +00:00
contributors.create_item(contributor_root).set_text(0, " Álex Román Núñez (EIREXE)")
2021-08-28 17:01:05 +00:00
contributors.create_item(contributor_root).set_text(0, " mrtripie")
contributors.create_item(contributor_root).set_text(0, " Jeremy Behreandt (behreajj)")
2021-10-07 13:57:26 +00:00
contributors.create_item(contributor_root).set_text(0, " Marquis Kurt (alicerunsonfedora)")
2021-12-02 23:45:57 +00:00
contributors.create_item(contributor_root).set_text(0, " Silent Orb (silentorb)")
2021-12-07 00:20:12 +00:00
contributors.create_item(contributor_root).set_text(0, " JumpJetAvocado")
2022-04-02 14:10:16 +00:00
contributors.create_item(contributor_root).set_text(0, " ArthyChaux")
2022-06-05 14:49:18 +00:00
contributors.create_item(contributor_root).set_text(0, " AlphinAlbukhari")
contributors.create_item(contributor_root).set_text(
0, " Matteo Piovanelli (MatteoPiovanelli-Laser)"
)
contributors.create_item(contributor_root).set_text(0, " Haoyu Qiu (timothyqiu)")
func create_translators() -> void:
var translators_root := translators.create_item()
2022-01-24 18:11:39 +00:00
var translator_list := TRANSLATORS_DICTIONARY.keys()
for translator in translator_list:
var languages: Array = TRANSLATORS_DICTIONARY[translator]
var language_string: String = tr(languages[0])
2022-03-10 22:45:48 +00:00
for i in range(1, languages.size()):
if i == languages.size() - 1:
language_string += " %s %s" % [tr("and"), tr(languages[i])]
else:
language_string += ", %s" % [tr(languages[i])]
2022-01-24 18:11:39 +00:00
var text := " %s - %s" % [translator, language_string]
translators.create_item(translators_root).set_text(0, text)