summaryrefslogtreecommitdiff
path: root/src/tools
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2013-04-15 15:00:35 +0100
committerCarl Hetherington <cth@carlh.net>2013-04-15 15:00:35 +0100
commita00ebbc68438e84076c65e99d0e70403afb4407d (patch)
tree6ee2f535eeb6b592c740e117d1f8f8657d6bcce8 /src/tools
parent665bc942f86bd7a8aeb2b38f3e9c2cb6662e6edc (diff)
parent606b3f759238aa6c0d12de064b301bf36b428220 (diff)
Merge master.
Diffstat (limited to 'src/tools')
-rw-r--r--src/tools/dvdomatic.cc67
-rw-r--r--src/tools/po/es_ES.po128
-rw-r--r--src/tools/po/fr_FR.po125
-rw-r--r--src/tools/po/it_IT.po124
-rw-r--r--src/tools/po/sv_SE.po127
-rw-r--r--src/tools/servomatic_cli.cc9
-rw-r--r--src/tools/servomatic_gui.cc37
-rw-r--r--src/tools/servomatictest.cc6
-rw-r--r--src/tools/wscript3
9 files changed, 602 insertions, 24 deletions
diff --git a/src/tools/dvdomatic.cc b/src/tools/dvdomatic.cc
index f5d9bdf18..212d4848e 100644
--- a/src/tools/dvdomatic.cc
+++ b/src/tools/dvdomatic.cc
@@ -71,7 +71,7 @@ public:
{
_dialog = new wxMessageDialog (
0,
- std_to_wx (String::compose ("Save changes to film \"%1\" before closing?", film->name())),
+ wxString::Format (_("Save changes to film \"%s\" before closing?"), std_to_wx (film->name ()).data()),
_("Film changed"),
wxYES_NO | wxYES_DEFAULT | wxICON_QUESTION
);
@@ -284,7 +284,7 @@ private:
void file_changed (string f)
{
stringstream s;
- s << _("DVD-o-matic");
+ s << wx_to_std (_("DVD-o-matic"));
if (!f.empty ()) {
s << " - " << f;
}
@@ -300,7 +300,7 @@ private:
if (r == wxID_OK) {
if (boost::filesystem::exists (d->get_path())) {
- error_dialog (this, wxString::Format (_("The directory %s already exists."), d->get_path().c_str()));
+ error_dialog (this, std_to_wx (String::compose (wx_to_std (_("The directory %1 already exists.")), d->get_path().c_str())));
return;
}
@@ -317,8 +317,16 @@ private:
void file_open (wxCommandEvent &)
{
wxDirDialog* c = new wxDirDialog (this, _("Select film to open"), wxStandardPaths::Get().GetDocumentsDir(), wxDEFAULT_DIALOG_STYLE | wxDD_DIR_MUST_EXIST);
- int const r = c->ShowModal ();
-
+ int r;
+ while (1) {
+ r = c->ShowModal ();
+ if (r == wxID_OK && c->GetPath() == wxStandardPaths::Get().GetDocumentsDir()) {
+ error_dialog (this, _("You did not select a folder. Make sure that you select a folder before clicking Open."));
+ } else {
+ break;
+ }
+ }
+
if (r == wxID_OK) {
maybe_save_then_delete_film ();
try {
@@ -328,7 +336,7 @@ private:
} catch (std::exception& e) {
wxString p = c->GetPath ();
wxCharBuffer b = p.ToUTF8 ();
- error_dialog (this, wxString::Format (_("Could not open film at %s (%s)"), p.data(), e.what()));
+ error_dialog (this, wxString::Format (_("Could not open film at %s (%s)"), p.data(), std_to_wx (e.what()).data()));
}
}
@@ -407,12 +415,23 @@ private:
}
info.SetDescription (_("Free, open-source DCP generation from almost anything."));
info.SetCopyright (_("(C) 2012-2013 Carl Hetherington, Terrence Meiczinger, Paul Davis, Ole Laursen"));
+
wxArrayString authors;
authors.Add (wxT ("Carl Hetherington"));
authors.Add (wxT ("Terrence Meiczinger"));
authors.Add (wxT ("Paul Davis"));
authors.Add (wxT ("Ole Laursen"));
info.SetDevelopers (authors);
+
+ wxArrayString translators;
+ translators.Add (wxT ("Olivier Perriere"));
+ translators.Add (wxT ("Lilian Lefranc"));
+ translators.Add (wxT ("Thierry Journet"));
+ translators.Add (wxT ("Massimiliano Broggi"));
+ translators.Add (wxT ("Manuel AC"));
+ translators.Add (wxT ("Adam Klotblixt"));
+ info.SetTranslators (translators);
+
info.SetWebSite (wxT ("http://carlh.net/software/dvdomatic"));
wxAboutBox (info);
}
@@ -438,13 +457,20 @@ void
setup_i18n ()
{
int language = wxLANGUAGE_DEFAULT;
+
+ if (Config::instance()->language()) {
+ wxLanguageInfo const * li = wxLocale::FindLanguageInfo (std_to_wx (Config::instance()->language().get()));
+ if (li) {
+ language = li->Language;
+ }
+ }
if (wxLocale::IsAvailable (language)) {
locale = new wxLocale (language, wxLOCALE_LOAD_DEFAULT);
-#ifdef __WXGTK__
- locale->AddCatalogLookupPathPrefix (wxT (LOCALE_PREFIX "/locale"));
-#endif
+#ifdef DVDOMATIC_WINDOWS
+ locale->AddCatalogLookupPathPrefix (std_to_wx (mo_path().string()));
+#endif
locale->AddCatalog (wxT ("libdvdomatic-wx"));
locale->AddCatalog (wxT ("dvdomatic"));
@@ -455,6 +481,10 @@ setup_i18n ()
language = wxLANGUAGE_ENGLISH;
}
}
+
+ if (locale) {
+ dvdomatic_setup_i18n (wx_to_std (locale->GetCanonicalName ()));
+ }
}
class App : public wxApp
@@ -468,12 +498,27 @@ class App : public wxApp
#ifdef DVDOMATIC_POSIX
unsetenv ("UBUNTU_MENUPROXY");
#endif
-
+
wxInitAllImageHandlers ();
+
+ /* Enable i18n; this will create a Config object
+ to look for a force-configured language. This Config
+ object will be wrong, however, because dvdomatic_setup
+ hasn't yet been called and there aren't any scalers, filters etc.
+ set up yet.
+ */
setup_i18n ();
-
+
+ /* Set things up, including scalers / filters etc.
+ which will now be internationalised correctly.
+ */
dvdomatic_setup ();
+ /* Force the configuration to be re-loaded correctly next
+ time it is needed.
+ */
+ Config::drop ();
+
if (!film_to_load.empty() && boost::filesystem::is_directory (film_to_load)) {
try {
film.reset (new Film (film_to_load));
diff --git a/src/tools/po/es_ES.po b/src/tools/po/es_ES.po
new file mode 100644
index 000000000..abfbfef6d
--- /dev/null
+++ b/src/tools/po/es_ES.po
@@ -0,0 +1,128 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: DVDOMATIC\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2013-04-09 11:14+0100\n"
+"PO-Revision-Date: 2013-03-23 21:08-0500\n"
+"Last-Translator: Manuel AC <manuel.acevedo@civantos.>\n"
+"Language-Team: Manuel AC <manuel.acevedo@civantos.com>\n"
+"Language: es-ES\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Poedit 1.5.5\n"
+
+#: src/tools/dvdomatic.cc:177
+msgid "&Analyse audio"
+msgstr "&Analizar audio"
+
+#: src/tools/dvdomatic.cc:183
+msgid "&Edit"
+msgstr "&Editar"
+
+#: src/tools/dvdomatic.cc:182
+msgid "&File"
+msgstr "&Archivo"
+
+#: src/tools/dvdomatic.cc:185
+msgid "&Help"
+msgstr "&Ayuda"
+
+#: src/tools/dvdomatic.cc:184
+msgid "&Jobs"
+msgstr "&Tareas"
+
+#: src/tools/dvdomatic.cc:173
+msgid "&Make DCP"
+msgstr "&Crear DCP"
+
+#: src/tools/dvdomatic.cc:161
+msgid "&Open..."
+msgstr "&Abrir..."
+
+#: src/tools/dvdomatic.cc:170
+msgid "&Preferences..."
+msgstr "&Preferencias..."
+
+#: src/tools/dvdomatic.cc:165
+msgid "&Properties..."
+msgstr "&Propiedades..."
+
+#: src/tools/dvdomatic.cc:167
+msgid "&Quit"
+msgstr "&Salir"
+
+#: src/tools/dvdomatic.cc:163
+msgid "&Save"
+msgstr "&Guardar"
+
+#: src/tools/dvdomatic.cc:174
+msgid "&Send DCP to TMS"
+msgstr "&Enviar DCP al TMS"
+
+#: src/tools/dvdomatic.cc:417
+msgid ""
+"(C) 2012-2013 Carl Hetherington, Terrence Meiczinger, Paul Davis, Ole Laursen"
+msgstr ""
+"(C) 2012-2013 Carl Hetherington, Terrence Meiczinger, Paul Davis, Ole Laursen"
+
+#: src/tools/dvdomatic.cc:180
+msgid "About"
+msgstr "Acerca de"
+
+#: src/tools/dvdomatic.cc:527
+#, fuzzy
+msgid "Could not load film %1 (%2)"
+msgstr "No se pudo cargar la película %s (%s)"
+
+#: src/tools/dvdomatic.cc:339
+#, c-format
+msgid "Could not open film at %s (%s)"
+msgstr "No se pudo cargar la película en %s (%s)"
+
+#: src/tools/dvdomatic.cc:287 src/tools/dvdomatic.cc:410
+#: src/tools/dvdomatic.cc:531
+msgid "DVD-o-matic"
+msgstr "DVD-o-matic"
+
+#: src/tools/dvdomatic.cc:75
+msgid "Film changed"
+msgstr "Película cambiada"
+
+#: src/tools/dvdomatic.cc:416
+msgid "Free, open-source DCP generation from almost anything."
+msgstr ""
+"Generación de DCP a partir de casi cualquier fuente, libre y de código "
+"abierto."
+
+#: src/tools/dvdomatic.cc:160
+msgid "New..."
+msgstr "Nuevo..."
+
+#: src/tools/dvdomatic.cc:175
+msgid "S&how DCP"
+msgstr "&Mostrar DCP"
+
+#: src/tools/dvdomatic.cc:74
+msgid "Save changes to film \"%s\" before closing?"
+msgstr ""
+
+#: src/tools/dvdomatic.cc:319
+msgid "Select film to open"
+msgstr "Selecciona la película a abrir"
+
+#: src/tools/dvdomatic.cc:303
+#, fuzzy
+msgid "The directory %1 already exists."
+msgstr "La carpeta %s ya existe."
+
+#: src/tools/dvdomatic.cc:324
+msgid ""
+"You did not select a folder. Make sure that you select a folder before "
+"clicking Open."
+msgstr ""
diff --git a/src/tools/po/fr_FR.po b/src/tools/po/fr_FR.po
new file mode 100644
index 000000000..b40c86877
--- /dev/null
+++ b/src/tools/po/fr_FR.po
@@ -0,0 +1,125 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: DVD-o-matic FRENCH\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2013-04-09 11:14+0100\n"
+"PO-Revision-Date: 2013-03-13 22:33+0100\n"
+"Last-Translator: \n"
+"Language-Team: \n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: src/tools/dvdomatic.cc:177
+msgid "&Analyse audio"
+msgstr "&Analyser le son"
+
+#: src/tools/dvdomatic.cc:183
+msgid "&Edit"
+msgstr "&Edition"
+
+#: src/tools/dvdomatic.cc:182
+msgid "&File"
+msgstr "&Fichier"
+
+#: src/tools/dvdomatic.cc:185
+msgid "&Help"
+msgstr "&Aide"
+
+#: src/tools/dvdomatic.cc:184
+msgid "&Jobs"
+msgstr "&Travaux"
+
+#: src/tools/dvdomatic.cc:173
+msgid "&Make DCP"
+msgstr "&Créer le DCP"
+
+#: src/tools/dvdomatic.cc:161
+msgid "&Open..."
+msgstr "&Ouvrir..."
+
+#: src/tools/dvdomatic.cc:170
+msgid "&Preferences..."
+msgstr "&Préférences..."
+
+#: src/tools/dvdomatic.cc:165
+msgid "&Properties..."
+msgstr "&Propriétés..."
+
+#: src/tools/dvdomatic.cc:167
+msgid "&Quit"
+msgstr "&Quitter"
+
+#: src/tools/dvdomatic.cc:163
+msgid "&Save"
+msgstr "&Enregistrer"
+
+#: src/tools/dvdomatic.cc:174
+msgid "&Send DCP to TMS"
+msgstr "&Envoyer le DCP dans le TMS"
+
+#: src/tools/dvdomatic.cc:417
+msgid ""
+"(C) 2012-2013 Carl Hetherington, Terrence Meiczinger, Paul Davis, Ole Laursen"
+msgstr ""
+"(C) 2012-2013 Carl Hetherington, Terrence Meiczinger, Paul Davis, Ole Laursen"
+
+#: src/tools/dvdomatic.cc:180
+msgid "About"
+msgstr "A Propos"
+
+#: src/tools/dvdomatic.cc:527
+#, fuzzy
+msgid "Could not load film %1 (%2)"
+msgstr "Impossible de charger le film %s (%s)"
+
+#: src/tools/dvdomatic.cc:339
+#, c-format
+msgid "Could not open film at %s (%s)"
+msgstr "Impossible d'ouvrir le film à %s (%s)"
+
+#: src/tools/dvdomatic.cc:287 src/tools/dvdomatic.cc:410
+#: src/tools/dvdomatic.cc:531
+msgid "DVD-o-matic"
+msgstr "DVD-o-matic"
+
+#: src/tools/dvdomatic.cc:75
+msgid "Film changed"
+msgstr "Film changé"
+
+#: src/tools/dvdomatic.cc:416
+msgid "Free, open-source DCP generation from almost anything."
+msgstr "Création de DCP libre et open-source à partir de presque tout."
+
+#: src/tools/dvdomatic.cc:160
+msgid "New..."
+msgstr "Nouveau..."
+
+#: src/tools/dvdomatic.cc:175
+msgid "S&how DCP"
+msgstr "Voir le DCP"
+
+#: src/tools/dvdomatic.cc:74
+msgid "Save changes to film \"%s\" before closing?"
+msgstr ""
+
+#: src/tools/dvdomatic.cc:319
+msgid "Select film to open"
+msgstr "Sélectionner le film à ouvrir"
+
+#: src/tools/dvdomatic.cc:303
+#, fuzzy
+msgid "The directory %1 already exists."
+msgstr "Le dossier %s existe déjà."
+
+#: src/tools/dvdomatic.cc:324
+msgid ""
+"You did not select a folder. Make sure that you select a folder before "
+"clicking Open."
+msgstr ""
diff --git a/src/tools/po/it_IT.po b/src/tools/po/it_IT.po
new file mode 100644
index 000000000..38cbec157
--- /dev/null
+++ b/src/tools/po/it_IT.po
@@ -0,0 +1,124 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: IT VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2013-04-09 11:14+0100\n"
+"PO-Revision-Date: 2013-04-03 13:00+0100\n"
+"Last-Translator: Maci <macibro@gmail.com>\n"
+"Language-Team: \n"
+"Language: Italiano\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Poedit 1.5.5\n"
+
+#: src/tools/dvdomatic.cc:177
+msgid "&Analyse audio"
+msgstr "&Analizza audio"
+
+#: src/tools/dvdomatic.cc:183
+msgid "&Edit"
+msgstr "&Modifica"
+
+#: src/tools/dvdomatic.cc:182
+msgid "&File"
+msgstr "&File"
+
+#: src/tools/dvdomatic.cc:185
+msgid "&Help"
+msgstr "&Aiuto"
+
+#: src/tools/dvdomatic.cc:184
+msgid "&Jobs"
+msgstr "&Lavori"
+
+#: src/tools/dvdomatic.cc:173
+msgid "&Make DCP"
+msgstr "&Crea DCP"
+
+#: src/tools/dvdomatic.cc:161
+msgid "&Open..."
+msgstr "&Apri..."
+
+#: src/tools/dvdomatic.cc:170
+msgid "&Preferences..."
+msgstr "&Preferenze..."
+
+#: src/tools/dvdomatic.cc:165
+msgid "&Properties..."
+msgstr "&Proprieta'..."
+
+#: src/tools/dvdomatic.cc:167
+msgid "&Quit"
+msgstr "&Esci"
+
+#: src/tools/dvdomatic.cc:163
+msgid "&Save"
+msgstr "&Salva"
+
+#: src/tools/dvdomatic.cc:174
+msgid "&Send DCP to TMS"
+msgstr "&Invia DCP a TMS"
+
+#: src/tools/dvdomatic.cc:417
+msgid ""
+"(C) 2012-2013 Carl Hetherington, Terrence Meiczinger, Paul Davis, Ole Laursen"
+msgstr ""
+"(C) 2012-2013 Carl Hetherington, Terrence Meiczinger, Paul Davis, Ole Laursen"
+
+#: src/tools/dvdomatic.cc:180
+msgid "About"
+msgstr "Informazioni"
+
+#: src/tools/dvdomatic.cc:527
+msgid "Could not load film %1 (%2)"
+msgstr "Non posso caricare il film %s (%s)"
+
+#: src/tools/dvdomatic.cc:339
+#, c-format
+msgid "Could not open film at %s (%s)"
+msgstr "Non posso aprire il film in %s (%s)"
+
+#: src/tools/dvdomatic.cc:287 src/tools/dvdomatic.cc:410
+#: src/tools/dvdomatic.cc:531
+msgid "DVD-o-matic"
+msgstr "DVD-o-matic"
+
+#: src/tools/dvdomatic.cc:75
+msgid "Film changed"
+msgstr "Film modificato"
+
+#: src/tools/dvdomatic.cc:416
+msgid "Free, open-source DCP generation from almost anything."
+msgstr "Genera DCP da quasi tutto, free e open-source."
+
+#: src/tools/dvdomatic.cc:160
+msgid "New..."
+msgstr "Nuovo"
+
+#: src/tools/dvdomatic.cc:175
+msgid "S&how DCP"
+msgstr "&Mostra DCP"
+
+#: src/tools/dvdomatic.cc:74
+msgid "Save changes to film \"%s\" before closing?"
+msgstr "Salvare i cambiamenti del film \"%s\" prima di chiudere?"
+
+#: src/tools/dvdomatic.cc:319
+msgid "Select film to open"
+msgstr "Seleziona il film da aprire"
+
+#: src/tools/dvdomatic.cc:303
+msgid "The directory %1 already exists."
+msgstr "La directory %s esiste gia'."
+
+#: src/tools/dvdomatic.cc:324
+msgid ""
+"You did not select a folder. Make sure that you select a folder before "
+"clicking Open."
+msgstr ""
diff --git a/src/tools/po/sv_SE.po b/src/tools/po/sv_SE.po
new file mode 100644
index 000000000..28566d876
--- /dev/null
+++ b/src/tools/po/sv_SE.po
@@ -0,0 +1,127 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: DVD-o-matic\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2013-04-09 11:14+0100\n"
+"PO-Revision-Date: 2013-04-09 10:12+0100\n"
+"Last-Translator: Adam Klotblixt <adam.klotblixt@gmail.com>\n"
+"Language-Team: \n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Poedit 1.5.5\n"
+
+#: src/tools/dvdomatic.cc:177
+msgid "&Analyse audio"
+msgstr "&Analysera audio"
+
+#: src/tools/dvdomatic.cc:183
+msgid "&Edit"
+msgstr "&Redigera"
+
+#: src/tools/dvdomatic.cc:182
+msgid "&File"
+msgstr "&Fil"
+
+#: src/tools/dvdomatic.cc:185
+msgid "&Help"
+msgstr "&Hjälp"
+
+#: src/tools/dvdomatic.cc:184
+msgid "&Jobs"
+msgstr "&Jobb"
+
+#: src/tools/dvdomatic.cc:173
+msgid "&Make DCP"
+msgstr "&Skapa DCP"
+
+#: src/tools/dvdomatic.cc:161
+msgid "&Open..."
+msgstr "&Öppna"
+
+#: src/tools/dvdomatic.cc:170
+msgid "&Preferences..."
+msgstr "&Inställningar"
+
+#: src/tools/dvdomatic.cc:165
+msgid "&Properties..."
+msgstr "&Egenskaper"
+
+#: src/tools/dvdomatic.cc:167
+msgid "&Quit"
+msgstr "&Avsluta"
+
+#: src/tools/dvdomatic.cc:163
+msgid "&Save"
+msgstr "&Spara"
+
+#: src/tools/dvdomatic.cc:174
+msgid "&Send DCP to TMS"
+msgstr "&Skicka DCP till TMS"
+
+#: src/tools/dvdomatic.cc:417
+msgid ""
+"(C) 2012-2013 Carl Hetherington, Terrence Meiczinger, Paul Davis, Ole Laursen"
+msgstr ""
+"(C) 2012-2013 Carl Hetherington, Terrence Meiczinger, Paul Davis, Ole Laursen"
+
+#: src/tools/dvdomatic.cc:180
+msgid "About"
+msgstr "Om"
+
+#: src/tools/dvdomatic.cc:527
+msgid "Could not load film %1 (%2)"
+msgstr "Kunde inte öppna filmen %1 (%2)"
+
+#: src/tools/dvdomatic.cc:339
+#, c-format
+msgid "Could not open film at %s (%s)"
+msgstr "Kunde inte öppna filmen vid %s (%s)"
+
+#: src/tools/dvdomatic.cc:287 src/tools/dvdomatic.cc:410
+#: src/tools/dvdomatic.cc:531
+msgid "DVD-o-matic"
+msgstr "DVD-o-matic"
+
+#: src/tools/dvdomatic.cc:75
+msgid "Film changed"
+msgstr "Film ändrad"
+
+#: src/tools/dvdomatic.cc:416
+msgid "Free, open-source DCP generation from almost anything."
+msgstr ""
+"Fri, öppen-källkodsprogramvara för DCP-generering från nästan vad som helst."
+
+#: src/tools/dvdomatic.cc:160
+msgid "New..."
+msgstr "Ny..."
+
+#: src/tools/dvdomatic.cc:175
+msgid "S&how DCP"
+msgstr "&Visa DCP"
+
+#: src/tools/dvdomatic.cc:74
+msgid "Save changes to film \"%1\" before closing?"
+msgstr "Spara ändringarna till filmen \"%1\" före avslut?"
+
+#: src/tools/dvdomatic.cc:319
+msgid "Select film to open"
+msgstr "Välj film att öppna"
+
+#: src/tools/dvdomatic.cc:303
+msgid "The directory %1 already exists."
+msgstr "Katalogen %1 finns redan."
+
+#: src/tools/dvdomatic.cc:324
+msgid ""
+"You did not select a folder. Make sure that you select a folder before "
+"clicking Open."
+msgstr ""
+"Du har inte valt en folder. Se till att välja en folder innan du klickar på "
+"Öppna."
diff --git a/src/tools/servomatic_cli.cc b/src/tools/servomatic_cli.cc
index f8e713193..6626d45b9 100644
--- a/src/tools/servomatic_cli.cc
+++ b/src/tools/servomatic_cli.cc
@@ -42,7 +42,10 @@
#include "log.h"
#include "version.h"
-using namespace std;
+using std::cerr;
+using std::string;
+using std::cout;
+using boost::shared_ptr;
static void
help (string n)
@@ -87,8 +90,8 @@ main (int argc, char* argv[])
}
Scaler::setup_scalers ();
- FileLog log ("servomatic.log");
- Server server (&log);
+ shared_ptr<FileLog> log (new FileLog ("servomatic.log"));
+ Server server (log);
server.run (num_threads);
return 0;
}
diff --git a/src/tools/servomatic_gui.cc b/src/tools/servomatic_gui.cc
index 610ba8005..5e36660eb 100644
--- a/src/tools/servomatic_gui.cc
+++ b/src/tools/servomatic_gui.cc
@@ -25,8 +25,11 @@
#include "lib/server.h"
#include "lib/config.h"
-using namespace std;
-using namespace boost;
+using std::cout;
+using std::string;
+using boost::shared_ptr;
+using boost::thread;
+using boost::bind;
enum {
ID_status = 1,
@@ -52,7 +55,7 @@ private:
string _log;
};
-static MemoryLog memory_log;
+static shared_ptr<MemoryLog> memory_log (new MemoryLog);
class StatusDialog : public wxDialog
{
@@ -77,7 +80,7 @@ public:
private:
void update (wxTimerEvent &)
{
- _text->ChangeValue (std_to_wx (memory_log.get ()));
+ _text->ChangeValue (std_to_wx (memory_log->get ()));
_sizer->Layout ();
}
@@ -91,7 +94,15 @@ class TaskBarIcon : public wxTaskBarIcon
public:
TaskBarIcon ()
{
+#ifdef __WXMSW__
wxIcon icon (std_to_wx ("taskbar_icon"));
+#endif
+#ifdef __WXGTK__
+ wxInitAllImageHandlers();
+ wxBitmap bitmap (wxString::Format (wxT ("%s/taskbar_icon.png"), POSIX_ICON_PREFIX), wxBITMAP_TYPE_PNG);
+ wxIcon icon;
+ icon.CopyFromBitmap (bitmap);
+#endif
SetIcon (icon, std_to_wx ("DVD-o-matic encode server"));
Connect (ID_status, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler (TaskBarIcon::status));
@@ -125,27 +136,39 @@ public:
App ()
: wxApp ()
, _thread (0)
+ , _icon (0)
{}
private:
bool OnInit ()
{
+ if (!wxApp::OnInit ()) {
+ return false;
+ }
+
dvdomatic_setup ();
- new TaskBarIcon;
-
+ _icon = new TaskBarIcon;
_thread = new thread (bind (&App::main_thread, this));
+
return true;
}
+ int OnExit ()
+ {
+ delete _icon;
+ return wxApp::OnExit ();
+ }
+
void main_thread ()
{
- Server server (&memory_log);
+ Server server (memory_log);
server.run (Config::instance()->num_local_encoding_threads ());
}
boost::thread* _thread;
+ TaskBarIcon* _icon;
};
IMPLEMENT_APP (App)
diff --git a/src/tools/servomatictest.cc b/src/tools/servomatictest.cc
index 91ad02120..f5756c693 100644
--- a/src/tools/servomatictest.cc
+++ b/src/tools/servomatictest.cc
@@ -43,7 +43,7 @@ using std::pair;
using boost::shared_ptr;
static ServerDescription* server;
-static FileLog log_ ("servomatictest.log");
+static shared_ptr<FileLog> log_ (new FileLog ("servomatictest.log"));
static int frame = 0;
void
@@ -53,14 +53,14 @@ process_video (shared_ptr<Image> image, bool, shared_ptr<Subtitle> sub)
new DCPVideoFrame (
image, sub,
libdcp::Size (1024, 1024), 0, 0, 0,
- Scaler::from_id ("bicubic"), frame, 24, "", 0, 250000000, &log_)
+ Scaler::from_id ("bicubic"), frame, 24, "", 0, 250000000, log_)
);
shared_ptr<DCPVideoFrame> remote (
new DCPVideoFrame (
image, sub,
libdcp::Size (1024, 1024), 0, 0, 0,
- Scaler::from_id ("bicubic"), frame, 24, "", 0, 250000000, &log_)
+ Scaler::from_id ("bicubic"), frame, 24, "", 0, 250000000, log_)
);
cout << "Frame " << frame << ": ";
diff --git a/src/tools/wscript b/src/tools/wscript
index 64d5efe56..9f0f52152 100644
--- a/src/tools/wscript
+++ b/src/tools/wscript
@@ -27,3 +27,6 @@ def build(bld):
def pot(bld):
i18n.pot(os.path.join('src', 'tools'), 'dvdomatic.cc', 'dvdomatic')
+
+def pot_merge(bld):
+ i18n.pot_merge(os.path.join('src', 'tools'), 'dvdomatic')