i18n hacks.
authorCarl Hetherington <cth@carlh.net>
Sun, 17 Feb 2013 00:25:23 +0000 (00:25 +0000)
committerCarl Hetherington <cth@carlh.net>
Sun, 17 Feb 2013 00:25:23 +0000 (00:25 +0000)
src/lib/film.cc
src/lib/transcode_job.cc
src/lib/wscript
src/wscript
src/wx/wscript
wscript

index 289a8c3480ff0c445e3f62f0a59a531302e18713..77f61cbac58c9817b75fa467042756016058f68b 100644 (file)
@@ -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()));
index 87e9a47c4b6ca678d5b7978f04471f91babe5ebe..a4279ef8bf0f619e723b75f5d69e48ca6137fe81 100644 (file)
@@ -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<Film> 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 ();
index eee04190c1119c19510cdd6f551d712dbe4c0d6c..ee89ad0856525ba4d07ed32886df4138efc66048 100644 (file)
@@ -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)
index 3f17b3e6ce026106366bca7733169797f46378bd..ed497ff0c3f5b6f68ab1d21bbc962ff772cf7460 100644 (file)
@@ -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')
index d844b1f1b7a10e13e0810944295a4fc8898634c8..ef1d1c083f225fc20ba442c09a062cbd03ac2c43 100644 (file)
@@ -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 06c193c4f63daf7b11558c80d5dca3c1de368fbd..1a8238d1c53078e18ba7a7a06f56e23838188289 100644 (file)
--- 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')