gnash-commit
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Gnash-commit] [SCM] Gnash branch, master, updated. release_0_8_9_final-


From: Rob Savoye
Subject: [Gnash-commit] [SCM] Gnash branch, master, updated. release_0_8_9_final-1357-ga203747
Date: Fri, 30 Dec 2011 00:10:19 +0000

This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Gnash".

The branch, master has been updated
       via  a20374773c5f8e3009a128dc0c014675f3f32aae (commit)
       via  e0c17890fe004e09ca9b14c563cafd10d3ff03b7 (commit)
      from  5dc06d9fe082e819a14d6fff2c14629001f993a9 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://git.savannah.gnu.org/cgit//commit/?id=a20374773c5f8e3009a128dc0c014675f3f32aae


commit a20374773c5f8e3009a128dc0c014675f3f32aae
Author: Rob Savoye <address@hidden>
Date:   Thu Dec 29 17:10:14 2011 -0700

    add macro so new strings get found by xgettext, so they can be translated.

diff --git a/libcore/asobj/Accessibility_as.cpp 
b/libcore/asobj/Accessibility_as.cpp
index 98fda00..f077493 100644
--- a/libcore/asobj/Accessibility_as.cpp
+++ b/libcore/asobj/Accessibility_as.cpp
@@ -84,21 +84,21 @@ attachAccessibilityStaticInterface(as_object& o)
 as_value
 accessibility_isActive(const fn_call& /*fn*/)
 {
-    LOG_ONCE( log_unimpl (__FUNCTION__) );
+    LOG_ONCE(log_unimpl(__FUNCTION__) );
     return as_value();
 }
 
 as_value
 accessibility_updateProperties(const fn_call& /*fn*/)
 {
-    LOG_ONCE( log_unimpl (__FUNCTION__) );
+    LOG_ONCE(log_unimpl(__FUNCTION__) );
     return as_value();
 }
 
 as_value
 accessibility_sendEvent(const fn_call& /*fn*/)
 {
-    LOG_ONCE( log_unimpl (__FUNCTION__) );
+    LOG_ONCE(log_unimpl(__FUNCTION__) );
     return as_value();
 }
 
@@ -107,6 +107,6 @@ accessibility_sendEvent(const fn_call& /*fn*/)
 
 // local Variables:
 // mode: C++
-// indent-tabs-mode: t
+// indent-tabs-mode: nil
 // End:
 
