Updated zh_CN translation from Danbo Song.
[dcpomatic.git] / src / wx / about_dialog.cc
index 9addd68bc6fee3334788495d808178352e762770..a40cd87c0ebe2f9a6ccf1a1c5f98806c2fe04bb1 100644 (file)
@@ -1,40 +1,47 @@
 /*
-    Copyright (C) 2013-2016 Carl Hetherington <cth@carlh.net>
+    Copyright (C) 2013-2021 Carl Hetherington <cth@carlh.net>
 
-    This program is free software; you can redistribute it and/or modify
+    This file is part of DCP-o-matic.
+
+    DCP-o-matic is free software; you can redistribute it and/or modify
     it under the terms of the GNU General Public License as published by
     the Free Software Foundation; either version 2 of the License, or
     (at your option) any later version.
 
-    This program is distributed in the hope that it will be useful,
+    DCP-o-matic is distributed in the hope that it will be useful,
     but WITHOUT ANY WARRANTY; without even the implied warranty of
     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
     GNU General Public License for more details.
 
     You should have received a copy of the GNU General Public License
-    along with this program; if not, write to the Free Software
-    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+    along with DCP-o-matic.  If not, see <http://www.gnu.org/licenses/>.
 
 */
 
+
 /** @file  src/wx/about_dialog.cc
  *  @brief The "about DCP-o-matic" dialogue box.
  */
 
 #include "about_dialog.h"
+#include "static_text.h"
 #include "wx_util.h"
-#include "lib/version.h"
 #include "lib/compose.hpp"
+#include "lib/version.h"
+#include <dcp/warnings.h>
+LIBDCP_DISABLE_WARNINGS
 #include <wx/notebook.h>
 #include <wx/hyperlink.h>
+LIBDCP_ENABLE_WARNINGS
 
 using std::vector;
 
