summaryrefslogtreecommitdiff
path: root/src/tools
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2014-10-16 16:30:11 +0100
committerCarl Hetherington <cth@carlh.net>2014-10-16 16:30:11 +0100
commit0b6c6de07f9a3aa28c2e8ca8ef30340e3fa1bfc6 (patch)
tree075a7a604bbd4e072ec1b07481d4eb82ed7ffd34 /src/tools
parent42a122334d594b824c666e5263168386a76801cc (diff)
parent016a98b18d01276a1e603885a25785e7389f14d9 (diff)
Merge branch 'master' into 12bit
Diffstat (limited to 'src/tools')
-rw-r--r--src/tools/dcpomatic.cc455
-rw-r--r--src/tools/dcpomatic_batch.cc51
-rw-r--r--src/tools/dcpomatic_cli.cc16
-rw-r--r--src/tools/dcpomatic_kdm.cc4
-rw-r--r--src/tools/dcpomatic_server_cli.cc1
-rw-r--r--src/tools/po/de_DE.po171
-rw-r--r--src/tools/po/es_ES.po164
-rw-r--r--src/tools/po/fr_FR.po184
-rw-r--r--src/tools/po/it_IT.po152
-rw-r--r--src/tools/po/nl_NL.po173
-rw-r--r--src/tools/po/sv_SE.po160
11 files changed, 827 insertions, 704 deletions
diff --git a/src/tools/dcpomatic.cc b/src/tools/dcpomatic.cc
index aeb62a44e..fa89a4871 100644
--- a/src/tools/dcpomatic.cc
+++ b/src/tools/dcpomatic.cc
@@ -63,8 +63,8 @@
using std::cout;
using std::string;
+using std::vector;
using std::wstring;
-using std::stringstream;
using std::map;
using std::make_pair;
using std::list;
@@ -72,22 +72,16 @@ using std::exception;
using boost::shared_ptr;
using boost::dynamic_pointer_cast;
-static shared_ptr<Film> film;
-static std::string film_to_load;
-static std::string film_to_create;
-static std::string content_to_add;
-static wxMenu* jobs_menu = 0;
-
// #define DCPOMATIC_WINDOWS_CONSOLE 1
class FilmChangedDialog
{
public:
- FilmChangedDialog ()
+ FilmChangedDialog (string name)
{
_dialog = new wxMessageDialog (
0,
- wxString::Format (_("Save changes to film \"%s\" before closing?"), std_to_wx (film->name ()).data()),
+ wxString::Format (_("Save changes to film \"%s\" before closing?"), std_to_wx (name).data()),
_("Film changed"),
wxYES_NO | wxYES_DEFAULT | wxICON_QUESTION
);
@@ -110,51 +104,6 @@ private:
wxMessageDialog* _dialog;
};
-
-static void
-maybe_save_then_delete_film ()
-{
- if (!film) {
- return;
- }
-
- if (film->dirty ()) {
- FilmChangedDialog d;
- switch (d.run ()) {
- case wxID_NO:
- break;
- case wxID_YES:
- film->write_metadata ();
- break;
- }
- }
-
- film.reset ();
-}
-
-static void
-check_film_state_version (int v)
-{
- if (v == 4) {
- error_dialog (
- 0,
- _("This film was created with an old version of DVD-o-matic and may not load correctly "
- "in this version. Please check the film's settings carefully.")
- );
- }
-}
-
-static void
-load_film (boost::filesystem::path file)
-{
- film.reset (new Film (file));
- list<string> const notes = film->read_metadata ();
- check_film_state_version (film->state_version ());
- for (list<string>::const_iterator i = notes.begin(); i != notes.end(); ++i) {
- error_dialog (0, std_to_wx (*i));
- }
-}
-
#define ALWAYS 0x0
#define NEEDS_FILM 0x1
#define NOT_DURING_DCP_CREATION 0x2
@@ -163,19 +112,14 @@ load_film (boost::filesystem::path file)
map<wxMenuItem*, int> menu_items;
-static void
-add_item (wxMenu* menu, wxString text, int id, int sens)
-{
- wxMenuItem* item = menu->Append (id, text);
- menu_items.insert (make_pair (item, sens));
-}
-
enum {
ID_file_new = 1,
ID_file_open,
ID_file_save,
ID_file_properties,
- ID_content_scale_to_fit_width,
+ ID_file_history,
+ /* Allow spare IDs after _history for the recent files list */
+ ID_content_scale_to_fit_width = 100,
ID_content_scale_to_fit_height,
ID_jobs_make_dcp,
ID_jobs_make_kdms,
@@ -183,69 +127,11 @@ enum {
ID_jobs_show_dcp,
ID_tools_hints,
ID_tools_encoding_servers,
- ID_tools_check_for_updates
+ ID_tools_check_for_updates,
+ /* IDs for shortcuts (with no associated menu item) */
+ ID_add_file
};
-static void
-setup_menu (wxMenuBar* m)
-{
- wxMenu* file = new wxMenu;
- add_item (file, _("New..."), ID_file_new, ALWAYS);
- add_item (file, _("&Open..."), ID_file_open, ALWAYS);
- file->AppendSeparator ();
- add_item (file, _("&Save"), ID_file_save, NEEDS_FILM);
- file->AppendSeparator ();
- add_item (file, _("&Properties..."), ID_file_properties, NEEDS_FILM);
-#ifndef __WXOSX__
- file->AppendSeparator ();
-#endif
-
-#ifdef __WXOSX__
- add_item (file, _("&Exit"), wxID_EXIT, ALWAYS);
-#else
- add_item (file, _("&Quit"), wxID_EXIT, ALWAYS);
-#endif
-
-
-#ifdef __WXOSX__
- add_item (file, _("&Preferences..."), wxID_PREFERENCES, ALWAYS);
-#else
- wxMenu* edit = new wxMenu;
- add_item (edit, _("&Preferences..."), wxID_PREFERENCES, ALWAYS);
-#endif
-
- wxMenu* content = new wxMenu;
- add_item (content, _("Scale to fit &width"), ID_content_scale_to_fit_width, NEEDS_FILM | NEEDS_SELECTED_VIDEO_CONTENT);
- add_item (content, _("Scale to fit &height"), ID_content_scale_to_fit_height, NEEDS_FILM | NEEDS_SELECTED_VIDEO_CONTENT);
-
- jobs_menu = new wxMenu;
- add_item (jobs_menu, _("&Make DCP"), ID_jobs_make_dcp, NEEDS_FILM | NOT_DURING_DCP_CREATION);
- add_item (jobs_menu, _("Make &KDMs..."), ID_jobs_make_kdms, NEEDS_FILM);
- add_item (jobs_menu, _("&Send DCP to TMS"), ID_jobs_send_dcp_to_tms, NEEDS_FILM | NOT_DURING_DCP_CREATION | NEEDS_CPL);
- add_item (jobs_menu, _("S&how DCP"), ID_jobs_show_dcp, NEEDS_FILM | NOT_DURING_DCP_CREATION | NEEDS_CPL);
-
- wxMenu* tools = new wxMenu;
- add_item (tools, _("Hints..."), ID_tools_hints, 0);
- add_item (tools, _("Encoding servers..."), ID_tools_encoding_servers, 0);
- add_item (tools, _("Check for updates"), ID_tools_check_for_updates, 0);
-
- wxMenu* help = new wxMenu;
-#ifdef __WXOSX__
- add_item (help, _("About DCP-o-matic"), wxID_ABOUT, ALWAYS);
-#else
- add_item (help, _("About"), wxID_ABOUT, ALWAYS);
-#endif
-
- m->Append (file, _("&File"));
-#ifndef __WXOSX__
- m->Append (edit, _("&Edit"));
-#endif
- m->Append (content, _("&Content"));
- m->Append (jobs_menu, _("&Jobs"));
- m->Append (tools, _("&Tools"));
- m->Append (help, _("&Help"));
-}
-
class Frame : public wxFrame
{
public:
@@ -254,6 +140,10 @@ public:
, _hints_dialog (0)
, _servers_list_dialog (0)
, _config_dialog (0)
+ , _file_menu (0)
+ , _history_items (0)
+ , _history_position (0)
+ , _history_separator (0)
{
#if defined(DCPOMATIC_WINDOWS) && defined(DCPOMATIC_WINDOWS_CONSOLE)
AllocConsole();
@@ -275,10 +165,14 @@ public:
setup_menu (bar);
SetMenuBar (bar);
+ _config_changed_connection = Config::instance()->Changed.connect (boost::bind (&Frame::config_changed, this));
+ config_changed ();
+
Bind (wxEVT_COMMAND_MENU_SELECTED, boost::bind (&Frame::file_new, this), ID_file_new);
Bind (wxEVT_COMMAND_MENU_SELECTED, boost::bind (&Frame::file_open, this), ID_file_open);
Bind (wxEVT_COMMAND_MENU_SELECTED, boost::bind (&Frame::file_save, this), ID_file_save);
Bind (wxEVT_COMMAND_MENU_SELECTED, boost::bind (&Frame::file_properties, this), ID_file_properties);
+ Bind (wxEVT_COMMAND_MENU_SELECTED, boost::bind (&Frame::file_history, this, _1), ID_file_history, ID_file_history + HISTORY_SIZE);
Bind (wxEVT_COMMAND_MENU_SELECTED, boost::bind (&Frame::file_exit, this), wxID_EXIT);
Bind (wxEVT_COMMAND_MENU_SELECTED, boost::bind (&Frame::edit_preferences, this), wxID_PREFERENCES);
Bind (wxEVT_COMMAND_MENU_SELECTED, boost::bind (&Frame::content_scale_to_fit_width, this), ID_content_scale_to_fit_width);
@@ -294,13 +188,19 @@ public:
Bind (wxEVT_CLOSE_WINDOW, boost::bind (&Frame::close, this, _1));
+ wxAcceleratorEntry accel[1];
+ accel[0].Set (wxACCEL_CTRL, static_cast<int>('A'), ID_add_file);
+ Bind (wxEVT_MENU, boost::bind (&FilmEditor::content_add_file_clicked, _film_editor), ID_add_file);
+ wxAcceleratorTable accel_table (1, accel);
+ SetAcceleratorTable (accel_table);
+
/* Use a panel as the only child of the Frame so that we avoid
the dark-grey background on Windows.
*/
wxPanel* overall_panel = new wxPanel (this, wxID_ANY);
- _film_editor = new FilmEditor (film, overall_panel);
- _film_viewer = new FilmViewer (film, overall_panel);
+ _film_editor = new FilmEditor (overall_panel);
+ _film_viewer = new FilmViewer (overall_panel);
JobManagerView* job_manager_view = new JobManagerView (overall_panel, static_cast<JobManagerView::Buttons> (0));
wxBoxSizer* right_sizer = new wxBoxSizer (wxVERTICAL);
@@ -314,36 +214,72 @@ public:
set_menu_sensitivity ();
_film_editor->FileChanged.connect (bind (&Frame::file_changed, this, _1));
- if (film) {
- file_changed (film->directory ());
- } else {
- file_changed ("");
- }
+ file_changed ("");
JobManager::instance()->ActiveJobsChanged.connect (boost::bind (&Frame::set_menu_sensitivity, this));
- set_film ();
overall_panel->SetSizer (main_sizer);
}
-private:
+ void new_film (boost::filesystem::path path)
+ {
+ shared_ptr<Film> film (new Film (path));
+ film->write_metadata ();
+ film->set_name (path.filename().generic_string());
+ set_film (film);
+ }
+
+ void load_film (boost::filesystem::path file)
+ try
+ {
+ maybe_save_then_delete_film ();
+
+ shared_ptr<Film> film (new Film (file));
+ list<string> const notes = film->read_metadata ();
+
+ if (film->state_version() == 4) {
+ error_dialog (
+ 0,
+ _("This film was created with an old version of DVD-o-matic and may not load correctly "
+ "in this version. Please check the film's settings carefully.")
+ );
+ }
+
+ for (list<string>::const_iterator i = notes.begin(); i != notes.end(); ++i) {
+ error_dialog (0, std_to_wx (*i));
+ }
+
+ set_film (film);
+ }
+ catch (std::exception& e) {
+ wxString p = std_to_wx (file.string ());
+ wxCharBuffer b = p.ToUTF8 ();
+ error_dialog (this, wxString::Format (_("Could not open film at %s (%s)"), p.data(), std_to_wx (e.what()).data()));
+ }
- void set_film ()
+ void set_film (shared_ptr<Film> film)
{
- _film_viewer->set_film (film);
- _film_editor->set_film (film);
+ _film = film;
+ _film_viewer->set_film (_film);
+ _film_editor->set_film (_film);
set_menu_sensitivity ();
+ Config::instance()->add_to_history (_film->directory ());
}
+ shared_ptr<Film> film () const {
+ return _film;
+ }
+
+private:
+
void file_changed (boost::filesystem::path f)
{
- stringstream s;
- s << wx_to_std (_("DCP-o-matic"));
+ string s = wx_to_std (_("DCP-o-matic"));
if (!f.empty ()) {
- s << " - " << f.string ();
+ s += " - " + f.string ();
}
- SetTitle (std_to_wx (s.str()));
+ SetTitle (std_to_wx (s));
}
void file_new ()
@@ -373,10 +309,7 @@ private:
}
maybe_save_then_delete_film ();
- film.reset (new Film (d->get_path ()));
- film->write_metadata ();
- film->set_name (boost::filesystem::path (d->get_path()).filename().generic_string());
- set_film ();
+ new_film (d->get_path ());
}
d->Destroy ();
@@ -402,15 +335,7 @@ private:
}
if (r == wxID_OK) {
- maybe_save_then_delete_film ();
- try {
- load_film (wx_to_std (c->GetPath ()));
- set_film ();
- } 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(), std_to_wx (e.what()).data()));
- }
+ load_film (wx_to_std (c->GetPath ()));
}
c->Destroy ();
@@ -418,15 +343,24 @@ private:
void file_save ()
{
- film->write_metadata ();
+ _film->write_metadata ();
}
void file_properties ()
{
- PropertiesDialog* d = new PropertiesDialog (this, film);
+ PropertiesDialog* d = new PropertiesDialog (this, _film);
d->ShowModal ();
d->Destroy ();
}
+
+ void file_history (wxCommandEvent& event)
+ {
+ vector<boost::filesystem::path> history = Config::instance()->history ();
+ int n = event.GetId() - ID_file_history;
+ if (n >= 0 && n < static_cast<int> (history.size ())) {
+ load_film (history[n]);
+ }
+ }
void file_exit ()
{
@@ -447,22 +381,22 @@ private:
double required;
double available;
- if (!film->should_be_enough_disk_space (required, available)) {
+ if (!_film->should_be_enough_disk_space (required, available)) {
if (!confirm_dialog (this, wxString::Format (_("The DCP for this film will take up about %.1f Gb, and the disk that you are using only has %.1f Gb available. Do you want to continue anyway?"), required, available))) {
return;
}
}
- JobWrapper::make_dcp (this, film);
+ JobWrapper::make_dcp (this, _film);
}
void jobs_make_kdms ()
{
- if (!film) {
+ if (!_film) {
return;
}
- KDMDialog* d = new KDMDialog (this, film);
+ KDMDialog* d = new KDMDialog (this, _film);
if (d->ShowModal () != wxID_OK) {
d->Destroy ();
return;
@@ -470,10 +404,10 @@ private:
try {
if (d->write_to ()) {
- write_kdm_files (film, d->screens (), d->cpl (), d->from (), d->until (), d->formulation (), d->directory ());
+ write_kdm_files (_film, d->screens (), d->cpl (), d->from (), d->until (), d->formulation (), d->directory ());
} else {
JobManager::instance()->add (
- shared_ptr<Job> (new SendKDMEmailJob (film, d->screens (), d->cpl (), d->from (), d->until (), d->formulation ()))
+ shared_ptr<Job> (new SendKDMEmailJob (_film, d->screens (), d->cpl (), d->from (), d->until (), d->formulation ()))
);
}
} catch (libdcp::NotEncryptedError& e) {
@@ -505,27 +439,27 @@ private:
void jobs_send_dcp_to_tms ()
{
- film->send_dcp_to_tms ();
+ _film->send_dcp_to_tms ();
}
void jobs_show_dcp ()
{
#ifdef __WXMSW__
- string d = film->directory().string ();
+ string d = _film->directory().string ();
wstring w;
w.assign (d.begin(), d.end());
ShellExecute (0, L"open", w.c_str(), 0, 0, SW_SHOWDEFAULT);
#else
int r = system ("which nautilus");
if (WEXITSTATUS (r) == 0) {
- r = system (string ("nautilus " + film->directory().string()).c_str ());
+ r = system (string ("nautilus " + _film->directory().string()).c_str ());
if (WEXITSTATUS (r)) {
error_dialog (this, _("Could not show DCP (could not run nautilus)"));
}
} else {
int r = system ("which konqueror");
if (WEXITSTATUS (r) == 0) {
- r = system (string ("konqueror " + film->directory().string()).c_str ());
+ r = system (string ("konqueror " + _film->directory().string()).c_str ());
if (WEXITSTATUS (r)) {
error_dialog (this, _("Could not show DCP (could not run konqueror)"));
}
@@ -537,7 +471,7 @@ private:
void tools_hints ()
{
if (!_hints_dialog) {
- _hints_dialog = new HintsDialog (this, film);
+ _hints_dialog = new HintsDialog (this, _film);
}
_hints_dialog->Show ();
@@ -589,8 +523,13 @@ private:
return;
}
+ /* We don't want to hear about any more configuration changes, since they
+ cause the File menu to be altered, which itself will be deleted around
+ now (without, as far as I can see, any way for us to find out).
+ */
+ _config_changed_connection.disconnect ();
+
maybe_save_then_delete_film ();
-
ev.Skip ();
}
@@ -602,14 +541,14 @@ private:
++i;
}
bool const dcp_creation = (i != jobs.end ()) && !(*i)->finished ();
- bool const have_cpl = film && !film->cpls().empty ();
+ bool const have_cpl = _film && !_film->cpls().empty ();
bool const have_selected_video_content = !_film_editor->selected_video_content().empty();
for (map<wxMenuItem*, int>::iterator j = menu_items.begin(); j != menu_items.end(); ++j) {
bool enabled = true;
- if ((j->second & NEEDS_FILM) && film == 0) {
+ if ((j->second & NEEDS_FILM) && !_film) {
enabled = false;
}
@@ -628,12 +567,137 @@ private:
j->first->Enable (enabled);
}
}
+
+ void maybe_save_then_delete_film ()
+ {
+ if (!_film) {
+ return;
+ }
+
+ if (_film->dirty ()) {
+ FilmChangedDialog d (_film->name ());
+ switch (d.run ()) {
+ case wxID_NO:
+ break;
+ case wxID_YES:
+ _film->write_metadata ();
+ break;
+ }
+ }
+
+ _film.reset ();
+ }
+
+ void add_item (wxMenu* menu, wxString text, int id, int sens)
+ {
+ wxMenuItem* item = menu->Append (id, text);
+ menu_items.insert (make_pair (item, sens));
+ }
+
+ void setup_menu (wxMenuBar* m)
+ {
+ _file_menu = new wxMenu;
+ add_item (_file_menu, _("New...\tCtrl-N"), ID_file_new, ALWAYS);
+ add_item (_file_menu, _("&Open...\tCtrl-O"), ID_file_open, ALWAYS);
+ _file_menu->AppendSeparator ();
+ add_item (_file_menu, _("&Save\tCtrl-S"), ID_file_save, NEEDS_FILM);
+ _file_menu->AppendSeparator ();
+ add_item (_file_menu, _("&Properties..."), ID_file_properties, NEEDS_FILM);
+
+ _history_position = _file_menu->GetMenuItems().GetCount();
+
+#ifndef __WXOSX__
+ _file_menu->AppendSeparator ();
+#endif
+
+#ifdef __WXOSX__
+ add_item (_file_menu, _("&Exit"), wxID_EXIT, ALWAYS);
+#else
+ add_item (_file_menu, _("&Quit"), wxID_EXIT, ALWAYS);
+#endif
+
+#ifdef __WXOSX__
+ add_item (_file_menu, _("&Preferences...\tCtrl-P"), wxID_PREFERENCES, ALWAYS);
+#else
+ wxMenu* edit = new wxMenu;
+ add_item (edit, _("&Preferences...\tCtrl-P"), wxID_PREFERENCES, ALWAYS);
+#endif
+
+ wxMenu* content = new wxMenu;
+ add_item (content, _("Scale to fit &width"), ID_content_scale_to_fit_width, NEEDS_FILM | NEEDS_SELECTED_VIDEO_CONTENT);
+ add_item (content, _("Scale to fit &height"), ID_content_scale_to_fit_height, NEEDS_FILM | NEEDS_SELECTED_VIDEO_CONTENT);
+
+ wxMenu* jobs_menu = new wxMenu;
+ add_item (jobs_menu, _("&Make DCP\tCtrl-M"), ID_jobs_make_dcp, NEEDS_FILM | NOT_DURING_DCP_CREATION);
+ add_item (jobs_menu, _("Make &KDMs...\tCtrl-K"), ID_jobs_make_kdms, NEEDS_FILM);
+ add_item (jobs_menu, _("&Send DCP to TMS"), ID_jobs_send_dcp_to_tms, NEEDS_FILM | NOT_DURING_DCP_CREATION | NEEDS_CPL);
+ add_item (jobs_menu, _("S&how DCP"), ID_jobs_show_dcp, NEEDS_FILM | NOT_DURING_DCP_CREATION | NEEDS_CPL);
+
+ wxMenu* tools = new wxMenu;
+ add_item (tools, _("Hints...\tCtrl-H"), ID_tools_hints, 0);
+ add_item (tools, _("Encoding servers..."), ID_tools_encoding_servers, 0);
+ add_item (tools, _("Check for updates"), ID_tools_check_for_updates, 0);
+
+ wxMenu* help = new wxMenu;
+#ifdef __WXOSX__
+ add_item (help, _("About DCP-o-matic"), wxID_ABOUT, ALWAYS);
+#else
+ add_item (help, _("About"), wxID_ABOUT, ALWAYS);
+#endif
+
+ m->Append (_file_menu, _("&File"));
+#ifndef __WXOSX__
+ m->Append (edit, _("&Edit"));
+#endif
+ m->Append (content, _("&Content"));
+ m->Append (jobs_menu, _("&Jobs"));
+ m->Append (tools, _("&Tools"));
+ m->Append (help, _("&Help"));
+ }
+
+ void config_changed ()
+ {
+ for (int i = 0; i < _history_items; ++i) {
+ delete _file_menu->Remove (ID_file_history + i);
+ }
+
+ if (_history_separator) {
+ _file_menu->Remove (_history_separator);
+ }
+ delete _history_separator;
+ _history_separator = 0;
+
+ int pos = _history_position;
+
+ vector<boost::filesystem::path> history = Config::instance()->history ();
+
+ if (!history.empty ()) {
+ _history_separator = _file_menu->InsertSeparator (pos++);
+ }
+
+ for (size_t i = 0; i < history.size(); ++i) {
+ SafeStringStream s;
+ if (i < 9) {
+ s << "&" << (i + 1) << " ";
+ }
+ s << history[i].string();
+ _file_menu->Insert (pos++, ID_file_history + i, std_to_wx (s.str ()));
+ }
+
+ _history_items = history.size ();
+ }
FilmEditor* _film_editor;
FilmViewer* _film_viewer;
HintsDialog* _hints_dialog;
ServersListDialog* _servers_list_dialog;
wxPreferencesEditor* _config_dialog;
+ wxMenu* _file_menu;
+ shared_ptr<Film> _film;
+ int _history_items;
+ int _history_position;
+ wxMenuItem* _history_separator;
+ boost::signals2::scoped_connection _config_changed_connection;
};
static const wxCmdLineEntryDesc command_line_description[] = {
@@ -684,29 +748,26 @@ class App : public wxApp
*/
Config::drop ();
- if (!film_to_load.empty() && boost::filesystem::is_directory (film_to_load)) {
+ _frame = new Frame (_("DCP-o-matic"));
+ SetTopWindow (_frame);
+ _frame->Maximize ();
+ _frame->Show ();
+
+ if (!_film_to_load.empty() && boost::filesystem::is_directory (_film_to_load)) {
try {
- load_film (film_to_load);
+ _frame->load_film (_film_to_load);
} catch (exception& e) {
- error_dialog (0, std_to_wx (String::compose (wx_to_std (_("Could not load film %1 (%2)")), film_to_load, e.what())));
+ error_dialog (0, std_to_wx (String::compose (wx_to_std (_("Could not load film %1 (%2)")), _film_to_load, e.what())));
}
}
- if (!film_to_create.empty ()) {
- film.reset (new Film (film_to_create));
- film->write_metadata ();
- film->set_name (boost::filesystem::path (film_to_create).filename().generic_string ());
- }
-
- if (!content_to_add.empty ()) {
- film->examine_and_add_content (content_factory (film, content_to_add));
+ if (!_film_to_create.empty ()) {
+ _frame->new_film (_film_to_create);
+ if (!_content_to_add.empty ()) {
+ _frame->film()->examine_and_add_content (content_factory (_frame->film(), _content_to_add));
+ }
}
- _frame = new Frame (_("DCP-o-matic"));
- SetTopWindow (_frame);
- _frame->Maximize ();
- _frame->Show ();
-
ui_signaller = new wxUISignaller (this);
Bind (wxEVT_IDLE, boost::bind (&App::idle, this));
@@ -714,10 +775,6 @@ class App : public wxApp
_timer.reset (new wxTimer (this));
_timer->Start (1000);
- if (film) {
- check_film_state_version (film->state_version ());
- }
-
UpdateChecker::instance()->StateChanged.connect (boost::bind (&App::update_checker_state_changed, this));
if (Config::instance()->check_for_updates ()) {
UpdateChecker::instance()->run ();
@@ -741,26 +798,35 @@ class App : public wxApp
{
if (parser.GetParamCount() > 0) {
if (parser.Found (wxT ("new"))) {
- film_to_create = wx_to_std (parser.GetParam (0));
+ _film_to_create = wx_to_std (parser.GetParam (0));
} else {
- film_to_load = wx_to_std (parser.GetParam (0));
+ _film_to_load = wx_to_std (parser.GetParam (0));
}
}
wxString content;
if (parser.Found (wxT ("content"), &content)) {
- content_to_add = wx_to_std (content);
+ _content_to_add = wx_to_std (content);
}
return true;
}
+ /* An unhandled exception has occurred inside the main event loop */
bool OnExceptionInMainLoop ()
{
- error_dialog (0, _("An unknown exception occurred. Please report this problem to the DCP-o-matic author (carl@dcpomatic.com)."));
+ try {
+ throw;
+ } catch (exception& e) {
+ error_dialog (0, wxString::Format (_("An exception occurred (%s). Please report this problem to the DCP-o-matic author (carl@dcpomatic.com)."), e.what ()));
+ } catch (...) {
+ error_dialog (0, _("An unknown exception occurred. Please report this problem to the DCP-o-matic author (carl@dcpomatic.com)."));
+ }
+
+ /* This will terminate the program */
return false;
}
-
+
void OnUnhandledException ()
{
error_dialog (0, _("An unknown exception occurred. Please report this problem to the DCP-o-matic author (carl@dcpomatic.com)."));
@@ -810,6 +876,9 @@ class App : public wxApp
Frame* _frame;
shared_ptr<wxTimer> _timer;
+ string _film_to_load;
+ string _film_to_create;
+ string _content_to_add;
};
IMPLEMENT_APP (App)
diff --git a/src/tools/dcpomatic_batch.cc b/src/tools/dcpomatic_batch.cc
index 49b341443..de255e65e 100644
--- a/src/tools/dcpomatic_batch.cc
+++ b/src/tools/dcpomatic_batch.cc
@@ -1,5 +1,5 @@
/*
- Copyright (C) 2013 Carl Hetherington <cth@carlh.net>
+ Copyright (C) 2013-2014 Carl Hetherington <cth@carlh.net>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -28,6 +28,7 @@
#include "lib/film.h"
#include "lib/job_manager.h"
#include "wx/wx_util.h"
+#include "wx/about_dialog.h"
#include "wx/wx_ui_signaller.h"
#include "wx/job_manager_view.h"
@@ -61,6 +62,7 @@ class Frame : public wxFrame
public:
Frame (wxString const & title)
: wxFrame (NULL, -1, title)
+ , _sizer (new wxBoxSizer (wxVERTICAL))
{
wxMenuBar* bar = new wxMenuBar;
setup_menu (bar);
@@ -75,24 +77,29 @@ public:
s->Add (panel, 1, wxEXPAND);
SetSizer (s);
- wxSizer* sizer = new wxBoxSizer (wxVERTICAL);
-
JobManagerView* job_manager_view = new JobManagerView (panel, JobManagerView::PAUSE);
- sizer->Add (job_manager_view, 1, wxALL | wxEXPAND, 6);
+ _sizer->Add (job_manager_view, 1, wxALL | wxEXPAND, 6);
wxSizer* buttons = new wxBoxSizer (wxHORIZONTAL);
wxButton* add = new wxButton (panel, wxID_ANY, _("Add Film..."));
add->Bind (wxEVT_COMMAND_BUTTON_CLICKED, boost::bind (&Frame::add_film, this));
buttons->Add (add, 1, wxALL, 6);
- sizer->Add (buttons, 0, wxALL, 6);
+ _sizer->Add (buttons, 0, wxALL, 6);
- panel->SetSizer (sizer);
+ panel->SetSizer (_sizer);
Bind (wxEVT_CLOSE_WINDOW, boost::bind (&Frame::close, this, _1));
+ Bind (wxEVT_SIZE, boost::bind (&Frame::sized, this, _1));
}
private:
+ void sized (wxSizeEvent& ev)
+ {
+ _sizer->Layout ();
+ ev.Skip ();
+ }
+
bool should_close ()
{
if (!JobManager::instance()->work_to_do ()) {
@@ -135,34 +142,9 @@ private:
void help_about ()
{
- wxAboutDialogInfo info;
- info.SetName (_("DCP-o-matic Batch Converter"));
- if (strcmp (dcpomatic_git_commit, "release") == 0) {
- info.SetVersion (std_to_wx (String::compose ("version %1", dcpomatic_version)));
- } else {
- info.SetVersion (std_to_wx (String::compose ("version %1 git %2", dcpomatic_version, dcpomatic_git_commit)));
- }
- 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/dcpomatic"));
- wxAboutBox (info);
+ AboutDialog* d = new AboutDialog (this);
+ d->ShowModal ();
+ d->Destroy ();
}
void add_film ()
@@ -200,6 +182,7 @@ private:
}
boost::optional<boost::filesystem::path> _last_parent;
+ wxSizer* _sizer;
};
static const wxCmdLineEntryDesc command_line_description[] = {
diff --git a/src/tools/dcpomatic_cli.cc b/src/tools/dcpomatic_cli.cc
index ff948e9fb..5cb05e11d 100644
--- a/src/tools/dcpomatic_cli.cc
+++ b/src/tools/dcpomatic_cli.cc
@@ -33,7 +33,6 @@
#include "lib/log.h"
#include "lib/ui_signaller.h"
#include "lib/server_finder.h"
-#include "lib/json_server.h"
using std::string;
using std::cerr;
@@ -53,7 +52,6 @@ help (string n)
<< " -f, --flags show flags passed to C++ compiler on build\n"
<< " -n, --no-progress do not print progress to stdout\n"
<< " -r, --no-remote do not use any remote servers\n"
- << " -j, --json <port> run a JSON server on the specified port\n"
<< " -k, --keep-going keep running even when the job is complete\n"
<< "\n"
<< "<FILM> is the film directory.\n";
@@ -65,7 +63,6 @@ main (int argc, char* argv[])
string film_dir;
bool progress = true;
bool no_remote = false;
- int json_port = 0;
bool keep_going = false;
int option_index = 0;
@@ -77,12 +74,11 @@ main (int argc, char* argv[])
{ "flags", no_argument, 0, 'f'},
{ "no-progress", no_argument, 0, 'n'},
{ "no-remote", no_argument, 0, 'r'},
- { "json", required_argument, 0, 'j' },
{ "keep-going", no_argument, 0, 'k' },
{ 0, 0, 0, 0 }
};
- int c = getopt_long (argc, argv, "vhdfnrj:k", long_options, &option_index);
+ int c = getopt_long (argc, argv, "vhdfnrk", long_options, &option_index);
if (c == -1) {
break;
@@ -107,9 +103,6 @@ main (int argc, char* argv[])
case 'r':
no_remote = true;
break;
- case 'j':
- json_port = atoi (optarg);
- break;
case 'k':
keep_going = true;
break;
@@ -130,10 +123,6 @@ main (int argc, char* argv[])
ServerFinder::instance()->disable ();
}
- if (json_port) {
- new JSONServer (json_port);
- }
-
cout << "DCP-o-matic " << dcpomatic_version << " git " << dcpomatic_git_commit;
char buf[256];
if (gethostname (buf, 256) == 0) {
@@ -151,9 +140,6 @@ main (int argc, char* argv[])
}
cout << "\nMaking DCP for " << film->name() << "\n";
-// cout << "Content: " << film->content() << "\n";
-// pair<string, string> const f = Filter::ffmpeg_strings (film->filters ());
-// cout << "Filters: " << f.first << " " << f.second << "\n";
film->make_dcp ();
diff --git a/src/tools/dcpomatic_kdm.cc b/src/tools/dcpomatic_kdm.cc
index 092a1ca1b..758060a08 100644
--- a/src/tools/dcpomatic_kdm.cc
+++ b/src/tools/dcpomatic_kdm.cc
@@ -24,9 +24,9 @@
#include "lib/kdm.h"
#include "lib/config.h"
#include "lib/exceptions.h"
+#include "lib/safe_stringstream.h"
using std::string;
-using std::stringstream;
using std::cout;
using std::cerr;
using std::list;
@@ -76,7 +76,7 @@ time_from_string (string t)
static boost::posix_time::time_duration
duration_from_string (string d)
{
- stringstream s (d);
+ SafeStringStream s (d);
int N;
string unit;
s >> N >> unit;
diff --git a/src/tools/dcpomatic_server_cli.cc b/src/tools/dcpomatic_server_cli.cc
index e4ac85f4c..f35797954 100644
--- a/src/tools/dcpomatic_server_cli.cc
+++ b/src/tools/dcpomatic_server_cli.cc
@@ -20,7 +20,6 @@
#include "lib/server.h"
#include <iostream>
#include <stdexcept>
-#include <sstream>
#include <cstring>
#include <vector>
#include <unistd.h>
diff --git a/src/tools/po/de_DE.po b/src/tools/po/de_DE.po
index ba259fd65..24ed468a8 100644
--- a/src/tools/po/de_DE.po
+++ b/src/tools/po/de_DE.po
@@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2014-06-24 14:53+0100\n"
-"PO-Revision-Date: 2014-07-02 17:02+0100\n"
+"POT-Creation-Date: 2014-10-03 22:31+0100\n"
+"PO-Revision-Date: 2014-07-13 03:04+0100\n"
"Last-Translator: Carsten Kurz\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: de\n"
@@ -18,83 +18,80 @@ msgstr ""
"X-Generator: Poedit 1.6.5\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: src/tools/dcpomatic.cc:370
+#: src/tools/dcpomatic.cc:306
msgid "%1 already exists as a file, so you cannot use it for a new film."
msgstr ""
"%1 existiert bereits als Datei, kann also nicht für einen neuen Film benutzt "
"werden."
-#: src/tools/dcpomatic_batch.cc:49
+#: src/tools/dcpomatic_batch.cc:50
msgid "&Add Film..."
msgstr "&Projekt hinzufügen"
-#: src/tools/dcpomatic.cc:243
+#: src/tools/dcpomatic.cc:652
msgid "&Content"
-msgstr "&Quelle"
+msgstr "&Quelle..."
-#: src/tools/dcpomatic.cc:241
+#: src/tools/dcpomatic.cc:650
msgid "&Edit"
msgstr "&Bearbeiten"
-#: src/tools/dcpomatic.cc:204
+#: src/tools/dcpomatic.cc:614
msgid "&Exit"
msgstr "&Ende"
-#: src/tools/dcpomatic.cc:239 src/tools/dcpomatic_batch.cc:55
+#: src/tools/dcpomatic.cc:648 src/tools/dcpomatic_batch.cc:56
msgid "&File"
msgstr "&Datei"
-#: src/tools/dcpomatic.cc:246 src/tools/dcpomatic_batch.cc:56
+#: src/tools/dcpomatic.cc:655 src/tools/dcpomatic_batch.cc:57
msgid "&Help"
msgstr "&Hilfe"
-#: src/tools/dcpomatic.cc:244
+#: src/tools/dcpomatic.cc:653
msgid "&Jobs"
msgstr "&Aufgaben"
-#: src/tools/dcpomatic.cc:222
-msgid "&Make DCP"
-msgstr "&DCP erstellen"
+#: src/tools/dcpomatic.cc:631
+#, fuzzy
+msgid "&Make DCP\tCtrl-M"
+msgstr "&DCP erstellen\tCtrl-M"
-#: src/tools/dcpomatic.cc:194
-msgid "&Open..."
-msgstr "&Öffnen..."
+#: src/tools/dcpomatic.cc:601
+#, fuzzy
+msgid "&Open...\tCtrl-O"
+msgstr "&Öffnen...\tCtrl-O"
-#: src/tools/dcpomatic.cc:211 src/tools/dcpomatic.cc:214
-msgid "&Preferences..."
-msgstr "&Einstellungen..."
+#: src/tools/dcpomatic.cc:620 src/tools/dcpomatic.cc:623
+#, fuzzy
+msgid "&Preferences...\tCtrl-P"
+msgstr "&Einstellungen...\tCtrl-P"
-#: src/tools/dcpomatic.cc:198
+#: src/tools/dcpomatic.cc:605
msgid "&Properties..."
msgstr "&Eigenschaften..."
-#: src/tools/dcpomatic.cc:206 src/tools/dcpomatic_batch.cc:50
+#: src/tools/dcpomatic.cc:616 src/tools/dcpomatic_batch.cc:51
msgid "&Quit"
msgstr "&Beenden"
-#: src/tools/dcpomatic.cc:196
-msgid "&Save"
-msgstr "&Speichern"
+#: src/tools/dcpomatic.cc:603
+msgid "&Save\tCtrl-S"
+msgstr ""
-#: src/tools/dcpomatic.cc:224
+#: src/tools/dcpomatic.cc:633
msgid "&Send DCP to TMS"
msgstr "&DCP an TMS senden"
-#: src/tools/dcpomatic.cc:245
+#: src/tools/dcpomatic.cc:654
msgid "&Tools"
msgstr "&Werkzeuge"
-#: src/tools/dcpomatic_batch.cc:146
-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/dcpomatic.cc:236 src/tools/dcpomatic_batch.cc:53
+#: src/tools/dcpomatic.cc:645 src/tools/dcpomatic_batch.cc:54
msgid "About"
msgstr "Über"
-#: src/tools/dcpomatic.cc:234
+#: src/tools/dcpomatic.cc:643
msgid "About DCP-o-matic"
msgstr "Über DCP-o-matic"
@@ -102,7 +99,16 @@ msgstr "Über DCP-o-matic"
msgid "Add Film..."
msgstr "Projekt hinzufügen..."
-#: src/tools/dcpomatic.cc:760 src/tools/dcpomatic.cc:766
+#: src/tools/dcpomatic.cc:821
+#, fuzzy, c-format
+msgid ""
+"An exception occurred (%s). Please report this problem to the DCP-o-matic "
+"author (carl@dcpomatic.com)."
+msgstr ""
+"Ein unbekannter Fehler ist aufgetreten. Bitte melden Sie dieses Problem an "
+"den Autor von DCP-o-matic (carl@dcpomatic.com)!"
+
+#: src/tools/dcpomatic.cc:823 src/tools/dcpomatic.cc:832
msgid ""
"An unknown exception occurred. Please report this problem to the DCP-o-"
"matic author (carl@dcpomatic.com)."
@@ -110,93 +116,87 @@ msgstr ""
"Ein unbekannter Fehler ist aufgetreten. Bitte melden Sie dieses Problem an "
"den Autor von DCP-o-matic (carl@dcpomatic.com)!"
-#: src/tools/dcpomatic.cc:484
+#: src/tools/dcpomatic.cc:418
msgid "An unknown exeception occurred."
msgstr "Ein unbekannter Fehler ist aufgetreten."
-#: src/tools/dcpomatic.cc:480
+#: src/tools/dcpomatic.cc:414
msgid "CPL's content is not encrypted."
msgstr "Medien der CPL sind nicht verschlüsselt worden."
-#: src/tools/dcpomatic.cc:230
+#: src/tools/dcpomatic.cc:639
msgid "Check for updates"
msgstr "Auf Updates überprüfen..."
-#: src/tools/dcpomatic.cc:691 src/tools/dcpomatic_batch.cc:255
+#: src/tools/dcpomatic.cc:760 src/tools/dcpomatic_batch.cc:238
msgid "Could not load film %1 (%2)"
msgstr "Film %1 (%2) konnte nicht geladen werden"
-#: src/tools/dcpomatic.cc:412 src/tools/dcpomatic_batch.cc:193
+#: src/tools/dcpomatic.cc:257 src/tools/dcpomatic_batch.cc:175
#, c-format
msgid "Could not open film at %s (%s)"
msgstr "Der Film konnte nicht bei %s (%s) geöffnet werden"
-#: src/tools/dcpomatic.cc:530
+#: src/tools/dcpomatic.cc:464
msgid "Could not show DCP (could not run konqueror)"
msgstr ""
"DCP kann nicht angezeigt werden (Konqueror konnte nicht gestartet werden)"
-#: src/tools/dcpomatic.cc:523
+#: src/tools/dcpomatic.cc:457
msgid "Could not show DCP (could not run nautilus)"
msgstr "DCP kann nicht angezeigt werden (Nautilus konnte nicht geladen werden)"
-#: src/tools/dcpomatic.cc:341 src/tools/dcpomatic.cc:651
-#: src/tools/dcpomatic.cc:705
+#: src/tools/dcpomatic.cc:277 src/tools/dcpomatic.cc:715
+#: src/tools/dcpomatic.cc:751
msgid "DCP-o-matic"
msgstr "DCP-o-matic"
-#: src/tools/dcpomatic_batch.cc:139 src/tools/dcpomatic_batch.cc:240
+#: src/tools/dcpomatic_batch.cc:223
msgid "DCP-o-matic Batch Converter"
msgstr "DCP-o-matic Batch Converter"
-#: src/tools/dcpomatic.cc:229
+#: src/tools/dcpomatic.cc:638
msgid "Encoding servers..."
msgstr "Encoding Server..."
-#: src/tools/dcpomatic.cc:91
+#: src/tools/dcpomatic.cc:85
msgid "Film changed"
msgstr "Projekt gewechselt"
-#: src/tools/dcpomatic_batch.cc:145
-msgid "Free, open-source DCP generation from almost anything."
-msgstr ""
-"Kostenlose Open-Source-Software zur DCP-Erstellung aus nahezu allen "
-"Quellformaten."
-
-#: src/tools/dcpomatic.cc:228
-msgid "Hints..."
-msgstr "Tipps..."
+#: src/tools/dcpomatic.cc:637
+msgid "Hints...\tCtrl-H"
+msgstr "Tipps...\tCtrl-H"
-#: src/tools/dcpomatic.cc:223
-msgid "Make &KDMs..."
-msgstr "&KDM erstellen..."
+#: src/tools/dcpomatic.cc:632
+msgid "Make &KDMs...\tCtrl-K"
+msgstr "&KDM erstellen...\tCtrl-K"
-#: src/tools/dcpomatic.cc:193
-msgid "New..."
-msgstr "Neu..."
+#: src/tools/dcpomatic.cc:600
+msgid "New...\tCtrl-N"
+msgstr "Neu...\tCtrl-N"
-#: src/tools/dcpomatic.cc:225
+#: src/tools/dcpomatic.cc:634
msgid "S&how DCP"
msgstr "Z&eige DCP"
-#: src/tools/dcpomatic.cc:90
+#: src/tools/dcpomatic.cc:84
#, c-format
msgid "Save changes to film \"%s\" before closing?"
msgstr "Änderungen des Projekts \"%s\" vor dem Schließen speichern ?"
-#: src/tools/dcpomatic.cc:219
+#: src/tools/dcpomatic.cc:628
msgid "Scale to fit &height"
-msgstr "Skalieren auf &Höhe DCI-Container"
+msgstr "...skalieren auf &Höhe DCI-Container"
-#: src/tools/dcpomatic.cc:218
+#: src/tools/dcpomatic.cc:627
msgid "Scale to fit &width"
-msgstr "Skalieren auf &Breite DCI-Container"
+msgstr "...skalieren auf &Breite DCI-Container"
-#: src/tools/dcpomatic.cc:389 src/tools/dcpomatic_batch.cc:170
+#: src/tools/dcpomatic.cc:322 src/tools/dcpomatic_batch.cc:152
msgid "Select film to open"
msgstr "Zu öffnendes Projekt auswählen"
-#: src/tools/dcpomatic.cc:451
+#: src/tools/dcpomatic.cc:385
#, c-format
msgid ""
"The DCP for this film will take up about %.1f Gb, and the disk that you are "
@@ -205,11 +205,11 @@ msgstr ""
"Das DCP für diesen Film wird etwa %.1f Gbyte groß. Auf dem ausgewählten "
"Laufwerk sind aber nur %.1f Gbyte frei. Möchten Sie trotzdem weitermachen ?"
-#: src/tools/dcpomatic.cc:804
+#: src/tools/dcpomatic.cc:870
msgid "The DCP-o-matic download server could not be contacted."
msgstr "Der DCP-o-matic Download Server ist nicht erreichbar."
-#: src/tools/dcpomatic.cc:360
+#: src/tools/dcpomatic.cc:296
msgid ""
"The directory %1 already exists and is not empty. Are you sure you want to "
"use it?"
@@ -217,17 +217,17 @@ msgstr ""
"Der Ordner %1 existiert bereits und ist nicht leer. Wollen Sie ihn trotzdem "
"benutzen ?"
-#: src/tools/dcpomatic.cc:799
+#: src/tools/dcpomatic.cc:865
msgid "There are no new versions of DCP-o-matic available."
msgstr "Es ist keine neue Version von DCP-o-matic verfügbar."
-#: src/tools/dcpomatic.cc:575 src/tools/dcpomatic_batch.cc:104
+#: src/tools/dcpomatic.cc:509 src/tools/dcpomatic_batch.cc:111
msgid "There are unfinished jobs; are you sure you want to quit?"
msgstr ""
"Manche Aufgaben sind nicht erledigt - sind Sie sicher, dass Sie Beenden "
"wollen ?"
-#: src/tools/dcpomatic.cc:141
+#: src/tools/dcpomatic.cc:243
msgid ""
"This film was created with an old version of DVD-o-matic and may not load "
"correctly in this version. Please check the film's settings carefully."
@@ -236,12 +236,27 @@ msgstr ""
"worden und wird in dieser Programmversion möglicherweise nicht korrekt "
"umgesetzt. Bitte prüfen Sie alle Projekteinstellungen sorgfältig!"
-#: src/tools/dcpomatic.cc:576 src/tools/dcpomatic_batch.cc:105
+#: src/tools/dcpomatic.cc:510 src/tools/dcpomatic_batch.cc:112
msgid "Unfinished jobs"
msgstr "Unerledigte Aufgaben"
-#: src/tools/dcpomatic.cc:398 src/tools/dcpomatic_batch.cc:179
+#: src/tools/dcpomatic.cc:331 src/tools/dcpomatic_batch.cc:161
msgid ""
"You did not select a folder. Make sure that you select a folder before "
"clicking Open."
msgstr "Kein Ordner ausgewählt. Wählen Sie vor dem Öffnen einen Ordner aus."
+
+#~ msgid "&Save"
+#~ msgstr "&Speichern"
+
+#~ msgid ""
+#~ "(C) 2012-2013 Carl Hetherington, Terrence Meiczinger, Paul Davis, Ole "
+#~ "Laursen"
+#~ msgstr ""
+#~ "(C) 2012-2013 Carl Hetherington, Terrence Meiczinger, Paul Davis, Ole "
+#~ "Laursen"
+
+#~ msgid "Free, open-source DCP generation from almost anything."
+#~ msgstr ""
+#~ "Kostenlose Open-Source-Software zur DCP-Erstellung aus nahezu allen "
+#~ "Quellformaten."
diff --git a/src/tools/po/es_ES.po b/src/tools/po/es_ES.po
index 374877caf..f6d2e4439 100644
--- a/src/tools/po/es_ES.po
+++ b/src/tools/po/es_ES.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: DCPOMATIC\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2014-06-24 14:53+0100\n"
+"POT-Creation-Date: 2014-10-03 22:31+0100\n"
"PO-Revision-Date: 2014-04-20 10:21-0500\n"
"Last-Translator: Manuel AC <manuel.acevedo@civantos.>\n"
"Language-Team: Manuel AC <manuel.acevedo@civantos.com>\n"
@@ -17,81 +17,78 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Poedit 1.6.4\n"
-#: src/tools/dcpomatic.cc:370
+#: src/tools/dcpomatic.cc:306
msgid "%1 already exists as a file, so you cannot use it for a new film."
msgstr "%1 ya existe como fichero, no puedes usarlo para una nueva película."
-#: src/tools/dcpomatic_batch.cc:49
+#: src/tools/dcpomatic_batch.cc:50
msgid "&Add Film..."
msgstr "&Añadir película..."
-#: src/tools/dcpomatic.cc:243
+#: src/tools/dcpomatic.cc:652
msgid "&Content"
msgstr ""
-#: src/tools/dcpomatic.cc:241
+#: src/tools/dcpomatic.cc:650
msgid "&Edit"
msgstr "&Editar"
-#: src/tools/dcpomatic.cc:204
+#: src/tools/dcpomatic.cc:614
msgid "&Exit"
msgstr "&Salir"
-#: src/tools/dcpomatic.cc:239 src/tools/dcpomatic_batch.cc:55
+#: src/tools/dcpomatic.cc:648 src/tools/dcpomatic_batch.cc:56
msgid "&File"
msgstr "&Archivo"
-#: src/tools/dcpomatic.cc:246 src/tools/dcpomatic_batch.cc:56
+#: src/tools/dcpomatic.cc:655 src/tools/dcpomatic_batch.cc:57
msgid "&Help"
msgstr "&Ayuda"
-#: src/tools/dcpomatic.cc:244
+#: src/tools/dcpomatic.cc:653
msgid "&Jobs"
msgstr "&Tareas"
-#: src/tools/dcpomatic.cc:222
-msgid "&Make DCP"
-msgstr "&Crear DCP"
+#: src/tools/dcpomatic.cc:631
+#, fuzzy
+msgid "&Make DCP\tCtrl-M"
+msgstr "&Crear DCP\tCtrl-M"
-#: src/tools/dcpomatic.cc:194
-msgid "&Open..."
-msgstr "&Abrir..."
+#: src/tools/dcpomatic.cc:601
+#, fuzzy
+msgid "&Open...\tCtrl-O"
+msgstr "&Abrir...\tCtrl-O"
-#: src/tools/dcpomatic.cc:211 src/tools/dcpomatic.cc:214
-msgid "&Preferences..."
-msgstr "&Preferencias..."
+#: src/tools/dcpomatic.cc:620 src/tools/dcpomatic.cc:623
+#, fuzzy
+msgid "&Preferences...\tCtrl-P"
+msgstr "&Preferencias...\tCtrl-P"
-#: src/tools/dcpomatic.cc:198
+#: src/tools/dcpomatic.cc:605
msgid "&Properties..."
msgstr "&Propiedades..."
-#: src/tools/dcpomatic.cc:206 src/tools/dcpomatic_batch.cc:50
+#: src/tools/dcpomatic.cc:616 src/tools/dcpomatic_batch.cc:51
msgid "&Quit"
msgstr "&Salir"
-#: src/tools/dcpomatic.cc:196
-msgid "&Save"
-msgstr "&Guardar"
+#: src/tools/dcpomatic.cc:603
+msgid "&Save\tCtrl-S"
+msgstr ""
-#: src/tools/dcpomatic.cc:224
+#: src/tools/dcpomatic.cc:633
msgid "&Send DCP to TMS"
msgstr "&Enviar DCP al TMS"
-#: src/tools/dcpomatic.cc:245
+#: src/tools/dcpomatic.cc:654
msgid "&Tools"
msgstr "&Herramientas"
-#: src/tools/dcpomatic_batch.cc:146
-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/dcpomatic.cc:236 src/tools/dcpomatic_batch.cc:53
+#: src/tools/dcpomatic.cc:645 src/tools/dcpomatic_batch.cc:54
msgid "About"
msgstr "Acerca de"
-#: src/tools/dcpomatic.cc:234
+#: src/tools/dcpomatic.cc:643
msgid "About DCP-o-matic"
msgstr "Acerca de DVD-o-matic"
@@ -99,98 +96,102 @@ msgstr "Acerca de DVD-o-matic"
msgid "Add Film..."
msgstr "Añadir película..."
-#: src/tools/dcpomatic.cc:760 src/tools/dcpomatic.cc:766
+#: src/tools/dcpomatic.cc:821
+#, c-format
+msgid ""
+"An exception occurred (%s). Please report this problem to the DCP-o-matic "
+"author (carl@dcpomatic.com)."
+msgstr ""
+
+#: src/tools/dcpomatic.cc:823 src/tools/dcpomatic.cc:832
msgid ""
"An unknown exception occurred. Please report this problem to the DCP-o-"
"matic author (carl@dcpomatic.com)."
msgstr ""
-#: src/tools/dcpomatic.cc:484
+#: src/tools/dcpomatic.cc:418
msgid "An unknown exeception occurred."
msgstr "Ha ocurrido un error desconocido."
-#: src/tools/dcpomatic.cc:480
+#: src/tools/dcpomatic.cc:414
msgid "CPL's content is not encrypted."
msgstr ""
-#: src/tools/dcpomatic.cc:230
+#: src/tools/dcpomatic.cc:639
msgid "Check for updates"
msgstr "Buscar actualizaciones"
-#: src/tools/dcpomatic.cc:691 src/tools/dcpomatic_batch.cc:255
+#: src/tools/dcpomatic.cc:760 src/tools/dcpomatic_batch.cc:238
msgid "Could not load film %1 (%2)"
msgstr "No se pudo cargar la película %s (%s)"
-#: src/tools/dcpomatic.cc:412 src/tools/dcpomatic_batch.cc:193
+#: src/tools/dcpomatic.cc:257 src/tools/dcpomatic_batch.cc:175
#, c-format
msgid "Could not open film at %s (%s)"
msgstr "No se pudo cargar la película en %s (%s)"
-#: src/tools/dcpomatic.cc:530
+#: src/tools/dcpomatic.cc:464
msgid "Could not show DCP (could not run konqueror)"
msgstr "No se pudo mostrar el DCP (no se pudo ejecutar konqueror)"
-#: src/tools/dcpomatic.cc:523
+#: src/tools/dcpomatic.cc:457
msgid "Could not show DCP (could not run nautilus)"
msgstr "No se pudo mostrar el DCP (no se pudo ejecutar nautilos)"
-#: src/tools/dcpomatic.cc:341 src/tools/dcpomatic.cc:651
-#: src/tools/dcpomatic.cc:705
+#: src/tools/dcpomatic.cc:277 src/tools/dcpomatic.cc:715
+#: src/tools/dcpomatic.cc:751
msgid "DCP-o-matic"
msgstr "DCP-o-matic"
-#: src/tools/dcpomatic_batch.cc:139 src/tools/dcpomatic_batch.cc:240
+#: src/tools/dcpomatic_batch.cc:223
msgid "DCP-o-matic Batch Converter"
msgstr "Convertidor por lotes DCP-o-matic"
-#: src/tools/dcpomatic.cc:229
+#: src/tools/dcpomatic.cc:638
msgid "Encoding servers..."
msgstr "Servidores de codificación..."
-#: src/tools/dcpomatic.cc:91
+#: src/tools/dcpomatic.cc:85
msgid "Film changed"
msgstr "Película cambiada"
-#: src/tools/dcpomatic_batch.cc:145
-msgid "Free, open-source DCP generation from almost anything."
-msgstr ""
-"Generación libre y de código abierto de DCP a partir de casi cualquier "
-"fuente."
-
-#: src/tools/dcpomatic.cc:228
-msgid "Hints..."
-msgstr "Pistas..."
+#: src/tools/dcpomatic.cc:637
+#, fuzzy
+msgid "Hints...\tCtrl-H"
+msgstr "Pistas...\tCtrl-H"
-#: src/tools/dcpomatic.cc:223
-msgid "Make &KDMs..."
-msgstr "Crear &KDMs..."
+#: src/tools/dcpomatic.cc:632
+#, fuzzy
+msgid "Make &KDMs...\tCtrl-K"
+msgstr "Crear &KDMs...\tCtrl-K"
-#: src/tools/dcpomatic.cc:193
-msgid "New..."
-msgstr "Nuevo..."
+#: src/tools/dcpomatic.cc:600
+#, fuzzy
+msgid "New...\tCtrl-N"
+msgstr "Nuevo...\tCtrl-N"
-#: src/tools/dcpomatic.cc:225
+#: src/tools/dcpomatic.cc:634
msgid "S&how DCP"
msgstr "&Mostrar DCP"
-#: src/tools/dcpomatic.cc:90
+#: src/tools/dcpomatic.cc:84
#, c-format
msgid "Save changes to film \"%s\" before closing?"
msgstr "Guardar cambios de la película \"%s\" antes de cerrar?"
-#: src/tools/dcpomatic.cc:219
+#: src/tools/dcpomatic.cc:628
msgid "Scale to fit &height"
msgstr ""
-#: src/tools/dcpomatic.cc:218
+#: src/tools/dcpomatic.cc:627
msgid "Scale to fit &width"
msgstr ""
-#: src/tools/dcpomatic.cc:389 src/tools/dcpomatic_batch.cc:170
+#: src/tools/dcpomatic.cc:322 src/tools/dcpomatic_batch.cc:152
msgid "Select film to open"
msgstr "Selecciona la película a abrir"
-#: src/tools/dcpomatic.cc:451
+#: src/tools/dcpomatic.cc:385
#, c-format
msgid ""
"The DCP for this film will take up about %.1f Gb, and the disk that you are "
@@ -200,26 +201,26 @@ msgstr ""
"seleccionado solo tiene %.1f Gb disponibles. Quieres continuar de todas "
"formas?"
-#: src/tools/dcpomatic.cc:804
+#: src/tools/dcpomatic.cc:870
msgid "The DCP-o-matic download server could not be contacted."
msgstr "Imposible conectar con el servidor de descarga de DCP-o-matic."
-#: src/tools/dcpomatic.cc:360
+#: src/tools/dcpomatic.cc:296
msgid ""
"The directory %1 already exists and is not empty. Are you sure you want to "
"use it?"
msgstr ""
"El directorio %1 ya existe y no está vacío. ¿Estás seguro de querer usarlo?"
-#: src/tools/dcpomatic.cc:799
+#: src/tools/dcpomatic.cc:865
msgid "There are no new versions of DCP-o-matic available."
msgstr "No hay disponibles nuevas versiones de DCP-o-matic."
-#: src/tools/dcpomatic.cc:575 src/tools/dcpomatic_batch.cc:104
+#: src/tools/dcpomatic.cc:509 src/tools/dcpomatic_batch.cc:111
msgid "There are unfinished jobs; are you sure you want to quit?"
msgstr "Hay trabajos sin finalizar; ¿estás seguro de querer cerrar?"
-#: src/tools/dcpomatic.cc:141
+#: src/tools/dcpomatic.cc:243
msgid ""
"This film was created with an old version of DVD-o-matic and may not load "
"correctly in this version. Please check the film's settings carefully."
@@ -228,11 +229,11 @@ msgstr ""
"cargue correctamente en esta versión. Por favor revisa cuidadosamente las "
"opciones."
-#: src/tools/dcpomatic.cc:576 src/tools/dcpomatic_batch.cc:105
+#: src/tools/dcpomatic.cc:510 src/tools/dcpomatic_batch.cc:112
msgid "Unfinished jobs"
msgstr "Trabajos sin finalizar"
-#: src/tools/dcpomatic.cc:398 src/tools/dcpomatic_batch.cc:179
+#: src/tools/dcpomatic.cc:331 src/tools/dcpomatic_batch.cc:161
msgid ""
"You did not select a folder. Make sure that you select a folder before "
"clicking Open."
@@ -240,6 +241,21 @@ msgstr ""
"No has seleccionado una carpeta. Asegúrate de seleccionar una antes de "
"pinchar sobre Abrir."
+#~ msgid "&Save"
+#~ msgstr "&Guardar"
+
+#~ msgid ""
+#~ "(C) 2012-2013 Carl Hetherington, Terrence Meiczinger, Paul Davis, Ole "
+#~ "Laursen"
+#~ msgstr ""
+#~ "(C) 2012-2013 Carl Hetherington, Terrence Meiczinger, Paul Davis, Ole "
+#~ "Laursen"
+
+#~ msgid "Free, open-source DCP generation from almost anything."
+#~ msgstr ""
+#~ "Generación libre y de código abierto de DCP a partir de casi cualquier "
+#~ "fuente."
+
#~ msgid "&Analyse audio"
#~ msgstr "&Analizar audio"
diff --git a/src/tools/po/fr_FR.po b/src/tools/po/fr_FR.po
index fca31b0b5..86994dc71 100644
--- a/src/tools/po/fr_FR.po
+++ b/src/tools/po/fr_FR.po
@@ -7,92 +7,89 @@ msgid ""
msgstr ""
"Project-Id-Version: DCP-o-matic FRENCH\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2014-06-24 14:53+0100\n"
-"PO-Revision-Date: 2014-06-20 15:57+0100\n"
-"Last-Translator: \n"
+"POT-Creation-Date: 2014-10-03 22:31+0100\n"
+"PO-Revision-Date: 2014-07-14 10:43+0100\n"
+"Last-Translator: Grégoire AUSINA <gregoire@gisele-productions.eu>\n"
"Language-Team: \n"
"Language: fr_FR\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Generator: Poedit 1.6.3\n"
+"X-Generator: Poedit 1.6.6\n"
-#: src/tools/dcpomatic.cc:370
+#: src/tools/dcpomatic.cc:306
msgid "%1 already exists as a file, so you cannot use it for a new film."
msgstr ""
"Le fichier %1 existe déjà, vous ne pouvez l'utiliser pour un nouveau projet."
-#: src/tools/dcpomatic_batch.cc:49
+#: src/tools/dcpomatic_batch.cc:50
msgid "&Add Film..."
msgstr "&Ajouter Film..."
-#: src/tools/dcpomatic.cc:243
+#: src/tools/dcpomatic.cc:652
msgid "&Content"
-msgstr "&Adaptation"
+msgstr "&Contenu"
-#: src/tools/dcpomatic.cc:241
+#: src/tools/dcpomatic.cc:650
msgid "&Edit"
msgstr "&Edition"
-#: src/tools/dcpomatic.cc:204
+#: src/tools/dcpomatic.cc:614
msgid "&Exit"
msgstr "&Quitter"
-#: src/tools/dcpomatic.cc:239 src/tools/dcpomatic_batch.cc:55
+#: src/tools/dcpomatic.cc:648 src/tools/dcpomatic_batch.cc:56
msgid "&File"
msgstr "&Fichier"
-#: src/tools/dcpomatic.cc:246 src/tools/dcpomatic_batch.cc:56
+#: src/tools/dcpomatic.cc:655 src/tools/dcpomatic_batch.cc:57
msgid "&Help"
msgstr "&Aide"
-#: src/tools/dcpomatic.cc:244
+#: src/tools/dcpomatic.cc:653
msgid "&Jobs"
msgstr "&Travaux"
-#: src/tools/dcpomatic.cc:222
-msgid "&Make DCP"
-msgstr "&Créer le DCP"
+#: src/tools/dcpomatic.cc:631
+#, fuzzy
+msgid "&Make DCP\tCtrl-M"
+msgstr "&Créer le DCP\tCtrl-M"
-#: src/tools/dcpomatic.cc:194
-msgid "&Open..."
-msgstr "&Ouvrir..."
+#: src/tools/dcpomatic.cc:601
+#, fuzzy
+msgid "&Open...\tCtrl-O"
+msgstr "&Ouvrir...\tCtrl-O"
-#: src/tools/dcpomatic.cc:211 src/tools/dcpomatic.cc:214
-msgid "&Preferences..."
-msgstr "&Préférences..."
+#: src/tools/dcpomatic.cc:620 src/tools/dcpomatic.cc:623
+#, fuzzy
+msgid "&Preferences...\tCtrl-P"
+msgstr "&Préférences...\tCtrl-P"
-#: src/tools/dcpomatic.cc:198
+#: src/tools/dcpomatic.cc:605
msgid "&Properties..."
msgstr "&Propriétés..."
-#: src/tools/dcpomatic.cc:206 src/tools/dcpomatic_batch.cc:50
+#: src/tools/dcpomatic.cc:616 src/tools/dcpomatic_batch.cc:51
msgid "&Quit"
msgstr "&Quitter"
-#: src/tools/dcpomatic.cc:196
-msgid "&Save"
-msgstr "&Enregistrer"
+#: src/tools/dcpomatic.cc:603
+msgid "&Save\tCtrl-S"
+msgstr ""
-#: src/tools/dcpomatic.cc:224
+#: src/tools/dcpomatic.cc:633
msgid "&Send DCP to TMS"
-msgstr "&Envoyer le DCP dans le TMS"
+msgstr "&Envoyer le DCP au TMS"
-#: src/tools/dcpomatic.cc:245
+#: src/tools/dcpomatic.cc:654
msgid "&Tools"
msgstr "&Outils"
-#: src/tools/dcpomatic_batch.cc:146
-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/dcpomatic.cc:236 src/tools/dcpomatic_batch.cc:53
+#: src/tools/dcpomatic.cc:645 src/tools/dcpomatic_batch.cc:54
msgid "About"
-msgstr "A Propos"
+msgstr "A propos"
-#: src/tools/dcpomatic.cc:234
+#: src/tools/dcpomatic.cc:643
msgid "About DCP-o-matic"
msgstr "À propos de DCP-o-matic"
@@ -100,126 +97,132 @@ msgstr "À propos de DCP-o-matic"
msgid "Add Film..."
msgstr "Ajouter Film..."
-#: src/tools/dcpomatic.cc:760 src/tools/dcpomatic.cc:766
+#: src/tools/dcpomatic.cc:821
+#, fuzzy, c-format
+msgid ""
+"An exception occurred (%s). Please report this problem to the DCP-o-matic "
+"author (carl@dcpomatic.com)."
+msgstr ""
+"Erreur indéterminée. Merci de rapporter le problème à l'auteur de DCP-o-"
+"matic (carl@dcpomatic.com)."
+
+#: src/tools/dcpomatic.cc:823 src/tools/dcpomatic.cc:832
msgid ""
"An unknown exception occurred. Please report this problem to the DCP-o-"
"matic author (carl@dcpomatic.com)."
msgstr ""
-"Erreur indeterminée. Merci de rapporter le problème à l'auteur de DCP-o-"
+"Erreur indéterminée. Merci de rapporter le problème à l'auteur de DCP-o-"
"matic (carl@dcpomatic.com)."
-#: src/tools/dcpomatic.cc:484
+#: src/tools/dcpomatic.cc:418
msgid "An unknown exeception occurred."
-msgstr "Une exception inconnue est arrivée"
+msgstr "Exception inconnue"
-#: src/tools/dcpomatic.cc:480
+#: src/tools/dcpomatic.cc:414
msgid "CPL's content is not encrypted."
-msgstr "Le contenu du DCP n'est pas crypté."
+msgstr "Le contenu du CPL n'est pas crypté."
-#: src/tools/dcpomatic.cc:230
+#: src/tools/dcpomatic.cc:639
msgid "Check for updates"
msgstr "Recherche mises à jour"
-#: src/tools/dcpomatic.cc:691 src/tools/dcpomatic_batch.cc:255
+#: src/tools/dcpomatic.cc:760 src/tools/dcpomatic_batch.cc:238
msgid "Could not load film %1 (%2)"
msgstr "Impossible de charger le film %1 (%2)"
-#: src/tools/dcpomatic.cc:412 src/tools/dcpomatic_batch.cc:193
+#: src/tools/dcpomatic.cc:257 src/tools/dcpomatic_batch.cc:175
#, c-format
msgid "Could not open film at %s (%s)"
msgstr "Impossible d'ouvrir le film à %s (%s)"
-#: src/tools/dcpomatic.cc:530
+#: src/tools/dcpomatic.cc:464
msgid "Could not show DCP (could not run konqueror)"
msgstr "Ouverture du DCP impossible (konqueror est introuvable)"
-#: src/tools/dcpomatic.cc:523
+#: src/tools/dcpomatic.cc:457
msgid "Could not show DCP (could not run nautilus)"
msgstr "Ouverture du DCP impossible (nautilus est introuvable)"
-#: src/tools/dcpomatic.cc:341 src/tools/dcpomatic.cc:651
-#: src/tools/dcpomatic.cc:705
+#: src/tools/dcpomatic.cc:277 src/tools/dcpomatic.cc:715
+#: src/tools/dcpomatic.cc:751
msgid "DCP-o-matic"
msgstr "DCP-o-matic"
-#: src/tools/dcpomatic_batch.cc:139 src/tools/dcpomatic_batch.cc:240
+#: src/tools/dcpomatic_batch.cc:223
msgid "DCP-o-matic Batch Converter"
-msgstr "DCP-o-matic - Convertisseur Batch"
+msgstr "DCP-o-matic - Convertisseur par lots"
-#: src/tools/dcpomatic.cc:229
+#: src/tools/dcpomatic.cc:638
msgid "Encoding servers..."
msgstr "Serveurs d'encodage"
-#: src/tools/dcpomatic.cc:91
+#: src/tools/dcpomatic.cc:85
msgid "Film changed"
msgstr "Film changé"
-#: src/tools/dcpomatic_batch.cc:145
-msgid "Free, open-source DCP generation from almost anything."
-msgstr "Création de DCP libre et open-source à partir de presque tout."
-
-#: src/tools/dcpomatic.cc:228
-msgid "Hints..."
-msgstr "Avertissements..."
+#: src/tools/dcpomatic.cc:637
+#, fuzzy
+msgid "Hints...\tCtrl-H"
+msgstr "Conseils...\tCtrl-H"
-#: src/tools/dcpomatic.cc:223
-msgid "Make &KDMs..."
-msgstr "Générer &KDMs..."
+#: src/tools/dcpomatic.cc:632
+msgid "Make &KDMs...\tCtrl-K"
+msgstr "Générer &KDMs...\tCtrl-K"
-#: src/tools/dcpomatic.cc:193
-msgid "New..."
-msgstr "Nouveau..."
+#: src/tools/dcpomatic.cc:600
+msgid "New...\tCtrl-N"
+msgstr "Nouveau...\tCtrl-N"
-#: src/tools/dcpomatic.cc:225
+#: src/tools/dcpomatic.cc:634
msgid "S&how DCP"
msgstr "Voir le DCP"
-#: src/tools/dcpomatic.cc:90
+#: src/tools/dcpomatic.cc:84
#, c-format
msgid "Save changes to film \"%s\" before closing?"
msgstr "Enregistrer les changements du film \"%s\" avant de fermer ?"
-#: src/tools/dcpomatic.cc:219
+#: src/tools/dcpomatic.cc:628
msgid "Scale to fit &height"
msgstr "Adapter pour remplir la &hauteur"
-#: src/tools/dcpomatic.cc:218
+#: src/tools/dcpomatic.cc:627
msgid "Scale to fit &width"
msgstr "Adapter pour remplir la largeur"
-#: src/tools/dcpomatic.cc:389 src/tools/dcpomatic_batch.cc:170
+#: src/tools/dcpomatic.cc:322 src/tools/dcpomatic_batch.cc:152
msgid "Select film to open"
msgstr "Sélectionner le film à ouvrir"
-#: src/tools/dcpomatic.cc:451
+#: src/tools/dcpomatic.cc:385
#, c-format
msgid ""
"The DCP for this film will take up about %.1f Gb, and the disk that you are "
"using only has %.1f Gb available. Do you want to continue anyway?"
msgstr ""
-"Le DCP de ce film prendra environ %.1f Go d'espace. Le disque que vous "
-"utilisez n'a que %.1f Go disponible(s). Souhaitez-vous continuer?"
+"Le DCP de ce film pèsera environ %.1f Go. Le disque que vous utilisez n'a "
+"que %.1f Go disponible(s). Souhaitez-vous continuer?"
-#: src/tools/dcpomatic.cc:804
+#: src/tools/dcpomatic.cc:870
msgid "The DCP-o-matic download server could not be contacted."
msgstr "Le serveur de téléchargement de DCP-o-matic ne peut être contacté."
-#: src/tools/dcpomatic.cc:360
+#: src/tools/dcpomatic.cc:296
msgid ""
"The directory %1 already exists and is not empty. Are you sure you want to "
"use it?"
msgstr ""
"Le dossier %1 existe et n'est pas vide. Etes-vous sûr de vouloir l'utiliser ?"
-#: src/tools/dcpomatic.cc:799
+#: src/tools/dcpomatic.cc:865
msgid "There are no new versions of DCP-o-matic available."
msgstr "Aucune mise à jour disponible pour DCP-o-matic."
-#: src/tools/dcpomatic.cc:575 src/tools/dcpomatic_batch.cc:104
+#: src/tools/dcpomatic.cc:509 src/tools/dcpomatic_batch.cc:111
msgid "There are unfinished jobs; are you sure you want to quit?"
msgstr "Il y a des tâches inachevées ; voulez-vous vraiment quitter ?"
-#: src/tools/dcpomatic.cc:141
+#: src/tools/dcpomatic.cc:243
msgid ""
"This film was created with an old version of DVD-o-matic and may not load "
"correctly in this version. Please check the film's settings carefully."
@@ -228,11 +231,11 @@ msgstr ""
"être ouvert correctement dans cette version. Veuillez vérifier les "
"paramètres de réglages très attentivement."
-#: src/tools/dcpomatic.cc:576 src/tools/dcpomatic_batch.cc:105
+#: src/tools/dcpomatic.cc:510 src/tools/dcpomatic_batch.cc:112
msgid "Unfinished jobs"
msgstr "Travaux incomplets"
-#: src/tools/dcpomatic.cc:398 src/tools/dcpomatic_batch.cc:179
+#: src/tools/dcpomatic.cc:331 src/tools/dcpomatic_batch.cc:161
msgid ""
"You did not select a folder. Make sure that you select a folder before "
"clicking Open."
@@ -240,6 +243,19 @@ msgstr ""
"Aucun dossier sélectionné. Selectionnez un dossier avant de cliquer sur "
"Ouvrir"
+#~ msgid "&Save"
+#~ msgstr "&Enregistrer"
+
+#~ msgid ""
+#~ "(C) 2012-2013 Carl Hetherington, Terrence Meiczinger, Paul Davis, Ole "
+#~ "Laursen"
+#~ msgstr ""
+#~ "(C) 2012-2013 Carl Hetherington, Terrence Meiczinger, Paul Davis, Ole "
+#~ "Laursen"
+
+#~ msgid "Free, open-source DCP generation from almost anything."
+#~ msgstr "Création de DCP libre et open-source à partir de presque tout."
+
#~ msgid "&Analyse audio"
#~ msgstr "&Analyser le son"
diff --git a/src/tools/po/it_IT.po b/src/tools/po/it_IT.po
index c3baa96d1..56b050df0 100644
--- a/src/tools/po/it_IT.po
+++ b/src/tools/po/it_IT.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: IT VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2014-06-24 14:53+0100\n"
+"POT-Creation-Date: 2014-10-03 22:31+0100\n"
"PO-Revision-Date: 2014-02-03 09:36+0100\n"
"Last-Translator: William Fanelli <william.f@impronte.com>\n"
"Language-Team: \n"
@@ -17,81 +17,75 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Poedit 1.6.3\n"
-#: src/tools/dcpomatic.cc:370
+#: src/tools/dcpomatic.cc:306
msgid "%1 already exists as a file, so you cannot use it for a new film."
msgstr "%1 esiste già il file, non è possibile usarlo per un nuovo film"
-#: src/tools/dcpomatic_batch.cc:49
+#: src/tools/dcpomatic_batch.cc:50
msgid "&Add Film..."
msgstr ""
-#: src/tools/dcpomatic.cc:243
+#: src/tools/dcpomatic.cc:652
msgid "&Content"
msgstr ""
-#: src/tools/dcpomatic.cc:241
+#: src/tools/dcpomatic.cc:650
msgid "&Edit"
msgstr "&Modifica"
-#: src/tools/dcpomatic.cc:204
+#: src/tools/dcpomatic.cc:614
msgid "&Exit"
msgstr "&Esci"
-#: src/tools/dcpomatic.cc:239 src/tools/dcpomatic_batch.cc:55
+#: src/tools/dcpomatic.cc:648 src/tools/dcpomatic_batch.cc:56
msgid "&File"
msgstr "&File"
-#: src/tools/dcpomatic.cc:246 src/tools/dcpomatic_batch.cc:56
+#: src/tools/dcpomatic.cc:655 src/tools/dcpomatic_batch.cc:57
msgid "&Help"
msgstr "&Aiuto"
-#: src/tools/dcpomatic.cc:244
+#: src/tools/dcpomatic.cc:653
msgid "&Jobs"
msgstr "&Lavori"
-#: src/tools/dcpomatic.cc:222
-msgid "&Make DCP"
-msgstr "&Crea DCP"
+#: src/tools/dcpomatic.cc:631
+msgid "&Make DCP\tCtrl-M"
+msgstr "&Crea DCP\tCtrl-M"
-#: src/tools/dcpomatic.cc:194
-msgid "&Open..."
-msgstr "&Apri..."
+#: src/tools/dcpomatic.cc:601
+msgid "&Open...\tCtrl-O"
+msgstr "&Apri...\tCtrl-O"
-#: src/tools/dcpomatic.cc:211 src/tools/dcpomatic.cc:214
-msgid "&Preferences..."
-msgstr "&Preferenze..."
+#: src/tools/dcpomatic.cc:620 src/tools/dcpomatic.cc:623
+msgid "&Preferences...\tCtrl-P"
+msgstr "&Preferenze...\tCtrl-P"
-#: src/tools/dcpomatic.cc:198
+#: src/tools/dcpomatic.cc:605
msgid "&Properties..."
msgstr "&Proprieta'..."
-#: src/tools/dcpomatic.cc:206 src/tools/dcpomatic_batch.cc:50
+#: src/tools/dcpomatic.cc:616 src/tools/dcpomatic_batch.cc:51
msgid "&Quit"
msgstr "&Esci"
-#: src/tools/dcpomatic.cc:196
-msgid "&Save"
-msgstr "&Salva"
+#: src/tools/dcpomatic.cc:603
+msgid "&Save\tCtrl-S"
+msgstr ""
-#: src/tools/dcpomatic.cc:224
+#: src/tools/dcpomatic.cc:633
msgid "&Send DCP to TMS"
msgstr "&Invia DCP a TMS"
-#: src/tools/dcpomatic.cc:245
+#: src/tools/dcpomatic.cc:654
msgid "&Tools"
msgstr "&Strumenti"
-#: src/tools/dcpomatic_batch.cc:146
-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/dcpomatic.cc:236 src/tools/dcpomatic_batch.cc:53
+#: src/tools/dcpomatic.cc:645 src/tools/dcpomatic_batch.cc:54
msgid "About"
msgstr "Informazioni"
-#: src/tools/dcpomatic.cc:234
+#: src/tools/dcpomatic.cc:643
msgid "About DCP-o-matic"
msgstr "Su DVD-o-matic"
@@ -99,96 +93,99 @@ msgstr "Su DVD-o-matic"
msgid "Add Film..."
msgstr ""
-#: src/tools/dcpomatic.cc:760 src/tools/dcpomatic.cc:766
+#: src/tools/dcpomatic.cc:821
+#, c-format
+msgid ""
+"An exception occurred (%s). Please report this problem to the DCP-o-matic "
+"author (carl@dcpomatic.com)."
+msgstr ""
+
+#: src/tools/dcpomatic.cc:823 src/tools/dcpomatic.cc:832
msgid ""
"An unknown exception occurred. Please report this problem to the DCP-o-"
"matic author (carl@dcpomatic.com)."
msgstr ""
-#: src/tools/dcpomatic.cc:484
+#: src/tools/dcpomatic.cc:418
msgid "An unknown exeception occurred."
msgstr ""
-#: src/tools/dcpomatic.cc:480
+#: src/tools/dcpomatic.cc:414
msgid "CPL's content is not encrypted."
msgstr ""
-#: src/tools/dcpomatic.cc:230
+#: src/tools/dcpomatic.cc:639
msgid "Check for updates"
msgstr "Controlla aggiornamenti"
-#: src/tools/dcpomatic.cc:691 src/tools/dcpomatic_batch.cc:255
+#: src/tools/dcpomatic.cc:760 src/tools/dcpomatic_batch.cc:238
msgid "Could not load film %1 (%2)"
msgstr "Non posso caricare il film %s (%s)"
-#: src/tools/dcpomatic.cc:412 src/tools/dcpomatic_batch.cc:193
+#: src/tools/dcpomatic.cc:257 src/tools/dcpomatic_batch.cc:175
#, c-format
msgid "Could not open film at %s (%s)"
msgstr "Non posso aprire il film in %s (%s)"
-#: src/tools/dcpomatic.cc:530
+#: src/tools/dcpomatic.cc:464
msgid "Could not show DCP (could not run konqueror)"
msgstr ""
-#: src/tools/dcpomatic.cc:523
+#: src/tools/dcpomatic.cc:457
msgid "Could not show DCP (could not run nautilus)"
msgstr ""
-#: src/tools/dcpomatic.cc:341 src/tools/dcpomatic.cc:651
-#: src/tools/dcpomatic.cc:705
+#: src/tools/dcpomatic.cc:277 src/tools/dcpomatic.cc:715
+#: src/tools/dcpomatic.cc:751
msgid "DCP-o-matic"
msgstr "DCP-o-matic"
-#: src/tools/dcpomatic_batch.cc:139 src/tools/dcpomatic_batch.cc:240
+#: src/tools/dcpomatic_batch.cc:223
msgid "DCP-o-matic Batch Converter"
msgstr ""
-#: src/tools/dcpomatic.cc:229
+#: src/tools/dcpomatic.cc:638
msgid "Encoding servers..."
msgstr ""
-#: src/tools/dcpomatic.cc:91
+#: src/tools/dcpomatic.cc:85
msgid "Film changed"
msgstr "Film modificato"
-#: src/tools/dcpomatic_batch.cc:145
-msgid "Free, open-source DCP generation from almost anything."
-msgstr "Genera DCP da quasi tutto, free e open-source."
+#: src/tools/dcpomatic.cc:637
+msgid "Hints...\tCtrl-H"
+msgstr "Suggerimenti...\tCtrl-H"
-#: src/tools/dcpomatic.cc:228
-msgid "Hints..."
-msgstr "Suggerimenti..."
-
-#: src/tools/dcpomatic.cc:223
-msgid "Make &KDMs..."
+#: src/tools/dcpomatic.cc:632
+msgid "Make &KDMs...\tCtrl-K"
msgstr ""
-#: src/tools/dcpomatic.cc:193
-msgid "New..."
-msgstr "Nuovo"
+#: src/tools/dcpomatic.cc:600
+msgid "New...\tCtrl-N"
+msgstr "Nuovo...\tCtrl-N"
-#: src/tools/dcpomatic.cc:225
+#: src/tools/dcpomatic.cc:634
msgid "S&how DCP"
msgstr "&Mostra DCP"
-#: src/tools/dcpomatic.cc:90
+#: src/tools/dcpomatic.cc:84
#, c-format
msgid "Save changes to film \"%s\" before closing?"
msgstr "Salvare i cambiamenti del film \"%s\" prima di chiudere?"
-#: src/tools/dcpomatic.cc:219
+#: src/tools/dcpomatic.cc:628
msgid "Scale to fit &height"
msgstr ""
-#: src/tools/dcpomatic.cc:218
+#: src/tools/dcpomatic.cc:627
msgid "Scale to fit &width"
msgstr ""
-#: src/tools/dcpomatic.cc:389 src/tools/dcpomatic_batch.cc:170
+#: src/tools/dcpomatic.cc:322 src/tools/dcpomatic_batch.cc:152
msgid "Select film to open"
msgstr "Seleziona il film da aprire"
-#: src/tools/dcpomatic.cc:451
+#: src/tools/dcpomatic.cc:385
#, c-format
msgid ""
"The DCP for this film will take up about %.1f Gb, and the disk that you are "
@@ -197,35 +194,35 @@ msgstr ""
"Il DCP di questo film occupa %.1f Gb, ma il disco che stai usando dispone di "
"%.1f Gb liberi. Vuoi continuare ugualmente?"
-#: src/tools/dcpomatic.cc:804
+#: src/tools/dcpomatic.cc:870
msgid "The DCP-o-matic download server could not be contacted."
msgstr "Il download server di DCP-o-matic non può essere contattato."
-#: src/tools/dcpomatic.cc:360
+#: src/tools/dcpomatic.cc:296
msgid ""
"The directory %1 already exists and is not empty. Are you sure you want to "
"use it?"
msgstr "La cartella %1 esiste già e non è vuota. Sei sicuro di volerla usare?"
-#: src/tools/dcpomatic.cc:799
+#: src/tools/dcpomatic.cc:865
msgid "There are no new versions of DCP-o-matic available."
msgstr "Non ci sono nuove versioni di DCP-o-matic disponibili."
-#: src/tools/dcpomatic.cc:575 src/tools/dcpomatic_batch.cc:104
+#: src/tools/dcpomatic.cc:509 src/tools/dcpomatic_batch.cc:111
msgid "There are unfinished jobs; are you sure you want to quit?"
msgstr "C'è un processo in corso: sei sicuro di voler uscire?"
-#: src/tools/dcpomatic.cc:141
+#: src/tools/dcpomatic.cc:243
msgid ""
"This film was created with an old version of DVD-o-matic and may not load "
"correctly in this version. Please check the film's settings carefully."
msgstr ""
-#: src/tools/dcpomatic.cc:576 src/tools/dcpomatic_batch.cc:105
+#: src/tools/dcpomatic.cc:510 src/tools/dcpomatic_batch.cc:112
msgid "Unfinished jobs"
msgstr "Processo in corso"
-#: src/tools/dcpomatic.cc:398 src/tools/dcpomatic_batch.cc:179
+#: src/tools/dcpomatic.cc:331 src/tools/dcpomatic_batch.cc:161
msgid ""
"You did not select a folder. Make sure that you select a folder before "
"clicking Open."
@@ -233,6 +230,19 @@ msgstr ""
"Non hai selezionato una cartella. Assicurati di selezionare una cartella "
"prima di cliccare Apri."
+#~ msgid "&Save"
+#~ msgstr "&Salva"
+
+#~ msgid ""
+#~ "(C) 2012-2013 Carl Hetherington, Terrence Meiczinger, Paul Davis, Ole "
+#~ "Laursen"
+#~ msgstr ""
+#~ "(C) 2012-2013 Carl Hetherington, Terrence Meiczinger, Paul Davis, Ole "
+#~ "Laursen"
+
+#~ msgid "Free, open-source DCP generation from almost anything."
+#~ msgstr "Genera DCP da quasi tutto, free e open-source."
+
#~ msgid "&Analyse audio"
#~ msgstr "&Analizza audio"
diff --git a/src/tools/po/nl_NL.po b/src/tools/po/nl_NL.po
index fe0bf7ef8..f6d076d69 100644
--- a/src/tools/po/nl_NL.po
+++ b/src/tools/po/nl_NL.po
@@ -7,190 +7,192 @@ msgid ""
msgstr ""
"Project-Id-Version: DCP-o-matic\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2014-06-24 14:53+0100\n"
-"PO-Revision-Date: 2014-03-30 19:38+0100\n"
-"Last-Translator: Theo Kooijmans <tkooijmans@universaldv.nl>\n"
+"POT-Creation-Date: 2014-10-03 22:31+0100\n"
+"PO-Revision-Date: 2014-09-04 20:29+0100\n"
+"Last-Translator: Cherif Ben Brahim <firehc@mac.com>\n"
"Language-Team: UniversalDV <Tkooijmans@universaldv.nl>\n"
"Language: nl_NL\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Generator: Poedit 1.6.4\n"
+"X-Generator: Poedit 1.6.9\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: src/tools/dcpomatic.cc:370
+#: src/tools/dcpomatic.cc:306
msgid "%1 already exists as a file, so you cannot use it for a new film."
msgstr ""
"%1 Dit bestand bestaat al, hierdoor kunt u het niet gebruiken voor een "
"nieuwe film"
-#: src/tools/dcpomatic_batch.cc:49
+#: src/tools/dcpomatic_batch.cc:50
msgid "&Add Film..."
msgstr "Open een DCP map"
-#: src/tools/dcpomatic.cc:243
+#: src/tools/dcpomatic.cc:652
msgid "&Content"
-msgstr ""
+msgstr "&Content"
-#: src/tools/dcpomatic.cc:241
+#: src/tools/dcpomatic.cc:650
msgid "&Edit"
msgstr "&Edit"
-#: src/tools/dcpomatic.cc:204
+#: src/tools/dcpomatic.cc:614
msgid "&Exit"
msgstr "&Afsluiten"
-#: src/tools/dcpomatic.cc:239 src/tools/dcpomatic_batch.cc:55
+#: src/tools/dcpomatic.cc:648 src/tools/dcpomatic_batch.cc:56
msgid "&File"
msgstr "&Bestand"
-#: src/tools/dcpomatic.cc:246 src/tools/dcpomatic_batch.cc:56
+#: src/tools/dcpomatic.cc:655 src/tools/dcpomatic_batch.cc:57
msgid "&Help"
msgstr "&Help"
-#: src/tools/dcpomatic.cc:244
+#: src/tools/dcpomatic.cc:653
msgid "&Jobs"
msgstr "&Projecten"
-#: src/tools/dcpomatic.cc:222
-msgid "&Make DCP"
-msgstr "&Maak een DCP"
+#: src/tools/dcpomatic.cc:
+msgid "&Make DCP\tCtrl-M"
+msgstr "&Maak een DCP\tCtrl-M"
-#: src/tools/dcpomatic.cc:194
-msgid "&Open..."
-msgstr "&Openen..."
+#: src/tools/dcpomatic.cc:601
+msgid "&Open...\tCtrl-O"
+msgstr "&Openen...\tCtrl-O"
-#: src/tools/dcpomatic.cc:211 src/tools/dcpomatic.cc:214
-msgid "&Preferences..."
-msgstr "&Voorkeuren..."
+#: src/tools/dcpomatic.cc:620 src/tools/dcpomatic.cc:623
+msgid "&Preferences...\tCtrl-P"
+msgstr "&Voorkeuren...\tCtrl-P"
-#: src/tools/dcpomatic.cc:198
+#: src/tools/dcpomatic.cc:605
msgid "&Properties..."
msgstr "&Instellingen..."
-#: src/tools/dcpomatic.cc:206 src/tools/dcpomatic_batch.cc:50
+#: src/tools/dcpomatic.cc:616 src/tools/dcpomatic_batch.cc:51
msgid "&Quit"
msgstr "&Afsluiten"
-#: src/tools/dcpomatic.cc:196
-msgid "&Save"
-msgstr "&Opslaan"
+#: src/tools/dcpomatic.cc:603
+msgid "&Save\tCtrl-S"
+msgstr ""
-#: src/tools/dcpomatic.cc:224
+#: src/tools/dcpomatic.cc:633
msgid "&Send DCP to TMS"
msgstr "&Verstuur DCP naar TMS"
-#: src/tools/dcpomatic.cc:245
+#: src/tools/dcpomatic.cc:654
msgid "&Tools"
msgstr "&Gereedschappen"
-#: src/tools/dcpomatic_batch.cc:146
-msgid ""
-"(C) 2012-2013 Carl Hetherington, Terrence Meiczinger, Paul Davis, Ole Laursen"
-msgstr ""
-
-#: src/tools/dcpomatic.cc:236 src/tools/dcpomatic_batch.cc:53
+#: src/tools/dcpomatic.cc:645 src/tools/dcpomatic_batch.cc:54
msgid "About"
msgstr "Over.."
-#: src/tools/dcpomatic.cc:234
+#: src/tools/dcpomatic.cc:643
msgid "About DCP-o-matic"
msgstr "Over DCP-o-matic"
#: src/tools/dcpomatic_batch.cc:84
msgid "Add Film..."
+msgstr "Voeg Film Toe"
+
+#: src/tools/dcpomatic.cc:821
+#, fuzzy, c-format
+msgid ""
+"An exception occurred (%s). Please report this problem to the DCP-o-matic "
+"author (carl@dcpomatic.com)."
msgstr ""
+"Een ongekende fout is opgetreden. AUB meld deze aan de maker van DCP-o-matic "
+"(carl@dcpomatic.com)."
-#: src/tools/dcpomatic.cc:760 src/tools/dcpomatic.cc:766
+#: src/tools/dcpomatic.cc:823 src/tools/dcpomatic.cc:832
msgid ""
"An unknown exception occurred. Please report this problem to the DCP-o-"
"matic author (carl@dcpomatic.com)."
msgstr ""
+"Een ongekende fout is opgetreden. AUB meld deze aan de maker van DCP-o-matic "
+"(carl@dcpomatic.com)."
-#: src/tools/dcpomatic.cc:484
+#: src/tools/dcpomatic.cc:418
msgid "An unknown exeception occurred."
msgstr "Er is een onbekende fout opgetreden."
-#: src/tools/dcpomatic.cc:480
+#: src/tools/dcpomatic.cc:414
msgid "CPL's content is not encrypted."
-msgstr ""
+msgstr "De inhoud van de CPL is niet geëncrypteerd."
-#: src/tools/dcpomatic.cc:230
+#: src/tools/dcpomatic.cc:639
msgid "Check for updates"
msgstr "Controleer op updates"
-#: src/tools/dcpomatic.cc:691 src/tools/dcpomatic_batch.cc:255
+#: src/tools/dcpomatic.cc:760 src/tools/dcpomatic_batch.cc:238
msgid "Could not load film %1 (%2)"
msgstr "Kan film niet openen %1 (%2)"
-#: src/tools/dcpomatic.cc:412 src/tools/dcpomatic_batch.cc:193
+#: src/tools/dcpomatic.cc:257 src/tools/dcpomatic_batch.cc:175
#, c-format
msgid "Could not open film at %s (%s)"
msgstr "Kan film niet openen in %s (%s)"
-#: src/tools/dcpomatic.cc:530
+#: src/tools/dcpomatic.cc:464
msgid "Could not show DCP (could not run konqueror)"
msgstr "Kan DCP niet vertonen (Kan Konqueror niet starten)"
-#: src/tools/dcpomatic.cc:523
+#: src/tools/dcpomatic.cc:457
msgid "Could not show DCP (could not run nautilus)"
msgstr "Kan DCP niet vertonen (Kan Nautilus niet starten)"
-#: src/tools/dcpomatic.cc:341 src/tools/dcpomatic.cc:651
-#: src/tools/dcpomatic.cc:705
+#: src/tools/dcpomatic.cc:277 src/tools/dcpomatic.cc:715
+#: src/tools/dcpomatic.cc:751
msgid "DCP-o-matic"
msgstr "DCP-o-matic"
-#: src/tools/dcpomatic_batch.cc:139 src/tools/dcpomatic_batch.cc:240
+#: src/tools/dcpomatic_batch.cc:223
msgid "DCP-o-matic Batch Converter"
-msgstr ""
+msgstr "DCP-o-matic Bulk Omzetter"
-#: src/tools/dcpomatic.cc:229
+#: src/tools/dcpomatic.cc:638
msgid "Encoding servers..."
msgstr "Render servers..."
-#: src/tools/dcpomatic.cc:91
+#: src/tools/dcpomatic.cc:85
msgid "Film changed"
msgstr "Film is veranderd"
-#: src/tools/dcpomatic_batch.cc:145
-msgid "Free, open-source DCP generation from almost anything."
-msgstr ""
-
-#: src/tools/dcpomatic.cc:228
-msgid "Hints..."
-msgstr "Tips"
+#: src/tools/dcpomatic.cc:637
+msgid "Hints...\tCtrl-H"
+msgstr "Tips...\tCtrl-H"
-#: src/tools/dcpomatic.cc:223
-msgid "Make &KDMs..."
-msgstr "Maak &KDMs..."
+#: src/tools/dcpomatic.cc:632
+msgid "Make &KDMs...\tCtrl-K"
+msgstr "Maak &KDMs...\tCtrl-K"
-#: src/tools/dcpomatic.cc:193
-msgid "New..."
-msgstr "Nieuw..."
+#: src/tools/dcpomatic.cc:600
+msgid "New...\tCtrl-N"
+msgstr "Nieuw...\tCtrl-N"
-#: src/tools/dcpomatic.cc:225
+#: src/tools/dcpomatic.cc:634
msgid "S&how DCP"
msgstr "S&hoe DCP"
-#: src/tools/dcpomatic.cc:90
+#: src/tools/dcpomatic.cc:84
#, c-format
msgid "Save changes to film \"%s\" before closing?"
msgstr "Bewaar veranderingen naar film \"%s\" voor afsluiten?"
-#: src/tools/dcpomatic.cc:219
+#: src/tools/dcpomatic.cc:628
msgid "Scale to fit &height"
-msgstr ""
+msgstr "Scaal naar &height"
-#: src/tools/dcpomatic.cc:218
+#: src/tools/dcpomatic.cc:627
msgid "Scale to fit &width"
-msgstr ""
+msgstr "Schaal naar &width"
-#: src/tools/dcpomatic.cc:389 src/tools/dcpomatic_batch.cc:170
+#: src/tools/dcpomatic.cc:322 src/tools/dcpomatic_batch.cc:152
msgid "Select film to open"
msgstr "Kies een film om te openen"
-#: src/tools/dcpomatic.cc:451
+#: src/tools/dcpomatic.cc:385
#, c-format
msgid ""
"The DCP for this film will take up about %.1f Gb, and the disk that you are "
@@ -199,26 +201,26 @@ msgstr ""
"De DCP voor deze film neemt ongeveer %.1f Gb in beslag, er is echter maar "
"%.1f Gb beschikbaar. Wilt u toch doorgaan?"
-#: src/tools/dcpomatic.cc:804
+#: src/tools/dcpomatic.cc:870
msgid "The DCP-o-matic download server could not be contacted."
msgstr "De verbinding met de DCP-o-matic download server is niet beschikbaar."
-#: src/tools/dcpomatic.cc:360
+#: src/tools/dcpomatic.cc:296
msgid ""
"The directory %1 already exists and is not empty. Are you sure you want to "
"use it?"
msgstr "De map %1 bestaat al en is niet leeg. Wilt u deze toch gebruiken?"
-#: src/tools/dcpomatic.cc:799
+#: src/tools/dcpomatic.cc:865
msgid "There are no new versions of DCP-o-matic available."
msgstr "Er is geen nieuwere versie van DCP-o-matic beschikbaar."
-#: src/tools/dcpomatic.cc:575 src/tools/dcpomatic_batch.cc:104
+#: src/tools/dcpomatic.cc:509 src/tools/dcpomatic_batch.cc:111
msgid "There are unfinished jobs; are you sure you want to quit?"
msgstr ""
"Er zijn nog niet afgeronde projecten, weet u zeker dat u wilt afsluiten?"
-#: src/tools/dcpomatic.cc:141
+#: src/tools/dcpomatic.cc:243
msgid ""
"This film was created with an old version of DVD-o-matic and may not load "
"correctly in this version. Please check the film's settings carefully."
@@ -226,14 +228,27 @@ msgstr ""
"Deze film is gemaakt met een oude versie van DCP-o-matic en opent mogelijk "
"niet goed in de huidige versie. Controleer alle instellingen zorgvuldig."
-#: src/tools/dcpomatic.cc:576 src/tools/dcpomatic_batch.cc:105
+#: src/tools/dcpomatic.cc:510 src/tools/dcpomatic_batch.cc:112
msgid "Unfinished jobs"
msgstr "Niet afgemaakte projecten"
-#: src/tools/dcpomatic.cc:398 src/tools/dcpomatic_batch.cc:179
+#: src/tools/dcpomatic.cc:331 src/tools/dcpomatic_batch.cc:161
msgid ""
"You did not select a folder. Make sure that you select a folder before "
"clicking Open."
msgstr ""
"U hebt geen map geselecteerd. Zorg ervoor dat er een map geselecteerd is "
"voordat u op Openen klikt."
+
+#~ msgid "&Save"
+#~ msgstr "&Opslaan"
+
+#~ msgid ""
+#~ "(C) 2012-2013 Carl Hetherington, Terrence Meiczinger, Paul Davis, Ole "
+#~ "Laursen"
+#~ msgstr ""
+#~ "(C) 2012-2013 Carl Hetherington, Terrence Meiczinger, Paul Davis, Ole "
+#~ "Laursen"
+
+#~ msgid "Free, open-source DCP generation from almost anything."
+#~ msgstr "Vrij, open-bron DCP creatie van zowat om het even wat."
diff --git a/src/tools/po/sv_SE.po b/src/tools/po/sv_SE.po
index be2a243c5..50bf29c9f 100644
--- a/src/tools/po/sv_SE.po
+++ b/src/tools/po/sv_SE.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: DCP-o-matic\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2014-06-24 14:53+0100\n"
+"POT-Creation-Date: 2014-10-03 22:31+0100\n"
"PO-Revision-Date: 2014-01-19 08:59+0100\n"
"Last-Translator: Adam Klotblixt <adam.klotblixt@gmail.com>\n"
"Language-Team: \n"
@@ -17,81 +17,78 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Poedit 1.6.3\n"
-#: src/tools/dcpomatic.cc:370
+#: src/tools/dcpomatic.cc:306
msgid "%1 already exists as a file, so you cannot use it for a new film."
msgstr "%1 finns redan som fil, så du kan inte använda den för en ny film."
-#: src/tools/dcpomatic_batch.cc:49
+#: src/tools/dcpomatic_batch.cc:50
msgid "&Add Film..."
msgstr ""
-#: src/tools/dcpomatic.cc:243
+#: src/tools/dcpomatic.cc:652
msgid "&Content"
msgstr ""
-#: src/tools/dcpomatic.cc:241
+#: src/tools/dcpomatic.cc:650
msgid "&Edit"
msgstr "&Redigera"
-#: src/tools/dcpomatic.cc:204
+#: src/tools/dcpomatic.cc:614
msgid "&Exit"
msgstr "&Avsluta"
-#: src/tools/dcpomatic.cc:239 src/tools/dcpomatic_batch.cc:55
+#: src/tools/dcpomatic.cc:648 src/tools/dcpomatic_batch.cc:56
msgid "&File"
msgstr "&Fil"
-#: src/tools/dcpomatic.cc:246 src/tools/dcpomatic_batch.cc:56
+#: src/tools/dcpomatic.cc:655 src/tools/dcpomatic_batch.cc:57
msgid "&Help"
msgstr "&Hjälp"
-#: src/tools/dcpomatic.cc:244
+#: src/tools/dcpomatic.cc:653
msgid "&Jobs"
msgstr "&Jobb"
-#: src/tools/dcpomatic.cc:222
-msgid "&Make DCP"
-msgstr "&Skapa DCP"
+#: src/tools/dcpomatic.cc:631
+#, fuzzy
+msgid "&Make DCP\tCtrl-M"
+msgstr "&Skapa DCP\tCtrl-M"
-#: src/tools/dcpomatic.cc:194
-msgid "&Open..."
-msgstr "&Öppna"
+#: src/tools/dcpomatic.cc:601
+#, fuzzy
+msgid "&Open...\tCtrl-O"
+msgstr "&Öppna...\tCtrl-O"
-#: src/tools/dcpomatic.cc:211 src/tools/dcpomatic.cc:214
-msgid "&Preferences..."
-msgstr "&Inställningar"
+#: src/tools/dcpomatic.cc:620 src/tools/dcpomatic.cc:623
+#, fuzzy
+msgid "&Preferences...\tCtrl-P"
+msgstr "&Inställningar...\tCtrl-P"
-#: src/tools/dcpomatic.cc:198
+#: src/tools/dcpomatic.cc:605
msgid "&Properties..."
msgstr "&Egenskaper"
-#: src/tools/dcpomatic.cc:206 src/tools/dcpomatic_batch.cc:50
+#: src/tools/dcpomatic.cc:616 src/tools/dcpomatic_batch.cc:51
msgid "&Quit"
msgstr "&Avsluta"
-#: src/tools/dcpomatic.cc:196
-msgid "&Save"
-msgstr "&Spara"
+#: src/tools/dcpomatic.cc:603
+msgid "&Save\tCtrl-S"
+msgstr ""
-#: src/tools/dcpomatic.cc:224
+#: src/tools/dcpomatic.cc:633
msgid "&Send DCP to TMS"
msgstr "&Skicka DCP till TMS"
-#: src/tools/dcpomatic.cc:245
+#: src/tools/dcpomatic.cc:654
msgid "&Tools"
msgstr "&Verktyg"
-#: src/tools/dcpomatic_batch.cc:146
-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/dcpomatic.cc:236 src/tools/dcpomatic_batch.cc:53
+#: src/tools/dcpomatic.cc:645 src/tools/dcpomatic_batch.cc:54
msgid "About"
msgstr "Om"
-#: src/tools/dcpomatic.cc:234
+#: src/tools/dcpomatic.cc:643
msgid "About DCP-o-matic"
msgstr "Om DCP-o-matic"
@@ -99,97 +96,99 @@ msgstr "Om DCP-o-matic"
msgid "Add Film..."
msgstr ""
-#: src/tools/dcpomatic.cc:760 src/tools/dcpomatic.cc:766
+#: src/tools/dcpomatic.cc:821
+#, c-format
+msgid ""
+"An exception occurred (%s). Please report this problem to the DCP-o-matic "
+"author (carl@dcpomatic.com)."
+msgstr ""
+
+#: src/tools/dcpomatic.cc:823 src/tools/dcpomatic.cc:832
msgid ""
"An unknown exception occurred. Please report this problem to the DCP-o-"
"matic author (carl@dcpomatic.com)."
msgstr ""
-#: src/tools/dcpomatic.cc:484
+#: src/tools/dcpomatic.cc:418
msgid "An unknown exeception occurred."
msgstr ""
-#: src/tools/dcpomatic.cc:480
+#: src/tools/dcpomatic.cc:414
msgid "CPL's content is not encrypted."
msgstr ""
-#: src/tools/dcpomatic.cc:230
+#: src/tools/dcpomatic.cc:639
msgid "Check for updates"
msgstr "Leta efter uppdateringar"
-#: src/tools/dcpomatic.cc:691 src/tools/dcpomatic_batch.cc:255
+#: src/tools/dcpomatic.cc:760 src/tools/dcpomatic_batch.cc:238
msgid "Could not load film %1 (%2)"
msgstr "Kunde inte öppna filmen %1 (%2)"
-#: src/tools/dcpomatic.cc:412 src/tools/dcpomatic_batch.cc:193
+#: src/tools/dcpomatic.cc:257 src/tools/dcpomatic_batch.cc:175
#, c-format
msgid "Could not open film at %s (%s)"
msgstr "Kunde inte öppna filmen vid %s (%s)"
-#: src/tools/dcpomatic.cc:530
+#: src/tools/dcpomatic.cc:464
msgid "Could not show DCP (could not run konqueror)"
msgstr "Kunde inte visa DCP (kunde inte köra konqueror)"
-#: src/tools/dcpomatic.cc:523
+#: src/tools/dcpomatic.cc:457
msgid "Could not show DCP (could not run nautilus)"
msgstr "Kunde inte visa DCP (kunde inte köra nautilus)"
-#: src/tools/dcpomatic.cc:341 src/tools/dcpomatic.cc:651
-#: src/tools/dcpomatic.cc:705
+#: src/tools/dcpomatic.cc:277 src/tools/dcpomatic.cc:715
+#: src/tools/dcpomatic.cc:751
msgid "DCP-o-matic"
msgstr "DCP-o-matic"
-#: src/tools/dcpomatic_batch.cc:139 src/tools/dcpomatic_batch.cc:240
+#: src/tools/dcpomatic_batch.cc:223
msgid "DCP-o-matic Batch Converter"
msgstr ""
-#: src/tools/dcpomatic.cc:229
+#: src/tools/dcpomatic.cc:638
msgid "Encoding servers..."
msgstr "Kodningsservrar..."
-#: src/tools/dcpomatic.cc:91
+#: src/tools/dcpomatic.cc:85
msgid "Film changed"
msgstr "Film ändrad"
-#: src/tools/dcpomatic_batch.cc:145
-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/dcpomatic.cc:228
-msgid "Hints..."
-msgstr "Råd..."
+#: src/tools/dcpomatic.cc:637
+msgid "Hints...\tCtrl-H"
+msgstr "Råd...\tCtrl-H"
-#: src/tools/dcpomatic.cc:223
-msgid "Make &KDMs..."
-msgstr "Skapa &KDM:er..."
+#: src/tools/dcpomatic.cc:632
+msgid "Make &KDMs...\tCtrl-K"
+msgstr "Skapa &KDM:er...\tCtrl-K"
-#: src/tools/dcpomatic.cc:193
-msgid "New..."
-msgstr "Ny..."
+#: src/tools/dcpomatic.cc:600
+msgid "New...\tCtrl-N"
+msgstr "Ny...\tCtrl-N"
-#: src/tools/dcpomatic.cc:225
+#: src/tools/dcpomatic.cc:634
msgid "S&how DCP"
msgstr "&Visa DCP"
-#: src/tools/dcpomatic.cc:90
+#: src/tools/dcpomatic.cc:84
#, c-format
msgid "Save changes to film \"%s\" before closing?"
msgstr "Spara ändringarna till filmen \"%s\" före avslut?"
-#: src/tools/dcpomatic.cc:219
+#: src/tools/dcpomatic.cc:628
msgid "Scale to fit &height"
msgstr ""
-#: src/tools/dcpomatic.cc:218
+#: src/tools/dcpomatic.cc:627
msgid "Scale to fit &width"
msgstr ""
-#: src/tools/dcpomatic.cc:389 src/tools/dcpomatic_batch.cc:170
+#: src/tools/dcpomatic.cc:322 src/tools/dcpomatic_batch.cc:152
msgid "Select film to open"
msgstr "Välj film att öppna"
-#: src/tools/dcpomatic.cc:451
+#: src/tools/dcpomatic.cc:385
#, c-format
msgid ""
"The DCP for this film will take up about %.1f Gb, and the disk that you are "
@@ -198,11 +197,11 @@ msgstr ""
"DCP:n för denna film kommer att uppta ungefär %.1f Gb, och disken du "
"använder har bara %.1f Gb ledigt. Vill du fortsätta ändå?"
-#: src/tools/dcpomatic.cc:804
+#: src/tools/dcpomatic.cc:870
msgid "The DCP-o-matic download server could not be contacted."
msgstr "DCP-o-matics nedladdningsserver kunde inte kontaktas."
-#: src/tools/dcpomatic.cc:360
+#: src/tools/dcpomatic.cc:296
msgid ""
"The directory %1 already exists and is not empty. Are you sure you want to "
"use it?"
@@ -210,25 +209,25 @@ msgstr ""
"Foldern %1 finns redan och är inte tom. Är du säker på att du vill använda "
"den?"
-#: src/tools/dcpomatic.cc:799
+#: src/tools/dcpomatic.cc:865
msgid "There are no new versions of DCP-o-matic available."
msgstr "Det finns inga nya versioner av DCP-o-matic tillgängligt."
-#: src/tools/dcpomatic.cc:575 src/tools/dcpomatic_batch.cc:104
+#: src/tools/dcpomatic.cc:509 src/tools/dcpomatic_batch.cc:111
msgid "There are unfinished jobs; are you sure you want to quit?"
msgstr "Det finns oasvlutade jobb; är du säker på att du vill avsluta?"
-#: src/tools/dcpomatic.cc:141
+#: src/tools/dcpomatic.cc:243
msgid ""
"This film was created with an old version of DVD-o-matic and may not load "
"correctly in this version. Please check the film's settings carefully."
msgstr ""
-#: src/tools/dcpomatic.cc:576 src/tools/dcpomatic_batch.cc:105
+#: src/tools/dcpomatic.cc:510 src/tools/dcpomatic_batch.cc:112
msgid "Unfinished jobs"
msgstr "Oavslutade jobb"
-#: src/tools/dcpomatic.cc:398 src/tools/dcpomatic_batch.cc:179
+#: src/tools/dcpomatic.cc:331 src/tools/dcpomatic_batch.cc:161
msgid ""
"You did not select a folder. Make sure that you select a folder before "
"clicking Open."
@@ -236,6 +235,21 @@ msgstr ""
"Du har inte valt en folder. Se till att välja en folder innan du klickar på "
"Öppna."
+#~ msgid "&Save"
+#~ msgstr "&Spara"
+
+#~ msgid ""
+#~ "(C) 2012-2013 Carl Hetherington, Terrence Meiczinger, Paul Davis, Ole "
+#~ "Laursen"
+#~ msgstr ""
+#~ "(C) 2012-2013 Carl Hetherington, Terrence Meiczinger, Paul Davis, Ole "
+#~ "Laursen"
+
+#~ 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."
+
#~ msgid "&Analyse audio"
#~ msgstr "&Analysera audio"