diff --git a/libcore/asobj/AsBroadcaster.cpp b/libcore/asobj/AsBroadcaster.cpp
index a993926..6139bfa 100644
--- a/libcore/asobj/AsBroadcaster.cpp
+++ b/libcore/asobj/AsBroadcaster.cpp
@@ -412,7 +412,7 @@ asbroadcaster_broadcastMessage(const fn_call& fn)
 
     if (!fn.nargs) {
         IF_VERBOSE_ASCODING_ERRORS(
-        log_aserror("%p.broadcastMessage() needs an argument", 
+            log_aserror(_("%p.broadcastMessage() needs an argument"), 
             (void*)fn.this_ptr);
         );
         return as_value();
diff --git a/libcore/asobj/Camera_as.cpp b/libcore/asobj/Camera_as.cpp
index be98bb7..831e6b9 100644
--- a/libcore/asobj/Camera_as.cpp
+++ b/libcore/asobj/Camera_as.cpp
@@ -268,7 +268,7 @@ camera_get(const fn_call& fn)
 
     const size_t nargs = fn.nargs;
     if (nargs > 0) {
-        log_debug("%s: the camera is automatically chosen from gnashrc",
+        log_debug(_("%s: the camera is automatically chosen from gnashrc"),
                 "Camera.get()");
     }
 
@@ -309,7 +309,7 @@ camera_setmode(const fn_call& fn)
 as_value
 camera_setmotionlevel(const fn_call& fn)
 {
-    log_unimpl ("Camera::motionLevel can be set, but it's not implemented");
+    log_unimpl(_("Camera::motionLevel can be set, but it's not implemented"));
     Camera_as* ptr = ensure<ThisIsNative<Camera_as> >(fn);
     
     const size_t nargs = fn.nargs;
@@ -328,7 +328,7 @@ camera_setmotionlevel(const fn_call& fn)
 as_value
 camera_setquality(const fn_call& fn)
 {
-    log_unimpl ("Camera::quality can be set, but it's not implemented");
+    log_unimpl(_("Camera::quality can be set, but it's not implemented"));
     Camera_as* ptr = ensure<ThisIsNative<Camera_as> >(fn);
 
     const size_t nargs = fn.nargs;
@@ -350,7 +350,7 @@ camera_activitylevel(const fn_call& fn)
     Camera_as* ptr = ensure<ThisIsNative<Camera_as> >(fn);
 
     if (!fn.nargs) {
-        log_unimpl("Camera::activityLevel only has default value");
+        log_unimpl(_("Camera::activityLevel only has default value"));
         return as_value(ptr->activityLevel());
     }
 
@@ -367,7 +367,7 @@ camera_bandwidth(const fn_call& fn)
     Camera_as* ptr = ensure<ThisIsNative<Camera_as> >(fn);
 
     if (!fn.nargs) {
-        log_unimpl("Camera::bandwidth only has default value");
+        log_unimpl(_("Camera::bandwidth only has default value"));
         return as_value(ptr->bandwidth());
     }
 
@@ -455,7 +455,7 @@ camera_motionLevel(const fn_call& fn)
     Camera_as* ptr = ensure<ThisIsNative<Camera_as> >(fn);
 
     if (!fn.nargs) {
-        log_unimpl("Camera::motionLevel only has default value");
+        log_unimpl(_("Camera::motionLevel only has default value"));
         return as_value(ptr->motionLevel());
     }
 
@@ -472,7 +472,7 @@ camera_motionTimeout(const fn_call& fn)
     Camera_as* ptr = ensure<ThisIsNative<Camera_as> >(fn);
 
     if (!fn.nargs) {
-        log_unimpl("Camera::motionTimeout");
+        log_unimpl(_("Camera::motionTimeout"));
         return as_value(ptr->motionTimeout());
     }
 
@@ -489,7 +489,7 @@ camera_muted(const fn_call& fn)
     Camera_as* ptr = ensure<ThisIsNative<Camera_as> >(fn);
 
     if (!fn.nargs) {
-        log_unimpl("Camera.muted");
+        log_unimpl(_("Camera.muted"));
         return as_value(ptr->muted());
     }
 
@@ -551,7 +551,7 @@ camera_quality(const fn_call& fn)
     Camera_as* ptr = ensure<ThisIsNative<Camera_as> >(fn);
 
     if (!fn.nargs) {
-        log_unimpl("Camera::quality has only default values");
+        log_unimpl(_("Camera::quality has only default values"));
         return as_value(ptr->quality());
     }
 
@@ -584,14 +584,14 @@ camera_setLoopback(const fn_call& fn)
 as_value
 camera_setCursor(const fn_call& /*fn*/)
 {
-    LOG_ONCE(log_unimpl("Camera.setCursor"));
+    LOG_ONCE(log_unimpl(_("Camera.setCursor")));
     return as_value();
 }
 
 as_value
 camera_setKeyFrameInterval(const fn_call& /*fn*/)
 {
-    LOG_ONCE(log_unimpl("Camera.setKeyFrameInterval"));
+    LOG_ONCE(log_unimpl(_("Camera.setKeyFrameInterval")));
     return as_value();
 }
 
diff --git a/libcore/asobj/Function_as.cpp b/libcore/asobj/Function_as.cpp
index 8f5d847..e147f4c 100644
--- a/libcore/asobj/Function_as.cpp
+++ b/libcore/asobj/Function_as.cpp
@@ -102,7 +102,7 @@ function_apply(const fn_call& fn)
 
        if (!fn.nargs) {
         IF_VERBOSE_ASCODING_ERRORS(
-            log_aserror (_("Function.apply() called with no args"));
+            log_aserror(_("Function.apply() called with no args"));
         );
         new_fn_call.this_ptr = new as_object(getGlobal(fn));
        }
diff --git a/libcore/asobj/Global_as.cpp b/libcore/asobj/Global_as.cpp
index 31fdd36..2062e9a 100644
--- a/libcore/asobj/Global_as.cpp
+++ b/libcore/asobj/Global_as.cpp
@@ -731,7 +731,7 @@ global_asnative(const fn_call& fn)
 as_value
 global_asnew(const fn_call& /*fn*/)
 {
-    LOG_ONCE(log_unimpl("ASNative (2, 0) - old ASnew"));
+    LOG_ONCE(log_unimpl(_("ASNative (2, 0) - old ASnew")));
     return as_value();
 }
 
@@ -881,7 +881,7 @@ global_assetnativeaccessor(const fn_call& fn)
 as_value
 global_updateAfterEvent(const fn_call& /*fn*/)
 {
-    LOG_ONCE(log_unimpl("updateAfterEvent()"));
+    LOG_ONCE(log_unimpl(_("updateAfterEvent()")));
     return as_value();
 }
 
@@ -943,8 +943,8 @@ global_setInterval(const fn_call& fn)
        if (fn.nargs < 2) {
                IF_VERBOSE_ASCODING_ERRORS(
                        std::stringstream ss; fn.dump_args(ss);
-                       log_aserror("Invalid call to setInterval(%s) "
-                               "- need at least 2 arguments",
+                       log_aserror(_("Invalid call to setInterval(%s) "
+                                      "- need at least 2 arguments"),
                                ss.str());
                );
                return as_value();
@@ -957,8 +957,8 @@ global_setInterval(const fn_call& fn)
 
                IF_VERBOSE_ASCODING_ERRORS(
                        std::stringstream ss; fn.dump_args(ss);
-                       log_aserror("Invalid call to setInterval(%s) "
-                               "- first argument is not an object or function",
+                       log_aserror(_("Invalid call to setInterval(%s) "
+                                      "- first argument is not an object or 
function"),
                                ss.str());
                );
                return as_value();
@@ -977,8 +977,8 @@ global_setInterval(const fn_call& fn)
        if (fn.nargs < timer_arg + 1) {
                IF_VERBOSE_ASCODING_ERRORS(
                        std::stringstream ss; fn.dump_args(ss);
-                       log_aserror("Invalid call to setInterval(%s) "
-                               "- missing timeout argument",
+                       log_aserror(_("Invalid call to setInterval(%s) "
+                                      "- missing timeout argument"),
                                ss.str());
         );
                return as_value();
@@ -1016,8 +1016,8 @@ global_setTimeout(const fn_call& fn)
        if (fn.nargs < 2) {
                IF_VERBOSE_ASCODING_ERRORS(
                        std::stringstream ss; fn.dump_args(ss);
-                       log_aserror("Invalid call to setTimeout(%s) "
-                       "- need at least 2 arguments",
+                       log_aserror(_("Invalid call to setTimeout(%s) "
+                                      "- need at least 2 arguments"),
                        ss.str());
                );
                return as_value();
@@ -1029,8 +1029,8 @@ global_setTimeout(const fn_call& fn)
        if (!obj) {
                IF_VERBOSE_ASCODING_ERRORS(
                        std::stringstream ss; fn.dump_args(ss);
-                       log_aserror("Invalid call to setInterval(%s) "
-                               "- first argument is not an object or function",
+                       log_aserror(_("Invalid call to setInterval(%s) "
+                                      "- first argument is not an object or 
function"),
                                ss.str());
                );
                return as_value();
@@ -1049,8 +1049,8 @@ global_setTimeout(const fn_call& fn)
        if (fn.nargs < timer_arg + 1) {
                IF_VERBOSE_ASCODING_ERRORS(
                        std::stringstream ss; fn.dump_args(ss);
-                       log_aserror("Invalid call to setTimeout(%s): missing "
-                "timeout argument", ss.str());
+                       log_aserror(_("Invalid call to setTimeout(%s): missing "
+                                      "timeout argument"), ss.str());
                );
                return as_value();
        }
@@ -1085,7 +1085,7 @@ global_clearInterval(const fn_call& fn)
 {
     if (!fn.nargs) {
         IF_VERBOSE_ASCODING_ERRORS(
-                log_aserror("clearInterval requires one argument, got none");
+            log_aserror(_("clearInterval requires one argument, got none"));
         );
         return as_value();
     }
@@ -1099,14 +1099,14 @@ global_clearInterval(const fn_call& fn)
 as_value
 global_showRedrawRegions(const fn_call& /*fn*/)
 {
-    LOG_ONCE(log_unimpl("_global.showRedrawRegions"));
+    LOG_ONCE(log_unimpl(_("_global.showRedrawRegions")));
     return as_value();
 }
 
 as_value
 global_enableDebugConsole(const fn_call& /*fn*/)
 {
-    LOG_ONCE(log_unimpl("_global.enableDebugConsole"));
+    LOG_ONCE(log_unimpl(_("_global.enableDebugConsole")));
     return as_value();
 }
 
diff --git a/libcore/asobj/Key_as.cpp b/libcore/asobj/Key_as.cpp
index 219bf83..1d7c299 100644
--- a/libcore/asobj/Key_as.cpp
+++ b/libcore/asobj/Key_as.cpp
@@ -37,7 +37,7 @@ namespace gnash {
 as_value
 key_is_accessible(const fn_call& /*fn*/)
 {
-    log_unimpl("Key.isAccessible");
+    log_unimpl(_("Key.isAccessible"));
     return as_value();
 }
 
@@ -76,7 +76,7 @@ key_is_down(const fn_call& fn)
     if (keycode < 0 || keycode >= key::KEYCOUNT) {
         // AS coding error !
         IF_VERBOSE_ASCODING_ERRORS(
-            log_aserror("Key.isKeyDown(%d): keycode out of range", keycode);
+            log_aserror(_("Key.isKeyDown(%d): keycode out of range"), keycode);
         );
         return as_value(false);
     }
@@ -94,7 +94,7 @@ key_is_down(const fn_call& fn)
 as_value   
 key_is_toggled(const fn_call& /* fn */)
 {
-    log_unimpl("Key.isToggled");
+    log_unimpl(_("Key.isToggled"));
     // @@ TODO
     return as_value(false);
 }
diff --git a/libcore/asobj/LoadVars_as.cpp b/libcore/asobj/LoadVars_as.cpp
index 173b3a3..ea8abcc 100644
--- a/libcore/asobj/LoadVars_as.cpp
+++ b/libcore/asobj/LoadVars_as.cpp
@@ -142,7 +142,7 @@ loadvars_ctor(const fn_call& fn)
         if (fn.nargs) {
             std::ostringstream ss;
             fn.dump_args(ss);
-            log_aserror("new LoadVars(%s) - arguments discarded",
+            log_aserror(_("new LoadVars(%s) - arguments discarded"),
                 ss.str());
         }
     );
diff --git a/libcore/asobj/LoadableObject.cpp b/libcore/asobj/LoadableObject.cpp
index f794c00..33c4693 100644
--- a/libcore/asobj/LoadableObject.cpp
+++ b/libcore/asobj/LoadableObject.cpp
@@ -390,7 +390,7 @@ loadableobject_sendAndLoad(const fn_call& fn)
             url.set_querystring(existingQS + dataString);
         }
 
-        log_debug("Using GET method for sendAndLoad: %s", url.str());
+        log_debug(_("Using GET method for sendAndLoad: %s"), url.str());
         str = ri.streamProvider().getStream(url.str());
     }
 
diff --git a/libcore/asobj/LocalConnection_as.cpp 
b/libcore/asobj/LocalConnection_as.cpp
index 1185a4f..df6c138 100644
--- a/libcore/asobj/LocalConnection_as.cpp
+++ b/libcore/asobj/LocalConnection_as.cpp
@@ -276,7 +276,7 @@ LocalConnection_as::update()
     // Check whether local connection is disabled(!): brilliant choice of
     // function name.
     if (rcfile.getLocalConnection()) {
-        log_security("Attempting to write to disabled LocalConnection!");
+        log_security(_("Attempting to write to disabled LocalConnection!"));
         movie_root& mr = getRoot(owner());
         mr.removeAdvanceCallback(this);
         return;
@@ -285,7 +285,7 @@ LocalConnection_as::update()
     // No-op if already attached. Nothing to do if it fails, but we
     // should probably stop trying.
     if (!_shm.attach()) {
-        log_error("Failed to attach shared memory segment");
+        log_error(_("Failed to attach shared memory segment"));
         return;
     }
 
@@ -293,7 +293,7 @@ LocalConnection_as::update()
     // processes.
     SharedMem::Lock lock(_shm);
     if (!lock.locked()) {
-        log_debug("Failed to get shm lock");
+        log_debug(_("Failed to get shm lock"));
         return;
     }
 
@@ -329,7 +329,7 @@ LocalConnection_as::update()
         // Get the connection name. That's all we need to remove expired
         // data.
         if (!rd(a)) {
-            log_error("Invalid connection name data");
+            log_error(_("Invalid connection name data"));
             return;
         }
         const std::string& connection = a.to_string();
@@ -344,8 +344,8 @@ LocalConnection_as::update()
             const boost::uint32_t timeNow = getTimestamp(vm);
 
             if (timeNow - timestamp > timeout) {
-                log_debug("Data %s expired at %s. Removing its target "
-                        "as a listener", timestamp, timeNow);
+                log_debug(_("Data %s expired at %s. Removing its target "
+                            "as a listener"), timestamp, timeNow);
                 removeListener(connection, _shm);
                 markRead(_shm);
                 _lastTime = 0;
@@ -428,8 +428,8 @@ LocalConnection_as::close()
     
     SharedMem::Lock lock(_shm);
     if (!lock.locked()) {
-        log_error("Failed to get lock on shared memory! Will not remove "
-                "listener");
+        log_error(_("Failed to get lock on shared memory! Will not remove "
+                    "listener"));
         return;
     }
 
@@ -458,7 +458,7 @@ LocalConnection_as::connect(const std::string& name)
     _name = name;
     
     if (!_shm.attach()) {
-        log_error("Failed to open shared memory segment");
+        log_error(_("Failed to open shared memory segment"));
         return;
     }
 
@@ -771,7 +771,7 @@ addListener(const std::string& name, SharedMem& mem)
             getMarker(next, mem.end());
             
             if (std::equal(name.c_str(), name.c_str() + name.size(), ptr)) {
-                log_debug("Not adding duplicated listener");
+                log_debug(_("Not adding duplicated listener"));
                 return false;
             }
 
@@ -780,7 +780,7 @@ addListener(const std::string& name, SharedMem& mem)
             ptr = next;
         }
         if (next == mem.end()) {
-            log_error("No space for listener in shared memory!");
+            log_error(_("No space for listener in shared memory!"));
             return false;
         }
     }
@@ -841,14 +841,14 @@ executeAMFFunction(as_object& o, amf::Reader& rd)
     as_value a;
 
     if (!rd(a) || !a.is_string()) {
-        log_error("Invalid domain %s", a);
+        log_error(_("Invalid domain %s"), a);
         return;
     }
     const std::string& domain = a.to_string();
-    log_debug("Domain: %s", domain);
+    log_debug(_("Domain: %s"), domain);
     
     if (!rd(a)) {
-        log_error("Invalid function name %s", a);
+        log_error(_("Invalid function name %s"), a);
         return;
     }
 
@@ -859,25 +859,25 @@ executeAMFFunction(as_object& o, amf::Reader& rd)
     if (a.is_bool()) {
 
         // Both bools have been false in all the examples I've seen.
-        log_debug("First bool: %s", a);
-        if (rd(a)) log_debug("Second Bool: %s", a);
+        log_debug(_("First bool: %s"), a);
+        if (rd(a)) log_debug(_("Second Bool: %s"), a);
 
         // We guess that the first number describes the number of data fields
         // after the second number, before the function name.
-        if (rd(a)) log_debug("First Number: %s", a);
+        if (rd(a)) log_debug(_("First Number: %s"), a);
 
         // Handle negative numbers.
         const size_t count = std::max<int>(0, toInt(a, getVM(o)));
 
         // We don't know what the second number signifies.
-        if (rd(a)) log_debug("Second Number: %s", a);
+        if (rd(a)) log_debug(_("Second Number: %s"), a);
 
         for (size_t i = 0; i < count; ++i) {
             if (!rd(a)) {
-                log_error("Fewer AMF fields than expected.");
+                log_error(_("Fewer AMF fields than expected."));
                 return;
             }
-            log_debug("Data: %s", a);
+            log_debug(_("Data: %s"), a);
         }
 
         // Now we expect the next field to be the method to call.
diff --git a/libcore/asobj/Microphone_as.cpp b/libcore/asobj/Microphone_as.cpp
index 9c126a2..e36e47b 100644
--- a/libcore/asobj/Microphone_as.cpp
+++ b/libcore/asobj/Microphone_as.cpp
@@ -281,7 +281,7 @@ microphone_setgain(const fn_call& fn)
     
     // Really return if there are 2 args?
     if (fn.nargs != 1) {
-        log_error("Microphone.gain(): wrong number of parameters passed");
+        log_error(_("Microphone.gain(): wrong number of parameters passed"));
         return as_value();
     } 
 
@@ -297,7 +297,7 @@ microphone_setrate(const fn_call& fn)
     Microphone_as* ptr = ensure<ThisIsNative<Microphone_as> >(fn);
     
     if (fn.nargs != 1) {
-        log_error("Microphone.setRate: wrong number of parameters passed");
+        log_error(_("Microphone.setRate: wrong number of parameters passed"));
         return as_value();
     }
     ptr->setRate(toInt(fn.arg(0), getVM(fn)));
@@ -310,7 +310,7 @@ microphone_activityLevel(const fn_call& fn)
     Microphone_as* ptr = ensure<ThisIsNative<Microphone_as> >(fn);
         
     if (!fn.nargs) {
-        log_unimpl("Microphone::activityLevel only has default value (-1)");
+        log_unimpl(_("Microphone::activityLevel only has default value (-1)"));
         return as_value(ptr->activityLevel());
     }
 
@@ -350,7 +350,7 @@ microphone_muted(const fn_call& fn)
     Microphone_as* ptr = ensure<ThisIsNative<Microphone_as> >(fn);
     
     if (!fn.nargs) {
-        log_unimpl("Microphone::muted is always false (always allows access)");
+        log_unimpl(_("Microphone::muted is always false (always allows 
access)"));
         return as_value(ptr->muted());
     }
 
@@ -410,7 +410,7 @@ microphone_silenceTimeout(const fn_call& fn)
 {
     Microphone_as* ptr = ensure<ThisIsNative<Microphone_as> >(fn);
         
-    log_unimpl("Microphone::silenceTimeout can be set, but is unimplemented");
+    log_unimpl(_("Microphone::silenceTimeout can be set, but is 
unimplemented"));
     return as_value(ptr->silenceTimeout());
 }
 
@@ -433,7 +433,7 @@ microphone_setsilencelevel(const fn_call& fn)
     
     const size_t numargs = fn.nargs;
     if (numargs > 2) {
-        log_error("%s: Too many arguments", __FUNCTION__);
+        log_error(_("%s: Too many arguments"), __FUNCTION__);
         return as_value();
     }
 
diff --git a/libcore/asobj/MovieClip_as.cpp b/libcore/asobj/MovieClip_as.cpp
index 034666a..a8fe16f 100644
--- a/libcore/asobj/MovieClip_as.cpp
+++ b/libcore/asobj/MovieClip_as.cpp
@@ -528,7 +528,8 @@ movieclip_attachAudio(const fn_call& fn)
 
     if (!fn.nargs) {
         IF_VERBOSE_ASCODING_ERRORS(
-            log_aserror("MovieClip.attachAudio(): %s", _("missing arguments"));
+            log_aserror(_("MovieClip.attachAudio(): %s"),
+                         _("missing arguments"));
         );
         return as_value();
     }
@@ -537,8 +538,8 @@ movieclip_attachAudio(const fn_call& fn)
     if (!isNativeType(toObject(fn.arg(0), getVM(fn)), ns)) { 
         std::stringstream ss; fn.dump_args(ss);
         // TODO: find out what to do here
-        log_error("MovieClip.attachAudio(%s): first arg doesn't cast to a "
-                "NetStream", ss.str());
+        log_error(_("MovieClip.attachAudio(%s): first arg doesn't cast to a "
+                   "NetStream"), ss.str());
         return as_value();
     }
 
@@ -555,7 +556,7 @@ movieclip_attachVideo(const fn_call& fn)
     MovieClip* movieclip = ensure<IsDisplayObject<MovieClip> >(fn);
     UNUSED(movieclip);
 
-    LOG_ONCE( log_unimpl("MovieClip.attachVideo()") );
+    LOG_ONCE(log_unimpl(_("MovieClip.attachVideo()")));
     return as_value();
 }
 
@@ -961,7 +962,7 @@ movieclip_loadVariables(const fn_call& fn)
         static_cast<MovieClip::VariablesMethod>(toInt(val, getVM(fn)));
 
     movieclip->loadVariables(urlstr, method);
-    log_debug("MovieClip.loadVariables(%s) - TESTING ", urlstr);
+    log_debug(_("MovieClip.loadVariables(%s) - TESTING "), urlstr);
 
     return as_value();
 }
@@ -1062,8 +1063,8 @@ movieclip_getInstanceAtDepth(const fn_call& fn)
 
     if (fn.nargs < 1 || fn.arg(0).is_undefined()) {
         IF_VERBOSE_ASCODING_ERRORS(
-        log_aserror("MovieClip.getInstanceAtDepth(): missing or "
-            "undefined depth argument");
+        log_aserror(_("MovieClip.getInstanceAtDepth(): missing or "
+                     "undefined depth argument"));
         );
         return as_value();
     }
@@ -1191,8 +1192,8 @@ movieclip_getTextSnapshot(const fn_call& fn)
 
     if (!tsCtor) {
         IF_VERBOSE_ASCODING_ERRORS(
-            log_aserror("MovieClip.getTextSnapshot: failed to construct "
-                "TextSnapshot (object probably overridden)");
+            log_aserror(_("MovieClip.getTextSnapshot: failed to construct "
+                         "TextSnapshot (object probably overridden)"));
         );
         return as_value();
     }
@@ -1420,7 +1421,7 @@ movieclip_setMask(const fn_call& fn)
         maskee->setMask(mask);
     }
 
-    //log_debug("MovieClip.setMask() TESTING");
+    //log_debug(_("MovieClip.setMask() TESTING"));
 
     return as_value(true);
 }
@@ -1452,7 +1453,7 @@ movieclip_lineTo(const fn_call& fn)
     if (!isFinite(y)) y = 0;
 
 #ifdef DEBUG_DRAWING_API
-    log_debug("%s.lineTo(%g,%g);", movieclip->getTarget(), x, y);
+    log_debug(_("%s.lineTo(%g,%g);"), movieclip->getTarget(), x, y);
 #endif
     movieclip->graphics().lineTo(pixelsToTwips(x), pixelsToTwips(y),
             movieclip->getDefinitionVersion());
@@ -1667,7 +1668,7 @@ movieclip_beginFill(const fn_call& fn)
 
     if (fn.nargs < 1) {
         IF_VERBOSE_ASCODING_ERRORS(
-            log_aserror("beginFill() with no args is a no-op");
+            log_aserror(_("beginFill() with no args is a no-op"));
         );
         return as_value();
     }
@@ -1968,8 +1969,8 @@ movieclip_beginBitmapFill(const fn_call& fn)
 
     if (!isNativeType(obj, bd) || bd->disposed()) {
         IF_VERBOSE_ASCODING_ERRORS(
-            log_debug("MovieClip.attachBitmap: first argument should be a "
-                "valid BitmapData", fn.arg(1));
+            log_debug(_("MovieClip.attachBitmap: first argument should be a "
+                       "valid BitmapData"), fn.arg(1));
         );
         return as_value();
     }
@@ -2014,7 +2015,7 @@ movieclip_getRect(const fn_call& fn)
 {
     MovieClip* ptr = ensure<IsDisplayObject<MovieClip> >(fn);
     UNUSED(ptr);
-    LOG_ONCE( log_unimpl (__FUNCTION__) );
+    LOG_ONCE(log_unimpl(__FUNCTION__) );
     return as_value();
 }
 
@@ -2024,7 +2025,7 @@ movieclip_lineGradientStyle(const fn_call& fn)
 {
     MovieClip* ptr = ensure<IsDisplayObject<MovieClip> >(fn);
     UNUSED(ptr);
-    LOG_ONCE( log_unimpl (__FUNCTION__) );
+    LOG_ONCE(log_unimpl(__FUNCTION__) );
     return as_value();
 }
 
@@ -2036,7 +2037,7 @@ movieclip_attachBitmap(const fn_call& fn)
 
     if (fn.nargs < 2) {
         IF_VERBOSE_ASCODING_ERRORS(
-            log_debug("MovieClip.attachBitmap: expected 2 args, got %d",
+            log_debug(_("MovieClip.attachBitmap: expected 2 args, got %d"),
                 fn.nargs);
         );
         return as_value();
@@ -2047,8 +2048,8 @@ movieclip_attachBitmap(const fn_call& fn)
 
     if (!isNativeType(obj, bd) || bd->disposed()) {
         IF_VERBOSE_ASCODING_ERRORS(
-            log_debug("MovieClip.attachBitmap: first argument should be a "
-                "valid BitmapData", fn.arg(1));
+            log_debug(_("MovieClip.attachBitmap: first argument should be a "
+                     "valid BitmapData"), fn.arg(1));
         );
         return as_value();
     }
@@ -2073,7 +2074,7 @@ movieclip_transform(const fn_call& fn)
 
     if (!transCtor) {
         IF_VERBOSE_ASCODING_ERRORS(
-            log_aserror("Failed to construct flash.geom.Transform!");
+            log_aserror(_("Failed to construct flash.geom.Transform!"));
         );
         return as_value();
     }
@@ -2091,7 +2092,7 @@ as_value
 movieclip_beginMeshFill(const fn_call& /*fn*/)
 {
 
-    LOG_ONCE(log_unimpl("MovieClip.beginMeshFill"));
+    LOG_ONCE(log_unimpl(_("MovieClip.beginMeshFill")));
     return as_value();
 }
 
diff --git a/libcore/asobj/NetConnection_as.cpp 
b/libcore/asobj/NetConnection_as.cpp
index 6c3e275..c0a1b32 100644
--- a/libcore/asobj/NetConnection_as.cpp
+++ b/libcore/asobj/NetConnection_as.cpp
@@ -321,7 +321,7 @@ public:
             if (!_rtmp.connected()) return true;
             
             _connectionComplete = true;
-            log_debug("Initial connection complete");
+            log_debug(_("Initial connection complete"));
 
             const RunResources& r = getRunResources(_nc.owner());
             Global_as& gl = getGlobal(_nc.owner());
@@ -514,14 +514,14 @@ NetConnection_as::connect(const std::string& uri)
         startAdvanceTimer();
     }
     else if (url.protocol() == "rtmpt" || url.protocol() == "rtmpts") {
-        log_unimpl("NetConnection.connect(%s): unsupported connection "
-                 "protocol", url);
+        log_unimpl(_("NetConnection.connect(%s): unsupported connection "
+                    "protocol"), url);
         notifyStatus(CONNECT_FAILED);
         return false;
     }
     else {
-        log_error("NetConnection.connect(%s): unknown connection "
-             "protocol", url);
+        log_error(_("NetConnection.connect(%s): unknown connection "
+                   "protocol"), url);
         notifyStatus(CONNECT_FAILED);
         return false;
     }
@@ -566,7 +566,7 @@ NetConnection_as::call(as_object* asCallback, const 
std::string& methodName,
 {
     if (!_currentConnection.get()) {
         IF_VERBOSE_ASCODING_ERRORS(
-            log_aserror("NetConnection.call: can't call while not connected");
+            log_aserror(_("NetConnection.call: can't call while not 
connected"));
         );
         return;
     }
@@ -665,7 +665,7 @@ netconnection_call(const fn_call& fn)
 
 #ifdef GNASH_DEBUG_REMOTING
     std::stringstream ss; fn.dump_args(ss);
-    log_debug("NetConnection.call(%s)", ss.str());
+    log_debug(_("NetConnection.call(%s)"), ss.str());
 #endif
 
     // TODO: arg(1) is the response object. let it know when data comes back
@@ -678,8 +678,8 @@ netconnection_call(const fn_call& fn)
         else {
             IF_VERBOSE_ASCODING_ERRORS(
                 std::stringstream ss; fn.dump_args(ss);
-                log_aserror("NetConnection.call(%s): second argument must be "
-                    "an object", ss.str());
+                log_aserror(_("NetConnection.call(%s): second argument must be 
"
+                             "an object"), ss.str());
             );
         }
     }
@@ -790,8 +790,8 @@ netconnection_connect(const fn_call& fn)
 
     if (fn.nargs > 1) {
         std::stringstream ss; fn.dump_args(ss);
-        log_unimpl("NetConnection.connect(%s): args after the first are "
-                "not supported", ss.str());
+        log_unimpl(_("NetConnection.connect(%s): args after the first are "
+                    "not supported"), ss.str());
     }
 
     return as_value(ptr->connect(uriStr));
@@ -805,7 +805,7 @@ netconnection_addHeader(const fn_call& fn)
     NetConnection_as* ptr = ensure<ThisIsNative<NetConnection_as> >(fn);
     UNUSED(ptr);
 
-    log_unimpl("NetConnection.addHeader()");
+    log_unimpl(_("NetConnection.addHeader()"));
     return as_value();
 }
 
@@ -885,24 +885,24 @@ handleAMFInvoke(amf::Reader& rd, const boost::uint8_t*& b,
         std::string headerName((char*)b, namelength);
 
 #ifdef GNASH_DEBUG_REMOTING
-        log_debug("Invoke name %s", headerName);
+        log_debug(_("Invoke name %s"), headerName);
 #endif
         b += namelength;
         if (b + 5 > end) {
-            throw amf::AMFException("Invoke buffer too short");
+            throw amf::AMFException(_("Invoke buffer too short"));
         }
         b += 5; // skip past bool and length long
 
         // It seems there must be exactly one argument.
         as_value arg;
         if (!rd(arg)) {
-            throw amf::AMFException("Invoke argument not present");
+            throw amf::AMFException(_("Invoke argument not present"));
         }
 
         VM& vm = getVM(owner);
         ObjectURI key = getURI(vm, headerName);
 #ifdef GNASH_DEBUG_REMOTING
-        log_debug("Invoking %s(%s)", headerName, arg);
+        log_debug(_("Invoking %s(%s)"), headerName, arg);
 #endif
         callMethod(&owner, key, arg);
     }
@@ -987,7 +987,7 @@ HTTPRequest::handleAMFReplies(amf::Reader& rd, const 
boost::uint8_t*& b,
         as_object* callback = _handler.popCallback(callbackID);
 
         if (!callback) {
-            log_error("Unknown HTTP Remoting response identifier '%s'", id);
+            log_error(_("Unknown HTTP Remoting response identifier '%s'"), id);
             // There's no parsing error, so continue.
             continue;
         }
@@ -1003,13 +1003,13 @@ HTTPRequest::handleAMFReplies(amf::Reader& rd, const 
boost::uint8_t*& b,
             // NOTE: the pp is known to actually
             // invoke the custom method, but with 7
             // undefined arguments (?)
-            log_error("Unsupported HTTP Remoting response callback: '%s' "
-                    "(size %d)", methodName, methodName.size());
+            log_error(_("Unsupported HTTP Remoting response callback: '%s' "
+                       "(size %d)"), methodName, methodName.size());
             continue;
         }
 
 #ifdef GNASH_DEBUG_REMOTING
-        log_debug("callback called");
+        log_debug(_("callback called"));
 #endif
 
         callMethod(callback, methodKey, replyval);
@@ -1045,14 +1045,14 @@ HTTPRequest::send(const URL& url, NetConnection_as& nc)
 {
     // We should never have a request without any calls.
     assert(_calls);
-    log_debug("creating connection");
+    log_debug(_("creating connection"));
 
     // Fill in header
     (reinterpret_cast<boost::uint16_t*>(_data.data() + 4))[0] = htons(_calls);
     std::string postdata(reinterpret_cast<char*>(_data.data()), _data.size());
 
 #ifdef GNASH_DEBUG_REMOTING
-        log_debug("NetConnection.call(): encoded args from %1% calls: %2%",
+    log_debug(_("NetConnection.call(): encoded args from %1% calls: %2%"),
             _calls, hexify(_data.data(), _data.size(), false));
 #endif
 
@@ -1074,7 +1074,7 @@ HTTPRequest::process(NetConnection_as& nc)
     if (!toRead) toRead = NCCALLREPLYCHUNK;
 
 #ifdef GNASH_DEBUG_REMOTING
-    log_debug("Attempt to read %d bytes", toRead);
+    log_debug(_("Attempt to read %d bytes"), toRead);
 #endif
 
     // See if we need to allocate more bytes for the next
@@ -1083,9 +1083,9 @@ HTTPRequest::process(NetConnection_as& nc)
         const size_t newCapacity = _reply.size() + toRead;
 
 #ifdef GNASH_DEBUG_REMOTING
-        log_debug("NetConnection.call: reply buffer capacity (%d) "
+        log_debug(_("NetConnection.call: reply buffer capacity (%d) "
                 "is too small to accept next %d bytes of chunk "
-                "(current size is %d). Reserving %d bytes.",
+                   "(current size is %d). Reserving %d bytes."),
                 _reply.capacity(), toRead, _reply.size(), newCapacity);
 #endif
 
@@ -1097,7 +1097,7 @@ HTTPRequest::process(NetConnection_as& nc)
 
     if (read > 0) {
 #ifdef GNASH_DEBUG_REMOTING
-        log_debug("read '%1%' bytes: %2%", read, 
+        log_debug(_("read '%1%' bytes: %2%"), read, 
                 hexify(_reply.data() + _reply.size(), read, false));
 #endif
         _reply.resize(_reply.size() + read);
@@ -1116,8 +1116,8 @@ HTTPRequest::process(NetConnection_as& nc)
     // the buffer is full, 2) when we have a "length in bytes" value
     // thas is satisfied
     if (_connection->bad()) {
-        log_debug("connection is in error condition, calling "
-                "NetConnection.onStatus");
+        log_debug(_("connection is in error condition, calling "
+                   "NetConnection.onStatus"));
 
         // If the connection fails, it is manually verified
         // that the pp calls onStatus with 1 undefined argument.
@@ -1133,7 +1133,7 @@ HTTPRequest::process(NetConnection_as& nc)
     if (_reply.size() > 8) {
 
 #ifdef GNASH_DEBUG_REMOTING
-        log_debug("hit eof");
+        log_debug(_("hit eof"));
 #endif
         const boost::uint8_t *b = _reply.data();
         const boost::uint8_t *end = _reply.data() + _reply.size();
@@ -1152,7 +1152,7 @@ HTTPRequest::process(NetConnection_as& nc)
             // Any fatal error should be signalled by throwing an
             // exception. In this case onStatus is called with an
             // undefined argument.
-            log_error("Error parsing server AMF: %s", e.what());
+            log_error(_("Error parsing server AMF: %s"), e.what());
             callMethod(&nc.owner(), NSV::PROP_ON_STATUS, as_value());
         }
     }
@@ -1199,7 +1199,8 @@ HTTPConnection::call(as_object* asCallback, const 
std::string& methodName,
     for (size_t i = 0; i < args.size(); ++i) {
         const as_value& arg = args[i];
         if (!arg.writeAMF0(w)) {
-            log_error("Could not serialize NetConnection.call argument %d", i);
+            log_error(_("Could not serialize NetConnection.call argument %d"),
+                     i);
         }
     }
 
@@ -1226,18 +1227,18 @@ RTMPConnection::handleInvoke(const boost::uint8_t* 
payload,
 
     // make sure it is a string method name we start with
     if (payload[0] != 0x02) {
-        log_error( "Sanity failed. no string method in invoke packet");
+        log_error(_("Sanity failed. no string method in invoke packet"));
         return;
     }
 
     ++payload;
     std::string method = amf::readString(payload, end);
 
-    log_debug("Invoke: read method string %s", method);
+    log_debug(_("Invoke: read method string %s"), method);
     if (*payload != amf::NUMBER_AMF0) return;
     ++payload;
 
-    log_debug( "Server invoking <%s>", method);
+    log_debug(_("Server invoking <%s>"), method);
     
     const ObjectURI methodname = getURI(getVM(_nc.owner()), method);
 
@@ -1245,7 +1246,7 @@ RTMPConnection::handleInvoke(const boost::uint8_t* 
payload,
     // by us.
     if (method == "_result") {
         const double id = amf::readNumber(payload, end);
-        log_debug("Received result for method call %s",
+        log_debug(_("Received result for method call %s"),
                 boost::io::group(std::setprecision(15), id));
 
         as_value arg;
@@ -1254,7 +1255,7 @@ RTMPConnection::handleInvoke(const boost::uint8_t* 
payload,
         // TODO: use all args and check the order! We currently only use
         // the last one!
         while (rd(arg)) {
-            log_debug("Value: %s", arg);
+            log_debug(_("Value: %s"), arg);
         }
 
         as_object* o = popCallback(id);
@@ -1264,7 +1265,7 @@ RTMPConnection::handleInvoke(const boost::uint8_t* 
payload,
     
     /// These are remote function calls initiated by the server.
     const double id = amf::readNumber(payload, end);
-    log_debug("Received server call %s %s",
+    log_debug(_("Received server call %s %s"),
             boost::io::group(std::setprecision(15), id),
             id ? "" : "(no reply expected)");
 
@@ -1273,7 +1274,7 @@ RTMPConnection::handleInvoke(const boost::uint8_t* 
payload,
     if (method == "_onbwcheck") {
         if (id) replyBWCheck(_rtmp, id);
         else {
-            log_error("Server called _onbwcheck without a callback");
+            log_error(_("Server called _onbwcheck without a callback"));
         }
         return;
     }
@@ -1283,12 +1284,12 @@ RTMPConnection::handleInvoke(const boost::uint8_t* 
payload,
         if (*payload != amf::NULL_AMF0) return;
         ++payload;
 #ifdef GNASH_DEBUG_REMOTING
-        log_debug("AMF buffer for _onbwdone: %s\n",
+        log_debug(_("AMF buffer for _onbwdone: %s\n"),
                 hexify(payload, end - payload, false));
 #endif
         double latency = amf::readNumber(payload, end);
         double bandwidth = amf::readNumber(payload, end);
-        log_debug("Latency: %s, bandwidth %s", latency, bandwidth);
+        log_debug(_("Latency: %s, bandwidth %s"), latency, bandwidth);
         return;
     }
 
@@ -1300,10 +1301,10 @@ RTMPConnection::handleInvoke(const boost::uint8_t* 
payload,
         // TODO: use all args and check the order! We currently only use
         // the last one!
         while (rd(arg)) {
-            log_debug("Value: %s", arg);
+            log_debug(_("Value: %s"), arg);
         }
 
-        log_error( "rtmp server sent error");
+        log_error(_("rtmp server sent error"));
 
         callMethod(&_nc.owner(), NSV::PROP_ON_STATUS, arg);
         return;
@@ -1316,7 +1317,7 @@ RTMPConnection::handleInvoke(const boost::uint8_t* 
payload,
     // TODO: use all args and check the order! We currently only use
     // the last one!
     while (rd(arg)) {
-        log_debug("Value: %s", arg);
+        log_debug(_("Value: %s"), arg);
     }
     
     // Call method on the NetConnection object.    
diff --git a/libcore/asobj/NetStream_as.cpp b/libcore/asobj/NetStream_as.cpp
index 3c453b5..7ac4548 100644
--- a/libcore/asobj/NetStream_as.cpp
+++ b/libcore/asobj/NetStream_as.cpp
@@ -296,7 +296,7 @@ NetStream_as::~NetStream_as()
 
 void NetStream_as::pause(PauseMode mode)
 {
-    log_debug("::pause(%d) called ", mode);
+    log_debug(_("::pause(%d) called "), mode);
     switch (mode) {
 
         case pauseModeToggle:
@@ -376,7 +376,7 @@ NetStream_as::play(const std::string& c_url)
     }
 
     if (url.empty()) {
-        log_error("Couldn't load URL %s", c_url);
+        log_error(_("Couldn't load URL %s"), c_url);
         return;
     }
 
@@ -389,7 +389,7 @@ NetStream_as::play(const std::string& c_url)
 
     // We need to start playback
     if (!startPlayback()) {
-        log_error("NetStream.play(%s): failed starting playback", c_url);
+        log_error(_("NetStream.play(%s): failed starting playback"), c_url);
         return;
     }
 
@@ -412,12 +412,12 @@ NetStream_as::initVideoDecoder(const media::VideoInfo& 
info)
     try {
         _videoDecoder = _mediaHandler->createVideoDecoder(info);
         assert ( _videoDecoder.get() ); 
-        log_debug("NetStream_as::initVideoDecoder: hot-plugging "
-                "video consumer");
+        log_debug(_("NetStream_as::initVideoDecoder: hot-plugging "
+                    "video consumer"));
         _playHead.setVideoConsumerAvailable();
     }
     catch (const MediaException& e) {
-        log_error("NetStream: Could not create Video decoder: %s", e.what());
+        log_error(_("NetStream: Could not create Video decoder: %s"), 
e.what());
 
         // This is important enough to let the user know.
         movie_root& m = getRoot(owner());
@@ -441,14 +441,14 @@ NetStream_as::initAudioDecoder(const media::AudioInfo& 
info)
     try {
         _audioDecoder = _mediaHandler->createAudioDecoder(info);
         assert ( _audioDecoder.get() );
-        log_debug("NetStream_as::initAudioDecoder: hot-plugging "
-                "audio consumer");
+        log_debug(_("NetStream_as::initAudioDecoder: hot-plugging "
+                    "audio consumer"));
         _playHead.setAudioConsumerAvailable();
     }
     catch (const MediaException& e) {
         const std::string& err = e.what();
 
-        log_error("Could not create Audio decoder: %s", err);
+        log_error(_("Could not create Audio decoder: %s"), err);
 
         // This is important enough to let the user know.
         movie_root& m = getRoot(owner());
@@ -517,13 +517,13 @@ NetStream_as::startPlayback()
     //       that playHead should be advanced to first available
     //       timeframe timestamp instead.
 #ifdef GNASH_DEBUG_PLAYHEAD
-     log_debug("%p.startPlayback: playHead position reset to 0", this);
+    log_debug(_("%p.startPlayback: playHead position reset to 0"), this);
 #endif
     _playHead.seekTo(0);
     _playHead.setState(PlayHead::PLAY_PLAYING);
 
 #ifdef GNASH_DEBUG_STATUS
-    log_debug("Setting playStart status");
+    log_debug(_("Setting playStart status"));
 #endif
 
     setStatus(playStart);
@@ -541,7 +541,7 @@ NetStream_as::getDecodedVideoFrame(boost::uint32_t ts)
 
     assert(_parser.get());
     if (!_parser.get()) {
-        log_error("getDecodedVideoFrame: no parser available");
+        log_error(_("getDecodedVideoFrame: no parser available"));
         return video; 
     }
 
@@ -550,10 +550,10 @@ NetStream_as::getDecodedVideoFrame(boost::uint32_t ts)
     if (!_parser->nextVideoFrameTimestamp(nextTimestamp)) {
 
 #ifdef GNASH_DEBUG_DECODING
-        log_debug("getDecodedVideoFrame(%d): "
-            "no more video frames in input "
-            "(nextVideoFrameTimestamp returned false, "
-            "parsingComplete=%d)",
+        log_debug(_("getDecodedVideoFrame(%d): "
+                    "no more video frames in input "
+                    "(nextVideoFrameTimestamp returned false, "
+                    "parsingComplete=%d)"),
             ts, parsingComplete);
 #endif 
 
@@ -561,9 +561,9 @@ NetStream_as::getDecodedVideoFrame(boost::uint32_t ts)
 
             decodingStatus(DEC_STOPPED);
 #ifdef GNASH_DEBUG_STATUS
-            log_debug("getDecodedVideoFrame setting playStop status "
+            log_debug(_("getDecodedVideoFrame setting playStop status "
                     "(parsing complete and nextVideoFrameTimestamp() "
-                    "returned false)");
+                        "returned false)"));
 #endif
             setStatus(playStop);
         }
@@ -572,8 +572,8 @@ NetStream_as::getDecodedVideoFrame(boost::uint32_t ts)
 
     if (nextTimestamp > ts) {
 #ifdef GNASH_DEBUG_DECODING
-        log_debug("%p.getDecodedVideoFrame(%d): next video frame is in "
-                "the future (%d)", this, ts, nextTimestamp);
+        log_debug(_("%p.getDecodedVideoFrame(%d): next video frame is in "
+                  "the future (%d)"), this, ts, nextTimestamp);
 #endif 
         // next frame is in the future
         return video; 
@@ -583,26 +583,27 @@ NetStream_as::getDecodedVideoFrame(boost::uint32_t ts)
     while (1) {
         video = decodeNextVideoFrame();
         if (!video.get()) {
-            log_error("nextVideoFrameTimestamp returned true (%d), "
-                "but decodeNextVideoFrame returned null, "
-                "I don't think this should ever happen", nextTimestamp);
+            log_error(_("nextVideoFrameTimestamp returned true (%d), "
+                        "but decodeNextVideoFrame returned null, "
+                        "I don't think this should ever happen"),
+                      nextTimestamp);
             break;
         }
 
         if (!_parser->nextVideoFrameTimestamp(nextTimestamp)) {
             // the one we decoded was the last one
 #ifdef GNASH_DEBUG_DECODING
-            log_debug("%p.getDecodedVideoFrame(%d): last video frame decoded "
-                "(should set playback status to STOP?)", this, ts);
+            log_debug(_("%p.getDecodedVideoFrame(%d): last video frame decoded 
"
+                        "(should set playback status to STOP?)"), this, ts);
 #endif 
             break;
         }
         if (nextTimestamp > ts) {
             // the next one is in the future, we'll return this one.
 #ifdef GNASH_DEBUG_DECODING
-            log_debug("%p.getDecodedVideoFrame(%d): "
+            log_debug(_("%p.getDecodedVideoFrame(%d): "
                 "next video frame is in the future, "
-                "we'll return this one",
+                        "we'll return this one"),
                 this, ts);
 #endif 
             break; 
@@ -618,15 +619,15 @@ NetStream_as::decodeNextVideoFrame()
     std::auto_ptr<image::GnashImage> video;
 
     if (!_parser.get()) {
-        log_error("decodeNextVideoFrame: no parser available");
+        log_error(_("decodeNextVideoFrame: no parser available"));
         return video; 
     }
 
     std::auto_ptr<media::EncodedVideoFrame> frame = _parser->nextVideoFrame(); 
     if (!frame.get()) {
 #ifdef GNASH_DEBUG_DECODING
-        log_debug("%p.decodeNextVideoFrame(): "
-            "no more video frames in input",
+        log_debug(_("%p.decodeNextVideoFrame(): "
+                  "no more video frames in input"),
             this);
 #endif 
         return video;
@@ -655,9 +656,9 @@ NetStream_as::decodeNextAudioFrame()
     std::auto_ptr<media::EncodedAudioFrame> frame = _parser->nextAudioFrame(); 
     if (!frame.get()) {
 #ifdef GNASH_DEBUG_DECODING
-        log_debug("%p.decodeNextAudioFrame: "
-            "no more video frames in input",
-            this);
+        log_debug(_("%p.decodeNextAudioFrame: "
+                    "no more video frames in input"),
+                    this);
 #endif
         return 0;
     }
@@ -684,9 +685,9 @@ NetStream_as::decodeNextAudioFrame()
     }
 
 #ifdef GNASH_DEBUG_DECODING
-    log_debug("NetStream_as::decodeNextAudioFrame: "
+    log_debug(_("NetStream_as::decodeNextAudioFrame: "
         "%d bytes of encoded audio "
-        "decoded to %d bytes",
+                "decoded to %d bytes"),
         frame->dataSize,
         raw->m_size);
 #endif 
@@ -704,7 +705,7 @@ NetStream_as::seek(boost::uint32_t posSeconds)
     // We'll mess with the input here
     if ( ! _parser.get() )
     {
-        log_debug("NetStream_as::seek(%d): no parser, no party", posSeconds);
+        log_debug(_("NetStream_as::seek(%d): no parser, no party"), 
posSeconds);
         return;
     }
 
@@ -724,21 +725,21 @@ NetStream_as::seek(boost::uint32_t posSeconds)
     if ( ! _parser->seek(newpos) )
     {
 #ifdef GNASH_DEBUG_STATUS
-        log_debug("Setting invalidTime status");
+        log_debug(_("Setting invalidTime status"));
 #endif
         setStatus(invalidTime);
         // we won't be *BUFFERING*, so resume now
         _playbackClock->resume(); 
         return;
     }
-    log_debug("_parser->seek(%d) returned %d", pos, newpos);
+    log_debug(_("_parser->seek(%d) returned %d"), pos, newpos);
 
         // cleanup audio queue, so won't be consumed while seeking
     _audioStreamer.cleanAudioQueue();
     
     // 'newpos' will always be on a keyframe (supposedly)
 #ifdef GNASH_DEBUG_PLAYHEAD
-     log_debug("%p.seek: playHead position set to %d", this, newpos);
+    log_debug(_("%p.seek: playHead position set to %d"), this, newpos);
 #endif
     _playHead.seekTo(newpos);
     decodingStatus(DEC_BUFFERING); 
@@ -774,8 +775,8 @@ NetStream_as::refreshAudioBuffer()
 
     if (_playHead.getState() == PlayHead::PLAY_PAUSED) {
 #ifdef GNASH_DEBUG_DECODING
-        log_debug("%p.refreshAudioBuffer: doing nothing as playhead "
-                "is paused - bufferLength=%d/%d", this, bufferLength(),
+        log_debug(_("%p.refreshAudioBuffer: doing nothing as playhead "
+                    "is paused - bufferLength=%d/%d"), this, bufferLength(),
                 _bufferTime);
 #endif 
         return;
@@ -783,9 +784,9 @@ NetStream_as::refreshAudioBuffer()
 
     if (_playHead.isAudioConsumed()) {
 #ifdef GNASH_DEBUG_DECODING
-        log_debug("%p.refreshAudioBuffer: doing nothing "
-            "as current position was already decoded - "
-            "bufferLength=%d/%d",
+        log_debug(_("%p.refreshAudioBuffer: doing nothing "
+                    "as current position was already decoded - "
+                    "bufferLength=%d/%d"),
             this, bufferLen, _bufferTime);
 #endif
         return;
@@ -795,7 +796,7 @@ NetStream_as::refreshAudioBuffer()
     boost::uint64_t curPos = _playHead.getPosition();
 
 #ifdef GNASH_DEBUG_DECODING
-    log_debug("%p.refreshAudioBuffer: currentPosition=%d, playHeadState=%d, 
bufferLength=%d, bufferTime=%d",
+    log_debug(_("%p.refreshAudioBuffer: currentPosition=%d, playHeadState=%d, 
bufferLength=%d, bufferTime=%d"),
         this, curPos, _playHead.getState(), bufferLen, _bufferTime);
 #endif // GNASH_DEBUG_DECODING
 
@@ -931,7 +932,7 @@ NetStream_as::pushDecodedAudioFrames(boost::uint32_t ts)
             // protection.
             //
 //#ifdef GNASH_DEBUG_DECODING
-            log_debug("%p.pushDecodedAudioFrames(%d) : buffer overrun 
(%d/%d).",
+            log_debug(_("%p.pushDecodedAudioFrames(%d) : buffer overrun 
(%d/%d)."),
                 this, ts, bufferSize, bufferLimit);
 //#endif 
 
@@ -947,9 +948,9 @@ NetStream_as::pushDecodedAudioFrames(boost::uint32_t ts)
         bool parsingComplete = _parser->parsingCompleted();
         if (!_parser->nextAudioFrameTimestamp(nextTimestamp)) {
 #ifdef GNASH_DEBUG_DECODING
-            log_debug("%p.pushDecodedAudioFrames(%d): "
-                "no more audio frames in input "
-                "(nextAudioFrameTimestamp returned false, parsingComplete=%d)",
+            log_debug(_("%p.pushDecodedAudioFrames(%d): "
+                        "no more audio frames in input "
+                        "(nextAudioFrameTimestamp returned false, 
parsingComplete=%d)"),
                 this, ts, parsingComplete);
 #endif 
 
@@ -958,9 +959,9 @@ NetStream_as::pushDecodedAudioFrames(boost::uint32_t ts)
                 if (_parser->isBufferEmpty()) {
                     decodingStatus(DEC_STOPPED);
 #ifdef GNASH_DEBUG_STATUS
-                    log_debug("pushDecodedAudioFrames setting playStop status "
+                    log_debug(_("pushDecodedAudioFrames setting playStop 
status "
                               "(parsing complete and nextAudioFrameTimestamp "
-                              "returned false)");
+                                "returned false)"));
 #endif
                     setStatus(playStop);
                 }
@@ -971,8 +972,8 @@ NetStream_as::pushDecodedAudioFrames(boost::uint32_t ts)
 
         if (nextTimestamp > ts) {
 #ifdef GNASH_DEBUG_DECODING
-            log_debug("%p.pushDecodedAudioFrames(%d): "
-                "next audio frame is in the future (%d)",
+            log_debug(_("%p.pushDecodedAudioFrames(%d): "
+                        "next audio frame is in the future (%d)"),
                 this, ts, nextTimestamp);
 #endif 
             consumed = true;
@@ -984,17 +985,17 @@ NetStream_as::pushDecodedAudioFrames(boost::uint32_t ts)
         BufferedAudioStreamer::CursoredBuffer* audio = decodeNextAudioFrame();
         if (!audio) {
             // Well, it *could* happen, why not ?
-            log_error("nextAudioFrameTimestamp returned true (%d), "
+            log_error(_("nextAudioFrameTimestamp returned true (%d), "
                 "but decodeNextAudioFrame returned null, "
-                "I don't think this should ever happen", nextTimestamp);
+                        "I don't think this should ever happen"), 
nextTimestamp);
             break;
         }
 
         if (!audio->m_size) {
             // Don't bother pushing an empty frame
             // to the audio Queue...
-            log_debug("pushDecodedAudioFrames(%d): Decoded audio frame "
-                    "contains no samples");
+            log_debug(_("pushDecodedAudioFrames(%d): Decoded audio frame "
+                      "contains no samples"));
             delete audio;
             continue;
         }
@@ -1002,8 +1003,8 @@ NetStream_as::pushDecodedAudioFrames(boost::uint32_t ts)
 #ifdef GNASH_DEBUG_DECODING
         // this one we might avoid :) -- a less intrusive logging could
         // be take note about how many things we're pushing over
-        log_debug("pushDecodedAudioFrames(%d) pushing %dth frame with "
-                "timestamp %d", ts, _audioStreamer._audioQueue.size()+1,
+        log_debug(_("pushDecodedAudioFrames(%d) pushing %dth frame with "
+                    "timestamp %d"), ts, _audioStreamer._audioQueue.size()+1,
                 nextTimestamp); 
 #endif
 
@@ -1020,7 +1021,7 @@ NetStream_as::pushDecodedAudioFrames(boost::uint32_t ts)
         // (ie: the sound handler is slow at consuming
         // the audio data).
 #ifdef GNASH_DEBUG_DECODING
-        log_debug("resuming playback clock on audio consume");
+        log_debug(_("resuming playback clock on audio consume"));
 #endif 
         assert(decodingStatus()!=DEC_BUFFERING);
         _playbackClock->resume();
@@ -1086,8 +1087,8 @@ NetStream_as::refreshVideoFrame(bool alsoIfPaused)
     if ( ! alsoIfPaused && _playHead.getState() == PlayHead::PLAY_PAUSED )
     {
 #ifdef GNASH_DEBUG_DECODING
-        log_debug("%p.refreshVideoFrame: doing nothing as playhead is paused - 
"
-            "bufferLength=%d, bufferTime=%d",
+        log_debug(_("%p.refreshVideoFrame: doing nothing as playhead is paused 
- "
+                    "bufferLength=%d, bufferTime=%d"),
             this, bufferLen, _bufferTime);
 #endif 
         return;
@@ -1096,9 +1097,9 @@ NetStream_as::refreshVideoFrame(bool alsoIfPaused)
     if ( _playHead.isVideoConsumed() ) 
     {
 #ifdef GNASH_DEBUG_DECODING
-        log_debug("%p.refreshVideoFrame: doing nothing "
+        log_debug(_("%p.refreshVideoFrame: doing nothing "
             "as current position was already decoded - "
-            "bufferLength=%d, bufferTime=%d",
+                    "bufferLength=%d, bufferTime=%d"),
             this, bufferLen, _bufferTime);
 #endif // GNASH_DEBUG_DECODING
         return;
@@ -1108,8 +1109,8 @@ NetStream_as::refreshVideoFrame(bool alsoIfPaused)
     boost::uint64_t curPos = _playHead.getPosition();
 
 #ifdef GNASH_DEBUG_DECODING
-    log_debug("%p.refreshVideoFrame: currentPosition=%d, playHeadState=%d, "
-            "bufferLength=%d, bufferTime=%d",
+    log_debug(_("%p.refreshVideoFrame: currentPosition=%d, playHeadState=%d, "
+                "bufferLength=%d, bufferTime=%d"),
             this, curPos, _playHead.getState(), bufferLen, _bufferTime);
 #endif 
 
@@ -1122,18 +1123,18 @@ NetStream_as::refreshVideoFrame(bool alsoIfPaused)
         if ( decodingStatus() == DEC_STOPPED )
         {
 #ifdef GNASH_DEBUG_DECODING
-            log_debug("%p.refreshVideoFrame(): "
+            log_debug(_("%p.refreshVideoFrame(): "
                 "no more video frames to decode "
-                "(DEC_STOPPED, null from getDecodedVideoFrame)",
+                        "(DEC_STOPPED, null from getDecodedVideoFrame)"),
                 this);
 #endif
         }
         else
         {
 #ifdef GNASH_DEBUG_DECODING
-            log_debug("%p.refreshVideoFrame(): "
+            log_debug(_("%p.refreshVideoFrame(): "
                 "last video frame was good enough "
-                "for current position",
+                      "for current position"),
                 this);
 #endif 
             // There no video but decoder is still running
@@ -1188,7 +1189,7 @@ NetStream_as::update()
 
     if ( decodingStatus() == DEC_STOPPED )
     {
-        //log_debug("NetStream_as::advance: dec stopped...");
+        //log_debug(_("NetStream_as::advance: dec stopped..."));
         // nothing to do if we're stopped...
         return;
     }
@@ -1206,12 +1207,12 @@ NetStream_as::update()
         if (!parsingComplete)
         {
 #ifdef GNASH_DEBUG_DECODING
-            log_debug("%p.advance: buffer empty while decoding,"
-                " setting buffer to buffering and pausing playback clock",
+            log_debug(_("%p.advance: buffer empty while decoding,"
+                        " setting buffer to buffering and pausing playback 
clock"),
                 this);
 #endif 
 #ifdef GNASH_DEBUG_STATUS
-            log_debug("Setting bufferEmpty status");
+            log_debug(_("Setting bufferEmpty status"));
 #endif
             setStatus(bufferEmpty);
             decodingStatus(DEC_BUFFERING);
@@ -1220,7 +1221,7 @@ NetStream_as::update()
         else
         {
 #ifdef GNASH_DEBUG_DECODING
-            log_debug("%p.advance : bufferLength=%d, parsing completed",
+            log_debug(_("%p.advance : bufferLength=%d, parsing completed"),
                 this, bufferLen);
 #endif
             // set playStop ? (will be done later for now)
@@ -1232,8 +1233,8 @@ NetStream_as::update()
         if ( bufferLen < _bufferTime && ! parsingComplete )
         {
 #ifdef GNASH_DEBUG_DECODING
-            log_debug("%p.advance: buffering"
-                " - position=%d, buffer=%d/%d",
+            log_debug(_("%p.advance: buffering"
+                      " - position=%d, buffer=%d/%d"),
                 this, _playHead.getPosition(), bufferLen, _bufferTime);
 #endif
 
@@ -1243,7 +1244,7 @@ NetStream_as::update()
             if (!_imageframe.get() && 
                     _playHead.getState() != PlayHead::PLAY_PAUSED)
             {
-                //log_debug("refreshing video frame for the first time");
+                //log_debug(_("refreshing video frame for the first time"));
                 refreshVideoFrame(true);
             }
 
@@ -1251,8 +1252,8 @@ NetStream_as::update()
         }
 
 #ifdef GNASH_DEBUG_DECODING
-        log_debug("%p.advance: buffer full (or parsing completed), "
-                "resuming playback clock - position=%d, buffer=%d/%d",
+        log_debug(_("%p.advance: buffer full (or parsing completed), "
+                    "resuming playback clock - position=%d, buffer=%d/%d"),
                 this, _playHead.getPosition(), bufferLen, _bufferTime);
 #endif
 
@@ -1272,13 +1273,14 @@ NetStream_as::update()
         {
              _playHead.seekTo(firstFrameTimestamp);
 #ifdef GNASH_DEBUG_PLAYHEAD
-            log_debug("%p.advance: playHead position set to timestamp of first 
frame: %d", this, firstFrameTimestamp);
+             log_debug(_("%p.advance: playHead position set to timestamp of 
first frame: %d"),
+                        this, firstFrameTimestamp);
 #endif
         }
 #ifdef GNASH_DEBUG_PLAYHEAD
         else
         {
-            log_debug("%p.advance: playHead position is 0 and parser still 
doesn't have a frame to set it to", this);
+            log_debug(_("%p.advance: playHead position is 0 and parser still 
doesn't have a frame to set it to"), this);
         }
 #endif
     }
@@ -1318,11 +1320,11 @@ NetStream_as::update()
             boost::uint64_t nextTimestamp;
             if ( _parser->nextAudioFrameTimestamp(nextTimestamp) )
             {
-                log_debug("Moving NetStream playhead "
+                log_debug(_("Moving NetStream playhead "
                           "from timestamp %d to timestamp %d "
                           "as there are no video frames yet, "
                           "audio buffer is empty and next audio "
-                          "frame timestamp is there (see bug #26687)",
+                            "frame timestamp is there (see bug #26687)"),
                           _playHead.getPosition(), nextTimestamp);
                 _playHead.seekTo(nextTimestamp);
             }
@@ -1381,7 +1383,7 @@ long
 NetStream_as::bytesLoaded ()
 {
     if ( ! _parser.get() ) {
-//        log_debug("bytesLoaded: no parser, no party");
+//        log_debug(_("bytesLoaded: no parser, no party"));
         return 0;
     }
 
@@ -1392,7 +1394,7 @@ long
 NetStream_as::bytesTotal ()
 {
     if ( ! _parser.get() ) {
-//        log_debug("bytesTotal: no parser, no party");
+//        log_debug(_("bytesTotal: no parser, no party"));
         return 0;
     }
 
@@ -1419,7 +1421,7 @@ BufferedAudioStreamer::attachAuxStreamer()
     if ( ! _soundHandler ) return;
     if ( _auxStreamer )
     {
-        log_debug("attachAuxStreamer called while already attached");
+        log_debug(_("attachAuxStreamer called while already attached"));
         // Let's detach first..
         _soundHandler->unplugInputStream(_auxStreamer);
         _auxStreamer=0;
@@ -1430,8 +1432,8 @@ BufferedAudioStreamer::attachAuxStreamer()
                 BufferedAudioStreamer::fetchWrapper, (void*)this);
     }
     catch (SoundException& e) {
-        log_error("Could not attach NetStream aux streamer to sound handler: "
-                "%s", e.what());
+        log_error(_("Could not attach NetStream aux streamer to sound handler: 
%s"),
+            e.what());
     }
 }
 
@@ -1441,7 +1443,7 @@ BufferedAudioStreamer::detachAuxStreamer()
     if ( ! _soundHandler ) return;
     if ( !_auxStreamer )
     {
-        log_debug("detachAuxStreamer called while not attached");
+        log_debug(_("detachAuxStreamer called while not attached"));
         return;
     }
     _soundHandler->unplugInputStream(_auxStreamer);
@@ -1479,8 +1481,8 @@ BufferedAudioStreamer::fetch(boost::int16_t* samples, 
unsigned int nSamples, boo
     boost::mutex::scoped_lock lock(_audioQueueMutex);
 
 #if 0
-    log_debug("audio_streamer called, audioQueue size: %d, "
-        "requested %d bytes of fill-up",
+    log_debug(_("audio_streamer called, audioQueue size: %d, "
+                "requested %d bytes of fill-up"),
         _audioQueue.size(), len);
 #endif
 
@@ -1663,7 +1665,7 @@ netstream_attachAudio(const fn_call& fn)
     NetStream_as* ns = ensure<ThisIsNative<NetStream_as> >(fn);
     UNUSED(ns);
 
-    LOG_ONCE(log_unimpl("NetStream.attachAudio"));
+    LOG_ONCE(log_unimpl(_("NetStream.attachAudio")));
 
     return as_value();
 }
@@ -1674,7 +1676,7 @@ netstream_attachVideo(const fn_call& fn)
     NetStream_as* ns = ensure<ThisIsNative<NetStream_as> >(fn);
     UNUSED(ns);
 
-    LOG_ONCE(log_unimpl("NetStream.attachVideo"));
+    LOG_ONCE(log_unimpl(_("NetStream.attachVideo")));
 
     return as_value();
 }
@@ -1685,7 +1687,7 @@ netstream_publish(const fn_call& fn)
     NetStream_as* ns = ensure<ThisIsNative<NetStream_as> >(fn);
     UNUSED(ns);
 
-    LOG_ONCE(log_unimpl("NetStream.publish"));
+    LOG_ONCE(log_unimpl(_("NetStream.publish")));
 
     return as_value();
 }
@@ -1696,7 +1698,7 @@ netstream_receiveAudio(const fn_call& fn)
     NetStream_as* ns = ensure<ThisIsNative<NetStream_as> >(fn);
     UNUSED(ns);
 
-    LOG_ONCE(log_unimpl("NetStream.receiveAudio"));
+    LOG_ONCE(log_unimpl(_("NetStream.receiveAudio")));
 
     return as_value();
 }
@@ -1707,7 +1709,7 @@ netstream_receiveVideo(const fn_call& fn)
     NetStream_as* ns = ensure<ThisIsNative<NetStream_as> >(fn);
     UNUSED(ns);
 
-    LOG_ONCE(log_unimpl("NetStream.receiveVideo"));
+    LOG_ONCE(log_unimpl(_("NetStream.receiveVideo")));
 
     return as_value();
 }
@@ -1718,7 +1720,7 @@ netstream_send(const fn_call& fn)
     NetStream_as* ns = ensure<ThisIsNative<NetStream_as> >(fn);
     UNUSED(ns);
 
-    LOG_ONCE(log_unimpl("NetStream.send"));
+    LOG_ONCE(log_unimpl(_("NetStream.send")));
 
     return as_value();
 }
@@ -1802,7 +1804,7 @@ netstream_liveDelay(const fn_call& fn)
     NetStream_as* ns = ensure<ThisIsNative<NetStream_as> >(fn);
     UNUSED(ns);
 
-    LOG_ONCE(log_unimpl("NetStream.liveDelay"));
+    LOG_ONCE(log_unimpl(_("NetStream.liveDelay")));
 
     if (!fn.nargs) {
         return as_value();
@@ -1854,22 +1856,22 @@ executeTag(const SimpleBuffer& _buffer, as_object& 
thisPtr)
         funcName = amf::readString(ptr, endptr);
     }
     catch (const amf::AMFException&) {
-        log_error("Invalid AMF data in FLV tag");
+        log_error(_("Invalid AMF data in FLV tag"));
         return;
     }
 
        VM& vm = getVM(thisPtr);
        const ObjectURI& funcKey = getURI(vm, funcName);
 
-    amf::Reader rd(ptr, endptr, getGlobal(thisPtr));
+        amf::Reader rd(ptr, endptr, getGlobal(thisPtr));
 
        as_value arg;
        if (!rd(arg)) {
-               log_error("Could not convert FLV metatag to as_value, passing "
-                "undefined");
+               log_error(_("Could not convert FLV metatag to as_value, passing 
"
+                          "undefined"));
        }
 
-       log_debug("Calling %s(%s)", funcName, arg);
+       log_debug(_("Calling %s(%s)"), funcName, arg);
        callMethod(&thisPtr, funcKey, arg);
 }
 
diff --git a/libcore/asobj/Object.cpp b/libcore/asobj/Object.cpp
index a8d7379..97cdce3 100644
--- a/libcore/asobj/Object.cpp
+++ b/libcore/asobj/Object.cpp
@@ -295,8 +295,8 @@ object_registerClass(const fn_call& fn)
     // https://savannah.gnu.org/bugs/index.php?23130
     DisplayObject* tgt = fn.env().target();
     if (!tgt) {
-        log_error("current environment has no target, wouldn't know "
-                "where to look for symbol required for registerClass"); 
+        log_error(_("current environment has no target, wouldn't know "
+                    "where to look for symbol required for registerClass"));
         return as_value(false);
     }
 
diff --git a/libcore/asobj/PlayHead.cpp b/libcore/asobj/PlayHead.cpp
index ee3661f..ef3870f 100644
--- a/libcore/asobj/PlayHead.cpp
+++ b/libcore/asobj/PlayHead.cpp
@@ -93,9 +93,9 @@ PlayHead::advanceIfConsumed()
         // not all available consumers consumed current position,
         // won't advance
 #if 0
-        log_debug("PlayHead::advance(): "
+        log_debug(_("PlayHead::advance(): "
             "not all consumers consumed current position, "
-            "won't advance");
+                    "won't advance"));
 #endif
         return;
     }
diff --git a/libcore/asobj/Selection_as.cpp b/libcore/asobj/Selection_as.cpp
index 875b548..731a31d 100644
--- a/libcore/asobj/Selection_as.cpp
+++ b/libcore/asobj/Selection_as.cpp
@@ -186,7 +186,7 @@ selection_setFocus(const fn_call& fn)
     /// taken.
     if (!fn.nargs || fn.nargs > 1) {
         IF_VERBOSE_ASCODING_ERRORS(
-           log_aserror("Selection.setFocus: expected 1 argument, got %d",
+            log_aserror(_("Selection.setFocus: expected 1 argument, got %d"),
                fn.nargs);
         );
         return as_value(false);
diff --git a/libcore/asobj/SharedObject_as.cpp 
b/libcore/asobj/SharedObject_as.cpp
index 39c3444..32e98d2 100644
--- a/libcore/asobj/SharedObject_as.cpp
+++ b/libcore/asobj/SharedObject_as.cpp
@@ -135,7 +135,7 @@ public:
         assert(!_error);
 
         if (val.is_function()) {
-            log_debug("SOL: skip serialization of FUNCTION property");
+            log_debug(_("SOL: skip serialization of FUNCTION property"));
             return true;
         }
 
@@ -160,7 +160,7 @@ public:
 
         // Strict array are never encoded in SharedObject
         if (!val.writeAMF0(_writer)) {
-            log_error("Problems serializing an object's member %s=%s",
+            log_error(_("Problems serializing an object's member %s=%s"),
                     name, val);
             _error = true;
 
@@ -320,15 +320,16 @@ SharedObject_as::flush(int space) const
     if (!_data) return false;
 
     if (space > 0) {
-        log_unimpl("SharedObject.flush() called with a minimum disk space "
-                "argument (%d), which is currently ignored", space);
+        log_unimpl(_("SharedObject.flush() called with a minimum disk space "
+                     "argument (%d), which is currently ignored"), space);
     }
 
     const std::string& filespec = getFilespec();
 
     if (!rcfile.getSOLReadOnly()) {
         if (!mkdirRecursive(filespec)) {
-            log_error("Couldn't create dir for flushing SharedObject %s", 
filespec);
+            log_error(_("Couldn't create dir for flushing SharedObject %s"),
+                        filespec);
             return false;
         }
         
@@ -340,16 +341,16 @@ SharedObject_as::flush(int space) const
     }
 
     if (rcfile.getSOLReadOnly()) {
-        log_security("Attempting to write object %s when it's SOL "
-                     "Read Only is set! Refusing...", filespec);
+        log_security(_("Attempting to write object %s when it's SOL "
+                       "Read Only is set! Refusing..."), filespec);
         return false;
     }
 
     // Open file
     std::ofstream ofs(filespec.c_str(), std::ios::binary);
     if (!ofs) {
-        log_error("SharedObject::flush(): Failed opening file '%s' in "
-                "binary mode", filespec.c_str());
+        log_error(_("SharedObject::flush(): Failed opening file '%s' in "
+                    "binary mode"), filespec.c_str());
         return false;
     }
 
@@ -367,20 +368,20 @@ SharedObject_as::flush(int space) const
     // Write header
     ofs.write(reinterpret_cast<const char*>(header.data()), header.size());
     if (!ofs) {
-        log_error("Error writing SOL header");
+        log_error(_("Error writing SOL header"));
         return false;
     }
 
     // Write AMF data
     ofs.write(reinterpret_cast<const char*>(buf.data()), buf.size());
     if (!ofs) {
-        log_error("Error writing %d bytes to output file %s",
+        log_error(_("Error writing %d bytes to output file %s"),
                 buf.size(), filespec.c_str());
         return false;
     }
     ofs.close();
 
-    log_security("SharedObject '%s' written to filesystem.", filespec);
+    log_security(_("SharedObject '%s' written to filesystem."), filespec);
     return true;
 }
 
@@ -396,15 +397,15 @@ SharedObjectLibrary::SharedObjectLibrary(VM& vm)
 
     _solSafeDir = rcfile.getSOLSafeDir();
     if (_solSafeDir.empty()) {
-        log_debug("Empty SOLSafeDir directive: we'll use '/tmp'");
+        log_debug(_("Empty SOLSafeDir directive: we'll use '/tmp'"));
         _solSafeDir = "/tmp/";
     }
 
     // Check if the base dir exists here
     struct stat statbuf;
     if (stat(_solSafeDir.c_str(), &statbuf) == -1) {
-       log_debug("Invalid SOL safe dir %s: %s. Will try to create on "
-               "flush/exit.", _solSafeDir, std::strerror(errno));
+        log_debug(_("Invalid SOL safe dir %s: %s. Will try to create on "
+                    "flush/exit."), _solSafeDir, std::strerror(errno));
     }
 
     // Which URL we should use here is under research.
@@ -489,8 +490,8 @@ SharedObjectLibrary::getLocal(const std::string& objName,
 
     if (rcfile.getSOLLocalDomain() && !_baseDomain.empty()) 
     {
-        log_security("Attempting to open SOL file from non "
-                "localhost-loaded SWF");
+        log_security(_("Attempting to open SOL file from non "
+                       "localhost-loaded SWF"));
         return 0;
     }
 
@@ -561,11 +562,11 @@ SharedObjectLibrary::getLocal(const std::string& objName,
     // If the shared object was already opened, use it.
     SoLib::iterator it = _soLib.find(key);
     if (it != _soLib.end()) {
-        log_debug("SharedObject %s already known, returning it", key);
+        log_debug(_("SharedObject %s already known, returning it"), key);
         return &it->second->owner();
     }
 
-    log_debug("SharedObject %s not loaded. Loading it now", key);
+    log_debug(_("SharedObject %s not loaded. Loading it now"), key);
 
     // Otherwise create a new one and register to the lib
     SharedObject_as* sh = createSharedObject(*_vm.getGlobal());
@@ -579,7 +580,7 @@ SharedObjectLibrary::getLocal(const std::string& objName,
     newspec += ".sol";
     sh->setFilespec(newspec);
 
-    log_debug("SharedObject path: %s", newspec);
+    log_debug(_("SharedObject path: %s"), newspec);
         
     as_object* data = readSOL(_vm, newspec);
 
@@ -684,7 +685,7 @@ sharedobject_clear(const fn_call& fn)
     SharedObject_as* obj = ensure<ThisIsNative<SharedObject_as> >(fn);
     UNUSED(obj);
     
-    LOG_ONCE(log_unimpl (__FUNCTION__));
+    LOG_ONCE(log_unimpl(__FUNCTION__));
 
     return as_value();
 }
@@ -705,7 +706,7 @@ sharedobject_connect(const fn_call& fn)
         return as_value();
     }
 
-    LOG_ONCE(log_unimpl("SharedObject.connect()"));
+    LOG_ONCE(log_unimpl(_("SharedObject.connect()")));
 
     return as_value();
 }
@@ -726,7 +727,7 @@ sharedobject_setFps(const fn_call& fn)
     SharedObject_as* obj = ensure<ThisIsNative<SharedObject_as> >(fn);
     UNUSED(obj);
 
-    LOG_ONCE(log_unimpl("SharedObject.setFps"));
+    LOG_ONCE(log_unimpl(_("SharedObject.setFps")));
     return as_value();
 }
 
@@ -735,7 +736,7 @@ sharedobject_send(const fn_call& fn)
 {
     SharedObject_as* obj = ensure<ThisIsNative<SharedObject_as> >(fn);
     UNUSED(obj);
-    LOG_ONCE(log_unimpl("SharedObject.send"));
+    LOG_ONCE(log_unimpl(_("SharedObject.send")));
     return as_value();
 }
 
@@ -783,7 +784,7 @@ sharedobject_getLocal(const fn_call& fn)
         IF_VERBOSE_ASCODING_ERRORS(
             std::ostringstream ss;
             fn.dump_args(ss);
-            log_aserror("SharedObject.getLocal(%s): missing object name");
+            log_aserror(_("SharedObject.getLocal(%s): missing object name"));
         );
         as_value ret;
         ret.set_null();
@@ -795,21 +796,21 @@ sharedobject_getLocal(const fn_call& fn)
         root = fn.arg(1).to_string(swfVersion);
     }
 
-    log_debug("SO name:%s, root:%s", objName, root);
+    log_debug(_("SO name:%s, root:%s"), objName, root);
 
     VM& vm = getVM(fn);
 
     as_object* obj = vm.getSharedObjectLibrary().getLocal(objName, root);
 
     as_value ret(obj);
-    log_debug("SharedObject.getLocal returning %s", ret);
+    log_debug(_("SharedObject.getLocal returning %s"), ret);
     return ret;
 }
 
 as_value
 sharedobject_getRemote(const fn_call& /*fn*/)
 {
-    LOG_ONCE(log_unimpl("SharedObject.getRemote()"));
+    LOG_ONCE(log_unimpl(_("SharedObject.getRemote()")));
     return as_value();
 }
 
@@ -824,7 +825,7 @@ sharedobject_deleteAll(const fn_call& fn)
 
     UNUSED(obj);
 
-    LOG_ONCE(log_unimpl("SharedObject.deleteAll()"));
+    LOG_ONCE(log_unimpl(_("SharedObject.deleteAll()")));
     return as_value();
 }
 
@@ -839,7 +840,7 @@ sharedobject_getDiskUsage(const fn_call& fn)
 
     UNUSED(obj);
 
-    LOG_ONCE(log_unimpl("SharedObject.getDiskUsage()"));
+    LOG_ONCE(log_unimpl(_("SharedObject.getDiskUsage()")));
     return as_value();
 }
 
@@ -891,7 +892,7 @@ readSOL(VM& vm, const std::string& filespec)
 
     if (stat(filespec.c_str(), &st) != 0) {
         // No existing SOL file. A new one will be created.
-        log_debug("No existing SOL %s found. Will create on flush/exit.",
+        log_debug(_("No existing SOL %s found. Will create on flush/exit."),
                  filespec);
         return data;
     }
@@ -900,8 +901,8 @@ readSOL(VM& vm, const std::string& filespec)
 
     if (size < 28) {
         // A SOL file exists, but it was invalid. Count it as not existing.
-        log_error("readSOL: SOL file %s is too short "
-                 "(only %s bytes long) to be valid.", filespec, st.st_size);
+        log_error(_("readSOL: SOL file %s is too short "
+                    "(only %s bytes long) to be valid."), filespec, 
st.st_size);
         return data;
     }
 
@@ -925,7 +926,7 @@ readSOL(VM& vm, const std::string& filespec)
 
         if (buf >= end) {
             // In this case there is no data member.
-            log_error("readSOL: file ends before data segment");
+            log_error(_("readSOL: file ends before data segment"));
             return data;
         }
 
@@ -933,12 +934,12 @@ readSOL(VM& vm, const std::string& filespec)
 
         while (buf != end) {
 
-            log_debug("readSOL: reading property name at "
-                    "byte %s", buf - sbuf.get());
+            log_debug(_("readSOL: reading property name at "
+                      "byte %s"), buf - sbuf.get());
             // read property name
             
             if (end - buf < 2) {
-                log_error("SharedObject: end of buffer while reading length");
+                log_error(_("SharedObject: end of buffer while reading 
length"));
                 break;
             }
 
@@ -947,12 +948,12 @@ readSOL(VM& vm, const std::string& filespec)
             buf += 2;
 
             if (!len) {
-                log_error("readSOL: empty property name");
+                log_error(_("readSOL: empty property name"));
                 break;
             }
 
             if (end - buf < len) {
-                log_error("SharedObject::readSOL: premature end of input");
+                log_error(_("SharedObject::readSOL: premature end of input"));
                 break;
             }
 
@@ -963,12 +964,12 @@ readSOL(VM& vm, const std::string& filespec)
             as_value as;
 
             if (!rd(as)) {
-                log_error("SharedObject: error parsing SharedObject '%s'",
+                log_error(_("SharedObject: error parsing SharedObject '%s'"),
                         filespec);
                 return 0;
             }
 
-            log_debug("parsed sol member named '%s' (len %s),  value '%s'",
+            log_debug(_("parsed sol member named '%s' (len %s),  value '%s'"),
                     prop_name, len, as);
 
             // set name/value as a member of this (SharedObject) object
@@ -982,7 +983,7 @@ readSOL(VM& vm, const std::string& filespec)
     }
 
     catch (std::exception& e) {
-        log_error("readSOL: Reading SharedObject %s: %s", 
+        log_error(_("readSOL: Reading SharedObject %s: %s"),
                  filespec, e.what());
         return 0;
     }
@@ -1060,7 +1061,7 @@ encodeData(const std::string& name, as_object& data, 
SimpleBuffer& buf)
     if (!props.success()) {
         // There are good reasons for this to fail, so it's not an error. Real
         // errors are logged during serialization.
-        log_debug("Did not serialize object");
+        log_debug(_("Did not serialize object"));
         return false;
     }
     return true;
diff --git a/libcore/asobj/Sound_as.cpp b/libcore/asobj/Sound_as.cpp
index 8ab7f1f..dbd0346 100644
--- a/libcore/asobj/Sound_as.cpp
+++ b/libcore/asobj/Sound_as.cpp
@@ -330,7 +330,7 @@ void
 Sound_as::stopProbeTimer()
 {
 #ifdef GNASH_DEBUG_SOUND_AS
-    log_debug("stopProbeTimer called");
+    log_debug(_("stopProbeTimer called"));
 #endif
     getRoot(owner()).removeAdvanceCallback(this);
 }
@@ -365,7 +365,7 @@ Sound_as::probeAudio()
 
     if ( ! _soundLoaded ) {
 #ifdef GNASH_DEBUG_SOUND_AS
-        log_debug("Probing audio for load");
+        log_debug(_("Probing audio for load"));
 #endif
         if (_mediaParser->parsingCompleted()) {
 
@@ -385,7 +385,7 @@ Sound_as::probeAudio()
 
     if (isAttached()) {
 #ifdef GNASH_DEBUG_SOUND_AS
-        log_debug("Probing audio for end");
+        log_debug(_("Probing audio for end"));
 #endif
 
         boost::mutex::scoped_lock lock(_soundCompletedMutex);
@@ -406,12 +406,12 @@ Sound_as::probeAudio()
     }
     else {
 #ifdef GNASH_DEBUG_SOUND_AS
-        log_debug("Probing audio for start");
+        log_debug(_("Probing audio for start"));
 #endif
 
         bool parsingCompleted = _mediaParser->parsingCompleted();
         try {
-            log_debug("Attaching aux streamer");
+            log_debug(_("Attaching aux streamer"));
             _inputStream = attachAuxStreamerIfNeeded();
         } 
         catch (const MediaException& e) {
@@ -425,7 +425,7 @@ Sound_as::probeAudio()
 
         if ( ! _inputStream ) {
             if ( parsingCompleted ) {
-                log_debug("No audio in Sound input.");
+                log_error(_("No audio in Sound input."));
                 stopProbeTimer();
                 _mediaParser.reset(); // no use for this anymore...
             } else {
@@ -510,11 +510,11 @@ Sound_as::getVolume(int& volume)
     //       some other sound...
     //
     if ( _attachedCharacter ) {
-        //log_debug("Sound has an attached DisplayObject");
+        //log_debug(_("Sound has an attached DisplayObject"));
         DisplayObject* ch = _attachedCharacter->get();
         if (! ch) {
-            log_debug("Character attached to Sound was unloaded and "
-                    "couldn't rebind");
+            log_debug(_("Character attached to Sound was unloaded and "
+                        "couldn't rebind"));
             return false;
         }
         volume = ch->getVolume();
@@ -525,7 +525,7 @@ Sound_as::getVolume(int& volume)
     // sound_handler for volume. If we have no sound handler, we
     // can't do much, so we'll return false
     if (!_soundHandler) {
-        log_debug("We have no sound handler here...");
+        log_debug(_("We have no sound handler here..."));
         return false;
     }
 
@@ -546,7 +546,7 @@ void
 Sound_as::loadSound(const std::string& file, bool streaming)
 {
     if (!_mediaHandler || !_soundHandler) {
-        log_debug("No media or sound handlers, won't load any sound");
+        log_debug(_("No media or sound handlers, won't load any sound"));
         return;
     }
 
@@ -578,7 +578,7 @@ Sound_as::loadSound(const std::string& file, bool streaming)
                 rcfile.saveStreamingMedia()));
 
     if (!inputStream.get()) {
-        log_error( _("Gnash could not open this url: %s"), url );
+        log_error(_("Gnash could not open this url: %s"), url );
         // dispatch onLoad (false)
         callMethod(&owner(), NSV::PROP_ON_LOAD, false);
         return;
@@ -616,7 +616,7 @@ Sound_as::attachAuxStreamerIfNeeded()
 
     // start playing ASAP, a call to ::start will just change _startTime
 #ifdef GNASH_DEBUG_SOUND_AS
-    log_debug("Attaching the aux streamer");
+    log_debug(_("Attaching the aux streamer"));
 #endif
     return _soundHandler->attach_aux_streamer(getAudioWrapper, (void*) this);
 }
@@ -643,8 +643,8 @@ Sound_as::setVolume(int volume)
     if ( _attachedCharacter ) {
         DisplayObject* ch = _attachedCharacter->get();
         if ( ! ch ) {
-            log_debug("Character attached to Sound was unloaded and "
-                      "couldn't rebind");
+            log_debug(_("Character attached to Sound was unloaded and "
+                        "couldn't rebind"));
             return;
         }
         ch->setVolume(volume);
@@ -673,13 +673,13 @@ void
 Sound_as::start(double secOff, int loops)
 {
     if ( ! _soundHandler ) {
-        log_error("No sound handler, nothing to start...");
+        log_error(_("No sound handler, nothing to start..."));
         return;
     }
 
     if (externalSound) {
         if ( ! _mediaParser ) {
-            log_error("No MediaParser initialized, can't start an external 
sound");
+            log_error(_("No MediaParser initialized, can't start an external 
sound"));
             return;
         }
 
@@ -696,7 +696,7 @@ Sound_as::start(double secOff, int loops)
             boost::uint32_t seekms = boost::uint32_t(secOff * 1000);
             // TODO: boost::mutex::scoped_lock parserLock(_parserMutex);
             bool seeked = _mediaParser->seek(seekms); // well, we try...
-            log_debug("Seeked MediaParser to %d, returned: %d", seekms, 
seeked);
+            log_debug(_("Seeked MediaParser to %d, returned: %d"), seekms, 
seeked);
         }
 
 
@@ -714,7 +714,7 @@ Sound_as::start(double secOff, int loops)
             inPoint = (secOff*44100);
         }
 
-        log_debug("Sound.start: secOff:%d", secOff);
+        log_debug(_("Sound.start: secOff:%d"), secOff);
 
         _soundHandler->startSound(
                     soundId,
@@ -732,7 +732,7 @@ void
 Sound_as::stop(int si)
 {
     if ( ! _soundHandler ) {
-        log_error("No sound handler, nothing to stop...");
+        log_error(_("No sound handler, nothing to stop..."));
         return;
     }
 
@@ -760,7 +760,7 @@ size_t
 Sound_as::getDuration() const
 {
     if ( ! _soundHandler ) {
-        log_error("No sound handler, can't check duration...");
+        log_error(_("No sound handler, can't check duration..."));
         return 0;
     }
 
@@ -785,8 +785,8 @@ size_t
 Sound_as::getPosition() const
 {
     if (!_soundHandler) {
-        log_error("No sound handler, can't check position (we're "
-                "likely not playing anyway)...");
+        log_error(_("No sound handler, can't check position (we're "
+                    "likely not playing anyway)..."));
         return 0;
     }
 
@@ -822,14 +822,14 @@ Sound_as::getAudio(boost::int16_t* samples, unsigned int 
nSamples, bool& atEOF)
             if ( ! frame.get() ) {
                 // just wait some more if parsing isn't complete yet
                 if ( ! parsingComplete ) {
-                    //log_debug("Parsing not complete and no more audio frames 
in input, try again later");
+                    //log_debug(_("Parsing not complete and no more audio 
frames in input, try again later"));
                     break;
                 }
 
                 // or detach and stop here...
                 // (should really honour loopings if any,
                 // but that should be only done for non-streaming sound!)
-                //log_debug("Parsing complete and no more audio frames in 
input, detaching");
+                //log_debug(_("Parsing complete and no more audio frames in 
input, detaching"));
 
                 markSoundCompleted(true);
 
@@ -845,24 +845,25 @@ Sound_as::getAudio(boost::int16_t* samples, unsigned int 
nSamples, bool& atEOF)
             // if we've been asked to start at a specific time, skip
             // any frame with earlier timestamp
             if ( frame->timestamp < _startTime ) {
-                //log_debug("This audio frame timestamp (%d) < requested start 
time (%d)", frame->timestamp, _startTime);
+                //log_debug(_("This audio frame timestamp (%d) < requested 
start time (%d)"), frame->timestamp, _startTime);
                 continue;
             }
 
             _leftOverData.reset( _audioDecoder->decode(*frame, _leftOverSize) 
);
             _leftOverPtr = _leftOverData.get();
             if ( ! _leftOverData ) {
-                log_error("No samples decoded from input of %d bytes", 
frame->dataSize);
+                log_error(_("No samples decoded from input of %d bytes"),
+                          frame->dataSize);
                 continue;
             }
 
-            //log_debug(" decoded %d bytes of audio", _leftOverSize);
+            //log_debug(_(" decoded %d bytes of audio"), _leftOverSize);
         }
 
         assert( !(_leftOverSize%2) );
 
         int n = std::min<int>(_leftOverSize, len);
-        //log_debug(" consuming %d bytes of decoded audio", n);
+        //log_debug(_(" consuming %d bytes of decoded audio"), n);
 
         std::copy(_leftOverPtr, _leftOverPtr+n, stream);
 
@@ -951,7 +952,7 @@ sound_new(const fn_call& fn)
         IF_VERBOSE_ASCODING_ERRORS(
             if (fn.nargs > 1) {
                 std::stringstream ss; fn.dump_args(ss);
-                log_aserror("new Sound(%d) : args after first one ignored",
+                log_aserror(_("new Sound(%d) : args after first one ignored"),
                     ss.str());
             }
         );
@@ -965,9 +966,9 @@ sound_new(const fn_call& fn)
             IF_VERBOSE_ASCODING_ERRORS(
                 if (!ch) {
                     std::stringstream ss; fn.dump_args(ss);
-                    log_aserror("new Sound(%s) : first argument isn't null "
+                    log_aserror(_("new Sound(%s) : first argument isn't null "
                         "or undefined, and isn't a DisplayObject. "
-                        "We'll take as an invalid DisplayObject ref.",
+                                  "We'll take as an invalid DisplayObject 
ref."),
                         ss.str());
                 }
             );
@@ -1123,7 +1124,7 @@ sound_getbytestotal(const fn_call& fn)
 as_value
 sound_getpan(const fn_call& /*fn*/)
 {
-    LOG_ONCE( log_unimpl ("Sound.getPan()") );
+    LOG_ONCE(log_unimpl(_("Sound.getPan()")));
     return as_value();
 }
 
@@ -1138,7 +1139,7 @@ sound_getDuration(const fn_call& fn)
 as_value
 sound_setDuration(const fn_call& /*fn*/)
 {
-    LOG_ONCE( log_unimpl ("Sound.setDuration()") );
+    LOG_ONCE(log_unimpl(_("Sound.setDuration()")));
     return as_value();
 }
 
@@ -1153,14 +1154,14 @@ sound_getPosition(const fn_call& fn)
 as_value
 sound_setPosition(const fn_call& /*fn*/)
 {
-    LOG_ONCE( log_unimpl ("Sound.setPosition()") );
+    LOG_ONCE(log_unimpl(_("Sound.setPosition()")));
     return as_value();
 }
 
 as_value
 sound_gettransform(const fn_call& /*fn*/)
 {
-    LOG_ONCE( log_unimpl ("Sound.getTransform()") );
+    LOG_ONCE( log_unimpl(_("Sound.getTransform()")));
     return as_value();
 }
 
@@ -1172,8 +1173,8 @@ sound_getvolume(const fn_call& fn)
 
     if ( fn.nargs ) {
         IF_VERBOSE_ASCODING_ERRORS(
-        std::stringstream ss; fn.dump_args(ss);
-        log_aserror("Sound.getVolume(%s) : arguments ignored");
+            std::stringstream ss; fn.dump_args(ss);
+            log_aserror(_("Sound.getVolume(%s) : arguments ignored"));
         );
     }
 
@@ -1218,14 +1219,14 @@ sound_loadsound(const fn_call& fn)
 as_value
 sound_setpan(const fn_call& /*fn*/)
 {
-    LOG_ONCE( log_unimpl ("Sound.setPan()") );
+    LOG_ONCE(log_unimpl(_("Sound.setPan()")));
     return as_value();
 }
 
 as_value
 sound_settransform(const fn_call& /*fn*/)
 {
-    LOG_ONCE( log_unimpl ("Sound.setTransform()") );
+    LOG_ONCE(log_unimpl(_("Sound.setTransform()")));
     return as_value();
 }
 
@@ -1249,7 +1250,7 @@ sound_setvolume(const fn_call& fn)
 as_value
 checkPolicyFile_getset(const fn_call& /*fn*/)
 {
-    LOG_ONCE( log_unimpl ("Sound.checkPolicyFile") );
+    LOG_ONCE(log_unimpl(_("Sound.checkPolicyFile")));
     return as_value();
 }
 
@@ -1262,7 +1263,7 @@ sound_areSoundsInaccessible(const fn_call& /*fn*/)
     // 
     // naive test shows this always being undefined..
     //
-    LOG_ONCE( log_unimpl ("Sound.areSoundsInaccessible()") );
+    LOG_ONCE(log_unimpl(_("Sound.areSoundsInaccessible()")));
     return as_value();
 }
 
diff --git a/libcore/asobj/Stage_as.cpp b/libcore/asobj/Stage_as.cpp
index 30c64ed..5d65083 100644
--- a/libcore/asobj/Stage_as.cpp
+++ b/libcore/asobj/Stage_as.cpp
@@ -199,8 +199,8 @@ stage_showMenu(const fn_call& fn)
         return as_value(m.getShowMenuState());
     }
     
-    LOG_ONCE(log_unimpl("Stage.showMenu implemented by setting gnashrc "
-                "option and for gtk only"));
+    LOG_ONCE(log_unimpl(_("Stage.showMenu implemented by setting gnashrc "
+                          "option and for gtk only")));
 
     const bool state = toBool(fn.arg(0), getVM(fn));
     
diff --git a/libcore/asobj/String_as.cpp b/libcore/asobj/String_as.cpp
index bb1b0da..0edebf0 100644
--- a/libcore/asobj/String_as.cpp
+++ b/libcore/asobj/String_as.cpp
@@ -195,7 +195,7 @@ string_slice(const fn_call& fn)
 
     size_t retlen = end - start;
 
-    //log_debug("start: %d, end: %d, retlen: %d", start, end, retlen);
+    //log_debug(_("start: %d, end: %d, retlen: %d"), start, end, retlen);
 
     return as_value(utf8::encodeCanonicalString(
                 wstr.substr(start, retlen), version));
@@ -459,7 +459,7 @@ string_substring(const fn_call& fn)
     }
     
     end -= start;
-    //log_debug("Start: %d, End: %d", start, end);
+    //log_debug(_("Start: %d, End: %d"), start, end);
 
     return as_value(utf8::encodeCanonicalString(wstr.substr(start, end), 
version));
 }
@@ -493,8 +493,8 @@ string_indexOf(const fn_call& fn)
         else {
             IF_VERBOSE_ASCODING_ERRORS(
                 if (start_arg < 0) {
-                    log_aserror("String.indexOf(%s, %s): second argument casts 
"
-                        "to invalid offset (%d)", tfarg, saval, start_arg);
+                    log_aserror(_("String.indexOf(%s, %s): second argument 
casts "
+                                  "to invalid offset (%d)"), tfarg, saval, 
start_arg);
                 }
             );
         }
@@ -753,7 +753,7 @@ getStringVersioned(const fn_call& fn, const as_value& val, 
std::string& str)
     ///       in most cases a null callerDef means the caller forgot to 
     ///       set the field (ie: a programmatic error)
     if (!fn.callerDef) {
-        log_error("No fn_call::callerDef in string function call");
+        log_error(_("No fn_call::callerDef in string function call"));
     }
 
     const int version = fn.callerDef ? fn.callerDef->get_version() :
diff --git a/libcore/asobj/System_as.cpp b/libcore/asobj/System_as.cpp
index 56a7ec3..41ccae0 100644
--- a/libcore/asobj/System_as.cpp
+++ b/libcore/asobj/System_as.cpp
@@ -307,7 +307,7 @@ attachSystemInterface(as_object& proto)
 as_value
 system_security_allowdomain(const fn_call& fn)
 {
-    LOG_ONCE(log_unimpl("System.security.allowDomain"));
+    LOG_ONCE(log_unimpl(_("System.security.allowDomain")));
     if (!fn.nargs) {
         return as_value(false);
     }
@@ -318,7 +318,7 @@ system_security_allowdomain(const fn_call& fn)
 as_value
 system_security_allowinsecuredomain(const fn_call& /*fn*/)
 {
-    LOG_ONCE(log_unimpl("System.security.allowInsecureDomain"));
+    LOG_ONCE(log_unimpl(_("System.security.allowInsecureDomain")));
     return as_value();
 }
 
@@ -326,7 +326,7 @@ system_security_allowinsecuredomain(const fn_call& /*fn*/)
 as_value
 system_security_loadpolicyfile(const fn_call& /*fn*/)
 {
-    LOG_ONCE(log_unimpl("System.security.loadPolicyFile"));
+    LOG_ONCE(log_unimpl(_("System.security.loadPolicyFile")));
     return as_value();
 }
 
@@ -347,7 +347,7 @@ system_setClipboard(const fn_call& fn)
 as_value
 system_showsettings(const fn_call& /*fn*/)
 {
-    LOG_ONCE(log_unimpl("System.showSettings"));
+    LOG_ONCE(log_unimpl(_("System.showSettings")));
     return as_value();
 }
 
@@ -364,7 +364,7 @@ system_exactsettings(const fn_call& fn)
         return as_value(true);   
     }
     else {
-        LOG_ONCE(log_unimpl("System.exactSettings"));
+        LOG_ONCE(log_unimpl(_("System.exactSettings")));
         return as_value();
     }
 }
@@ -382,7 +382,7 @@ system_usecodepage(const fn_call& fn)
         return as_value(false);   
     }
     else {
-        LOG_ONCE(log_unimpl ("System.useCodepage") );
+        LOG_ONCE(log_unimpl(_("System.useCodepage")));
         return as_value();
     }
 }
diff --git a/libcore/asobj/TextField_as.cpp b/libcore/asobj/TextField_as.cpp
index 24ed571..5464230 100644
--- a/libcore/asobj/TextField_as.cpp
+++ b/libcore/asobj/TextField_as.cpp
@@ -594,7 +594,7 @@ textfield_getFontList(const fn_call& fn)
     TextField* text = ensure<IsDisplayObject<TextField> >(fn);
     UNUSED(text);
 
-    LOG_ONCE(log_unimpl("TextField.getFontList()"));
+    LOG_ONCE(log_unimpl(_("TextField.getFontList()")));
 
     return as_value();
 }
@@ -605,7 +605,7 @@ textfield_getNewTextFormat(const fn_call& fn)
     TextField* text = ensure<IsDisplayObject<TextField> >(fn);
     UNUSED(text);
 
-    LOG_ONCE(log_unimpl("TextField.getNewTextFormat()"));
+    LOG_ONCE(log_unimpl(_("TextField.getNewTextFormat()")));
 
     return as_value();
 }
@@ -655,9 +655,8 @@ textfield_getTextFormat(const fn_call& fn)
     // TODO: add font color and some more
 
     LOG_ONCE(
-        log_unimpl("TextField.getTextFormat() discards url, target, "
-            "tabStops, bullet and display")
-    );
+        log_unimpl(_("TextField.getTextFormat() discards url, target, "
+                     "tabStops, bullet and display")));
 
     return as_value(textformat);
 }
@@ -670,16 +669,15 @@ textfield_setTextFormat(const fn_call& fn)
     if (!fn.nargs) {
         IF_VERBOSE_ASCODING_ERRORS(
             std::stringstream ss; fn.dump_args(ss);
-            log_aserror("TextField.setTextFormat(%s) : %s", ss.str(),
-                _("missing arg"))
-        );
+            log_aserror(_("TextField.setTextFormat(%s) : %s"), ss.str(),
+                _("missing arg")));
         return as_value();
     }
     else if (fn.nargs > 1) {
         LOG_ONCE(
             std::stringstream ss; fn.dump_args(ss);
-            log_unimpl("TextField.setTextFormat(%s) : args past the first are "
-                    "unhandled by Gnash", ss.str());
+            log_unimpl(_("TextField.setTextFormat(%s) : args past the first 
are "
+                         "unhandled by Gnash"), ss.str());
         );
     }
 
@@ -693,7 +691,7 @@ textfield_setTextFormat(const fn_call& fn)
 
         IF_VERBOSE_ASCODING_ERRORS(
             std::stringstream ss; fn.dump_args(ss);
-            log_aserror("TextField.setTextFormat(%s) : %s", ss.str(), 
+            log_aserror(_("TextField.setTextFormat(%s) : %s"), ss.str(), 
                 _("first argument is not a TextFormat"))
             );
         return as_value();
@@ -728,8 +726,8 @@ textfield_setNewTextFormat(const fn_call& fn)
     TextField* text = ensure<IsDisplayObject<TextField> >(fn);
     UNUSED(text);
 
-    LOG_ONCE( log_unimpl("TextField.setNewTextFormat(), we'll delegate "
-                "to setTextFormat") );
+    LOG_ONCE(log_unimpl(_("TextField.setNewTextFormat(), we'll delegate "
+                          "to setTextFormat")));
     return textfield_setTextFormat(fn);
 }
 
@@ -788,7 +786,7 @@ textfield_bottomScroll(const fn_call& fn)
     TextField* text = ensure<IsDisplayObject<TextField> >(fn);
     UNUSED(text);
 
-    LOG_ONCE(log_unimpl("TextField.bottomScroll is not complete"));
+    LOG_ONCE(log_unimpl(_("TextField.bottomScroll is not complete")));
 
 
     if (!fn.nargs)
@@ -808,7 +806,7 @@ textfield_maxhscroll(const fn_call& fn)
     TextField* text = ensure<IsDisplayObject<TextField> >(fn);
     UNUSED(text);
 
-        LOG_ONCE(log_unimpl("TextField.maxhscroll is not complete"));
+    LOG_ONCE(log_unimpl(_("TextField.maxhscroll is not complete")));
 
 
     if (!fn.nargs)
@@ -904,8 +902,8 @@ textfield_replaceSel(const fn_call& fn)
         IF_VERBOSE_ASCODING_ERRORS(
             std::ostringstream os;
             fn.dump_args(os);
-            log_aserror("TextField.replaceSel(%s) requires exactly one "
-                "argument", os.str());
+            log_aserror(_("TextField.replaceSel(%s) requires exactly one "
+                          "argument"), os.str());
         );
         return as_value();
     }
@@ -943,7 +941,7 @@ textfield_hscroll(const fn_call& fn)
 {
     TextField* text = ensure<IsDisplayObject<TextField> >(fn);
 
-    LOG_ONCE(log_unimpl("TextField._hscroll is not complete"));
+    LOG_ONCE(log_unimpl(_("TextField._hscroll is not complete")));
 
     if (!fn.nargs)
     {
@@ -961,7 +959,7 @@ textfield_maxscroll(const fn_call& fn)
 {
     TextField* text = ensure<IsDisplayObject<TextField> >(fn);
 
-    LOG_ONCE(log_unimpl("TextField.maxscroll is not complete"));
+    LOG_ONCE(log_unimpl(_("TextField.maxscroll is not complete")));
 
     if (!fn.nargs) {
         // Getter
@@ -992,8 +990,8 @@ textfield_replaceText(const fn_call& fn)
     {
         IF_VERBOSE_ASCODING_ERRORS(
         std::stringstream ss; fn.dump_args(ss);
-        log_aserror("TextField.replaceText(%s): negative endIndex"
-            " - doing nothing", ss.str());
+        log_aserror(_("TextField.replaceText(%s): negative endIndex"
+                      " - doing nothing"), ss.str());
         );
         return as_value();
     }
@@ -1018,8 +1016,8 @@ textfield_replaceText(const fn_call& fn)
     {
         IF_VERBOSE_ASCODING_ERRORS(
         std::stringstream ss; fn.dump_args(ss);
-        log_aserror("TextField.replaceText(%s): beginIndex out of range"
-            " - doing nothing", ss.str());
+        log_aserror(_("TextField.replaceText(%s): beginIndex out of range"
+                      " - doing nothing"), ss.str());
         );
         return as_value();
     }
@@ -1035,8 +1033,8 @@ textfield_replaceText(const fn_call& fn)
         //log_aserror...
         IF_VERBOSE_ASCODING_ERRORS(
         std::stringstream ss; fn.dump_args(ss);
-        log_aserror("TextField.replaceText(%s): endIndex out of range"
-            " - taking as end of string", ss.str());
+        log_aserror(_("TextField.replaceText(%s): endIndex out of range"
+                      " - taking as end of string"), ss.str());
         );
     }
     else
@@ -1057,7 +1055,7 @@ textfield_removeTextField(const fn_call& fn)
 
     text->removeTextField();
 
-    LOG_ONCE(log_debug("TextField.removeTextField() TESTING"));
+    LOG_ONCE(log_debug(_("TextField.removeTextField() TESTING")));
 
     return as_value();
 }
diff --git a/libcore/asobj/TextFormat_as.cpp b/libcore/asobj/TextFormat_as.cpp
index b85a6b6..e163b3c 100644
--- a/libcore/asobj/TextFormat_as.cpp
+++ b/libcore/asobj/TextFormat_as.cpp
@@ -480,7 +480,7 @@ textformat_tabStops(const fn_call& fn)
     TextFormat_as* relay = ensure<ThisIsNative<TextFormat_as> >(fn);
        
     if (!fn.nargs) {
-               LOG_ONCE( log_unimpl("Getter for textformat_tabStops") );
+        LOG_ONCE(log_unimpl(_("Getter for textformat_tabStops")));
         as_value null;
         null.set_null();
         return null;
@@ -559,8 +559,8 @@ textformat_getTextExtent(const fn_call& fn)
     
     if (!fn.nargs) {
         IF_VERBOSE_ASCODING_ERRORS(
-            log_aserror("TextFormat.getTextExtent requires at least one"
-                "argument");
+            log_aserror(_("TextFormat.getTextExtent requires at least one"
+                          "argument"));
         );
         return as_value();
     }
@@ -705,7 +705,7 @@ parseDisplayString(const std::string& display)
        if (cmp(display, "block")) return TextField::TEXTFORMAT_BLOCK;
        
     // Is this correct? We have to return something here...
-       log_debug("Invalid display string %s ", display);
+       log_debug(_("Invalid display string %s "), display);
     return TextField::TEXTFORMAT_BLOCK;
 }
 
@@ -723,7 +723,7 @@ getAlignString(TextField::TextAlignment a)
                case TextField::ALIGN_JUSTIFY:
                        return "justify";
                default:
-                       log_error("Uknown alignment value: %d, take as left", 
a);
+                    log_error(_("Uknown alignment value: %d, take as left"), 
a);
                        return "left";
        }
 }
@@ -738,7 +738,7 @@ getDisplayString(TextField::TextFormatDisplay a)
                case TextField::TEXTFORMAT_BLOCK:
                        return "block";
                default:
-                       log_error("Unknown display value: %d ", a);
+                    log_error(_("Unknown display value: %d "), a);
             return "";
        }
 }
diff --git a/libcore/asobj/TextSnapshot_as.cpp 
b/libcore/asobj/TextSnapshot_as.cpp
index f3957a4..02c96a1 100644
--- a/libcore/asobj/TextSnapshot_as.cpp
+++ b/libcore/asobj/TextSnapshot_as.cpp
@@ -518,7 +518,7 @@ textsnapshot_findText(const fn_call& fn)
 
     if (fn.nargs != 3) {
         IF_VERBOSE_ASCODING_ERRORS(
-            log_aserror("TextSnapshot.findText() requires 3 arguments");
+            log_aserror(_("TextSnapshot.findText() requires 3 arguments"));
         );
         return as_value();
     }
@@ -542,7 +542,7 @@ textsnapshot_getCount(const fn_call& fn)
 
     if (fn.nargs) {
         IF_VERBOSE_ASCODING_ERRORS(
-            log_aserror("TextSnapshot.getCount() takes no arguments");
+            log_aserror(_("TextSnapshot.getCount() takes no arguments"));
         );
         return as_value();
     }
@@ -598,7 +598,7 @@ textsnapshot_getText(const fn_call& fn)
     if (fn.nargs < 2 || fn.nargs > 3)
     {
         IF_VERBOSE_ASCODING_ERRORS(
-            log_aserror("TextSnapshot.getText requires exactly 2 arguments");
+            log_aserror(_("TextSnapshot.getText requires exactly 2 
arguments"));
         );
         return as_value();
     }
@@ -621,7 +621,7 @@ textsnapshot_hitTestTextNearPos(const fn_call& fn)
 
     if (!ts->valid()) return as_value();
 
-    log_unimpl (__FUNCTION__);
+    log_unimpl(__FUNCTION__);
     return as_value();
 }
 
@@ -633,7 +633,7 @@ textsnapshot_setSelectColor(const fn_call& fn)
     TextSnapshot_as* ts = ensure<ThisIsNative<TextSnapshot_as> >(fn);
     UNUSED(ts);
 
-    log_unimpl (__FUNCTION__);
+    log_unimpl(__FUNCTION__);
     return as_value();
 }
 
diff --git a/libcore/asobj/Video_as.cpp b/libcore/asobj/Video_as.cpp
index 4369e74..0669134 100644
--- a/libcore/asobj/Video_as.cpp
+++ b/libcore/asobj/Video_as.cpp
@@ -136,7 +136,7 @@ video_deblocking(const fn_call& fn)
     Video* video = ensure<IsDisplayObject<Video> >(fn);
     UNUSED(video);
 
-    log_unimpl("Video.deblocking");
+    log_unimpl(_("Video.deblocking"));
     return as_value();
 }
 
diff --git a/libcore/asobj/XMLSocket_as.cpp b/libcore/asobj/XMLSocket_as.cpp
index fdd031f..6d5d9c8 100644
--- a/libcore/asobj/XMLSocket_as.cpp
+++ b/libcore/asobj/XMLSocket_as.cpp
@@ -210,7 +210,7 @@ XMLSocket_as::checkForIncomingData()
     while (static_cast<size_t>(ptr - buf.get()) < bytesRead) {
 
 #ifdef GNASH_XMLSOCKET_DEBUG
-        log_debug ("read: %d, this string ends: %d", bytesRead,
+        log_debug(_("read: %d, this string ends: %d"), bytesRead,
                 ptr + std::strlen(ptr) - buf.get());
 #endif
 
diff --git a/libcore/asobj/XML_as.cpp b/libcore/asobj/XML_as.cpp
index 1ffc324..12cd952 100644
--- a/libcore/asobj/XML_as.cpp
+++ b/libcore/asobj/XML_as.cpp
@@ -382,7 +382,7 @@ XML_as::parseTag(XMLNode_as*& node, xml_iterator& it,
         // Malformed. Search for the parent node.
         XMLNode_as* s = node;
         while (s && !noCaseCompare(s->nodeName(), tagName)) {
-            //log_debug("parent: %s, this: %s", s->nodeName(), tagName);
+            //log_debug(_("parent: %s, this: %s"), s->nodeName(), tagName);
             s = s->getParent();
         }
         if (s) {
@@ -750,7 +750,7 @@ xml_parseXML(const fn_call& fn)
 
     if (fn.nargs < 1) {
         IF_VERBOSE_ASCODING_ERRORS(
-            log_aserror("XML.parseXML() needs one argument");
+            log_aserror(_("XML.parseXML() needs one argument"));
         );
         return as_value();
     }

http://git.savannah.gnu.org/cgit//commit/?id=e0c17890fe004e09ca9b14c563cafd10d3ff03b7


commit e0c17890fe004e09ca9b14c563cafd10d3ff03b7
Author: Rob Savoye <address@hidden>
Date:   Thu Dec 29 17:10:07 2011 -0700

    updated with new strings

diff --git a/po/gnash.pot b/po/gnash.pot
index b9894e2..63c4cd6 100644
--- a/po/gnash.pot
+++ b/po/gnash.pot
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2011-12-29 16:00-0700\n"
+"POT-Creation-Date: 2011-12-29 17:10-0700\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <address@hidden>\n"
 "Language-Team: LANGUAGE <address@hidden>\n"
@@ -2964,6 +2964,10 @@ msgstr ""
 msgid "Stage.height is a read-only property!"
 msgstr ""
 
+#: libcore/asobj/Stage_as.cpp:202
+msgid "Stage.showMenu implemented by setting gnashrc option and for gtk only"
+msgstr ""
+
 #: libcore/asobj/Video_as.cpp:114
 msgid "attachVideo needs 1 arg"
 msgstr ""
@@ -2973,6 +2977,10 @@ msgstr ""
 msgid "attachVideo(%s) first arg is not a NetStream instance"
 msgstr ""
 
+#: libcore/asobj/Video_as.cpp:139
+msgid "Video.deblocking"
+msgstr ""
+
 #: libcore/asobj/TextField_as.cpp:218
 #, c-format
 msgid "createTextField called with %d args, expected 6 - returning undefined"
@@ -3003,18 +3011,91 @@ msgstr ""
 msgid "Invalid value given to TextField.type: %s"
 msgstr ""
 
-#: libcore/asobj/TextField_as.cpp:674
+#: libcore/asobj/TextField_as.cpp:597
+msgid "TextField.getFontList()"
+msgstr ""
+
+#: libcore/asobj/TextField_as.cpp:608
+msgid "TextField.getNewTextFormat()"
+msgstr ""
+
+#: libcore/asobj/TextField_as.cpp:658
+msgid ""
+"TextField.getTextFormat() discards url, target, tabStops, bullet and display"
+msgstr ""
+
+#: libcore/asobj/TextField_as.cpp:672 libcore/asobj/TextField_as.cpp:694
+#, c-format
+msgid "TextField.setTextFormat(%s) : %s"
+msgstr ""
+
+#: libcore/asobj/TextField_as.cpp:673
 msgid "missing arg"
 msgstr ""
 
-#: libcore/asobj/TextField_as.cpp:697
+#: libcore/asobj/TextField_as.cpp:679
+#, c-format
+msgid ""
+"TextField.setTextFormat(%s) : args past the first are unhandled by Gnash"
+msgstr ""
+
+#: libcore/asobj/TextField_as.cpp:695
 msgid "first argument is not a TextFormat"
 msgstr ""
 
-#: libcore/asobj/TextField_as.cpp:985
+#: libcore/asobj/TextField_as.cpp:729
+msgid "TextField.setNewTextFormat(), we'll delegate to setTextFormat"
+msgstr ""
+
+#: libcore/asobj/TextField_as.cpp:789
+msgid "TextField.bottomScroll is not complete"
+msgstr ""
+
+#: libcore/asobj/TextField_as.cpp:809
+msgid "TextField.maxhscroll is not complete"
+msgstr ""
+
+#: libcore/asobj/TextField_as.cpp:905
+#, c-format
+msgid "TextField.replaceSel(%s) requires exactly one argument"
+msgstr ""
+
+#: libcore/asobj/TextField_as.cpp:944
+msgid "TextField._hscroll is not complete"
+msgstr ""
+
+#: libcore/asobj/TextField_as.cpp:962
+msgid "TextField.maxscroll is not complete"
+msgstr ""
+
+#: libcore/asobj/TextField_as.cpp:983
 msgid "TextField.replaceText() called with less than 3 args"
 msgstr ""
 
+#: libcore/asobj/TextField_as.cpp:993
+#, c-format
+msgid "TextField.replaceText(%s): negative endIndex - doing nothing"
+msgstr ""
+
+#: libcore/asobj/TextField_as.cpp:1019
+#, c-format
+msgid "TextField.replaceText(%s): beginIndex out of range - doing nothing"
+msgstr ""
+
+#: libcore/asobj/TextField_as.cpp:1036
+#, c-format
+msgid ""
+"TextField.replaceText(%s): endIndex out of range - taking as end of string"
+msgstr ""
+
+#: libcore/asobj/TextField_as.cpp:1058
+msgid "TextField.removeTextField() TESTING"
+msgstr ""
+
+#: libcore/asobj/NetConnection_as.cpp:324
+msgid "Initial connection complete"
+msgstr ""
+
 #: libcore/asobj/NetConnection_as.cpp:440
 #, c-format
 msgid "Gnash is not allowed to open this url: %s"
@@ -3030,14 +3111,170 @@ msgstr ""
 msgid "Gnash is not allowed to connect to %s"
 msgstr ""
 
+#: libcore/asobj/NetConnection_as.cpp:517
+#, c-format
+msgid "NetConnection.connect(%s): unsupported connection protocol"
+msgstr ""
+
+#: libcore/asobj/NetConnection_as.cpp:523
+#, c-format
+msgid "NetConnection.connect(%s): unknown connection protocol"
+msgstr ""
+
+#: libcore/asobj/NetConnection_as.cpp:569
+msgid "NetConnection.call: can't call while not connected"
+msgstr ""
+
 #: libcore/asobj/NetConnection_as.cpp:658
 msgid "NetConnection.call(): needs at least one argument"
 msgstr ""
 
+#: libcore/asobj/NetConnection_as.cpp:668
+#, c-format
+msgid "NetConnection.call(%s)"
+msgstr ""
+
+#: libcore/asobj/NetConnection_as.cpp:681
+#, c-format
+msgid "NetConnection.call(%s): second argument must be an object"
+msgstr ""
+
 #: libcore/asobj/NetConnection_as.cpp:771
 msgid "NetConnection.connect(): needs at least one argument"
 msgstr ""
 
+#: libcore/asobj/NetConnection_as.cpp:793
+#, c-format
+msgid "NetConnection.connect(%s): args after the first are not supported"
+msgstr ""
+
+#: libcore/asobj/NetConnection_as.cpp:808
+msgid "NetConnection.addHeader()"
+msgstr ""
+
+#: libcore/asobj/NetConnection_as.cpp:888
+#, c-format
+msgid "Invoke name %s"
+msgstr ""
+
+#: libcore/asobj/NetConnection_as.cpp:892
+msgid "Invoke buffer too short"
+msgstr ""
+
+#: libcore/asobj/NetConnection_as.cpp:899
+msgid "Invoke argument not present"
+msgstr ""
+
+#: libcore/asobj/NetConnection_as.cpp:905
+#, c-format
+msgid "Invoking %s(%s)"
+msgstr ""
+
+#: libcore/asobj/NetConnection_as.cpp:990
+#, c-format
+msgid "Unknown HTTP Remoting response identifier '%s'"
+msgstr ""
+
+#: libcore/asobj/NetConnection_as.cpp:1006
+#, c-format
+msgid "Unsupported HTTP Remoting response callback: '%s' (size %d)"
+msgstr ""
+
+#: libcore/asobj/NetConnection_as.cpp:1012
+msgid "callback called"
+msgstr ""
+
+#: libcore/asobj/NetConnection_as.cpp:1048
+msgid "creating connection"
+msgstr ""
+
+#: libcore/asobj/NetConnection_as.cpp:1055
+msgid "NetConnection.call(): encoded args from %1% calls: %2%"
+msgstr ""
+
+#: libcore/asobj/NetConnection_as.cpp:1077
+#, c-format
+msgid "Attempt to read %d bytes"
+msgstr ""
+
+#: libcore/asobj/NetConnection_as.cpp:1086
+#, c-format
+msgid ""
+"NetConnection.call: reply buffer capacity (%d) is too small to accept next "
+"%d bytes of chunk (current size is %d). Reserving %d bytes."
+msgstr ""
+
+#: libcore/asobj/NetConnection_as.cpp:1100
+msgid "read '%1%' bytes: %2%"
+msgstr ""
+
+#: libcore/asobj/NetConnection_as.cpp:1119
+msgid "connection is in error condition, calling NetConnection.onStatus"
+msgstr ""
+
+#: libcore/asobj/NetConnection_as.cpp:1136
+msgid "hit eof"
+msgstr ""
+
+#: libcore/asobj/NetConnection_as.cpp:1155
+#, c-format
+msgid "Error parsing server AMF: %s"
+msgstr ""
+
+#: libcore/asobj/NetConnection_as.cpp:1202
+#, c-format
+msgid "Could not serialize NetConnection.call argument %d"
+msgstr ""
+
+#: libcore/asobj/NetConnection_as.cpp:1230
+msgid "Sanity failed. no string method in invoke packet"
+msgstr ""
+
+#: libcore/asobj/NetConnection_as.cpp:1237
+#, c-format
+msgid "Invoke: read method string %s"
+msgstr ""
+
+#: libcore/asobj/NetConnection_as.cpp:1241
+#, c-format
+msgid "Server invoking <%s>"
+msgstr ""
+
+#: libcore/asobj/NetConnection_as.cpp:1249
+#, c-format
+msgid "Received result for method call %s"
+msgstr ""
+
+#: libcore/asobj/NetConnection_as.cpp:1258
+#: libcore/asobj/NetConnection_as.cpp:1304
+#: libcore/asobj/NetConnection_as.cpp:1320
+#, c-format
+msgid "Value: %s"
+msgstr ""
+
+#: libcore/asobj/NetConnection_as.cpp:1268
+#, c-format
+msgid "Received server call %s %s"
+msgstr ""
+
+#: libcore/asobj/NetConnection_as.cpp:1277
+msgid "Server called _onbwcheck without a callback"
+msgstr ""
+
+#: libcore/asobj/NetConnection_as.cpp:1287
+#, c-format
+msgid "AMF buffer for _onbwdone: %s\n"
+msgstr ""
+
+#: libcore/asobj/NetConnection_as.cpp:1292
+#, c-format
+msgid "Latency: %s, bandwidth %s"
+msgstr ""
+
+#: libcore/asobj/NetConnection_as.cpp:1307
+msgid "rtmp server sent error"
+msgstr ""
+
 #: libcore/asobj/Function_as.cpp:105
 msgid "Function.apply() called with no args"
 msgstr ""
@@ -3077,10 +3314,47 @@ msgid ""
 "them.  Ignoring them"
 msgstr ""
 
+#: libcore/asobj/System_as.cpp:310
+msgid "System.security.allowDomain"
+msgstr ""
+
+#: libcore/asobj/System_as.cpp:321
+msgid "System.security.allowInsecureDomain"
+msgstr ""
+
+#: libcore/asobj/System_as.cpp:329
+msgid "System.security.loadPolicyFile"
+msgstr ""
+
+#: libcore/asobj/System_as.cpp:350
+msgid "System.showSettings"
+msgstr ""
+
+#: libcore/asobj/System_as.cpp:367
+msgid "System.exactSettings"
+msgstr ""
+
+#: libcore/asobj/System_as.cpp:385
+msgid "System.useCodepage"
+msgstr ""
+
+#: libcore/asobj/Key_as.cpp:40
+msgid "Key.isAccessible"
+msgstr ""
+
 #: libcore/asobj/Key_as.cpp:70
 msgid "Key.isDown needs one argument (the key code)"
 msgstr ""
 
+#: libcore/asobj/Key_as.cpp:79
+#, c-format
+msgid "Key.isKeyDown(%d): keycode out of range"
+msgstr ""
+
+#: libcore/asobj/Key_as.cpp:97
+msgid "Key.isToggled"
+msgstr ""
+
 #: libcore/asobj/Object.cpp:148
 msgid "Too many args to Object constructor"
 msgstr ""
@@ -3128,6 +3402,12 @@ msgid ""
 "function)"
 msgstr ""
 
+#: libcore/asobj/Object.cpp:298
+msgid ""
+"current environment has no target, wouldn't know where to look for symbol "
+"required for registerClass"
+msgstr ""
+
 #: libcore/asobj/Object.cpp:313
 #, c-format
 msgid "Object.registerClass('%s', %s): can't find exported symbol (id: %d)"
@@ -3182,10 +3462,21 @@ msgstr ""
 msgid "Object.unwatch(%s): missing argument"
 msgstr ""
 
+#: libcore/asobj/PlayHead.cpp:96
+msgid ""
+"PlayHead::advance(): not all consumers consumed current position, won't "
+"advance"
+msgstr ""
+
 #: libcore/asobj/String_as.cpp:451
 msgid "string.slice() called with end < start"
 msgstr ""
 
+#: libcore/asobj/String_as.cpp:496
+#, c-format
+msgid "String.indexOf(%s, %s): second argument casts to invalid offset (%d)"
+msgstr ""
+
 #: libcore/asobj/String_as.cpp:569
 msgid "string.charCodeAt needs one argument"
 msgstr ""
@@ -3194,6 +3485,10 @@ msgstr ""
 msgid "string.charCodeAt has more than one argument"
 msgstr ""
 
+#: libcore/asobj/String_as.cpp:756
+msgid "No fn_call::callerDef in string function call"
+msgstr ""
+
 #: libcore/asobj/String_as.cpp:780
 msgid "%1%(%2%) needs %3% argument(s)"
 msgstr ""
@@ -3220,7 +3515,7 @@ msgstr ""
 #: libcore/asobj/flash/geom/Point_as.cpp:501
 #: libcore/asobj/flash/geom/Point_as.cpp:582
 #: libcore/asobj/flash/geom/Point_as.cpp:590
-#: libcore/asobj/MovieClip_as.cpp:531
+#: libcore/asobj/MovieClip_as.cpp:532
 msgid "missing arguments"
 msgstr ""
 
@@ -3337,11 +3632,47 @@ msgstr ""
 msgid "MovieClipLoader.getProgress(%s): first argument is not an sprite"
 msgstr ""
 
+#: libcore/asobj/Sound_as.cpp:333
+msgid "stopProbeTimer called"
+msgstr ""
+
+#: libcore/asobj/Sound_as.cpp:368
+msgid "Probing audio for load"
+msgstr ""
+
+#: libcore/asobj/Sound_as.cpp:388
+msgid "Probing audio for end"
+msgstr ""
+
+#: libcore/asobj/Sound_as.cpp:409
+msgid "Probing audio for start"
+msgstr ""
+
+#: libcore/asobj/Sound_as.cpp:414
+msgid "Attaching aux streamer"
+msgstr ""
+
 #: libcore/asobj/Sound_as.cpp:420
 #, c-format
 msgid "Could not create audio decoder: %s"
 msgstr ""
 
+#: libcore/asobj/Sound_as.cpp:428
+msgid "No audio in Sound input."
+msgstr ""
+
+#: libcore/asobj/Sound_as.cpp:516 libcore/asobj/Sound_as.cpp:646
+msgid "Character attached to Sound was unloaded and couldn't rebind"
+msgstr ""
+
+#: libcore/asobj/Sound_as.cpp:528
+msgid "We have no sound handler here..."
+msgstr ""
+
+#: libcore/asobj/Sound_as.cpp:549
+msgid "No media or sound handlers, won't load any sound"
+msgstr ""
+
 #: libcore/asobj/Sound_as.cpp:581
 #, c-format
 msgid "Gnash could not open this url: %s"
@@ -3352,58 +3683,147 @@ msgstr ""
 msgid "Unable to create parser for Sound at %s"
 msgstr ""
 
+#: libcore/asobj/Sound_as.cpp:619
+msgid "Attaching the aux streamer"
+msgstr ""
+
+#: libcore/asobj/Sound_as.cpp:676
+msgid "No sound handler, nothing to start..."
+msgstr ""
+
+#: libcore/asobj/Sound_as.cpp:682
+msgid "No MediaParser initialized, can't start an external sound"
+msgstr ""
+
 #: libcore/asobj/Sound_as.cpp:688
 msgid "Sound.start() has no effect on a streaming Sound"
 msgstr ""
 
-#: libcore/asobj/Sound_as.cpp:986
+#: libcore/asobj/Sound_as.cpp:699
+#, c-format
+msgid "Seeked MediaParser to %d, returned: %d"
+msgstr ""
+
+#: libcore/asobj/Sound_as.cpp:717
+#, c-format
+msgid "Sound.start: secOff:%d"
+msgstr ""
+
+#: libcore/asobj/Sound_as.cpp:735
+msgid "No sound handler, nothing to stop..."
+msgstr ""
+
+#: libcore/asobj/Sound_as.cpp:763
+msgid "No sound handler, can't check duration..."
+msgstr ""
+
+#: libcore/asobj/Sound_as.cpp:788
+msgid ""
+"No sound handler, can't check position (we're likely not playing anyway)..."
+msgstr ""
+
+#: libcore/asobj/Sound_as.cpp:855
+#, c-format
+msgid "No samples decoded from input of %d bytes"
+msgstr ""
+
+#: libcore/asobj/Sound_as.cpp:955
+#, c-format
+msgid "new Sound(%d) : args after first one ignored"
+msgstr ""
+
+#: libcore/asobj/Sound_as.cpp:969
+#, c-format
+msgid ""
+"new Sound(%s) : first argument isn't null or undefined, and isn't a "
+"DisplayObject. We'll take as an invalid DisplayObject ref."
+msgstr ""
+
+#: libcore/asobj/Sound_as.cpp:987
 msgid "-- start sound"
 msgstr ""
 
-#: libcore/asobj/Sound_as.cpp:1011
+#: libcore/asobj/Sound_as.cpp:1012
 msgid "-- stop sound "
 msgstr ""
 
-#: libcore/asobj/Sound_as.cpp:1027 libcore/asobj/Sound_as.cpp:1082
+#: libcore/asobj/Sound_as.cpp:1028 libcore/asobj/Sound_as.cpp:1083
 #, c-format
 msgid "No such export '%s'"
 msgstr ""
 
-#: libcore/asobj/Sound_as.cpp:1036
+#: libcore/asobj/Sound_as.cpp:1037
 #, c-format
 msgid "Export '%s' is not a sound"
 msgstr ""
 
-#: libcore/asobj/Sound_as.cpp:1052
+#: libcore/asobj/Sound_as.cpp:1053
 msgid "-- attach sound"
 msgstr ""
 
-#: libcore/asobj/Sound_as.cpp:1057
+#: libcore/asobj/Sound_as.cpp:1058
 msgid "attach sound needs one argument"
 msgstr ""
 
-#: libcore/asobj/Sound_as.cpp:1067
+#: libcore/asobj/Sound_as.cpp:1068
 msgid "attachSound needs a non-empty string"
 msgstr ""
 
-#: libcore/asobj/Sound_as.cpp:1091
+#: libcore/asobj/Sound_as.cpp:1092
 #, c-format
 msgid "Export '%s'is not a sound"
 msgstr ""
 
-#: libcore/asobj/Sound_as.cpp:1192
+#: libcore/asobj/Sound_as.cpp:1127
+msgid "Sound.getPan()"
+msgstr ""
+
+#: libcore/asobj/Sound_as.cpp:1142
+msgid "Sound.setDuration()"
+msgstr ""
+
+#: libcore/asobj/Sound_as.cpp:1157
+msgid "Sound.setPosition()"
+msgstr ""
+
+#: libcore/asobj/Sound_as.cpp:1164
+msgid "Sound.getTransform()"
+msgstr ""
+
+#: libcore/asobj/Sound_as.cpp:1177
+#, c-format
+msgid "Sound.getVolume(%s) : arguments ignored"
+msgstr ""
+
+#: libcore/asobj/Sound_as.cpp:1193
 msgid "Sound.loadSound() needs at least 1 argument"
 msgstr ""
 
-#: libcore/asobj/Sound_as.cpp:1207
+#: libcore/asobj/Sound_as.cpp:1208
 #, c-format
 msgid "Sound.loadSound(%s): arguments after first 2 discarded"
 msgstr ""
 
-#: libcore/asobj/Sound_as.cpp:1237
+#: libcore/asobj/Sound_as.cpp:1222
+msgid "Sound.setPan()"
+msgstr ""
+
+#: libcore/asobj/Sound_as.cpp:1229
+msgid "Sound.setTransform()"
+msgstr ""
+
+#: libcore/asobj/Sound_as.cpp:1238
 msgid "set volume of sound needs one argument"
 msgstr ""
 
+#: libcore/asobj/Sound_as.cpp:1253
+msgid "Sound.checkPolicyFile"
+msgstr ""
+
+#: libcore/asobj/Sound_as.cpp:1266
+msgid "Sound.areSoundsInaccessible()"
+msgstr ""
+
 #: libcore/asobj/XML_as.cpp:464
 msgid "XML data is empty"
 msgstr ""
@@ -3412,6 +3832,10 @@ msgstr ""
 msgid "no text for text node creation"
 msgstr ""
 
+#: libcore/asobj/XML_as.cpp:753
+msgid "XML.parseXML() needs one argument"
+msgstr ""
+
 #: libcore/asobj/MovieClip_as.cpp:297
 #, c-format
 msgid "createEmptyMovieClip needs 2 args, but %d given, returning undefined"
@@ -3476,278 +3900,364 @@ msgid ""
 "if it wasn't given"
 msgstr ""
 
-#: libcore/asobj/MovieClip_as.cpp:583
+#: libcore/asobj/MovieClip_as.cpp:531
+#, c-format
+msgid "MovieClip.attachAudio(): %s"
+msgstr ""
+
+#: libcore/asobj/MovieClip_as.cpp:541
+#, c-format
+msgid "MovieClip.attachAudio(%s): first arg doesn't cast to a NetStream"
+msgstr ""
+
+#: libcore/asobj/MovieClip_as.cpp:559
+msgid "MovieClip.attachVideo()"
+msgstr ""
+
+#: libcore/asobj/MovieClip_as.cpp:584
 #, c-format
 msgid "%s.swapDepths() needs one arg"
 msgstr ""
 
-#: libcore/asobj/MovieClip_as.cpp:594
+#: libcore/asobj/MovieClip_as.cpp:595
 #, c-format
 msgid "%s.swapDepths(%s): won't swap a clip below depth %d (%d)"
 msgstr ""
 
-#: libcore/asobj/MovieClip_as.cpp:612
+#: libcore/asobj/MovieClip_as.cpp:613
 #, c-format
 msgid "%s.swapDepths(%s): invalid call, swapping to self?"
 msgstr ""
 
-#: libcore/asobj/MovieClip_as.cpp:624
+#: libcore/asobj/MovieClip_as.cpp:625
 #, c-format
 msgid ""
 "%s.swapDepths(%s): invalid call, the two DisplayObjects don't have the same "
 "parent"
 msgstr ""
 
-#: libcore/asobj/MovieClip_as.cpp:641
+#: libcore/asobj/MovieClip_as.cpp:642
 #, c-format
 msgid ""
 "%s.swapDepths(%s): ignored, source and target DisplayObjects have the same "
 "depth %d"
 msgstr ""
 
-#: libcore/asobj/MovieClip_as.cpp:656
+#: libcore/asobj/MovieClip_as.cpp:657
 #, c-format
 msgid ""
 "%s.swapDepths(%s): first argument invalid (neither a movieclip nor a number)"
 msgstr ""
 
-#: libcore/asobj/MovieClip_as.cpp:665
+#: libcore/asobj/MovieClip_as.cpp:666
 #, c-format
 msgid "%s.swapDepths(%s): requested depth is above the accessible range."
 msgstr ""
 
-#: libcore/asobj/MovieClip_as.cpp:681
+#: libcore/asobj/MovieClip_as.cpp:682
 #, c-format
 msgid "%s.swapDepths(%s): ignored, DisplayObject already at depth %d"
 msgstr ""
 
-#: libcore/asobj/MovieClip_as.cpp:715
+#: libcore/asobj/MovieClip_as.cpp:716
 msgid "MovieClip.duplicateMovieClip() needs 2 or 3 args"
 msgstr ""
 
-#: libcore/asobj/MovieClip_as.cpp:731
+#: libcore/asobj/MovieClip_as.cpp:732
 #, c-format
 msgid "MovieClip.duplicateMovieClip: invalid depth %d passed; not duplicating"
 msgstr ""
 
-#: libcore/asobj/MovieClip_as.cpp:763
+#: libcore/asobj/MovieClip_as.cpp:764
 msgid "movieclip_goto_and_play needs one arg"
 msgstr ""
 
-#: libcore/asobj/MovieClip_as.cpp:773
+#: libcore/asobj/MovieClip_as.cpp:774
 #, c-format
 msgid "movieclip_goto_and_play('%s') -- invalid frame"
 msgstr ""
 
-#: libcore/asobj/MovieClip_as.cpp:793
+#: libcore/asobj/MovieClip_as.cpp:794
 msgid "movieclip_goto_and_stop needs one arg"
 msgstr ""
 
-#: libcore/asobj/MovieClip_as.cpp:803
+#: libcore/asobj/MovieClip_as.cpp:804
 #, c-format
 msgid "movieclip_goto_and_stop('%s') -- invalid frame"
 msgstr ""
 
-#: libcore/asobj/MovieClip_as.cpp:878
+#: libcore/asobj/MovieClip_as.cpp:879
 #, c-format
 msgid ""
 "MovieClip.loadMovie() expected 1 or 2 args, got %d - returning undefined"
 msgstr ""
 
-#: libcore/asobj/MovieClip_as.cpp:890
+#: libcore/asobj/MovieClip_as.cpp:891
 #, c-format
 msgid ""
 "First argument of MovieClip.loadMovie(%s) evaluates to an empty string - "
 "returning undefined"
 msgstr ""
 
-#: libcore/asobj/MovieClip_as.cpp:940
+#: libcore/asobj/MovieClip_as.cpp:941
 #, c-format
 msgid ""
 "MovieClip.loadVariables() expected 1 or 2 args, got %d - returning undefined"
 msgstr ""
 
-#: libcore/asobj/MovieClip_as.cpp:952
+#: libcore/asobj/MovieClip_as.cpp:953
 #, c-format
 msgid ""
 "First argument passed to MovieClip.loadVariables(%s) evaluates to an empty "
 "string - returning undefined"
 msgstr ""
 
-#: libcore/asobj/MovieClip_as.cpp:994
+#: libcore/asobj/MovieClip_as.cpp:965
+#, c-format
+msgid "MovieClip.loadVariables(%s) - TESTING "
+msgstr ""
+
+#: libcore/asobj/MovieClip_as.cpp:995
 #, c-format
 msgid "Can't find hitTest target %s"
 msgstr ""
 
-#: libcore/asobj/MovieClip_as.cpp:1036
+#: libcore/asobj/MovieClip_as.cpp:1037
 #, c-format
 msgid "hitTest() called with %u args"
 msgstr ""
 
-#: libcore/asobj/MovieClip_as.cpp:1107
+#: libcore/asobj/MovieClip_as.cpp:1066
+msgid "MovieClip.getInstanceAtDepth(): missing or undefined depth argument"
+msgstr ""
+
+#: libcore/asobj/MovieClip_as.cpp:1108
 msgid "No arguments passed to MovieClip.getURL()"
 msgstr ""
 
-#: libcore/asobj/MovieClip_as.cpp:1116
+#: libcore/asobj/MovieClip_as.cpp:1117
 #, c-format
 msgid "MovieClip.getURL(%s): extra arguments dropped"
 msgstr ""
 
-#: libcore/asobj/MovieClip_as.cpp:1224
+#: libcore/asobj/MovieClip_as.cpp:1195
+msgid ""
+"MovieClip.getTextSnapshot: failed to construct TextSnapshot (object probably "
+"overridden)"
+msgstr ""
+
+#: libcore/asobj/MovieClip_as.cpp:1225
 #, c-format
 msgid ""
 "MovieClip.getBounds(%s): invalid call, first arg must be a DisplayObject"
 msgstr ""
 
-#: libcore/asobj/MovieClip_as.cpp:1272
+#: libcore/asobj/MovieClip_as.cpp:1273
 msgid "MovieClip.globalToLocal() takes one arg"
 msgstr ""
 
-#: libcore/asobj/MovieClip_as.cpp:1280
+#: libcore/asobj/MovieClip_as.cpp:1281
 #, c-format
 msgid "MovieClip.globalToLocal(%s): first argument doesn't cast to an object"
 msgstr ""
 
-#: libcore/asobj/MovieClip_as.cpp:1294
+#: libcore/asobj/MovieClip_as.cpp:1295
 #, c-format
 msgid ""
 "MovieClip.globalToLocal(%s): object parameter doesn't have an 'x' member"
 msgstr ""
 
-#: libcore/asobj/MovieClip_as.cpp:1305
+#: libcore/asobj/MovieClip_as.cpp:1306
 #, c-format
 msgid ""
 "MovieClip.globalToLocal(%s): object parameter doesn't have an 'y' member"
 msgstr ""
 
-#: libcore/asobj/MovieClip_as.cpp:1333
+#: libcore/asobj/MovieClip_as.cpp:1334
 msgid "MovieClip.localToGlobal() takes one arg"
 msgstr ""
 
-#: libcore/asobj/MovieClip_as.cpp:1341
+#: libcore/asobj/MovieClip_as.cpp:1342
 #, c-format
 msgid "MovieClip.localToGlobal(%s): first argument doesn't cast to an object"
 msgstr ""
 
-#: libcore/asobj/MovieClip_as.cpp:1354
+#: libcore/asobj/MovieClip_as.cpp:1355
 #, c-format
 msgid ""
 "MovieClip.localToGlobal(%s): object parameter doesn't have an 'x' member"
 msgstr ""
 
-#: libcore/asobj/MovieClip_as.cpp:1365
+#: libcore/asobj/MovieClip_as.cpp:1366
 #, c-format
 msgid ""
 "MovieClip.localToGlobal(%s): object parameter doesn't have an 'y' member"
 msgstr ""
 
-#: libcore/asobj/MovieClip_as.cpp:1394
+#: libcore/asobj/MovieClip_as.cpp:1395
 #, c-format
 msgid "%s.setMask() : needs an argument"
 msgstr ""
 
-#: libcore/asobj/MovieClip_as.cpp:1413
+#: libcore/asobj/MovieClip_as.cpp:1414
 #, c-format
 msgid "%s.setMask(%s) : first argument is not a DisplayObject"
 msgstr ""
 
-#: libcore/asobj/MovieClip_as.cpp:1443
+#: libcore/asobj/MovieClip_as.cpp:1444
 msgid "MovieClip.lineTo() needs at least two arguments"
 msgstr ""
 
-#: libcore/asobj/MovieClip_as.cpp:1469
+#: libcore/asobj/MovieClip_as.cpp:1456
+#, c-format
+msgid "%s.lineTo(%g,%g);"
+msgstr ""
+
+#: libcore/asobj/MovieClip_as.cpp:1470
 msgid "MovieClip.moveTo() takes two args"
 msgstr ""
 
-#: libcore/asobj/MovieClip_as.cpp:1520
+#: libcore/asobj/MovieClip_as.cpp:1521
 #, c-format
 msgid "MovieClip.lineStyle(%s): args after the first three will be discarded"
 msgstr ""
 
-#: libcore/asobj/MovieClip_as.cpp:1540
+#: libcore/asobj/MovieClip_as.cpp:1541
 #, c-format
 msgid ""
 "MovieClip.lineStyle(%s): invalid joinStylevalue '%s' (valid values: %s|%s|%s)"
 msgstr ""
 
-#: libcore/asobj/MovieClip_as.cpp:1556
+#: libcore/asobj/MovieClip_as.cpp:1557
 #, c-format
 msgid ""
 "MovieClip.lineStyle(%s): invalid capStyle value '%s' (valid values: none|"
 "round|square)"
 msgstr ""
 
-#: libcore/asobj/MovieClip_as.cpp:1581
+#: libcore/asobj/MovieClip_as.cpp:1582
 #, c-format
 msgid ""
 "MovieClip.lineStyle(%s): invalid noScale value '%s' (valid values: %s|%s|%s|"
 "%s)"
 msgstr ""
 
-#: libcore/asobj/MovieClip_as.cpp:1629
+#: libcore/asobj/MovieClip_as.cpp:1630
 msgid "MovieClip.curveTo() takes four args"
 msgstr ""
 
-#: libcore/asobj/MovieClip_as.cpp:1645
+#: libcore/asobj/MovieClip_as.cpp:1646
 #, c-format
 msgid "%s.curveTo(%g,%g,%g,%g);"
 msgstr ""
 
-#: libcore/asobj/MovieClip_as.cpp:1714
+#: libcore/asobj/MovieClip_as.cpp:1671
+msgid "beginFill() with no args is a no-op"
+msgstr ""
+
+#: libcore/asobj/MovieClip_as.cpp:1715
 #, c-format
 msgid "%s.beginGradientFill(%s): invalid call: 5 arguments needed"
 msgstr ""
 
-#: libcore/asobj/MovieClip_as.cpp:1725
+#: libcore/asobj/MovieClip_as.cpp:1726
 #, c-format
 msgid "%s.beginGradientFill(%s): extra arguments invalidate call!"
 msgstr ""
 
-#: libcore/asobj/MovieClip_as.cpp:1745
+#: libcore/asobj/MovieClip_as.cpp:1746
 #, c-format
 msgid ""
 "%s.beginGradientFill(%s): first arg must be 'radial', 'focal', or 'linear'"
 msgstr ""
 
-#: libcore/asobj/MovieClip_as.cpp:1761
+#: libcore/asobj/MovieClip_as.cpp:1762
 #, c-format
 msgid ""
 "%s.beginGradientFill(%s): one or more of the  args from 2nd to 5th don't "
 "cast to objects"
 msgstr ""
 
-#: libcore/asobj/MovieClip_as.cpp:1775
+#: libcore/asobj/MovieClip_as.cpp:1776
 #, c-format
 msgid ""
 "%s.beginGradientFill(%s): colors, alphas and ratios args don't have same "
 "length"
 msgstr ""
 
-#: libcore/asobj/MovieClip_as.cpp:1787
+#: libcore/asobj/MovieClip_as.cpp:1788
 #, c-format
 msgid ""
 "%s.beginGradientFill(%s): too many array elements for colors and ratios "
 "(%d), will trim to 8"
 msgstr ""
 
-#: libcore/asobj/MovieClip_as.cpp:1927
+#: libcore/asobj/MovieClip_as.cpp:1928
 #, c-format
 msgid "min/max bbox values in MovieClip.startDrag(%s) swapped, fixing"
 msgstr ""
 
-#: libcore/asobj/MovieClip_as.cpp:1932
+#: libcore/asobj/MovieClip_as.cpp:1933
 #, c-format
 msgid "non-finite bbox values in MovieClip.startDrag(%s), took as zero"
 msgstr ""
 
-#: libcore/asobj/Camera_as.cpp:259
-msgid "No MediaHandler exists! Cannot create a Camera object"
+#: libcore/asobj/MovieClip_as.cpp:1972 libcore/asobj/MovieClip_as.cpp:2051
+msgid "MovieClip.attachBitmap: first argument should be a valid BitmapData"
 msgstr ""
 
-#: libcore/asobj/Camera_as.cpp:358
+#: libcore/asobj/MovieClip_as.cpp:2040
+#, c-format
+msgid "MovieClip.attachBitmap: expected 2 args, got %d"
+msgstr ""
+
+#: libcore/asobj/MovieClip_as.cpp:2077
+msgid "Failed to construct flash.geom.Transform!"
+msgstr ""
+
+#: libcore/asobj/MovieClip_as.cpp:2095
+msgid "MovieClip.beginMeshFill"
+msgstr ""
+
+#: libcore/asobj/LoadVars_as.cpp:145
+#, c-format
+msgid "new LoadVars(%s) - arguments discarded"
+msgstr ""
+
+#: libcore/asobj/Selection_as.cpp:189
+#, c-format
+msgid "Selection.setFocus: expected 1 argument, got %d"
+msgstr ""
+
+#: libcore/asobj/Camera_as.cpp:259
+msgid "No MediaHandler exists! Cannot create a Camera object"
+msgstr ""
+
+#: libcore/asobj/Camera_as.cpp:271
+#, c-format
+msgid "%s: the camera is automatically chosen from gnashrc"
+msgstr ""
+
+#: libcore/asobj/Camera_as.cpp:312
+msgid "Camera::motionLevel can be set, but it's not implemented"
+msgstr ""
+
+#: libcore/asobj/Camera_as.cpp:331
+msgid "Camera::quality can be set, but it's not implemented"
+msgstr ""
+
+#: libcore/asobj/Camera_as.cpp:353
+msgid "Camera::activityLevel only has default value"
+msgstr ""
+
+#: libcore/asobj/Camera_as.cpp:358
 msgid "Attempt to set activity property of Camera"
 msgstr ""
 
+#: libcore/asobj/Camera_as.cpp:370
+msgid "Camera::bandwidth only has default value"
+msgstr ""
+
 #: libcore/asobj/Camera_as.cpp:375
 msgid "Attempt to set bandwidth property of Camera"
 msgstr ""
@@ -3768,14 +4278,26 @@ msgstr ""
 msgid "Attempt to set index property of Camera"
 msgstr ""
 
+#: libcore/asobj/Camera_as.cpp:458
+msgid "Camera::motionLevel only has default value"
+msgstr ""
+
 #: libcore/asobj/Camera_as.cpp:463
 msgid "Attempt to set motionLevel property of Camera"
 msgstr ""
 
+#: libcore/asobj/Camera_as.cpp:475
+msgid "Camera::motionTimeout"
+msgstr ""
+
 #: libcore/asobj/Camera_as.cpp:480
 msgid "Attempt to set motionTimeout property of Camera"
 msgstr ""
 
+#: libcore/asobj/Camera_as.cpp:492
+msgid "Camera.muted"
+msgstr ""
+
 #: libcore/asobj/Camera_as.cpp:497
 msgid "Attempt to set muted property of Camera"
 msgstr ""
@@ -3788,41 +4310,216 @@ msgstr ""
 msgid "Attempt to set names property of Camera"
 msgstr ""
 
+#: libcore/asobj/Camera_as.cpp:554
+msgid "Camera::quality has only default values"
+msgstr ""
+
 #: libcore/asobj/Camera_as.cpp:559
 msgid "Attempt to set quality property of Camera"
 msgstr ""
 
+#: libcore/asobj/Camera_as.cpp:587
+msgid "Camera.setCursor"
+msgstr ""
+
+#: libcore/asobj/Camera_as.cpp:594
+msgid "Camera.setKeyFrameInterval"
+msgstr ""
+
 #: libcore/asobj/Camera_as.cpp:608
 msgid "Attempt to set width property of Camera, use setMode"
 msgstr ""
 
-#: libcore/asobj/SharedObject_as.cpp:336
+#: libcore/asobj/SharedObject_as.cpp:138
+msgid "SOL: skip serialization of FUNCTION property"
+msgstr ""
+
+#: libcore/asobj/SharedObject_as.cpp:163
+#, c-format
+msgid "Problems serializing an object's member %s=%s"
+msgstr ""
+
+#: libcore/asobj/SharedObject_as.cpp:323
+#, c-format
+msgid ""
+"SharedObject.flush() called with a minimum disk space argument (%d), which "
+"is currently ignored"
+msgstr ""
+
+#: libcore/asobj/SharedObject_as.cpp:331
+#, c-format
+msgid "Couldn't create dir for flushing SharedObject %s"
+msgstr ""
+
+#: libcore/asobj/SharedObject_as.cpp:337
 #, c-format
 msgid "SharedObject %s not flushed (compiled as read-only mode)"
 msgstr ""
 
-#: libcore/asobj/SharedObject_as.cpp:520
+#: libcore/asobj/SharedObject_as.cpp:344
+#, c-format
+msgid ""
+"Attempting to write object %s when it's SOL Read Only is set! Refusing..."
+msgstr ""
+
+#: libcore/asobj/SharedObject_as.cpp:352
+#, c-format
+msgid "SharedObject::flush(): Failed opening file '%s' in binary mode"
+msgstr ""
+
+#: libcore/asobj/SharedObject_as.cpp:371
+msgid "Error writing SOL header"
+msgstr ""
+
+#: libcore/asobj/SharedObject_as.cpp:378
+#, c-format
+msgid "Error writing %d bytes to output file %s"
+msgstr ""
+
+#: libcore/asobj/SharedObject_as.cpp:384
+#, c-format
+msgid "SharedObject '%s' written to filesystem."
+msgstr ""
+
+#: libcore/asobj/SharedObject_as.cpp:400
+msgid "Empty SOLSafeDir directive: we'll use '/tmp'"
+msgstr ""
+
+#: libcore/asobj/SharedObject_as.cpp:407
+#, c-format
+msgid "Invalid SOL safe dir %s: %s. Will try to create on flush/exit."
+msgstr ""
+
+#: libcore/asobj/SharedObject_as.cpp:493
+msgid "Attempting to open SOL file from non localhost-loaded SWF"
+msgstr ""
+
+#: libcore/asobj/SharedObject_as.cpp:521
 #, c-format
 msgid ""
 "SharedObject path %s is outside the SWF domain %s. Cannot access this object."
 msgstr ""
 
-#: libcore/asobj/SharedObject_as.cpp:533
+#: libcore/asobj/SharedObject_as.cpp:534
 #, c-format
 msgid ""
 "SharedObject path %s is not part of the SWF path %s. Cannot access this "
 "object."
 msgstr ""
 
-#: libcore/asobj/SharedObject_as.cpp:702
+#: libcore/asobj/SharedObject_as.cpp:565
+#, c-format
+msgid "SharedObject %s already known, returning it"
+msgstr ""
+
+#: libcore/asobj/SharedObject_as.cpp:569
+#, c-format
+msgid "SharedObject %s not loaded. Loading it now"
+msgstr ""
+
+#: libcore/asobj/SharedObject_as.cpp:583
+#, c-format
+msgid "SharedObject path: %s"
+msgstr ""
+
+#: libcore/asobj/SharedObject_as.cpp:703
 msgid "SharedObject.connect(): needs at least one argument"
 msgstr ""
 
-#: libcore/asobj/SharedObject_as.cpp:755
+#: libcore/asobj/SharedObject_as.cpp:709
+msgid "SharedObject.connect()"
+msgstr ""
+
+#: libcore/asobj/SharedObject_as.cpp:730
+msgid "SharedObject.setFps"
+msgstr ""
+
+#: libcore/asobj/SharedObject_as.cpp:739
+msgid "SharedObject.send"
+msgstr ""
+
+#: libcore/asobj/SharedObject_as.cpp:756
 #, c-format
 msgid "Arguments to SharedObject.flush(%s) will be ignored"
 msgstr ""
 
+#: libcore/asobj/SharedObject_as.cpp:787
+#, c-format
+msgid "SharedObject.getLocal(%s): missing object name"
+msgstr ""
+
+#: libcore/asobj/SharedObject_as.cpp:799
+#, c-format
+msgid "SO name:%s, root:%s"
+msgstr ""
+
+#: libcore/asobj/SharedObject_as.cpp:806
+#, c-format
+msgid "SharedObject.getLocal returning %s"
+msgstr ""
+
+#: libcore/asobj/SharedObject_as.cpp:813
+msgid "SharedObject.getRemote()"
+msgstr ""
+
+#: libcore/asobj/SharedObject_as.cpp:828
+msgid "SharedObject.deleteAll()"
+msgstr ""
+
+#: libcore/asobj/SharedObject_as.cpp:843
+msgid "SharedObject.getDiskUsage()"
+msgstr ""
+
+#: libcore/asobj/SharedObject_as.cpp:895
+#, c-format
+msgid "No existing SOL %s found. Will create on flush/exit."
+msgstr ""
+
+#: libcore/asobj/SharedObject_as.cpp:904
+#, c-format
+msgid "readSOL: SOL file %s is too short (only %s bytes long) to be valid."
+msgstr ""
+
+#: libcore/asobj/SharedObject_as.cpp:929
+msgid "readSOL: file ends before data segment"
+msgstr ""
+
+#: libcore/asobj/SharedObject_as.cpp:937
+#, c-format
+msgid "readSOL: reading property name at byte %s"
+msgstr ""
+
+#: libcore/asobj/SharedObject_as.cpp:942
+msgid "SharedObject: end of buffer while reading length"
+msgstr ""
+
+#: libcore/asobj/SharedObject_as.cpp:951
+msgid "readSOL: empty property name"
+msgstr ""
+
+#: libcore/asobj/SharedObject_as.cpp:956
+msgid "SharedObject::readSOL: premature end of input"
+msgstr ""
+
+#: libcore/asobj/SharedObject_as.cpp:967
+#, c-format
+msgid "SharedObject: error parsing SharedObject '%s'"
+msgstr ""
+
+#: libcore/asobj/SharedObject_as.cpp:972
+#, c-format
+msgid "parsed sol member named '%s' (len %s),  value '%s'"
+msgstr ""
+
+#: libcore/asobj/SharedObject_as.cpp:986
+#, c-format
+msgid "readSOL: Reading SharedObject %s: %s"
+msgstr ""
+
+#: libcore/asobj/SharedObject_as.cpp:1064
+msgid "Did not serialize object"
+msgstr ""
+
 #: libcore/asobj/Date_as.cpp:463
 msgid "Date constructor called with more than 7 arguments"
 msgstr ""
@@ -3973,6 +4670,52 @@ msgstr ""
 msgid "ASnative(%s): args must be 0 or above"
 msgstr ""
 
+#: libcore/asobj/Global_as.cpp:734
+msgid "ASNative (2, 0) - old ASnew"
+msgstr ""
+
+#: libcore/asobj/Global_as.cpp:884
+msgid "updateAfterEvent()"
+msgstr ""
+
+#: libcore/asobj/Global_as.cpp:946
+#, c-format
+msgid "Invalid call to setInterval(%s) - need at least 2 arguments"
+msgstr ""
+
+#: libcore/asobj/Global_as.cpp:960 libcore/asobj/Global_as.cpp:1032
+#, c-format
+msgid ""
+"Invalid call to setInterval(%s) - first argument is not an object or function"
+msgstr ""
+
+#: libcore/asobj/Global_as.cpp:980
+#, c-format
+msgid "Invalid call to setInterval(%s) - missing timeout argument"
+msgstr ""
+
+#: libcore/asobj/Global_as.cpp:1019
+#, c-format
+msgid "Invalid call to setTimeout(%s) - need at least 2 arguments"
+msgstr ""
+
+#: libcore/asobj/Global_as.cpp:1052
+#, c-format
+msgid "Invalid call to setTimeout(%s): missing timeout argument"
+msgstr ""
+
+#: libcore/asobj/Global_as.cpp:1088
+msgid "clearInterval requires one argument, got none"
+msgstr ""
+
+#: libcore/asobj/Global_as.cpp:1102
+msgid "_global.showRedrawRegions"
+msgstr ""
+
+#: libcore/asobj/Global_as.cpp:1109
+msgid "_global.enableDebugConsole"
+msgstr ""
+
 #: libcore/asobj/XMLNode_as.cpp:227
 msgid ""
 "XMLNode.insertBefore(): positional parameter is not a child of this node"
@@ -4007,6 +4750,11 @@ msgstr ""
 msgid "Second argument to XMLNode.insertBefore(%s) is not an XMLNode"
 msgstr ""
 
+#: libcore/asobj/NetStream_as.cpp:299
+#, c-format
+msgid "::pause(%d) called "
+msgstr ""
+
 #: libcore/asobj/NetStream_as.cpp:355
 msgid "No NetConnection associated with this NetStream, won't play"
 msgstr ""
@@ -4015,11 +4763,39 @@ msgstr ""
 msgid "NetConnection is not connected. Won't play."
 msgstr ""
 
+#: libcore/asobj/NetStream_as.cpp:379
+#, c-format
+msgid "Couldn't load URL %s"
+msgstr ""
+
 #: libcore/asobj/NetStream_as.cpp:386
 #, c-format
 msgid "Connecting to movie: %s"
 msgstr ""
 
+#: libcore/asobj/NetStream_as.cpp:392
+#, c-format
+msgid "NetStream.play(%s): failed starting playback"
+msgstr ""
+
+#: libcore/asobj/NetStream_as.cpp:415
+msgid "NetStream_as::initVideoDecoder: hot-plugging video consumer"
+msgstr ""
+
+#: libcore/asobj/NetStream_as.cpp:420
+#, c-format
+msgid "NetStream: Could not create Video decoder: %s"
+msgstr ""
+
+#: libcore/asobj/NetStream_as.cpp:444
+msgid "NetStream_as::initAudioDecoder: hot-plugging audio consumer"
+msgstr ""
+
+#: libcore/asobj/NetStream_as.cpp:451
+#, c-format
+msgid "Could not create Audio decoder: %s"
+msgstr ""
+
 #: libcore/asobj/NetStream_as.cpp:477
 #, c-format
 msgid "Gnash could not get stream '%s' from NetConnection"
@@ -4033,30 +4809,346 @@ msgstr ""
 msgid "Unable to create parser for NetStream input"
 msgstr ""
 
-#: libcore/asobj/NetStream_as.cpp:644
+#: libcore/asobj/NetStream_as.cpp:520
+#, c-format
+msgid "%p.startPlayback: playHead position reset to 0"
+msgstr ""
+
+#: libcore/asobj/NetStream_as.cpp:526
+msgid "Setting playStart status"
+msgstr ""
+
+#: libcore/asobj/NetStream_as.cpp:544
+msgid "getDecodedVideoFrame: no parser available"
+msgstr ""
+
+#: libcore/asobj/NetStream_as.cpp:553
+#, c-format
+msgid ""
+"getDecodedVideoFrame(%d): no more video frames in input "
+"(nextVideoFrameTimestamp returned false, parsingComplete=%d)"
+msgstr ""
+
+#: libcore/asobj/NetStream_as.cpp:564
+msgid ""
+"getDecodedVideoFrame setting playStop status (parsing complete and "
+"nextVideoFrameTimestamp() returned false)"
+msgstr ""
+
+#: libcore/asobj/NetStream_as.cpp:575
+#, c-format
+msgid "%p.getDecodedVideoFrame(%d): next video frame is in the future (%d)"
+msgstr ""
+
+#: libcore/asobj/NetStream_as.cpp:586
+#, c-format
+msgid ""
+"nextVideoFrameTimestamp returned true (%d), but decodeNextVideoFrame "
+"returned null, I don't think this should ever happen"
+msgstr ""
+
+#: libcore/asobj/NetStream_as.cpp:596
+#, c-format
+msgid ""
+"%p.getDecodedVideoFrame(%d): last video frame decoded (should set playback "
+"status to STOP?)"
+msgstr ""
+
+#: libcore/asobj/NetStream_as.cpp:604
+#, c-format
+msgid ""
+"%p.getDecodedVideoFrame(%d): next video frame is in the future, we'll return "
+"this one"
+msgstr ""
+
+#: libcore/asobj/NetStream_as.cpp:622
+msgid "decodeNextVideoFrame: no parser available"
+msgstr ""
+
+#: libcore/asobj/NetStream_as.cpp:629
+#, c-format
+msgid "%p.decodeNextVideoFrame(): no more video frames in input"
+msgstr ""
+
+#: libcore/asobj/NetStream_as.cpp:645
 msgid "Error decoding encoded video frame in NetStream input"
 msgstr ""
 
-#: libcore/asobj/NetStream_as.cpp:1564
+#: libcore/asobj/NetStream_as.cpp:659
+#, c-format
+msgid "%p.decodeNextAudioFrame: no more video frames in input"
+msgstr ""
+
+#: libcore/asobj/NetStream_as.cpp:688
+#, c-format
+msgid ""
+"NetStream_as::decodeNextAudioFrame: %d bytes of encoded audio decoded to %d "
+"bytes"
+msgstr ""
+
+#: libcore/asobj/NetStream_as.cpp:708
+#, c-format
+msgid "NetStream_as::seek(%d): no parser, no party"
+msgstr ""
+
+#: libcore/asobj/NetStream_as.cpp:728
+msgid "Setting invalidTime status"
+msgstr ""
+
+#: libcore/asobj/NetStream_as.cpp:735
+#, c-format
+msgid "_parser->seek(%d) returned %d"
+msgstr ""
+
+#: libcore/asobj/NetStream_as.cpp:742
+#, c-format
+msgid "%p.seek: playHead position set to %d"
+msgstr ""
+
+#: libcore/asobj/NetStream_as.cpp:778
+#, c-format
+msgid ""
+"%p.refreshAudioBuffer: doing nothing as playhead is paused - bufferLength=%d/"
+"%d"
+msgstr ""
+
+#: libcore/asobj/NetStream_as.cpp:787
+#, c-format
+msgid ""
+"%p.refreshAudioBuffer: doing nothing as current position was already decoded "
+"- bufferLength=%d/%d"
+msgstr ""
+
+#: libcore/asobj/NetStream_as.cpp:799
+#, c-format
+msgid ""
+"%p.refreshAudioBuffer: currentPosition=%d, playHeadState=%d, bufferLength="
+"%d, bufferTime=%d"
+msgstr ""
+
+#: libcore/asobj/NetStream_as.cpp:935
+#, c-format
+msgid "%p.pushDecodedAudioFrames(%d) : buffer overrun (%d/%d)."
+msgstr ""
+
+#: libcore/asobj/NetStream_as.cpp:951
+#, c-format
+msgid ""
+"%p.pushDecodedAudioFrames(%d): no more audio frames in input "
+"(nextAudioFrameTimestamp returned false, parsingComplete=%d)"
+msgstr ""
+
+#: libcore/asobj/NetStream_as.cpp:962
+msgid ""
+"pushDecodedAudioFrames setting playStop status (parsing complete and "
+"nextAudioFrameTimestamp returned false)"
+msgstr ""
+
+#: libcore/asobj/NetStream_as.cpp:975
+#, c-format
+msgid "%p.pushDecodedAudioFrames(%d): next audio frame is in the future (%d)"
+msgstr ""
+
+#: libcore/asobj/NetStream_as.cpp:988
+#, c-format
+msgid ""
+"nextAudioFrameTimestamp returned true (%d), but decodeNextAudioFrame "
+"returned null, I don't think this should ever happen"
+msgstr ""
+
+#: libcore/asobj/NetStream_as.cpp:997
+#, c-format
+msgid "pushDecodedAudioFrames(%d): Decoded audio frame contains no samples"
+msgstr ""
+
+#: libcore/asobj/NetStream_as.cpp:1006
+#, c-format
+msgid "pushDecodedAudioFrames(%d) pushing %dth frame with timestamp %d"
+msgstr ""
+
+#: libcore/asobj/NetStream_as.cpp:1024
+msgid "resuming playback clock on audio consume"
+msgstr ""
+
+#: libcore/asobj/NetStream_as.cpp:1090
+#, c-format
+msgid ""
+"%p.refreshVideoFrame: doing nothing as playhead is paused - bufferLength=%d, "
+"bufferTime=%d"
+msgstr ""
+
+#: libcore/asobj/NetStream_as.cpp:1100
+#, c-format
+msgid ""
+"%p.refreshVideoFrame: doing nothing as current position was already decoded "
+"- bufferLength=%d, bufferTime=%d"
+msgstr ""
+
+#: libcore/asobj/NetStream_as.cpp:1112
+#, c-format
+msgid ""
+"%p.refreshVideoFrame: currentPosition=%d, playHeadState=%d, bufferLength=%d, "
+"bufferTime=%d"
+msgstr ""
+
+#: libcore/asobj/NetStream_as.cpp:1126
+#, c-format
+msgid ""
+"%p.refreshVideoFrame(): no more video frames to decode (DEC_STOPPED, null "
+"from getDecodedVideoFrame)"
+msgstr ""
+
+#: libcore/asobj/NetStream_as.cpp:1135
+#, c-format
+msgid ""
+"%p.refreshVideoFrame(): last video frame was good enough for current position"
+msgstr ""
+
+#: libcore/asobj/NetStream_as.cpp:1210
+#, c-format
+msgid ""
+"%p.advance: buffer empty while decoding, setting buffer to buffering and "
+"pausing playback clock"
+msgstr ""
+
+#: libcore/asobj/NetStream_as.cpp:1215
+msgid "Setting bufferEmpty status"
+msgstr ""
+
+#: libcore/asobj/NetStream_as.cpp:1224
+#, c-format
+msgid "%p.advance : bufferLength=%d, parsing completed"
+msgstr ""
+
+#: libcore/asobj/NetStream_as.cpp:1236
+#, c-format
+msgid "%p.advance: buffering - position=%d, buffer=%d/%d"
+msgstr ""
+
+#: libcore/asobj/NetStream_as.cpp:1255
+#, c-format
+msgid ""
+"%p.advance: buffer full (or parsing completed), resuming playback clock - "
+"position=%d, buffer=%d/%d"
+msgstr ""
+
+#: libcore/asobj/NetStream_as.cpp:1276
+#, c-format
+msgid "%p.advance: playHead position set to timestamp of first frame: %d"
+msgstr ""
+
+#: libcore/asobj/NetStream_as.cpp:1283
+#, c-format
+msgid ""
+"%p.advance: playHead position is 0 and parser still doesn't have a frame to "
+"set it to"
+msgstr ""
+
+#: libcore/asobj/NetStream_as.cpp:1323
+#, c-format
+msgid ""
+"Moving NetStream playhead from timestamp %d to timestamp %d as there are no "
+"video frames yet, audio buffer is empty and next audio frame timestamp is "
+"there (see bug #26687)"
+msgstr ""
+
+#: libcore/asobj/NetStream_as.cpp:1424
+msgid "attachAuxStreamer called while already attached"
+msgstr ""
+
+#: libcore/asobj/NetStream_as.cpp:1435
+#, c-format
+msgid "Could not attach NetStream aux streamer to sound handler: %s"
+msgstr ""
+
+#: libcore/asobj/NetStream_as.cpp:1446
+msgid "detachAuxStreamer called while not attached"
+msgstr ""
+
+#: libcore/asobj/NetStream_as.cpp:1484
+#, c-format
+msgid ""
+"audio_streamer called, audioQueue size: %d, requested %d bytes of fill-up"
+msgstr ""
+
+#: libcore/asobj/NetStream_as.cpp:1566
 #, c-format
 msgid ""
 "First argument to NetStream constructor doesn't cast to a NetConnection (%s)"
 msgstr ""
 
-#: libcore/asobj/NetStream_as.cpp:1610
+#: libcore/asobj/NetStream_as.cpp:1612
 msgid "NetStream_as play needs args"
 msgstr ""
 
-#: libcore/asobj/NetStream_as.cpp:1617
+#: libcore/asobj/NetStream_as.cpp:1619
 #, c-format
 msgid "NetStream.play(%s): stream is not connected"
 msgstr ""
 
+#: libcore/asobj/NetStream_as.cpp:1668
+msgid "NetStream.attachAudio"
+msgstr ""
+
+#: libcore/asobj/NetStream_as.cpp:1679
+msgid "NetStream.attachVideo"
+msgstr ""
+
+#: libcore/asobj/NetStream_as.cpp:1690
+msgid "NetStream.publish"
+msgstr ""
+
+#: libcore/asobj/NetStream_as.cpp:1701
+msgid "NetStream.receiveAudio"
+msgstr ""
+
+#: libcore/asobj/NetStream_as.cpp:1712
+msgid "NetStream.receiveVideo"
+msgstr ""
+
+#: libcore/asobj/NetStream_as.cpp:1723
+msgid "NetStream.send"
+msgstr ""
+
+#: libcore/asobj/NetStream_as.cpp:1807
+msgid "NetStream.liveDelay"
+msgstr ""
+
+#: libcore/asobj/NetStream_as.cpp:1859
+msgid "Invalid AMF data in FLV tag"
+msgstr ""
+
+#: libcore/asobj/NetStream_as.cpp:1870
+msgid "Could not convert FLV metatag to as_value, passing undefined"
+msgstr ""
+
+#: libcore/asobj/NetStream_as.cpp:1874
+#, c-format
+msgid "Calling %s(%s)"
+msgstr ""
+
 #: libcore/asobj/Number_as.cpp:78
 #, c-format
 msgid "Number.toString(%s): radix must be in the 2..36 range (%d is invalid)"
 msgstr ""
 
+#: libcore/asobj/TextSnapshot_as.cpp:521
+msgid "TextSnapshot.findText() requires 3 arguments"
+msgstr ""
+
+#: libcore/asobj/TextSnapshot_as.cpp:545
+msgid "TextSnapshot.getCount() takes no arguments"
+msgstr ""
+
+#: libcore/asobj/TextSnapshot_as.cpp:601
+msgid "TextSnapshot.getText requires exactly 2 arguments"
+msgstr ""
+
+#: libcore/asobj/XMLSocket_as.cpp:213
+#, c-format
+msgid "read: %d, this string ends: %d"
+msgstr ""
+
 #: libcore/asobj/XMLSocket_as.cpp:245
 #, c-format
 msgid " Message %d: %s "
@@ -4115,11 +5207,39 @@ msgstr ""
 msgid "%p.addListener(%s): this object's _listener isn't an object: %s"
 msgstr ""
 
+#: libcore/asobj/AsBroadcaster.cpp:415
+#, c-format
+msgid "%p.broadcastMessage() needs an argument"
+msgstr ""
+
 #: libcore/asobj/TextFormat_as.cpp:406
 #, c-format
 msgid "Too many args (%d) passed to TextFormat"
 msgstr ""
 
+#: libcore/asobj/TextFormat_as.cpp:483
+msgid "Getter for textformat_tabStops"
+msgstr ""
+
+#: libcore/asobj/TextFormat_as.cpp:562
+msgid "TextFormat.getTextExtent requires at least oneargument"
+msgstr ""
+
+#: libcore/asobj/TextFormat_as.cpp:708
+#, c-format
+msgid "Invalid display string %s "
+msgstr ""
+
+#: libcore/asobj/TextFormat_as.cpp:726
+#, c-format
+msgid "Uknown alignment value: %d, take as left"
+msgstr ""
+
+#: libcore/asobj/TextFormat_as.cpp:741
+#, c-format
+msgid "Unknown display value: %d "
+msgstr ""
+
 #: libcore/asobj/Color_as.cpp:153
 msgid "Color.setRGB() : missing argument"
 msgstr ""
@@ -4133,6 +5253,35 @@ msgstr ""
 msgid "Color.setTransform(%s) : first argument doesn't cast to an object"
 msgstr ""
 
+#: libcore/asobj/LocalConnection_as.cpp:279
+msgid "Attempting to write to disabled LocalConnection!"
+msgstr ""
+
+#: libcore/asobj/LocalConnection_as.cpp:288
+msgid "Failed to attach shared memory segment"
+msgstr ""
+
+#: libcore/asobj/LocalConnection_as.cpp:296
+msgid "Failed to get shm lock"
+msgstr ""
+
+#: libcore/asobj/LocalConnection_as.cpp:332
+msgid "Invalid connection name data"
+msgstr ""
+
+#: libcore/asobj/LocalConnection_as.cpp:347
+#, c-format
+msgid "Data %s expired at %s. Removing its target as a listener"
+msgstr ""
+
+#: libcore/asobj/LocalConnection_as.cpp:431
+msgid "Failed to get lock on shared memory! Will not remove listener"
+msgstr ""
+
+#: libcore/asobj/LocalConnection_as.cpp:461
+msgid "Failed to open shared memory segment"
+msgstr ""
+
 #: libcore/asobj/LocalConnection_as.cpp:534
 msgid "LocalConnection.connect() expects exactly 1 argument"
 msgstr ""
@@ -4148,14 +5297,91 @@ msgstr ""
 msgid "LocalConnection.send(%s): requires at least 2 arguments"
 msgstr ""
 
+#: libcore/asobj/LocalConnection_as.cpp:774
+msgid "Not adding duplicated listener"
+msgstr ""
+
+#: libcore/asobj/LocalConnection_as.cpp:783
+msgid "No space for listener in shared memory!"
+msgstr ""
+
+#: libcore/asobj/LocalConnection_as.cpp:844
+#, c-format
+msgid "Invalid domain %s"
+msgstr ""
+
+#: libcore/asobj/LocalConnection_as.cpp:848
+#, c-format
+msgid "Domain: %s"
+msgstr ""
+
+#: libcore/asobj/LocalConnection_as.cpp:851
+#, c-format
+msgid "Invalid function name %s"
+msgstr ""
+
+#: libcore/asobj/LocalConnection_as.cpp:862
+#, c-format
+msgid "First bool: %s"
+msgstr ""
+
+#: libcore/asobj/LocalConnection_as.cpp:863
+#, c-format
+msgid "Second Bool: %s"
+msgstr ""
+
+#: libcore/asobj/LocalConnection_as.cpp:867
+#, c-format
+msgid "First Number: %s"
+msgstr ""
+
+#: libcore/asobj/LocalConnection_as.cpp:873
+#, c-format
+msgid "Second Number: %s"
+msgstr ""
+
+#: libcore/asobj/LocalConnection_as.cpp:877
+msgid "Fewer AMF fields than expected."
+msgstr ""
+
+#: libcore/asobj/LocalConnection_as.cpp:880
+#, c-format
+msgid "Data: %s"
+msgstr ""
+
 #: libcore/asobj/Microphone_as.cpp:252
 msgid "No MediaHandler exists! Cannot create a Microphone object"
 msgstr ""
 
+#: libcore/asobj/Microphone_as.cpp:284
+msgid "Microphone.gain(): wrong number of parameters passed"
+msgstr ""
+
+#: libcore/asobj/Microphone_as.cpp:300
+msgid "Microphone.setRate: wrong number of parameters passed"
+msgstr ""
+
+#: libcore/asobj/Microphone_as.cpp:313
+msgid "Microphone::activityLevel only has default value (-1)"
+msgstr ""
+
 #: libcore/asobj/Microphone_as.cpp:318
 msgid "Attempt to set activity property of Microphone"
 msgstr ""
 
+#: libcore/asobj/Microphone_as.cpp:353
+msgid "Microphone::muted is always false (always allows access)"
+msgstr ""
+
+#: libcore/asobj/Microphone_as.cpp:413
+msgid "Microphone::silenceTimeout can be set, but is unimplemented"
+msgstr ""
+
+#: libcore/asobj/Microphone_as.cpp:436
+#, c-format
+msgid "%s: Too many arguments"
+msgstr ""
+
 #: libcore/asobj/LoadableObject.cpp:176
 msgid "XML.addRequestHeader: XML._customHeaders is not an object"
 msgstr ""
@@ -4190,6 +5416,11 @@ msgstr ""
 msgid "sendAndLoad(): invalid target (must be an XML or LoadVars object)"
 msgstr ""
 
+#: libcore/asobj/LoadableObject.cpp:393
+#, c-format
+msgid "Using GET method for sendAndLoad: %s"
+msgstr ""
+
 #: libcore/asobj/LoadableObject.cpp:397
 #, c-format
 msgid "Loading from url: '%s'"

-----------------------------------------------------------------------

Summary of changes:
 libcore/asobj/Accessibility_as.cpp   |    8 +-
 libcore/asobj/AsBroadcaster.cpp      |    2 +-
 libcore/asobj/Camera_as.cpp          |   22 +-
 libcore/asobj/Function_as.cpp        |    2 +-
 libcore/asobj/Global_as.cpp          |   34 +-
 libcore/asobj/Key_as.cpp             |    6 +-
 libcore/asobj/LoadVars_as.cpp        |    2 +-
 libcore/asobj/LoadableObject.cpp     |    2 +-
 libcore/asobj/LocalConnection_as.cpp |   40 +-
 libcore/asobj/Microphone_as.cpp      |   12 +-
 libcore/asobj/MovieClip_as.cpp       |   43 +-
 libcore/asobj/NetConnection_as.cpp   |   87 ++--
 libcore/asobj/NetStream_as.cpp       |  210 +++---
 libcore/asobj/Object.cpp             |    4 +-
 libcore/asobj/PlayHead.cpp           |    4 +-
 libcore/asobj/Selection_as.cpp       |    2 +-
 libcore/asobj/SharedObject_as.cpp    |   87 ++--
 libcore/asobj/Sound_as.cpp           |   85 ++-
 libcore/asobj/Stage_as.cpp           |    4 +-
 libcore/asobj/String_as.cpp          |   10 +-
 libcore/asobj/System_as.cpp          |   12 +-
 libcore/asobj/TextField_as.cpp       |   50 +-
 libcore/asobj/TextFormat_as.cpp      |   12 +-
 libcore/asobj/TextSnapshot_as.cpp    |   10 +-
 libcore/asobj/Video_as.cpp           |    2 +-
 libcore/asobj/XMLSocket_as.cpp       |    2 +-
 libcore/asobj/XML_as.cpp             |    4 +-
 po/gnash.pot                         | 1385 ++++++++++++++++++++++++++++++++--
 28 files changed, 1689 insertions(+), 454 deletions(-)


hooks/post-receive
-- 
Gnash



reply via email to

[Prev in Thread] Current Thread [Next in Thread]