From: Carl Hetherington Date: Sun, 17 Feb 2013 00:25:23 +0000 (+0000) Subject: i18n hacks. X-Git-Tag: v2.0.48~1337^2~595^2~8^2~9 X-Git-Url: https://main.carlh.net/gitweb/?p=dcpomatic.git;a=commitdiff_plain;h=fa6c885de512cdde0590c2bbe9ea424030a12c6b i18n hacks. --- diff --git a/src/lib/film.cc b/src/lib/film.cc index 289a8c348..77f61cbac 100644 --- a/src/lib/film.cc +++ b/src/lib/film.cc @@ -246,7 +246,7 @@ Film::make_dcp (bool transcode) set_dci_date_today (); if (dcp_name().find ("/") != string::npos) { - throw BadSettingError ("name", "cannot contain slashes"); + throw BadSettingError ("name", _("cannot contain slashes")); } log()->log (String::compose ("DVD-o-matic %1 git %2 using %3", dvdomatic_version, dvdomatic_git_commit, dependency_version_summary())); diff --git a/src/lib/transcode_job.cc b/src/lib/transcode_job.cc index 87e9a47c4..a4279ef8b 100644 --- a/src/lib/transcode_job.cc +++ b/src/lib/transcode_job.cc @@ -30,6 +30,8 @@ #include "log.h" #include "encoder.h" +#include "i18n.h" + using std::string; using std::stringstream; using std::fixed; @@ -49,7 +51,7 @@ TranscodeJob::TranscodeJob (shared_ptr f, DecodeOptions o) string TranscodeJob::name () const { - return String::compose ("Transcode %1", _film->name()); + return String::compose (_("Transcode %1"), _film->name()); } void @@ -98,7 +100,7 @@ TranscodeJob::status () const s << Job::status (); if (!finished ()) { - s << "; " << fixed << setprecision (1) << fps << " frames per second"; + s << "; " << fixed << setprecision (1) << fps << " " << _("frames per second"); } return s.str (); diff --git a/src/lib/wscript b/src/lib/wscript index eee04190c..ee89ad085 100644 --- a/src/lib/wscript +++ b/src/lib/wscript @@ -1,3 +1,54 @@ +import os + +sources = """ + ab_transcode_job.cc + ab_transcoder.cc + audio_decoder.cc + audio_source.cc + config.cc + combiner.cc + cross.cc + dci_metadata.cc + dcp_content_type.cc + dcp_video_frame.cc + decoder.cc + decoder_factory.cc + delay_line.cc + dolby_cp750.cc + encoder.cc + examine_content_job.cc + external_audio_decoder.cc + filter_graph.cc + ffmpeg_compatibility.cc + ffmpeg_decoder.cc + film.cc + filter.cc + format.cc + gain.cc + image.cc + imagemagick_decoder.cc + job.cc + job_manager.cc + log.cc + lut.cc + matcher.cc + scp_dcp_job.cc + scaler.cc + server.cc + sound_processor.cc + stream.cc + subtitle.cc + timer.cc + transcode_job.cc + transcoder.cc + ui_signaller.cc + util.cc + version.cc + video_decoder.cc + video_source.cc + writer.cc + """ + def build(bld): if bld.env.STATIC: obj = bld(features = 'cxx cxxstlib') @@ -13,53 +64,14 @@ def build(bld): """ if bld.env.TARGET_WINDOWS: obj.uselib += ' WINSOCK2' - obj.source = """ - ab_transcode_job.cc - ab_transcoder.cc - audio_decoder.cc - audio_source.cc - config.cc - combiner.cc - cross.cc - dci_metadata.cc - dcp_content_type.cc - dcp_video_frame.cc - decoder.cc - decoder_factory.cc - delay_line.cc - dolby_cp750.cc - encoder.cc - examine_content_job.cc - external_audio_decoder.cc - filter_graph.cc - ffmpeg_compatibility.cc - ffmpeg_decoder.cc - film.cc - filter.cc - format.cc - gain.cc - image.cc - imagemagick_decoder.cc - job.cc - job_manager.cc - log.cc - lut.cc - matcher.cc - scp_dcp_job.cc - scaler.cc - server.cc - sound_processor.cc - stream.cc - subtitle.cc - timer.cc - transcode_job.cc - transcoder.cc - ui_signaller.cc - util.cc - version.cc - video_decoder.cc - video_source.cc - writer.cc - """ - + obj.source = sources obj.target = 'dvdomatic' + +def pot(bld): + s = "" + for f in sources.split('\n'): + t = f.strip() + if len(t) > 0: + s += (os.path.join('src', 'lib', t)) + " " + + os.system('xgettext -d libdvdomatic -s --keyword=_ -p build/src/lib -o libdvdomatic.pot %s' % s) diff --git a/src/wscript b/src/wscript index 3f17b3e6c..ed497ff0c 100644 --- a/src/wscript +++ b/src/wscript @@ -7,3 +7,7 @@ def build(bld): bld.recurse('tools') if not bld.env.DISABLE_GUI: bld.recurse('wx') + +def pot(bld): + bld.recurse('lib') + bld.recurse('wx') diff --git a/src/wx/wscript b/src/wx/wscript index d844b1f1b..ef1d1c083 100644 --- a/src/wx/wscript +++ b/src/wx/wscript @@ -1,3 +1,23 @@ +import os + +sources = """ + config_dialog.cc + dci_metadata_dialog.cc + dir_picker_ctrl.cc + film_editor.cc + film_viewer.cc + filter_dialog.cc + filter_view.cc + gain_calculator_dialog.cc + job_manager_view.cc + job_wrapper.cc + new_film_dialog.cc + properties_dialog.cc + server_dialog.cc + wx_util.cc + wx_ui_signaller.cc + """ + def configure(conf): conf.check_cfg(package = '', path = conf.options.wx_config, args = '--cppflags --cxxflags --libs', uselib_store = 'WXWIDGETS', mandatory = True) @@ -12,22 +32,14 @@ def build(bld): obj.export_includes = ['.'] obj.uselib = 'WXWIDGETS' obj.use = 'libdvdomatic' - obj.source = """ - config_dialog.cc - dci_metadata_dialog.cc - dir_picker_ctrl.cc - film_editor.cc - film_viewer.cc - filter_dialog.cc - filter_view.cc - gain_calculator_dialog.cc - job_manager_view.cc - job_wrapper.cc - new_film_dialog.cc - properties_dialog.cc - server_dialog.cc - wx_util.cc - wx_ui_signaller.cc - """ - + obj.source = sources obj.target = 'dvdomatic-wx' + +def pot(bld): + s = "" + for f in sources.split('\n'): + t = f.strip() + if len(t) > 0: + s += (os.path.join('src', 'wx', t)) + " " + + os.system('xgettext -d libdvdomatic -s --keyword=_ -p build/src/wx -o libdvdomatic-wx.pot %s' % s) diff --git a/wscript b/wscript index 06c193c4f..1a8238d1c 100644 --- a/wscript +++ b/wscript @@ -253,3 +253,6 @@ def create_version_cc(version): def post(ctx): if ctx.cmd == 'install': ctx.exec_command('/sbin/ldconfig') + +def pot(bld): + bld.recurse('src')