1
0
Fork 0
mirror of https://github.com/Orama-Interactive/Pixelorama.git synced 2025-02-07 19:09:50 +00:00
Pixelorama/src/UI/Dialogs/AboutDialog.gd
2022-07-30 22:11:29 +03:00

284 lines
12 KiB
GDScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

extends WindowDialog
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"],
"Michał (molters.tv)": ["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"],
"Daniil Belyakov (ermegil)": ["Russian"],
"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"],
"DevCentu": ["Spanish"],
"Seifer23": ["Catalan"],
"Joel García Cascalló (jocsencat) ": ["Catalan"],
"Agnis Aldiņš (NeZvers)": ["Latvian"],
"Edgars Korns (Eddy11)": ["Latvian"],
"Teashrock": ["Esperanto"],
"Blend_Smile": ["Indonesian"],
"NoahParaduck": ["Indonesian"],
"Channeling": ["Indonesian"],
"heydootdoot": ["Indonesian"],
"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"],
"Ferhat Geçdoğan (ferhatgec)": ["Turkish"],
"designy": ["Turkish"],
"GGIEnrike":
[
"Romanian",
"French",
"German",
"Italian",
"Portuguese",
"Serbian (Cyrillic)",
"Brazilian Portuguese"
],
}
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.oramainteractive.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(
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")
donors.create_item(donors_root).set_text(0, " Ryan C. Gordon (icculus)")
donors.create_item(donors_root).set_text(0, " Benedikt")
donors.create_item(donors_root).set_text(0, " David Maziarka")
donors.create_item(donors_root).set_text(0, " Jonas Rudlang")
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)")
contributors.create_item(contributor_root).set_text(0, " Laurenz Reinthaler (Schweini07)")
contributors.create_item(contributor_root).set_text(0, " Darshan Phaldesai (luiq54)")
contributors.create_item(contributor_root).set_text(0, " kleonc")
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)")
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)")
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")
contributors.create_item(contributor_root).set_text(0, " Kawan Weege (DragonOfWar)")
contributors.create_item(contributor_root).set_text(0, " kevinms")
contributors.create_item(contributor_root).set_text(0, " Álex Román Núñez (EIREXE)")
contributors.create_item(contributor_root).set_text(0, " mrtripie")
contributors.create_item(contributor_root).set_text(0, " Jeremy Behreandt (behreajj)")
contributors.create_item(contributor_root).set_text(0, " Marquis Kurt (alicerunsonfedora)")
contributors.create_item(contributor_root).set_text(0, " Silent Orb (silentorb)")
contributors.create_item(contributor_root).set_text(0, " JumpJetAvocado")
contributors.create_item(contributor_root).set_text(0, " ArthyChaux")
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)")
contributors.create_item(contributor_root).set_text(0, " GrantMoyer")
func create_translators() -> void:
var translators_root := translators.create_item()
var translator_list := TRANSLATORS_DICTIONARY.keys()
for translator in translator_list:
var languages: Array = TRANSLATORS_DICTIONARY[translator]
var language_string: String = tr(languages[0])
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])]
var text := " %s - %s" % [translator, language_string]
translators.create_item(translators_root).set_text(0, text)