21#include <boost/version.hpp>
22#include <wx/aboutdlg.h>
23#include <wx/arrimpl.cpp>
24#include <wx/textctrl.h>
43WX_DEFINE_OBJARRAY( CONTRIBUTORS )
46static wxString
HtmlHyperlink(
const wxString& url,
const wxString& description = wxEmptyString );
47static wxString
HtmlNewline(
const unsigned int amount = 1 );
92 { wxT(
"Jean-Pierre Charras" ),
LEAD_DEV },
93 { wxT(
"Wayne Stambaugh" ),
LEAD_DEV },
98 { wxT(
"Roberto Fernandez Bautista" ),
LEAD_DEV },
100 { wxT(
"Fabien Corona" ),
LEAD_DEV },
101 { wxT(
"Seth Hillbrand" ),
LEAD_DEV },
102 { wxT(
"James Jackson" ),
LEAD_DEV },
103 { wxT(
"Ian McInerney" ),
LEAD_DEV },
105 { wxT(
"Alex Shvartzkop" ),
LEAD_DEV },
106 { wxT(
"Mike Williams" ),
LEAD_DEV },
107 { wxT(
"Tomasz Wlostowski" ),
LEAD_DEV },
115 { wxT(
"Orson (Maciej Sumiński)" ),
FORMER_DEV },
343 { wxT(
"Mojca Miklavec Groenhuis" ),
CONTRIB_DEV },
365 { wxT(
"Christoph Moench-Tegeder" ),
CONTRIB_DEV },
368 { wxT(
"Alejandro García Montoro" ),
CONTRIB_DEV },
558 wxT(
"Scott Candey" ),
559 wxS(
"Jean-Pierre Charras" ),
560 wxS(
"Marco Ciampa" ),
562 wxS(
"Dick Hollenbeck" ),
563 wxS(
"James Jackson" ),
564 wxS(
"Graham Keeth" ),
565 wxS(
"Igor Plyatov" ),
566 wxS(
"Wayne Stambaugh" ),
567 wxS(
"Fabrizio Tappero" ),
573 { wxT(
"Radovan Blažek" ), wxS(
"Czech (CS)" ) },
574 { wxT(
"Ondřej Čertík" ), wxS(
"Czech (CS)" ) },
575 { wxT(
"Martin Kratoška" ), wxS(
"Czech (CS)" ) },
576 { wxT(
"Michal Kundrát" ), wxS(
"Czech (CS)" ) },
577 { wxT(
"Radek Kuznik" ), wxS(
"Czech (CS)" ) },
578 { wxT(
"Roman Ondráček" ), wxS(
"Czech (CS)" ) },
579 { wxT(
"Petr Pazourek" ), wxS(
"Czech (CS)" ) },
580 { wxT(
"René Široký" ), wxS(
"Czech (CS)" ) },
581 { wxT(
"Hynek Štětina" ), wxS(
"Czech (CS)" ) },
582 { wxT(
"Jan Straka" ), wxS(
"Czech (CS)" ) },
583 { wxT(
"Andrej Valek" ), wxS(
"Czech (CS)" ) },
584 { wxT(
"Jan Vykydal" ), wxS(
"Czech (CS)" ) },
586 { wxS(
"Mads Dyrmann" ), wxS(
"Danish (DA)" ) },
587 { wxS(
"Henrik Kauhanen" ), wxS(
"Danish (DA)" ) },
588 { wxS(
"Nick Østergaard" ), wxS(
"Danish (DA)" ) },
590 { wxS(
"Ettore Atalan" ), wxS(
"German (DE)" ) },
591 { wxS(
"Ivan Chuba" ), wxS(
"German (DE)" ) },
592 { wxS(
"Julian Daube" ), wxS(
"German (DE)" ) },
593 { wxS(
"Benedikt Freisen" ), wxS(
"German (DE)" ) },
594 { wxS(
"Jonathan Haas" ), wxS(
"German (DE)" ) },
595 { wxT(
"Mark Hämmerling" ), wxS(
"German (DE)" ) },
596 { wxT(
"Henrik Kauhanen" ), wxS(
"German (DE)" ) },
597 { wxT(
"Johannes Maibaum" ), wxS(
"German (DE)" ) },
598 { wxT(
"Mathias Neumann" ), wxS(
"German (DE)" ) },
599 { wxT(
"Ken Ovo" ), wxS(
"German (DE)" ) },
600 { wxT(
"Christian Schlüter" ), wxS(
"German (DE)" ) },
601 { wxT(
"Karl Schuh" ), wxS(
"German (DE)" ) },
602 { wxT(
"Frank Sonnenberg" ), wxS(
"German (DE)" ) },
603 { wxT(
"Lauritz Tieste" ), wxS(
"German (DE)" ) },
604 { wxT(
"Dominik Wernberger" ), wxS(
"German (DE)" ) },
606 { wxT(
"Theodoros Asimakopoulos" ), wxS(
"Greek (el_GR)" ) },
607 { wxS(
"Aristeidis Kimirtzis" ), wxS(
"Greek (el_GR)" ) },
608 { wxS(
"Milonas Kostas" ), wxS(
"Greek (el_GR)" ) },
609 { wxS(
"Michail Misirlis" ), wxS(
"Greek (el_GR)" ) },
610 { wxS(
"Manolis Stefanis" ), wxS(
"Greek (el_GR)" ) },
611 { wxS(
"Athanasios Vlastos" ), wxS(
"Greek (el_GR)" ) },
613 { wxT(
"Adolfo Jayme Barrientos" ), wxS(
"Spanish (ES)" ) },
614 { wxT(
"Roberto Fernandez Bautista" ), wxS(
"Spanish (ES)" ) },
615 { wxT(
"Pablo Bianchi" ), wxS(
"Spanish (ES)" ) },
616 { wxT(
"Echedey" ), wxS(
"Spanish (ES)" ) },
617 { wxT(
"Iñigo Figuero" ), wxS(
"Spanish (ES)" ) },
618 { wxT(
"Augusto Fraga Giachero" ), wxS(
"Spanish (ES)" ) },
619 { wxT(
"Ulices Avila Hernandez" ), wxS(
"Spanish (ES)" ) },
620 { wxS(
"Gabriel Martinez" ), wxS(
"Spanish (ES)" ) },
621 { wxT(
"Tomás Mora" ), wxS(
"Spanish (ES)" ) },
622 { wxT(
"Gallego Novato" ), wxS(
"Spanish (ES)" ) },
623 { wxT(
"Jose Perez" ), wxS(
"Spanish (ES)" ) },
624 { wxT(
"Francisco Jose Rey" ), wxS(
"Spanish (ES)" ) },
625 { wxT(
"Gaston Schelotto" ), wxS(
"Spanish (ES)" ) },
626 { wxT(
"uLe" ), wxS(
"Spanish (ES)" ) },
627 { wxS(
"Pedro Martin del Valle" ), wxS(
"Spanish (ES)" ) },
628 { wxT(
"VicSanRoPe" ), wxS(
"Spanish (ES)" ) },
629 { wxT(
"Iñigo Zuluaga" ), wxS(
"Spanish (ES)" ) },
631 { wxT(
"Ulices Avila Hernandez" ), wxS(
"Spanish - Latin American (ES)" ) },
632 { wxT(
"lylythechosenone" ), wxS(
"Spanish - Latin American (ES)" ) },
633 { wxT(
"uLe" ), wxS(
"Spanish - Latin American (ES)" ) },
634 { wxT(
"VicSanRoPe" ), wxS(
"Spanish - Latin American (ES)" ) },
636 { wxT(
"Alex Gellen" ), wxS(
"Finnish (FI)" ) },
637 { wxT(
"Henrik Kauhanen" ), wxS(
"Finnish (FI)" ) },
638 { wxT(
"Purkka Koodari" ), wxS(
"Finnish (FI)" ) },
639 { wxT(
"Toni Laiho" ), wxS(
"Finnish (FI)" ) },
640 { wxT(
"J. Lavoie" ), wxS(
"Finnish (FI)" ) },
641 { wxT(
"Simo Mattila" ), wxS(
"Finnish (FI)" ) },
642 { wxT(
"Petri Niemelä" ), wxS(
"Finnish (FI)" ) },
643 { wxT(
"Ola Rinta-Koski" ), wxS(
"Finnish (FI)" ) },
644 { wxT(
"Vesa Solonen" ), wxS(
"Finnish (FI)" ) },
645 { wxT(
"Ricky Tigg" ), wxS(
"Finnish (FI)" ) },
646 { wxT(
"Riku Viitanen" ), wxS(
"Finnish (FI)" ) },
648 { wxT(
"Jean-Pierre Charras" ), wxS(
"French (FR)" ) },
650 { wxT(
"Boromyr" ), wxS(
"Italian (IT)" ) },
651 { wxT(
"Marco Ciampa" ), wxS(
"Italian (IT)" ) },
652 { wxT(
"Luca Mattii" ), wxS(
"Italian (IT)" ) },
654 { wxT(
"2tama3" ), wxS(
"Japanese (JA)" ) },
655 { wxT(
"Subaru Arai" ), wxS(
"Japanese (JA)" ) },
656 { wxT(
"Ji Yoon Choi" ), wxS(
"Japanese (JA)" ) },
657 { wxT(
"Hidemichi Gotou" ), wxS(
"Japanese (JA)" ) },
658 { wxT(
"Kinichiro Inoguchi" ), wxS(
"Japanese (JA)" ) },
659 { wxT(
"co8 j" ), wxS(
"Japanese (JA)" ) },
660 { wxT(
"Keisuke Nakao" ), wxS(
"Japanese (JA)" ) },
661 { wxT(
"starfort-jp" ), wxS(
"Japanese (JA)" ) },
662 { wxT(
"Norio Suzuki" ), wxS(
"Japanese (JA)" ) },
663 { wxT(
"Hiroshi Tokita" ), wxS(
"Japanese (JA)" ) },
664 { wxT(
"Yutaro Urata" ), wxS(
"Japanese (JA)" ) },
665 { wxT(
"Kenta Yonekura" ), wxS(
"Japanese (JA)" ) },
666 { wxT(
"Kaoru Zenyouji" ), wxS(
"Japanese (JA)" ) },
668 { wxT(
"Minsu Kim (0xGabriel)" ), wxS(
"Korean (KO)" ) },
669 { wxT(
"Ji Yoon Choi" ), wxS(
"Korean (KO)" ) },
670 { wxT(
"DevAny" ), wxS(
"Korean (KO)" ) },
671 { wxT(
"hokim" ), wxS(
"Korean (KO)" ) },
672 { wxT(
"jehunseo" ), wxS(
"Korean (KO)" ) },
673 { wxT(
"jeong-sangwon" ), wxS(
"Korean (KO)" ) },
674 { wxT(
"jeongsuAn" ), wxS(
"Korean (KO)" ) },
675 { wxT(
"Uibeom Jung" ), wxS(
"Korean (KO)" ) },
676 { wxT(
"kmn4555" ), wxS(
"Korean (KO)" ) },
677 { wxT(
"KwonHyeokbeom" ), wxS(
"Korean (KO)" ) },
678 { wxT(
"Pedro Moreira" ), wxS(
"Korean (KO)" ) },
679 { wxT(
"Jason Son" ), wxS(
"Korean (KO)" ) },
680 { wxT(
"YunJiSang" ), wxS(
"Korean (KO)" ) },
681 { wxT(
"강명구" ), wxS(
"Korean (KO)" ) },
682 { wxT(
"김낙환" ), wxS(
"Korean (KO)" ) },
683 { wxT(
"김랑기" ), wxS(
"Korean (KO)" ) },
684 { wxT(
"김세영" ), wxS(
"Korean (KO)" ) },
685 { wxT(
"김용재" ), wxS(
"Korean (KO)" ) },
686 { wxT(
"김유진" ), wxS(
"Korean (KO)" ) },
687 { wxT(
"김인수" ), wxS(
"Korean (KO)" ) },
688 { wxT(
"김호진" ), wxS(
"Korean (KO)" ) },
689 { wxT(
"남우근" ), wxS(
"Korean (KO)" ) },
690 { wxT(
"박기정" ), wxS(
"Korean (KO)" ) },
691 { wxT(
"박세훈" ), wxS(
"Korean (KO)" ) },
692 { wxT(
"박준언" ), wxS(
"Korean (KO)" ) },
693 { wxT(
"방준영" ), wxS(
"Korean (KO)" ) },
694 { wxT(
"서범기" ), wxS(
"Korean (KO)" ) },
695 { wxT(
"이기형" ), wxS(
"Korean (KO)" ) },
696 { wxT(
"이상수" ), wxS(
"Korean (KO)" ) },
697 { wxT(
"이윤성" ), wxS(
"Korean (KO)" ) },
698 { wxT(
"킴슨김랑기" ), wxS(
"Korean (KO)" ) },
700 { wxT(
"Ignas Brašiškis" ), wxS(
"Lithuanian (LT)" ) },
701 { wxT(
"Henrik Kauhanen" ), wxS(
"Lithuanian (LT)" ) },
702 { wxT(
"Dainius Mazuika" ), wxS(
"Lithuanian (LT)" ) },
703 { wxT(
"WhiteChairFromIkea" ), wxS(
"Lithuanian (LT)" ) },
705 { wxT(
"Arend-Jan van Hilten" ), wxS(
"Dutch (NL)" ) },
706 { wxT(
"CJ van der Hoeven" ), wxS(
"Dutch (NL)" ) },
707 { wxT(
"Laurens Holst" ), wxS(
"Dutch (NL)" ) },
708 { wxT(
"Pim Jansen" ), wxS(
"Dutch (NL)" ) },
709 { wxT(
"Robin Janssens" ), wxS(
"Dutch (NL)" ) },
710 { wxT(
"johanneswilkens" ), wxS(
"Dutch (NL)" ) },
711 { wxT(
"Henrik Kauhanen" ), wxS(
"Dutch (NL)" ) },
712 { wxT(
"Tom Niesse" ), wxS(
"Dutch (NL)" ) },
713 { wxT(
"Christiaan Nieuwlaat" ), wxS(
"Dutch (NL)" ) },
714 { wxT(
"Stefan De Raedemaeker" ), wxS(
"Dutch (NL)" ) },
715 { wxT(
"Ranforingus" ), wxS(
"Dutch (NL)" ) },
716 { wxT(
"Herman van der Vaart" ), wxS(
"Dutch (NL)" ) },
717 { wxT(
"Bas Wijnen" ), wxS(
"Dutch (NL)" ) },
719 { wxT(
"Jarl Gjessing" ), wxS(
"Norwegian (NO)" ) },
720 { wxT(
"Henrik Kauhanen" ), wxS(
"Norwegian (NO)" ) },
721 { wxT(
"Stian Kristensen" ), wxS(
"Norwegian (NO)" ) },
722 { wxT(
"Allan Nordhøy" ), wxS(
"Norwegian (NO)" ) },
723 { wxT(
"Petter Reinholdtsen" ), wxS(
"Norwegian (NO)" ) },
724 { wxT(
"Håvard Syslak" ), wxS(
"Norwegian (NO)" ) },
726 { wxT(
"Ivan Chuba" ), wxS(
"Polish (PL)" ) },
727 { wxT(
"Czam Ciał" ), wxS(
"Polish (PL)" ) },
728 { wxT(
"Kerusey Karyu" ), wxS(
"Polish (PL)" ) },
729 { wxT(
"Krzysztof Kawa" ), wxS(
"Polish (PL)" ) },
730 { wxT(
"J Kolod" ), wxS(
"Polish (PL)" ) },
731 { wxT(
"maksz42" ), wxS(
"Polish (PL)" ) },
732 { wxT(
"Eryk Michalak" ), wxS(
"Polish (PL)" ) },
733 { wxT(
"Filip Piękoś" ), wxS(
"Polish (PL)" ) },
734 { wxT(
"Pomian" ), wxS(
"Polish (PL)" ) },
735 { wxT(
"Mark Roszko" ), wxS(
"Polish (PL)" ) },
736 { wxT(
"Mateusz Skowroński" ), wxS(
"Polish (PL)" ) },
737 { wxT(
"Jan Sobków" ), wxS(
"Polish (PL)" ) },
738 { wxT(
"szumsky" ), wxS(
"Polish (PL)" ) },
739 { wxT(
"Grzegorz Szymaszek" ), wxS(
"Polish (PL)" ) },
740 { wxT(
"ZbeeGin" ), wxS(
"Polish (PL)" ) },
742 { wxT(
"brunofaus" ), wxS(
"Brazilian Portuguese (PT_BR)" ) },
743 { wxT(
"Augusto Fraga Giachero" ), wxS(
"Brazilian Portuguese (PT_BR)" ) },
744 { wxT(
"Hildo Guillardi Júnior" ), wxS(
"Brazilian Portuguese (PT_BR)" ) },
745 { wxT(
"Pedro Moreira" ), wxS(
"Brazilian Portuguese (PT_BR)" ) },
746 { wxT(
"soldado-do-wolfenstein" ), wxS(
"Brazilian Portuguese (PT_BR)" ) },
747 { wxT(
"Wellington Terumi Uemura" ), wxS(
"Brazilian Portuguese (PT_BR)" ) },
749 { wxT(
"Julio Dias" ), wxS(
"Portuguese (PT)" ) },
750 { wxT(
"Augusto Fraga Giachero" ), wxS(
"Portuguese (PT)" ) },
751 { wxT(
"Hildo Guillardi Júnior" ), wxS(
"Portuguese (PT)" ) },
752 { wxT(
"leonardokr" ), wxS(
"Portuguese (PT)" ) },
753 { wxT(
"Renie Marquet" ), wxS(
"Portuguese (PT)" ) },
754 { wxT(
"Rafael Silva" ), wxS(
"Portuguese (PT)" ) },
755 { wxT(
"Manuela Silva" ), wxS(
"Portuguese (PT)" ) },
756 { wxT(
"ssantos" ), wxS(
"Portuguese (PT)" ) },
758 { wxT(
"Konstantin Baranovskiy" ), wxS(
"Russian (RU)" ) },
759 { wxT(
"Ivan Chuba" ), wxS(
"Russian (RU)" ) },
760 { wxT(
"Andrey Fedorushkov" ), wxS(
"Russian (RU)" ) },
761 { wxT(
"Free_squire" ), wxS(
"Russian (RU)" ) },
762 { wxT(
"Alevtina Karashokova" ), wxS(
"Russian (RU)" ) },
763 { wxT(
"Eldar Khayrullin" ), wxS(
"Russian (RU)" ) },
764 { wxT(
"Alex Life" ), wxS(
"Russian (RU)" ) },
765 { wxT(
"Dmitry Mikhirev" ), wxS(
"Russian (RU)" ) },
766 { wxT(
"Igor Plyatov" ), wxS(
"Russian (RU)" ) },
767 { wxT(
"sergio" ), wxS(
"Russian (RU)" ) },
768 { wxT(
"xXx" ), wxS(
"Russian (RU)" ) },
769 { wxT(
"Дмитрий Дёмин" ), wxS(
"Russian (RU)" ) },
770 { wxT(
"МАН69К" ), wxS(
"Russian (RU)" ) },
772 { wxT(
"Hanna Breisand" ), wxS(
"Swedish (SV)" ) },
773 { wxT(
"Stefan Bjornelund the Gnome" ), wxS(
"Swedish (SV)" ) },
774 { wxT(
"Johan Heikkilä" ), wxS(
"Swedish (SV)" ) },
775 { wxT(
"Axel Henriksson" ), wxS(
"Swedish (SV)" ) },
776 { wxT(
"Richard Jonsson" ), wxS(
"Swedish (SV)" ) },
777 { wxT(
"Henrik Kauhanen" ), wxS(
"Swedish (SV)" ) },
778 { wxT(
"Joakim Lundborg" ), wxS(
"Swedish (SV)" ) },
779 { wxT(
"Allan Nordhøy" ), wxS(
"Swedish (SV)" ) },
780 { wxT(
"Elias Sjögreen" ), wxS(
"Swedish (SV)" ) },
782 { wxT(
"Boonchai Kingrungped" ), wxS(
"Thai (TH)" ) },
784 { wxT(
"Artem" ), wxS(
"Ukrainian (UK)" ) },
785 { wxT(
"Ivan Chuba" ), wxS(
"Ukrainian (UK)" ) },
786 { wxT(
"Stanislav Kaliuk" ), wxS(
"Ukrainian (UK)" ) },
787 { wxT(
"Alexsandr Kuzemko" ), wxS(
"Ukrainian (UK)" ) },
788 { wxT(
"Andrii Shelestov" ), wxS(
"Ukrainian (UK)" ) },
789 { wxT(
"Максим Горпиніч" ), wxS(
"Ukrainian (UK)" ) },
791 { wxT(
"CharlieYu" ), wxS(
"Simplified Chinese (zh_CN)" ) },
792 { wxT(
"David Chen" ), wxS(
"Simplified Chinese (zh_CN)" ) },
793 { wxT(
"Dingzhong Chen" ), wxS(
"Simplified Chinese (zh_CN)" ) },
794 { wxT(
"CloverGit" ), wxS(
"Simplified Chinese (zh_CN)" ) },
795 { wxT(
"Eric" ), wxS(
"Simplified Chinese (zh_CN)" ) },
796 { wxT(
"Liu Guang" ), wxS(
"Simplified Chinese (zh_CN)" ) },
797 { wxT(
"HalfSweet" ), wxS(
"Simplified Chinese (zh_CN)" ) },
798 { wxT(
"Hubert Hu" ), wxS(
"Simplified Chinese (zh_CN)" ) },
799 { wxT(
"aisuneko icecat" ), wxS(
"Simplified Chinese (zh_CN)" ) },
800 { wxT(
"Pinpang Liao" ), wxS(
"Simplified Chinese (zh_CN)" ) },
801 { wxT(
"Rigo Ligo" ), wxS(
"Simplified Chinese (zh_CN)" ) },
802 { wxT(
"Huanyin Liu" ), wxS(
"Simplified Chinese (zh_CN)" ) },
803 { wxT(
"Zhen Sun" ), wxS(
"Simplified Chinese (zh_CN)" ) },
804 { wxT(
"Jason Tan" ), wxS(
"Simplified Chinese (zh_CN)" ) },
805 { wxT(
"Taotieren" ), wxS(
"Simplified Chinese (zh_CN)" ) },
806 { wxT(
"yangyangdaji" ), wxS(
"Simplified Chinese (zh_CN)" ) },
807 { wxT(
"Li Yi" ), wxS(
"Simplified Chinese (zh_CN)" ) },
808 { wxT(
"Li Yidong" ), wxS(
"Simplified Chinese (zh_CN)" ) },
809 { wxT(
"Tian Yunhao" ), wxS(
"Simplified Chinese (zh_CN)" ) },
810 { wxT(
"Lao Zhu" ), wxS(
"Simplified Chinese (zh_CN)" ) },
811 { wxT(
"yanzhen zhu" ), wxS(
"Simplified Chinese (zh_CN)" ) },
812 { wxT(
"zly20129" ), wxS(
"Simplified Chinese (zh_CN)" ) },
813 { wxT(
"向阳阳" ), wxS(
"Simplified Chinese (zh_CN)" ) },
814 { wxT(
"欠陥電気" ), wxS(
"Simplified Chinese (zh_CN)" ) },
816 { wxT(
"David Chen" ), wxS(
"Traditional Chinese (zh_TW)" ) },
817 { wxT(
"kai chiao chuang" ), wxS(
"Traditional Chinese (zh_TW)" ) },
818 { wxT(
"pon dahai" ), wxS(
"Traditional Chinese (zh_TW)" ) },
819 { wxT(
"Shuwn Hsu" ), wxS(
"Traditional Chinese (zh_TW)" ) },
820 { wxT(
"Poming Lee" ), wxS(
"Traditional Chinese (zh_TW)" ) },
821 { wxT(
"William Lin" ), wxS(
"Traditional Chinese (zh_TW)" ) },
822 { wxT(
"Oliver0804" ), wxS(
"Traditional Chinese (zh_TW)" ) },
823 { wxT(
"reimu105" ), wxS(
"Traditional Chinese (zh_TW)" ) },
824 { wxT(
"Che-Hsien Su" ), wxS(
"Traditional Chinese (zh_TW)" ) },
825 { wxT(
"Taotieren" ), wxS(
"Traditional Chinese (zh_TW)" ) },
826 { wxT(
"Li Yidong" ), wxS(
"Traditional Chinese (zh_TW)" ) },
827 { wxT(
"撒景賢" ), wxS(
"Traditional Chinese (zh_TW)" ) },
829 { wxT(
"Hesham Eina Abdalla" ), wxS(
"Arabic (AR)" ) },
830 { wxT(
"Djamel Dellaa" ), wxS(
"Arabic (AR)" ) },
831 { wxT(
"Ahmed Elswah" ), wxS(
"Arabic (AR)" ) },
832 { wxT(
"HADJAISSA" ), wxS(
"Arabic (AR)" ) },
833 { wxT(
"Morad Tamer" ), wxS(
"Arabic (AR)" ) },
835 { wxT(
"Adolfo Jayme Barrientos" ), wxS(
"Catalan (CA)" ) },
836 { wxT(
"Marc de Miguel" ), wxS(
"Catalan (CA)" ) },
837 { wxT(
"Rafael Serrano" ), wxS(
"Catalan (CA)" ) },
838 { wxT(
"Arnau Llovet Vidal" ), wxS(
"Catalan (CA)" ) },
840 { wxT(
"Ivan Chuba" ), wxS(
"Estonian (ET)" ) },
842 { wxT(
"Temuri Doghonadze" ), wxS(
"Georgian (KA)" ) },
844 { wxT(
"Viktor Döme" ), wxS(
"Hungarian (HU)" ) },
845 { wxT(
"István Farkas" ), wxS(
"Hungarian (HU)" ) },
846 { wxT(
"Flórián Fuszkó" ), wxS(
"Hungarian (HU)" ) },
847 { wxT(
"Sárkány Lőrinc" ), wxS(
"Hungarian (HU)" ) },
848 { wxT(
"Miklós Márton" ), wxS(
"Hungarian (HU)" ) },
849 { wxT(
"Balázs Meskó" ), wxS(
"Hungarian (HU)" ) },
850 { wxT(
"Hajdu Norbert" ), wxS(
"Hungarian (HU)" ) },
851 { wxT(
"Elek Zoltán" ), wxS(
"Hungarian (HU)" ) },
853 { wxT(
"Reza Almanda" ), wxS(
"Indonesian (ID)" ) },
854 { wxT(
"Jacque Fresco" ), wxS(
"Indonesian (ID)" ) },
855 { wxT(
"Neko Nekowazarashi" ), wxS(
"Indonesian (ID)" ) },
856 { wxT(
"Triyan W. Nugroho" ), wxS(
"Indonesian (ID)" ) },
858 { wxT(
"Rihards Skuja" ), wxS(
"Latvian (LV)" ) },
860 { wxT(
"Mahdi Ahmadzadeh" ), wxS(
"Persian (FA)" ) },
862 { wxT(
"Nicoara Alex" ), wxS(
"Romanian (RO)" ) },
863 { wxT(
"Tatu Bogdan" ), wxS(
"Romanian (RO)" ) },
864 { wxT(
"Alex Gellen" ), wxS(
"Romanian (RO)" ) },
865 { wxT(
"Adrian Scripcă" ), wxS(
"Romanian (RO)" ) },
867 { wxT(
"Luka Borkovic" ), wxS(
"Serbian (SR)" ) },
869 { wxT(
"David Chorváth" ), wxS(
"Slovak (SK)" ) },
870 { wxT(
"Marcel Hecko" ), wxS(
"Slovak (SK)" ) },
871 { wxT(
"Jakub Janek" ), wxS(
"Slovak (SK)" ) },
872 { wxT(
"Andrej Valek" ), wxS(
"Slovak (SK)" ) },
874 { wxT(
"Sašo Domadenik" ), wxS(
"Slovenian (SI)" ) },
875 { wxT(
"Vitan Košpenda" ), wxS(
"Slovenian (SI)" ) },
876 { wxT(
"Mitja Nemec" ), wxS(
"Slovenian (SI)" ) },
878 { wxT(
"தமிழ்நேரம்" ), wxS(
"Tamil (TA)" ) },
880 { wxT(
"YÜKSEL AÇIKGÖZ" ), wxS(
"Turkish (TR)" ) },
881 { wxT(
"Argeolog" ), wxS(
"Turkish (TR)" ) },
882 { wxT(
"Mahsum Aslan" ), wxS(
"Turkish (TR)" ) },
883 { wxT(
"Tevfik Bagcivan" ), wxS(
"Turkish (TR)" ) },
884 { wxT(
"Bahtiyar Bayram" ), wxS(
"Turkish (TR)" ) },
885 { wxT(
"Marine Biologist" ), wxS(
"Turkish (TR)" ) },
886 { wxT(
"Mustafa Selçuk ÇAVDAR" ), wxS(
"Turkish (TR)" ) },
887 { wxT(
"dogukansahil" ), wxS(
"Turkish (TR)" ) },
888 { wxT(
"Erkan" ), wxS(
"Turkish (TR)" ) },
889 { wxT(
"Oğuz Ersen" ), wxS(
"Turkish (TR)" ) },
890 { wxT(
"İclal Gör" ), wxS(
"Turkish (TR)" ) },
891 { wxT(
"Mert Gülsoy" ), wxS(
"Turkish (TR)" ) },
892 { wxT(
"Mert Kalkancı" ), wxS(
"Turkish (TR)" ) },
893 { wxT(
"metin kiruc" ), wxS(
"Turkish (TR)" ) },
894 { wxT(
"Gökhan Koçmarlı" ), wxS(
"Turkish (TR)" ) },
895 { wxT(
"Niyazi" ), wxS(
"Turkish (TR)" ) },
896 { wxT(
"Ahmet Saygın ÖĞÜLMÜŞ" ), wxS(
"Turkish (TR)" ) },
897 { wxT(
"Ertuğrul Reisoğlu" ), wxS(
"Turkish (TR)" ) },
898 { wxT(
"Murat Ursavaş" ), wxS(
"Turkish (TR)" ) },
899 { wxT(
"VEDAT YAMAN" ), wxS(
"Turkish (TR)" ) },
901 { wxT(
"Nguyen Van Dien" ), wxS(
"Vietnamese (VI)" ) },
902 { wxT(
"Trần Phi Hải" ), wxS(
"Vietnamese (VI)" ) },
903 { wxT(
"Nguyễn Ngọc Khánh" ), wxS(
"Vietnamese (VI)" ) },
904 { wxT(
"lê văn lập" ), wxS(
"Vietnamese (VI)" ) },
905 { wxT(
"Bế Trọng Nghĩa" ), wxS(
"Vietnamese (VI)" ) },
906 { wxT(
"An Nguyen" ), wxS(
"Vietnamese (VI)" ) },
907 { wxT(
"Phạm Minh Tấn" ), wxS(
"Vietnamese (VI)" ) },
909 { wxS(
"David J S Briscoe" ), wxS(
"Other" ) },
910 { wxS(
"Paul Burke" ), wxS(
"Other" ) },
911 { wxT(
"Remy Halvick" ), wxS(
"Other" ) },
912 { wxS(
"Dominique Laigle" ), wxS(
"Other" ) },
975 wxS(
"https://bitbucket.org/hyOzd/freecad-macros/src/master/" ) },
977 wxS(
"https://github.com/easyw/kicad-3d-models-in-freecad/graphs/contributors" ) },
979 wxS(
"https://gitlab.com/kicad/libraries/kicad-packages3D/-/graphs/master" ) },
982 wxS(
"https://gitlab.com/kicad/libraries/kicad-symbols/-/graphs/master" ) },
985 wxS(
"https://gitlab.com/kicad/libraries/kicad-footprint-generator" ) },
987 wxS(
"https://gitlab.com/kicad/libraries/kicad-footprints/-/graphs/master" ) },
992 wxT(
"Aleksandr Zyrianov" ),
993 wxT(
"Anda Subero" ),
994 wxT(
"Iñigo Zuluaga" ),
995 wxS(
"Fabrizio Tappero" ),
1000 wxS(
"Steven Falco" ),
1001 wxS(
"Johannes Maibaum" ),
1002 wxS(
"Jean-Samuel Reynaud" ),
1003 wxS(
"Bernhard Stegmaier" ),
1005 wxT(
"Nick Østergaard" ),
1028 << wxT(
", release" )
1036 wxString libVersion;
1037 libVersion << wxGetLibraryVersionInfo().GetVersionString();
1041 libVersion << wxT(
" Unicode " );
1043 libVersion << wxT(
" ANSI " );
1048 libVersion << wxT(
"and Boost " ) << ( BOOST_VERSION / 100000 ) << wxT(
"." )
1049 << ( BOOST_VERSION / 100 % 1000 ) << wxT(
"." ) << ( BOOST_VERSION % 100 )
1054 wxPlatformInfo platformInfo;
1056 libVersion << wxT(
"Platform: " ) << wxGetOsDescription() << wxT(
", " )
1062 wxString description;
1065 description << wxT(
"<p>" );
1066 description << wxT(
"<b><u>" )
1067 <<
_(
"Description" )
1068 << wxT(
"</u></b>" );
1070 description << wxT(
"<p>" )
1071 <<
_(
"The KiCad EDA Suite is a set of open source applications for the "
1072 "creation of electronic schematics and printed circuit boards." )
1075 description << wxT(
"</p>" );
1078 description << wxT(
"<p><b><u>" )
1079 <<
_(
"KiCad on the web" )
1080 << wxT(
"</u></b>" );
1083 description << wxT(
"<ul>" );
1084 description << wxT(
"<li>" )
1085 <<
_(
"The official KiCad website - " )
1088 description << wxT(
"<li>" )
1089 <<
_(
"Developer website - " )
1093 description << wxT(
"<li>" )
1094 <<
_(
"Official KiCad library repositories - " )
1098 description << wxT(
"</ul></p>" );
1100 description << wxT(
"<p><b><u>" )
1101 <<
_(
"Bug tracker" )
1102 << wxT(
"</u></b>" );
1105 description << wxT(
"<ul>" );
1106 description << wxT(
"<li>" )
1107 <<
_(
"Report or examine bugs - " )
1110 description << wxT(
"</ul></p>" );
1112 description << wxT(
"<p><b><u>" )
1113 <<
_(
"KiCad users group and community" )
1114 << wxT(
"</u></b>" );
1116 description << wxT(
"<ul>" );
1117 description << wxT(
"<li>" )
1118 <<
_(
"KiCad forum - " )
1122 description << wxT(
"</ul></p>" );
1130 << wxT(
"<div align='center'>" )
1132 <<
_(
"The complete KiCad EDA Suite is released under the" ) <<
HtmlNewline( 2 )
1134 _(
"GNU General Public License (GPL) version 3 or any later version" ) )
1154 _(
"Lead Development Alumni" ),
1155 _(
"Additional Contributions By" ) };
1161 const wxString docTeam =
_(
"Documentation Team" );
1174 _(
"Footprints" ) };
1179 librarianCategories[librarian.m_Category],
1180 librarian.m_Url ? librarian.m_Url : wxT(
"" ) ) );
1184 const wxString iconContribution =
_(
"Icons" );
1190 const wxString packageDevs =
_(
"Package Developers" );
1220static wxString
HtmlHyperlink(
const wxString& aUrl,
const wxString& aDescription )
1222 wxString hyperlink = wxEmptyString;
1224 if( aDescription.IsEmpty() )
1225 hyperlink << wxS(
"<a href='" ) << aUrl << wxS(
"'>" ) << aUrl << wxS(
"</a>" );
1227 hyperlink << wxS(
"<a href='" )<< aUrl << wxS(
"'>" ) << aDescription << wxS(
"</a>" );
1242 wxString newlineTags = wxEmptyString;
1244 for(
size_t i = 0; i<aCount; ++i )
1245 newlineTags << wxS(
"<br>" );
static wxString HtmlNewline(const unsigned int amount=1)
Create an HTML newline character sequence of aCount.
static wxString HtmlHyperlink(const wxString &url, const wxString &description=wxEmptyString)
Helper functions.
static const wxChar *const s_artists[]
static const DEVELOPER s_developers[]
static const LIBRARIAN s_librarians[]
void ShowAboutDialog(EDA_BASE_FRAME *aParent)
static void buildKicadAboutBanner(EDA_BASE_FRAME *aParent, ABOUT_APP_INFO &aInfo)
Initializes the ABOUT_APP_INFO object with application specific information.
static const TRANSLATOR s_translators[]
static const wxChar *const s_docWriters[]
static const wxChar *const s_packagers[]
@ SYMBOL_LIB_CONTRIBUTION
@ FOOTPRINT_LIB_CONTRIBUTION
@ LIBRARIAN_CATEGORY_COUNT
wxString GetBuildVersion()
Get the full KiCad version string.
wxString GetPlatformGetBitnessName()
wxString GetBuildDate()
Get the build date as a string.
An object of this class is meant to be used to store application specific information like who has co...
void AddDocWriter(const CONTRIBUTOR *docwriter)
void SetBuildDate(const wxString &date)
void AddTranslator(const CONTRIBUTOR *translator)
void AddDeveloper(const CONTRIBUTOR *developer)
void SetAppName(const wxString &name)
void SetDescription(const wxString &text)
void SetLibVersion(const wxString &version)
void AddArtist(const CONTRIBUTOR *artist)
void SetBuildVersion(const wxString &version)
void SetAppIcon(const wxIcon &aIcon)
void SetLicense(const wxString &text)
void AddLibrarian(const CONTRIBUTOR *aLibrarian)
void AddPackager(const CONTRIBUTOR *packager)
A contributor, a person which was involved in the development of the application or which has contrib...
About dialog to show application specific information.
The base frame for deriving all KiCad main window classes.
Base window classes and related definitions.
PGM_BASE & Pgm()
The global program "get" accessor.
LIBRARIAN_CATEGORY m_Category
const wxChar * m_Language