+
 AboutDialog::AboutDialog (wxWindow* parent)
        : wxDialog (parent, wxID_ANY, _("About DCP-o-matic"))
 {
-       wxBoxSizer* overall_sizer = new wxBoxSizer (wxVERTICAL);
-       wxBoxSizer* sizer = new wxBoxSizer (wxVERTICAL);
+       auto overall_sizer = new wxBoxSizer (wxVERTICAL);
+       auto sizer = new wxBoxSizer (wxVERTICAL);
 
        wxFont title_font (*wxNORMAL_FONT);
        title_font.SetPointSize (title_font.GetPointSize() + 12);
@@ -46,22 +53,22 @@ AboutDialog::AboutDialog (wxWindow* parent)
        wxFont version_font (*wxNORMAL_FONT);
        version_font.SetWeight (wxFONTWEIGHT_BOLD);
 
-       wxStaticText* t = new wxStaticText (this, wxID_ANY, _("DCP-o-matic"));
+       auto t = new StaticText (this, _("DCP-o-matic"));
        t->SetFont (title_font);
        sizer->Add (t, wxSizerFlags().Centre().Border(wxALL, 16));
 
        wxString s;
        if (strcmp (dcpomatic_git_commit, "release") == 0) {
-               t = new wxStaticText (this, wxID_ANY, std_to_wx (String::compose ("Version %1", dcpomatic_version)));
+               t = new StaticText (this, std_to_wx(String::compose("Version %1", dcpomatic_version)));
        } else {
-               t = new wxStaticText (this, wxID_ANY, std_to_wx (String::compose ("Version %1 git %2", dcpomatic_version, dcpomatic_git_commit)));
+               t = new StaticText (this, std_to_wx(String::compose("Version %1 git %2", dcpomatic_version, dcpomatic_git_commit)));
        }
        t->SetFont (version_font);
        sizer->Add (t, wxSizerFlags().Centre().Border(wxALL, 2));
        sizer->AddSpacer (12);
 
-       t = new wxStaticText (
-               this, wxID_ANY,
+       t = new StaticText (
+               this,
                _("Free, open-source DCP creation from almost anything."),
                wxDefaultPosition, wxDefaultSize, wxALIGN_CENTER
                );
@@ -69,17 +76,17 @@ AboutDialog::AboutDialog (wxWindow* parent)
 
        sizer->Add (t, wxSizerFlags().Centre().Border(wxALL, 8));
 
-       wxHyperlinkCtrl* h = new wxHyperlinkCtrl (
+       auto h = new wxHyperlinkCtrl (
                this, wxID_ANY,
                wxT ("dcpomatic.com"),
-               wxT ("http://dcpomatic.com")
+               wxT ("https://dcpomatic.com")
                );
 
        sizer->Add (h, wxSizerFlags().Centre().Border(wxALL, 8));
 
-       t = new wxStaticText (
-               this, wxID_ANY,
-               _("(C) 2012-2016 Carl Hetherington, Terrence Meiczinger\n Ole Laursen, Brecht Sanders"),
+       t = new StaticText (
+               this,
+               _("(C) 2012-2023 Carl Hetherington, Terrence Meiczinger\n Ole Laursen"),
                wxDefaultPosition, wxDefaultSize, wxALIGN_CENTER
                );
 
@@ -90,22 +97,37 @@ AboutDialog::AboutDialog (wxWindow* parent)
        wxArrayString written_by;
        written_by.Add (wxT ("Carl Hetherington"));
        written_by.Add (wxT ("Terrence Meiczinger"));
+       written_by.Add (wxT ("Mart Jansink"));
        written_by.Add (wxT ("Ole Laursen"));
-       written_by.Add (wxT ("Brecht Sanders"));
-       written_by.Add (wxT ("Jianguo Huang"));
        add_section (_("Written by"), written_by);
 
+       wxArrayString with_help_from;
+       with_help_from.Add (wxT ("David Vignoni"));
+       with_help_from.Add (wxT ("Dennis Couzin"));
+       with_help_from.Add (wxT ("Carsten Kurz"));
+       with_help_from.Add (wxT ("Gérald Maruccia"));
+       with_help_from.Add (wxT ("Julian van Mil"));
+       with_help_from.Add (wxT ("Lilian Lefranc"));
+       add_section (_("With help from"), with_help_from);
+
        wxArrayString translated_by;
        translated_by.Add (wxT ("Manuel AC"));
        translated_by.Add (wxT ("Max Aeschlimann"));
+       translated_by.Add (wxT ("Gökhan Aksoy"));
        translated_by.Add (wxT ("Thiago Andre"));
+       translated_by.Add (wxT ("Felice D'Andrea"));
+       translated_by.Add (wxT ("Németh Áron"));
        translated_by.Add (wxT ("Grégoire Ausina"));
        translated_by.Add (wxT ("Tomáš Begeni"));
        translated_by.Add (wxT ("Fabio \"Zak\" Belli"));
        translated_by.Add (wxT ("Cherif Ben Brahim"));
        translated_by.Add (wxT ("Massimiliano Broggi"));
+       translated_by.Add (wxT ("Dan Cohen"));
        translated_by.Add (wxT ("Davide Dall'AraCiao"));
+       translated_by.Add (wxT ("Uwe Dittes"));
+       translated_by.Add (wxT ("Михаил Эпштейн"));
        translated_by.Add (wxT ("William Fanelli"));
+       translated_by.Add (wxT ("Max M. Fuhlendorf"));
        translated_by.Add (wxT ("Tomáš Hlaváč"));
        translated_by.Add (wxT ("Thierry Journet"));
        translated_by.Add (wxT ("Adam Klotblixt"));
@@ -113,145 +135,53 @@ AboutDialog::AboutDialog (wxWindow* parent)
        translated_by.Add (wxT ("Carsten Kurz"));
        translated_by.Add (wxT ("Lilian Lefranc"));
        translated_by.Add (wxT ("Gérald Maruccia"));
+       translated_by.Add (wxT ("Mattias Mattsson"));
+       translated_by.Add (wxT ("Mike Mazur"));
        translated_by.Add (wxT ("Rob van Nieuwkerk"));
        translated_by.Add (wxT ("Anders Uhl Pedersen"));
+       translated_by.Add (wxT ("David Perrenoud"));
        translated_by.Add (wxT ("Olivier Perriere"));
        translated_by.Add (wxT ("Markus Raab"));
        translated_by.Add (wxT ("Tiago Casal Ribeiro"));
        translated_by.Add (wxT ("Davide Sanvito"));
        translated_by.Add (wxT ("Marek Skrzelowski"));
+       translated_by.Add (wxT ("Danbo Song"));
+       translated_by.Add (wxT ("Martin Srebotnjak"));
+       translated_by.Add (wxT ("Michał Tomaszewski"));
        translated_by.Add (wxT ("Igor Voytovich"));
        translated_by.Add (wxT ("Rov (若文)"));
+       translated_by.Add (wxT ("刘汉源"));
        add_section (_("Translated by"), translated_by);
 
-       wxArrayString with_help_from;
-       with_help_from.Add (wxT ("David Vignoni"));
-       with_help_from.Add (wxT ("Dennis Couzin"));
-       with_help_from.Add (wxT ("Gérald Maruccia"));
-       add_section (_("With help from"), with_help_from);
+       wxArrayString patrons;
+       patrons.Add ("Luproduction");
+       patrons.Add ("Lightbender Post");
+       patrons.Add ("Drop-out Cinema");
+       patrons.Add ("Pilotkino LLC");
+       add_section (_("Patrons"), patrons);
+
+       wxArrayString subscribers;
+       #include "subscribers.cc"
+       add_section (_("Subscribers"), subscribers);
 
        wxArrayString supported_by;
-       supported_by.Add (wxT ("Manuel AC"));
-       supported_by.Add (wxT ("Kambiz Afshar"));
-       supported_by.Add (wxT ("Alex Asp"));
-       supported_by.Add (wxT ("Eric Audurier"));
-       supported_by.Add (wxT ("Louis Belloisy"));
-       supported_by.Add (wxT ("Mike Blakesley"));
-       supported_by.Add (wxT ("Silvio Bonomi"));
-       supported_by.Add (wxT ("Jeff Boot"));
-       supported_by.Add (wxT ("Kieran Carroll"));
-       supported_by.Add (wxT ("Nathan Carpenter"));
-       supported_by.Add (wxT ("Matt Carter"));
-       supported_by.Add (wxT ("Frank Cianciolo"));
-       supported_by.Add (wxT ("Cinema Clarici"));
-       supported_by.Add (wxT ("Adam Colt"));
-       supported_by.Add (wxT ("Adam Cousins"));
-       supported_by.Add (wxT ("Matthias Damm"));
-       supported_by.Add (wxT ("Yohann Dedy"));
-       supported_by.Add (wxT ("Alexey Derevyanko"));
-       supported_by.Add (wxT ("Thomas Dickens"));
-       supported_by.Add (wxT ("Unwana Essien"));
-       supported_by.Add (wxT ("Maxime Estoppey"));
-       supported_by.Add (wxT ("Rasitha Ferdinando"));
-       supported_by.Add (wxT ("Jose Angel Velasco Fernandez"));
-       supported_by.Add (wxT ("Traverso City Film Festival"));
-       supported_by.Add (wxT ("Andres Fink"));
-       supported_by.Add (wxT ("Dave Fleegel"));
-       supported_by.Add (wxT ("Evan Freeze"));
-       supported_by.Add (wxT ("Silvio Giuliano"));
-       supported_by.Add (wxT ("Alan Gouger"));
-       supported_by.Add (wxT ("Christopher Gray"));
-       supported_by.Add (wxT ("Vincent Grenier"));
-       supported_by.Add (wxT ("Gerhard Gruber"));
-       supported_by.Add (wxT ("Flor Guillaume"));
-       supported_by.Add (wxT ("Patrick Haderer"));
-       supported_by.Add (wxT ("Jeff Hemingway"));
-       supported_by.Add (wxT ("Antonio Ruiz Hernandez"));
-       supported_by.Add (wxT ("Karl Jacob"));
-       supported_by.Add (wxT ("Jonathan Jensen"));
-       supported_by.Add (wxT ("Thierry Journet"));
-       supported_by.Add (wxT ("Zbigniew Kamiński"));
-       supported_by.Add (wxT ("Chris Kay"));
-       supported_by.Add (wxT ("Lars Kelto"));
-       supported_by.Add (wxT ("Erwan Kerzanet"));
-       supported_by.Add (wxT ("Kert Kiima"));
-       supported_by.Add (wxT ("Adam Klotblixt"));
-       supported_by.Add (wxT ("Filip Kovcin"));
-       supported_by.Add (wxT ("Cihan Kulaber"));
-       supported_by.Add (wxT ("Carsten Kurz"));
-       supported_by.Add (wxT ("Mandorla"));
-       supported_by.Add (wxT ("Gerard Manshanden"));
-       supported_by.Add (wxT ("Daniel Martinez Lara"));
-       supported_by.Add (wxT ("Stefan Massopust"));
-       supported_by.Add (wxT ("Michal Moc"));
-       supported_by.Add (wxT ("Lilian Lefranc"));
-       supported_by.Add (wxT ("Sean Leigh"));
-       supported_by.Add (wxT ("Olivier Lemaire"));
-       supported_by.Add (wxT ("Gavin Lewarne"));
-       supported_by.Add (wxT ("Theo Lipfert"));
-       supported_by.Add (wxT ("Paweł Lipiński"));
-       supported_by.Add (wxT ("Juan Marin Lorenzo"));
-       supported_by.Add (wxT ("Adrian Manolescu"));
-       supported_by.Add (wxT ("Mattias Mattsson"));
-       supported_by.Add (wxT ("George Mazarakis"));
-       supported_by.Add (wxT ("Kjarten Michaelsen"));
-       supported_by.Add (wxT ("Aldo Midali"));
-       supported_by.Add (wxT ("Sylvain Mielle"));
-       supported_by.Add (wxT ("Howard Molton"));
-       supported_by.Add (wxT ("Lindsay Morris"));
-       supported_by.Add (wxT ("NT Next"));
-       supported_by.Add (wxT ("David Nedrow"));
-       supported_by.Add (wxT ("Casablanca Nuernberg"));
-       supported_by.Add (wxT ("Tim O'Brien"));
-       supported_by.Add (wxT ("Jerome Cohen Olivar"));
-       supported_by.Add (wxT ("Tito Oliveira"));
-       supported_by.Add (wxT ("Kevin Orman"));
-       supported_by.Add (wxT ("Rui Pereira"));
-       supported_by.Add (wxT ("Denis Postle"));
-       supported_by.Add (wxT ("Aditya Pratama"));
-       supported_by.Add (wxT ("Ceridwen Productions"));
-       supported_by.Add (wxT ("Ivan Pullman"));
-       supported_by.Add (wxT ("Desiderio Garcia Ramirez"));
-       supported_by.Add (wxT ("Steve Reverand"));
-       supported_by.Add (wxT ("Mark Rolfe"));
-       supported_by.Add (wxT ("David Rozenthal"));
-       supported_by.Add (wxT ("Lasse Salling"));
-       supported_by.Add (wxT ("Jussi Siponen"));
-       supported_by.Add (wxT ("Gregg Smith"));
-       supported_by.Add (wxT ("Peter Sprenger"));
-       supported_by.Add (wxT ("Randy Stankey"));
-       supported_by.Add (wxT ("Andrä Steiner"));
-       supported_by.Add (wxT ("Mike Stiebing"));
-       supported_by.Add (wxT ("Christian Suhren"));
-       supported_by.Add (wxT ("Bruce Taylor"));
-       supported_by.Add (wxT ("Lawrence Towers"));
-       supported_by.Add (wxT ("Richard Turner"));
-       supported_by.Add (wxT ("Stéphane Wagneur"));
-       supported_by.Add (wxT ("Andrew Walls"));
-       supported_by.Add (wxT ("Raoul Walzer"));
-       supported_by.Add (wxT ("Wolfram Weber"));
-       supported_by.Add (wxT ("Frank Wenz"));
-       supported_by.Add (wxT ("Anja Wenz"));
-       supported_by.Add (wxT ("Johannes Wilbrand"));
-       supported_by.Add (wxT ("Roland Wirtz"));
-       supported_by.Add (wxT ("Wolfgang Woehl"));
-       supported_by.Add (wxT ("Frank de Wulf"));
-       supported_by.Add (wxT ("Pavel Zhdanko"));
-       supported_by.Add (wxT ("Cinéma de la Neuveville"));
-       supported_by.Add (wxT ("Frechen-Film e.V."));
-       supported_by.Add (wxT ("Mobiles Kino e.V."));
-       supported_by.Add (wxT ("Daniel Židek"));
-       supported_by.Add (wxT ("Гуляев Михаил"));
-       add_section (_("Supported by"), supported_by);
+       #include "supporters.cc"
+       add_section (_("Also supported by"), supported_by);
 
        wxArrayString tested_by;
+       tested_by.Add (wxT ("Manuel AC"));
        tested_by.Add (wxT ("Trever Anderson"));
+       tested_by.Add (wxT ("Mohamad W. Ali"));
+       tested_by.Add (wxT ("JP Beauviala"));
        tested_by.Add (wxT ("Mike Blakesley"));
        tested_by.Add (wxT ("David Booty"));
+       tested_by.Add (wxT ("Antonio Casado"));
        tested_by.Add (wxT ("Roop Chand"));
        tested_by.Add (wxT ("Daniel Chauvet"));
        tested_by.Add (wxT ("Adam Colt"));
        tested_by.Add (wxT ("John Convertino"));
+       tested_by.Add (wxT ("Daniel Courville"));
+       tested_by.Add (wxT ("Marek Dudzik"));
        tested_by.Add (wxT ("Andreas Eli"));
        tested_by.Add (wxT ("Leo Enticknap"));
        tested_by.Add (wxT ("Jose Angel Velasco Fernandez"));
@@ -261,6 +191,7 @@ AboutDialog::AboutDialog (wxWindow* parent)
        tested_by.Add (wxT ("Steve Guttag"));
        tested_by.Add (wxT ("Patrick Haderer"));
        tested_by.Add (wxT ("Bill Hamell"));
+       tested_by.Add (wxT ("Groet Han"));
        tested_by.Add (wxT ("Jonathan Jensen"));
        tested_by.Add (wxT ("Thierry Journet"));
        tested_by.Add (wxT ("Markus Kalb"));
@@ -272,10 +203,13 @@ AboutDialog::AboutDialog (wxWindow* parent)
        tested_by.Add (wxT ("Denzil Kriekenbeek"));
        tested_by.Add (wxT ("Carsten Kurz"));
        tested_by.Add (wxT ("Bill Lam"));
+       tested_by.Add (wxT ("David Lankes"));
        tested_by.Add (wxT ("Lilian Lefranc"));
+       tested_by.Add (wxT ("Sebastian Leitner"));
        tested_by.Add (wxT ("Olivier Lemaire"));
        tested_by.Add (wxT ("Gavin Lewarne"));
        tested_by.Add (wxT ("Gérald Maruccia"));
+       tested_by.Add (wxT ("George Mazarakis"));
        tested_by.Add (wxT ("Mattias Mattsson"));
        tested_by.Add (wxT ("Will Meadows"));
        tested_by.Add (wxT ("Brad Miller"));
@@ -290,6 +224,7 @@ AboutDialog::AboutDialog (wxWindow* parent)
        tested_by.Add (wxT ("Elad Saad"));
        tested_by.Add (wxT ("Karim Senoucci"));
        tested_by.Add (wxT ("Hordur Valgardsson"));
+       tested_by.Add (wxT ("Xenophon the Vampire"));
        tested_by.Add (wxT ("Simon Vannarath"));
        tested_by.Add (wxT ("Igor Voytovich"));
        tested_by.Add (wxT ("Andrew Walls"));
@@ -298,7 +233,7 @@ AboutDialog::AboutDialog (wxWindow* parent)
        tested_by.Add (wxT ("Wolfgang Woehl"));
        add_section (_("Tested by"), tested_by);
 
-       sizer->Add (_notebook, wxSizerFlags().Centre().Border(wxALL, 16).Expand());
+       sizer->Add (_notebook, wxSizerFlags().Centre().Border(wxALL, 16));
 
        overall_sizer->Add (sizer);
 
@@ -317,14 +252,14 @@ AboutDialog::AboutDialog (wxWindow* parent)
 void
 AboutDialog::add_section (wxString name, wxArrayString credits)
 {
-       static bool first = true;
+       static auto first = true;
        int const N = 4;
 
-       wxScrolledWindow* panel = new wxScrolledWindow (_notebook);
+       auto panel = new wxScrolledWindow (_notebook);
        panel->SetMaxSize (wxSize (-1, 380));
        panel->EnableScrolling (false, true);
        panel->SetScrollRate (0, 32);
-       wxSizer* overall_sizer = new wxBoxSizer (wxHORIZONTAL);
+       auto overall_sizer = new wxBoxSizer (wxHORIZONTAL);
 
        vector<wxSizer*> sizers;